Commit graph

830 commits

Author SHA1 Message Date
Ed Sanders 7f2d9d0042 Media upload: Use new setFile method
Depends on I30ec98be0 in MW core.

Change-Id: Ied82ac8fd25a1c4b9818029429231ce2f39916d4
2015-10-13 18:25:09 +00:00
Ed Sanders 557340426f Media upload: Initiate upload process on image drop
Bug: T40031
Change-Id: I521909d27c390faad7d62f717f2b97b7676e5a63
2015-10-13 11:24:34 -07:00
Ed Sanders d5766c2d5f Media upload: Hide tabs after first stage of upload booklet
Change-Id: Ie0cd0fe7761b3937de685ed18b96cc95b8ca4d4f
2015-10-10 16:52:35 +01:00
Ed Sanders aa5f0c2faf Media upload: Only reset upload booklet on dialog setup
Bug: T115059
Change-Id: I4ee9b408624ee3b0dfc3079f02ebbaf2e66f3fa3
2015-10-10 16:52:25 +01:00
Ed Sanders afb556813a MediaDialog: Rename bookletLayout to mediaSettingsBooklet
Change-Id: I04dbdfd14daedf614e8a47992231d48d72f7ff33
2015-10-10 16:26:40 +01:00
Ed Sanders fcc9be4fa4 Fix typo in MWMediaDialog
Change-Id: Id8133f9eee523a7cd237d4ca2814b29bce02fa0d
2015-10-07 19:34:21 +01:00
jenkins-bot b83511ac54 Merge "Add image upload tab to media dialog" 2015-10-07 01:54:20 +00:00
Ed Sanders 97ddc8af2b Add image upload tab to media dialog
Uses the ForeignStructuredUpload BookletLayout.

Bug: T40030
Change-Id: I103044210e714d99350a28a48619beacefb43eaa
2015-10-06 18:40:19 -07:00
jenkins-bot f764155edc Merge "Don't error when trying to re-use a reference as itself." 2015-10-06 21:58:06 +00:00
Bartosz Dziewoński 205beb2b49 ve.ui.MWParameterPage: Use more natural DOM order for text field and buttons
OO.ui.BookletLayout does not respect tabindices when trying to focus
the first focusable element after a page is switched. Remove the need
for manually set tabindices in ve.ui.MWTemplateDialog by using natural
DOM order and absolutely positioning things to keep current design.

Bug: T114562
Change-Id: I7a18a455f9fa80eb3d2ea17bff8139e0194c0fbf
2015-10-04 20:39:16 +02:00
Alex Monk 3386f66770 Save dialog: Make review/resolve actions work in mobile
Depends on Ic92378b7

Bug: T111894
Change-Id: I5ca5f803642dd12db4e9fb213dc6478701661528
2015-09-26 00:08:31 +01:00
Alex Monk 03a1d04bde Don't error when trying to re-use a reference as itself.
Bug: T90476
Change-Id: I0e2cafa885f5606c4f6611529f11de4fa6f7aedf
2015-09-24 22:58:30 +01:00
Ed Sanders 7e0d4daf3d Allow pressing 'escape' from all pages of save dialog
Bonus: Add 'Resume editing' button to review changes page

Change-Id: Ief200c8aa2e2c8363bf6c9be3544ec1c56e07ff4
2015-09-21 22:59:21 +01:00
Ed Sanders a1147f764b Make save dialog variable height
Change-Id: I90437b3130d08441e5c93b2a34fd9083106a14b3
2015-09-21 17:52:19 +01:00
jenkins-bot 664e2db006 Merge "MWWelcomeDialog: .html, not .text, as we're inserting HTML" 2015-09-18 21:20:41 +00:00
jenkins-bot 377944f6e9 Merge "Exclude citefromid and cite-(book,journal,...) commands from ref dialog" 2015-09-18 16:05:05 +00:00
James D. Forrester 48c849ca5b MWWelcomeDialog: .html, not .text, as we're inserting HTML
Change-Id: I2cc35af4c6ed59ec1b5df991af1568c85c050fae
2015-09-16 14:54:11 -07:00
James D. Forrester 9b0779da9b MWWelcomeDialog: Split text, tweak styling
Change-Id: If15dc9fe4a01e81cf7d85e2670878bbd5899f068
2015-09-16 10:16:44 -07:00
James D. Forrester e5e1810f02 MWWelcomeDialog: Alter to be welcoming, use a nice image
Drop beta-ness as users don't care and it confuses them. Leaving the preference
alone for now.

Bug: T99963
Bug: T112354
Change-Id: I0e039dec54d528fce24226e76b931b593dd13a9e
2015-09-14 18:29:07 -07:00
Ed Sanders b900adfe74 Exclude citefromid and cite-(book,journal,...) commands from ref dialog
So that users can't place references in references.

Change-Id: I7953f8137dc5422ecd0cee648a30e2c181fbb43c
2015-09-09 12:42:39 +01:00
jenkins-bot f6a2e3658c Merge "Abstract mwExtension behaviour into MWExtensionWindow" 2015-09-05 21:26:31 +00:00
Ed Sanders 8815d1397f Abstract mwExtension behaviour into MWExtensionWindow
Allows us to create an MWExtensionDialog base class that shares
the logic.

Change-Id: I53c8f1713a3513d2635cfd736ec8fc3f9616d864
2015-09-05 18:18:24 +01:00
Alex Monk 6d94d060ac Bump Schema:Edit to revision 13457736
* Remove page.length
* Add action.abort.type = switchnochange

Needs to be deployed at the same time as Ib99700ac

Bug: T111420
Change-Id: I7ee245157d4de6c220d7cdf54cd1dd69ff836f15
2015-09-04 00:51:05 +00:00
jenkins-bot 64c73a4ac6 Merge "ve.dm.MWReferenceModel: Require parent document" 2015-08-27 15:38:01 +00:00
Roan Kattouw e4d2d4785e ve.dm.MWImageModel: Require parent document
Add a parentDoc parameter to the MWImageModel constructor and use
it to inherit language, direction and HTML document. Remove
getLang(), setLang(), getDir() and setDir() whose only purpose
was to propagate the language and direction from the parent document
in a hacky way.

Also add a parentDoc parameter to newFromImageAttributes(), replacing
the lang and dir parameters. Remove the unused and ill-conceived
caption parameter.

This causes caption documents to always have an HTML document
for URL resolution. Previously, this worked when editing existing
images because a document generated by cloneFromRange() (which
propagates the HTML document) was passed into setCaptionDocument(),
but it didn't work when creating new images.

Bug: T109599
Change-Id: Ida36862092cd779ffc2f04c0ecbc1164f8d71453
2015-08-27 00:09:21 -07:00
Roan Kattouw f11fbee278 ve.dm.MWReferenceModel: Require parent document
Add a parentDoc parameter to the MWReferenceModel constructor and use
it to inherit language, direction and HTML document. Remove
getLang(), setLang(), getDir() and setDir() whose only purpose
was to propagate the language and direction from the parent document
in a hacky way.

This causes ReferenceModel documents to always have an HTML document
for URL resolution. Previously, this worked when editing existing
references because the newFromReferenceNode() code path calls
cloneFromRange() which propagates the HTML document, but it didn't work
when creating new references.

Bug: T109599
Change-Id: I5d9d34d4343be8428318fa0b795fa54c110e34f4
2015-08-26 23:48:45 -07:00
Roan Kattouw 6eee029159 MWSaveDialog: Use .moveCursorToEnd() instead of ve.selectEnd()
ve.selectEnd() removed by I44f43f312c78 in VE core.
Depends on Ia63e6c6a0 in OOjs UI.

Change-Id: Ic7ed8a24abd8288d68cf89839a553a569081e8c7
2015-08-26 23:51:58 +00:00
Ed Sanders 6e44d8a7c0 Use mw.Title to localise file: prefix on new images
Bug: T110104
Change-Id: I25e28367bf4b00a0447c941b7359ebff5fe59147
2015-08-25 17:17:49 +01:00
James D. Forrester bf520fee03 build: Enable jscs jsDoc rules 'require*Types' and make pass
Change-Id: I60c769f1cb028e4f4da7aeb04ed2383b689ddbc8
2015-08-19 11:38:35 -07:00
James D. Forrester 00d3226be1 build: Enable jscs jsDoc rule 'checkParamNames' and make pass
Change-Id: Ifcd3f67524c32148ff3591263d6374b31ee57d3b
2015-08-19 11:33:59 -07:00
James D. Forrester 85f91f394e build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
Change-Id: I7c0fabc93834d19198caea8f5dd1834e9e473d0a
2015-08-19 11:21:01 -07:00
James D. Forrester 945242a55a build: Enable jscs jsDoc rule 'checkAnnotations' and make pass
Change-Id: I76abb1eb1f3e1a2e8a4c03f577a080f4889b3a6d
2015-08-19 11:09:34 -07:00
James D. Forrester f5c6f61163 build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
Change-Id: I846d36c15e1b1f810d2ef7fd422f8412790bcb0f
2015-08-19 10:33:02 -07:00
Alex Monk 5e02fe9f7c Save dialog: Don't try to pass in undefined checkboxes fields to setupCheckboxes
checkboxFields in the setup data is optional, it's only actually set up by
DesktopArticleTarget's overridden openSaveDialog function, not mobile's
(or presumably other Target classes).

Bug: T109501
Change-Id: Ibc5f821be822fa3704bbfb55345687dd7795e203
2015-08-18 20:34:32 +00:00
Ed Sanders 960ecf8103 Convert save checkboxes to OOUI widgets
Anything with type=checkbox is coverted, and its label is found,
either by for=id or by finding a wrapping label.

All other inputs are stored in $otherFields for form building.

Bug: T86617
Bug: T70572
Change-Id: I94376fef18d02d2058bb548c11ae17f3dec7268c
2015-08-17 18:37:06 +01:00
jenkins-bot e6fe32902d Merge "Don't reset edit summary every time we open the save dialog" 2015-08-11 22:45:41 +00:00
Alex Monk 45a2beeaff Don't reset edit summary every time we open the save dialog
We were setting the edit summary box to the contents of the 'summary' parameter
every time the save dialog opened, but actually we only want to pay attention
to that the first time the save dialog opens.

Bug: T108329
Change-Id: Ic7b456ca8d7dd7cef8bc27629e3655ce9b97e755
2015-08-11 20:39:31 +01:00
jenkins-bot 788788f11d Merge "Don't error when we try to close a reference/media dialog with inspectors still open" 2015-08-11 19:01:41 +00:00
Bartosz Dziewoński 7bef835dfb ve.ui.MWMediaDialog: Remove dead code with 'HACK' comments
I am unable to find any trace of a .oo-ui-dialog-content-footless
CSS class anywhere.

Change-Id: I9a363c1305ca8f5ce25b8684daf0cb6d6c79bf73
2015-08-11 00:07:52 +02:00
Bartosz Dziewoński bfb5ba34ad ve.ui.MWMediaDialog: Remove weird spinner relicts
This seems to be dead code.

* ve.ui.MWMediaSearchWidget does not have a #$spinner property.
* .ve-specialchar-spinner class does not have any styles defined.

Change-Id: I6fd35274bc1444303b67f8138ab875f0c6da7e4a
2015-08-10 23:47:20 +02:00
Ed Sanders 0e62e577e4 MWMobileSaveDialog: Use short save messages for space
Change-Id: I04e01a8941f905384e385caf1267d7c36cb2aa52
2015-08-07 17:38:52 +00:00
Ed Sanders 707628cfb1 [BREAKING CHANGE] Use save dialog in mobile
Bug: T96186
Change-Id: I4319e23da2d1bfd0cbba9719dbc9642a233bdf67
2015-08-06 21:52:14 +00:00
Ed Sanders f579ce52a2 *Dialog: Flag back/cancel actions
Change-Id: If3772863078a020eba9b9b43f58044a5aacb7296
2015-08-06 21:51:32 +00:00
Ed Sanders 322d1f54c6 MWMediaDialog: Remove redundant check of this.imageModel existence
The fact it has to exist for the two previous statements to
not fatal is a bit of a clue. I assume this made sense at
some point in the past.

Change-Id: Ic9c04395408301f514ff7e9a224b8e2c30d64896
2015-08-03 01:09:03 +00:00
Ed Sanders 4ab947d336 MWSaveDialog: Remove unnecessary <br /> from diff panel
Change-Id: I430794d781c91886abb4802c7f53ad4e0ff14c3b
2015-08-03 00:43:51 +00:00
jenkins-bot a15c54f4db Merge "MWSaveDialog: Make a FragmentDialog now that's available" 2015-08-01 22:44:18 +00:00
Ed Sanders dc71b4849b MWSaveDialog: Make a FragmentDialog now that's available
* Make save a FragmentDialog and open with WindowActions so
  the selection is restored automatically.
* Pass in some information in setup data.

Change-Id: I254b71f252adce064b9c2d2bf2cb6c8d0018e31f
2015-08-01 22:41:17 +00:00
Alex Monk d6306d8a16 Don't error when we try to close a reference/media dialog with inspectors still open
Bug: T96630
Change-Id: Ie148149c9681a883116df12a23ae6e4c3b470daa
2015-08-01 22:44:34 +01:00
jenkins-bot c8ab0003f3 Merge "Stop removal of only template placeholder from transclusion" 2015-07-31 21:58:58 +00:00
Alex Monk 7b7219fcb6 When saving from review screen, swap to main save screen
Bug: T107251
Change-Id: I78fb0b8804ffa4b8accd4d2619d7bbd34e2c4f1e
2015-07-29 17:48:43 +01:00
Alex Monk 8ae71e205a Stop removal of only template placeholder from transclusion
Bug: T95252
Change-Id: Ibf0537fd63f8315750e398f72807741187985b19
2015-07-25 14:47:36 +01:00
Alex Monk 3b978f0b4e Add save button to review mode on save dialog
Bug: T69868
Change-Id: I393a37333ea4988547c82e1fa9747b5e034de9bd
2015-07-24 01:34:13 +01:00
James D. Forrester 57f8fc5368 build: Drop last jscs over-ride and make pass
Change-Id: I4ff60af79cfc6e09e284d51f9b7ac2afa900f0f5
2015-07-22 15:13:09 -07:00
Bartosz Dziewoński 9134ec2d73 Disallow typing newlines in the edit summary
Prevent typing newlines by pressing the 'Enter' key on the keyboard,
like in a single-line <input type=text />; and filter newlines from
pasted / IME'd text.

Also:
* Use 'classes' config rather than .$element.addClass()
* Remove no-op 'tabIndex' setting (this is the default already)

Bug: T106325
Change-Id: I42d18f51f5ca989818577d6f045f6a516bb5b121
2015-07-20 13:57:25 +02:00
Ed Sanders 8e0394da5c Support command whitelist feature
Depends on I87d8aa3 in core.

Bug: T106061
Change-Id: I694e4e5a83f281da92380a895b72611141838f42
2015-07-18 18:20:49 -05:00
Ed Sanders bb46c34255 Update VE core submodule to master (edaa19b)
New changes:
aab2e90 Localisation updates from https://translatewiki.net.
826055a [BREAKING CHANGE] Rename SurfaceWidget to TargetWidget

Local changes:
* [PULL THROUGH] Rename MWSurfaceWidget to MWTargetWidget

Bug: T94066
Change-Id: If578e15c1ee7effd5ca1d6073521a6c59caac255
2015-07-18 17:19:05 -05:00
Ed Sanders 0c1eb0cf33 Remove listeners from deprecated search widget 'select' events
Attach listeners to search *result* widget 'choose' events instead.

Also, pass reference model as 'data' to MWReferenceResultWidget, instead
of index so we don't have to do a lookup later.

Change-Id: I8a9b7ddaa70e29406726ac8463582a8bcf813128
2015-07-13 17:06:28 +02:00
Ed Sanders 5fb8d3a4d0 ve.ui.MWReferenceResultWidget: Remove unused 'divider' code and styles
Also, tweak documentation.

Change-Id: Iaf5045bd65d0d484c8810f4bbe097d6710ca6e7e
2015-07-13 17:06:27 +02:00
Ed Sanders 84eadef74a Use core dimension widget times separator
For de-duplication, and because trailing whitespace is not allowed.

Bug: T104691
Change-Id: I2e65799daae7e57e6e638b3d6dcf968a6f4582c7
2015-07-03 13:21:29 +01:00
Ed Sanders 6822635158 Use new hasContent method on linear data
Change-Id: I430e628a9db30970ecdf6996bc51e7440a474077
2015-06-30 09:45:24 +01:00
Alex Monk b2319433da Fix tabbing to info/delete buttons in template dialogs
We were selecting the outer <div>s rather than the actual links which you could
interact with via the keyboard.

Bug: T97323
Change-Id: I797739e45f2c0b4a1d39e4b1901bc0836c82f281
2015-05-17 14:03:04 +01:00
Ed Sanders 1962234efd Remove this.$ remnants
Change-Id: Ia32eebd4f6da156209fc0e9cc858e99ea454c262
2015-05-09 11:48:30 +01:00
jenkins-bot b33ed74181 Merge "Use new selectItemByData method where possible" 2015-05-08 23:31:13 +00:00
Ed Sanders 9d3d24ac81 Remove MWGeneralReferenceDialog
This was only opened by the Citoid inspector, which now
embeds a MWReferenceSourceSelectWidget.

Change-Id: Ic6fb3f3675de238f606acecc163ceda04ca78fb4
2015-05-08 11:11:33 -07:00
Ed Sanders 431f2abcfd Use new selectItemByData method where possible
Change-Id: I32f213bf2977623a0bde83fb9119fda42a1e9848
2015-05-08 16:15:51 +01:00
James D. Forrester 38239707b0 jshint: Kill file-level globals and add "moment" to the list
Change-Id: I923ba3490f5fc9b2aaf52d10a163f75dd6401c71
2015-05-06 19:01:27 +00:00
Ed Sanders 283047b604 Refactor reference source selection out into a widget
This can be re-used by Citoid.

Bonus: Improve placeholder copy.

Change-Id: I429ce5d7faae56955bcc09a9662d8a36c5098e44
2015-05-06 19:11:35 +01:00
jenkins-bot 1b4fecb61b Merge "Keep the parameter list expanded after it was expanded once" 2015-04-24 16:52:29 +00:00
Moriel Schottlender 3a7b99f6a6 Keep the parameter list expanded after it was expanded once
In the template dialog, keep the parameter search widget expanded
with all parameters showing if it was already expanded once.

Also keep the parameter list available after inserting each parameter
instead of asking the user to click the add details repeatedly.

Bug: T95696
Change-Id: I14a47dbea5c69532238e7e67290e613121fdc40e
2015-04-24 17:45:04 +01:00
Moriel Schottlender 1d1079e7fc Rearrange images when the media search window resizes
This is a quickfix to make the masonry fit recalculate itself after
the window is resized. It is most significant for orientation changes
in mobile devices, as those lead to a resizing of the window and a
complete reorganization of the masonry fit rows.

Bug: T95017
Change-Id: Ibf3c74ea21d42f4a159d0b855be5672c8455639f
2015-04-21 17:57:17 -07:00
Moriel Schottlender 203d1e8600 Correctly use mwcite action and hide basic/existing ref inside basic reference
Disable the option for basic reference and for existing reference from inside
the basic reference dialog itself.

Also make sure the dialog opens its intended target citation dialogs with the
new mwcite action rather than directly so the reference to the inDialog surface
is preserved.

Change-Id: Idc6e5b849e2dbd422807a6d3cacde8f274e42854
2015-04-15 15:43:31 -07:00
jenkins-bot 2fb464e552 Merge "Focus on the first input in template dialog" 2015-04-14 22:43:37 +00:00
Ed Sanders 4b15914047 Remove HTML escaping from createTextNode
Change-Id: Icb5ad749ed48808f6cf377bdd368bff3cf035913
2015-04-14 19:30:21 +01:00
Roan Kattouw 95bffa22a0 Stop using this.$
Has been a backwards-compatibility alias since OOjs UI 0.7.0.

Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
2015-04-14 02:54:01 +01:00
Moriel Schottlender 35059ee54c Focus on the first input in template dialog
When the dialog opens make sure the first input is focused.

** Depends on OOUI change I9f1e908e0d **

Bug: T95450
Change-Id: I789bcf98ada7c3e2b9544426546775f65bab0edd
2015-04-10 16:45:22 +00:00
Moriel Schottlender c10483999e Focus the search box in the re-use citation dialog
Bug: T91479
Change-Id: I3ad7c99d2fded2d2f21bd210dd57ad9807d88e13
2015-04-09 16:28:17 -07:00
Moriel Schottlender 7c0b307d8a Allow for citation tools to work under the reference dialog
Set up the surface widget as inside the reference dialog, and let
the citation action notify the template dialog the name of the
dialog it is in. If the tool was executed from within the reference
dialog, skip over creating a reference and instead insert the
citation as a template.

* Depends on ve-core fix I709eeb0de475 *

Bug: T94621
Change-Id: I4871f8c0afe190117cc90e88227b37f292a71e20
2015-04-09 12:18:54 -07:00
Ed Sanders 7d38c3023f Fix opening of specific reference dialog
Don't bypass WindowAction which does necessary things to the surface.

Bug: T95069
Change-Id: I1a3a480f000aa7500d1954cbe13787cd23f68360
2015-04-07 16:35:30 +01:00
Moriel Schottlender 545791648f Open the proper window when adding citation from the general dialog
When a citation is selected from the general citation dialog that
opens from the citoid inspector, make sure it opens the correct
citation window, namely the relevant cite-XXX window rather than
the transclusion window.

Bug: T94602
Change-Id: Idc8dd653e42011bd02c4bcec4aa9a02c9e2b7567
2015-03-31 14:38:52 -07:00
Ed Sanders 0a2fa11a4e Fix choose event listeners
* Choose can't emit with null
* Connect search straight to results' choose event.

Change-Id: I434829511ea70859d14e26f39095e0d094dea6c0
2015-03-27 10:51:06 +00:00
jenkins-bot c9cfcc1a92 Merge "Fixed the empty Transclusion Box problem" 2015-03-26 22:38:05 +00:00
ankita-ks 9096ebf7a1 Fixed the empty Transclusion Box problem
Bug: T52281
Change-Id: If6ba91497849b5ba311908359fde7f1db82b1fd0
2015-03-26 21:45:27 +00:00
Ed Sanders 872c7a3f98 Replace buttons with select widgets in GeneralReferenceDialog
Change-Id: I22016f1a362ece79894c5577e737b1df5180d82d
2015-03-26 13:58:40 +00:00
Ed Sanders 4650010f4d Remove this.fragment setting from ReferenceDialog
This functionality is already provided by inheritance from FragmentDialog

Change-Id: Ie7bde7310d91d13b6eae95b826d59c06d286b749
2015-03-26 13:38:39 +00:00
Ed Sanders 8352cde31d Move append to after list builder
Change-Id: Idf4407de8ad86e3f147308c82e533f9294c65aad
2015-03-26 13:10:30 +00:00
Trevor Parscal 8fc1e2dea0 TransclusionDialog: Initialize label mode button
Because the mode label is set after measurements of the foot are made,
the body of a ProcessDialog was set to overlap the foot.

At some point T93290 will be fixed, but in the mean time we can solve
this problem by setting an &nbsp; initially.

Bug: T92986
Change-Id: I995d5ecd81b86ee188cf237f74487ec70480e297
2015-03-19 23:06:46 +00:00
jenkins-bot ddaee51606 Merge "Insert a new references list immediately, rather than showing a dialog" 2015-03-18 02:28:54 +00:00
Bartosz Dziewoński 44e47a6e8f Insert a new references list immediately, rather than showing a dialog
If a references list node is selected, open the dialog to edit it.
Otherwise just insert the references list for the default group, since
this is what the user wants to do in 99% of cases.

* Replaced the simple 'referencesList' command (which opened the dialog)
  with a custom implementation in ve.ui.MWReferencesListCommand, which
  inserts the references list or opens the dialog like before.
* Removed the ability to insert a references list from
  ve.ui.MWReferencesListDialog, since it should now never open without
  a references list selected. If it does, throw an error.

I considered the behavior of always showing the dialog if there is at
least one references list already in the document, but I think it would
be confusing if the tool behaved differently depending on the state of
the document (rather than merely current selection).

Bug: T71727
Change-Id: Ifbbfa28548de9c0435c5174fb7762079f59bac54
2015-03-17 15:20:22 -07:00
Moriel Schottlender 73356c333a Add general citations dialog
Add a dialog to group the possible citation types and allow the
user to choose the right citation dialog for them.

Depends on Ibf29417 in VE-core; useless without I3d9caef in VE-core.

Bug: T62768
Change-Id: I22a64265475b1b4c94b46c5af196bd08331a05e7
2015-03-16 17:20:38 -07:00
jenkins-bot 557e0e28ad Remove use of ve.indexOf and ve.getObjectKeys
Change-Id: Icbaa729209605fca8018e4bcbbe29c9ded64e7f2
2015-03-10 17:28:00 +01:00
Moriel Schottlender 06f29f343a Add a threshold to 'read more' calculation in media dialog info
When calculating whether to show the 'read more' button on fields
that are configured 'descriptions', use a threshold to check if
the height is enough to be shown.

Bug: T87265
Change-Id: I0601e4fa92cb58903641a146500cf560bc029425
2015-03-04 11:04:53 -08:00
jenkins-bot b4998f0932 Merge "Use mw.Api to run requests rather than our own stuff in ve.init.mw.Target" 2015-02-25 17:26:27 +00:00
Alex Monk 85373bcb9a Check whether template is altered before allowing apply
Again. Originally done in I5a664f86, the crucial part of which was reversed
in I1500f480.

Bug: T89913
Change-Id: I39b0cdcdb5f76fa75f506c874ef6223d8d8d53e6
2015-02-25 02:12:28 +00:00
Alex Monk 8e48f94580 Use mw.Api to run requests rather than our own stuff in ve.init.mw.Target
Bug: T58659
Bug: T89435
Change-Id: I18162f04c50f48606378aed62ee99fccdc3159f6
2015-02-25 01:57:22 +00:00
Ed Sanders e0e0cb446e Remove unused $popupOverlay
Change-Id: I17342d451833298b5b45ebd7d00cc17f3086df71
2015-02-24 18:19:07 +00:00
Roan Kattouw 237bb053d6 Remove the sanity check
It's slow, especially on large pages, and it's triggered
very infrequently these days, and only for known bugs.

In the future we should replace this with a debugging
interface that displays the DOM diff between the original
DOM and the round-tripped DOM, as opposed to the boolean
interface we have now.

By extension, this also means the visualeditor-needcheck
tag won't be applied to new edits any more, although
its registration and messages are kept around because
edits with this tag still exist in page histories.

Bug: T87161
Change-Id: I909153492a5786b4b69fccd42ce3c1d4bdb3a059
2015-02-17 17:14:34 -08:00
Moriel Schottlender a06df576b3 Correct the license URL in the media dialog
The license url read the response object instead of the response
value itself.

Bug: T89544
Change-Id: Ibb22e47e0097e012279e21211e1c7e2f1545f2b1
2015-02-16 14:49:12 -08:00
Timo Tijhof 5bf0ac251a Move svgMaxSize and namespacesWithSubpages to site config
These are currently in page-specific mw.config. As these are
not related any page, they should be in the global export.

This is needed to have our tests (and code base) run error-free
without a MediaWiki page.

Bug: T89434
Change-Id: Ic42bcd14028772ff0c06e28c76ffaf156f8b985f
2015-02-13 08:20:26 +00:00
Trevor Parscal a65148d69e Update VE core submodule to master (9240a51)
New changes:
50ccb23 Localisation updates from https://translatewiki.net.
9240a51 Update OOjs UI to v0.7.0

Local changes:
* MWTemplateDialog: Stop waiting for removed loading promise to
  finish, as in OOjs UI I2bfa013 the loading promise is removed
  since iframes were the only reason we needed it.

Change-Id: I1500f480d40d06e417366014b9c2a76f7ce9c29b
2015-02-11 16:50:45 -08:00
Moriel Schottlender a3973145d5 Display image uploader and artist correctly in the media dialog
Add the display for the actual uploader, and change the label
for the artist to "Artist" for differentiating the two roles.

Bug: T88835
Change-Id: Ie939572e7c1240321556f6f81ed9e67d792a339d
2015-02-11 11:14:43 -08:00
jenkins-bot 7ac177c02e Merge "Template dialog: Disable 'Apply changes' until a change is made" 2015-02-10 23:17:01 +00:00
Ed Sanders d6818c558d Use ve.ui.AlignWidget in media dialog
Change-Id: I70579971a22c5bfee1e373b57ba7fe24a46ef406
2015-02-10 10:49:53 +00:00
Roan Kattouw 3f15c5be5d MWMediaDialog: Focus the right thing on ready, depending on the panel shown
The ready handler unconditionally focused the surface, even if
a different panel was shown. Prior to aa9eb9545 this didn't
actually break the search mode, because the search input was
focused after the image repo information came back, which
usually happened after ready. However, aa9eb9545 instead focused
the search input from the setup process, which is too early.

Also introduce this.currentPanel as a way to track
which panel is currently visible.

Bug: T88881
Change-Id: I0189fbeed73ee9103e45fec4a1bc8d4ee1b6ed40
2015-02-06 18:12:06 -08:00
Moriel Schottlender aa9eb95455 Refactor MWMediaSearchWidget to use a queue and providers
Change the media search widget to work with resource queues and
providers. Create providers based on the user's filerepo settings
and aggregate their responses with the media queue. Stop asking
for more results from providers that are depleted.

Also fixes a rather nasty infinite-loop bug where the API returns
only very few images, and the UI keeps asking for more.

Bug: T78161
Bug: T88764
Change-Id: I65aed3446cd1f056476c56e6e04522c70e49e595
2015-02-06 16:45:56 -08:00
Moriel Schottlender 8a53b2cd07 Use css class instead of jquery show/hide
Replace instances of .show() and .hide() with ooui 'hidden' class
to make performance better.

Related ooui change: Ibf7c99aa4aad

Bug: T87420
Bug: T88736
Change-Id: I3af8a322e88b7ba3364f350819d6dbcdc8b13270
2015-02-06 11:03:59 -08:00
James D. Forrester bed038b509 build: Bump devDependencies to latest
Updates:
* grunt-contrib-csslint  0.3.1  ->  0.4.0
* grunt-contrib-jslint   0.10.0 -> 0.11.0
* grunt-jscs             0.8.1  ->  1.2.0

For jscs, leaving requireSpacesInsideArrayBrackets to avoid headaches for now.

Change-Id: I62d34444edbba65c8bd22d2fa5e50e16cabb0042
2015-02-02 14:30:39 -08:00
Moriel Schottlender 70fb0ea24f Use the new image cache in the media dialog
Prevent another api call for image sizing by caching the chosen
image in the media dialog with the imageInfoCache.

Bug: T88187
Change-Id: If2d905eeb5907f29b6839692509dfc07a06c230e
2015-02-02 19:32:46 +00:00
Alex Monk dc69b15db1 Template dialog: Disable 'Apply changes' until a change is made
Bug: T76926
Bug: T76927
Change-Id: I5a664f865c11690a19b754fc9877baf37e34edad
2015-01-31 03:19:06 +00:00
jenkins-bot cc6a629927 Merge "Use padding on save dialog panels so scrollbar is correctly positioned" 2015-01-31 02:31:02 +00:00
Ed Sanders e0d9b062d4 Use padding on save dialog panels so scrollbar is correctly positioned
Previously was using a margin so the scrollbar floated 1.25em from the
edge of the dialog.

Remove Apex-specific hack.

Change-Id: Idc953c492a6527a9216b77256d406fc3435ec0a9
2015-01-30 18:14:07 -08:00
jenkins-bot 6230e80904 Merge "MWSaveDialog: Make the diff screen a larger rather than large size" 2015-01-31 02:02:21 +00:00
jenkins-bot 4443349a11 Merge "Add a layout queue to media result widget" 2015-01-29 18:34:50 +00:00
jenkins-bot cc4e8e7ebd Merge "When changing image source, use already-available API info" 2015-01-29 18:34:03 +00:00
jenkins-bot e372b93c4c Merge "Lazy load the media search results" 2015-01-29 18:33:47 +00:00
Moriel Schottlender 3d60389ea0 Add a layout queue to media result widget
Use a queue for the method that lays out the result images in
the rows; this queue will only run if the widget is visible,
to make sure that the calculations of the masonry view work
as they should.

In better words: Only cue the queue if the widget is visible.

Bug: T86802
Change-Id: Ia8a30a6a5cccd98a1201443d672e4a6ab4aa946f
2015-01-28 18:01:47 -08:00
Moriel Schottlender e454b81f4d When changing image source, use already-available API info
When the user changes an image to another in the media dialog, we
already have API info that includes the original dimensions, media
type and other information that is required for the Scalable object
to compute the new current dimensions. We can use this info if it
exists instead of asking for another API call. Also make sure to
update the filename when we change an image in the dialog.

Bug: T87267
Change-Id: I9d86959b99b3f3dfed92255a9dba9a8fdd352dcb
2015-01-29 01:58:07 +00:00
Moriel Schottlender a44e0d2e5d Lazy load the media search results
* Set the src attribute only when the image is actually
  visible in the search results.
* Display the thumbnail image we have from the search
  results and then update with a larger one from the API.
* Request for more media results on a higher threshhold,
  when the user views 2 rows above the last available
  result.
* Correct the resizeToBoundingBox and simplify it to work
  properly for a non-square bounding box regardless of
  constraints.

Change-Id: If024b0335ce6a5d2d0eafdbfdfe1030dcaac3a75
2015-01-28 17:56:54 -08:00
jenkins-bot e9d770ed11 Merge "MWMediaDialog: Add contextual help for controls" 2015-01-28 23:42:01 +00:00
Moriel Schottlender 34f93bef08 Focus the add template input in the template dialog
Focus the page in the booklet layout so the add template
input is also focused at the opening of the template dialog.

Bug: T85484
Change-Id: Id9ae4653dc2a2e1d1dc16c83c540e22e30f4ea55
2015-01-23 17:55:26 -08:00
James D. Forrester d8f342a640 MWMediaDialog: Add contextual help for controls
Bug: T53798
Bug: T75731
Change-Id: Ideae0052c366a8c4e03285270569e5c5ca608ad8
2015-01-20 15:53:31 -08:00
James D. Forrester 7daf17fadc MWMediaDialog: Make the dialog bigger when searching for media to insert
Bug: T86397
Change-Id: I40e78441dd555dff837516220653b1c54bf5af92
2015-01-16 16:29:26 -08:00
James D. Forrester 9625bd2c99 MWSaveDialog: Make the diff screen a larger rather than large size
Bug: T78823
Change-Id: If14acbeb8449e27e692bc52556c1d31305b4c54a
2015-01-16 16:04:05 -08:00
Moriel Schottlender 061925be87 Add filename to the media dialog
Show the currently used filename at the top of the media dialog so
it can be copied and used in other pages if needed.

Bug: T54459
Change-Id: Ib1844c997189f7ead0656c5a811d3cab70030f89
2015-01-16 17:40:40 +00:00
jenkins-bot 2ebdf34c29 Merge "Transform the search widget to show image details" 2015-01-16 13:26:25 +00:00
Moriel Schottlender 4947420650 Transform the search widget to show image details
Add an info panel to the MediaDialog to show the user information
about the chosen file from the new extmetadata API.

Also, change the way results are viewed:
* Present the search results with their proper ratio.
* Use masonry fit for the search results.
* Change the resizeToBoundingBox method in ve.dm.MWImageNode to accept
  a specific side constraint, either 'width' or 'height'. This is also
  going to be useful for adding and calculating 'scale' considerations
  that affects the image height.
* Add info panel with details from extmetadata including author, license,
  date of upload and creation, etc.
* Get descriptions and data according to wiki language.

Bug: T78161
Bug: T74061
Change-Id: I7b4d019825aa89dd178665bd9492a07af15954ac
2015-01-16 13:22:54 +00:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Moriel Schottlender cc293dc4c4 SurfaceWidgets should listen to history
The history event reflects actual changes, rather than the transact
event that masks staged changes done to the document.

Bug: T85845
Change-Id: I1faeb97677540f08c512b48b47fafe28b1072579
2015-01-12 11:51:44 -08:00
Alex Monk 9966298593 Re-focus edit summary input when save dialog is ready
I thought this was already being done elsewhere and so removed it back in Ifb8fd9be

Bug: T75675
Change-Id: Ia015c96ec8332af75428f156e4ed7a25184db96b
2015-01-06 00:54:02 +00:00
Bartosz Dziewoński 74db35b93c MWSaveDialog: Correct whitespace
Change-Id: I9f2ad375bc04e798aa4d2f2a8097a4af0a2b2e4d
2015-01-05 22:05:42 +01:00
Amir E. Aharoni 84629d1b6c Clarify a comment and correct its spelling
Change-Id: Idd1334d60822a1bfaae2354bca6cb277016f81f7
2014-12-28 00:51:52 +02:00
Timo Tijhof 2b7ae8c175 Remove use of bind() for inline functions
Follows-up b0e8900, 447e8de, d3f26e65.

Contrary to binding a reference, this-overiddes for inline
functions gets messy and fragile. There's also a minor
performance overhead that can be avoided. No separation of
concerns, eiter, as the object is held by the closure.

Also:
* Remove left-over instances of @method.
* Remove redundant '0' argument to setTimeout.
* Use null instead of $ for apply() on static methods like $.when.
* Use .empty().append() instead of .html(). Does the same but
  without additional overhead and without confusion association
  with "html" which isn't used (it doesn't serialise and re-parse
  or clone, it just appends when given one or more nodes).

Change-Id: I797a3667c67d52568150be9be5d043d149f22077
2014-12-16 23:27:53 +00:00
Alex Monk 0d0172d43b Set 's' accesskey on save button inside save dialog
Can be done much nicer than I expected last time I looked at this task

Bug: T76161
Change-Id: I9541cd9dac69330ed8a802f301617619221bc263
2014-12-15 21:07:54 +00:00
Bartosz Dziewoński 29ff7b737e Rename some things for my sanity
Change-Id: I101943fa027947e73f7f7559bd706faadad90e95
2014-12-12 20:49:00 +00:00
Bartosz Dziewoński 16e8255f69 Update VE core submodule to master (b5e2b87)
New changes:
96d0936 Mark primary buttons as progressive as well
68f184c Localisation updates from https://translatewiki.net.
b96c9dc [BREAKING CHANGE] Rename method cmpOffsetPaths to compareOffsetPaths
862f31d Convenience compareDocumentOrder method
b5e2b87 Update OOjs UI to v0.5.0

Local fixes to correct for breaking change I32608c7f in OOjs UI.

Change-Id: I64f5e2f6ccc0056bfa9eda5e65e87789b97b8ad5
2014-12-12 12:29:05 -08:00
jenkins-bot 87143d4c36 Merge "Mark primary buttons as progressive as well" 2014-12-11 22:59:04 +00:00
James D. Forrester 57a68d082b Mark primary buttons as progressive as well
Also make save button primary.

In anticipation of Iee91d2c6 in OOjs UI

Change-Id: I123044bfaba631866ad32a35643f23686a17a16f
2014-12-11 22:55:16 +00:00
Ed Sanders 45518019eb Update VE core submodule to master (9ac8136)
New changes:
9929b6d [BREAKING CHANGE] Make ve.init.target an OO.ui.Element

Local changes:
* Fix target constructors now they generate this.$element

Change-Id: Ia6bf604c67305834a3f73863a10336cfbb83fa77
2014-12-11 14:00:28 -08:00
Moriel Schottlender e0894b807f Surfaces should have parent document direction
Make sure all surface widgets have documents that are initialized
with the direction of the parent document, so the alignment is set up
correctly.

Bug: T71969
Change-Id: I6e5f003e18a9c5808d9a4b148eddf0d0f7e29e67
2014-12-10 16:46:16 -05:00
Timo Tijhof ee954cbdd5 Use String#slice instead of discouraged String#substr
Aside from the confusion and differences between substr() and
substring() and IE8 bugs with substr(), substr() was removed from
the spec as of ECMAScript 5. It's been standardised in the
optional Annex B section of ES5.

Change-Id: I221ef6ae6956ce20dd9bb74510500f747d04c3b1
2014-12-06 21:26:20 +00:00
Alex Monk fc6eaf6825 Don't re-enable apply changes in reference dialog if the changes have been undone
Per Roan on Ib5229bdc

Bug: T57976
Change-Id: I0450ab59ea8aa2e3130eb9124de74e67ffc0497f
2014-12-05 23:50:57 +00:00
Alex Monk db4d034fd7 Disable Apply Changes in reference dialog until changes have been made
Bug: T57976
Change-Id: Ib5229bdc480ec437436c5d8d351b06417d4ffd9b
2014-12-02 01:34:44 +00:00
jenkins-bot 55eba4c1cc Merge "Change event listener for caption surface in media dialog" 2014-12-01 19:05:09 +00:00
Moriel Schottlender 78b86cd72d Set panels after everything is initialized in media dialog
Only change the panels (and focus the caption surface) after the
surface is actually appended and initialized.

Bug: T76074
Change-Id: I3d514f38b5fd9f794c4ff8c44a64f5f3475a84bd
2014-11-26 19:26:44 -05:00
Roan Kattouw 8fc9b290c0 Followup c56a921: use cite-transclusion-* tools in MWReferenceDialog, not cite-*
Because a lot of toolbar customization was removed, use an evil
hack to get this in there for now. Should be cleaned up later.

Bug: T76082
Change-Id: I0fd5ddc6fa11162deb615f0b387d6d59c5cc4a3a
2014-11-26 15:49:04 -08:00
Moriel Schottlender 30ce139955 Change event listener for caption surface in media dialog
Make sure the dialog is listening to the correct event for when
caption surface changes.

Bug: T76074
Change-Id: I214947a440e4f78adf1541d8008599fe65ac8b2c
2014-11-26 20:04:07 +00:00
James D. Forrester e90cbe6a37 Follow-up I5bc30eca7: Register <visualeditor-formatdropdown-format-blockquote>
Also push it into correct place in the toolbar, and disable it from media and
reference dialogs' toolbars.

Change-Id: Icc3bf056860e35def13e03e77ffc6782acc4196a
2014-11-25 19:01:02 -08:00
jenkins-bot d34c275020 Merge "Work around broken BooketLayout#focus method in OOUI for now" 2014-11-25 23:57:26 +00:00
Roan Kattouw d2b8091372 Work around broken BooketLayout#focus method in OOUI for now
Change-Id: I1750951487fc7a8e1fcb5fff5dea6ee9a2547cf1
2014-11-25 15:54:03 -08:00
Ed Sanders 5ce4885529 Replace hacky wikitext warning listener with sequences
Uses the generic sequence detection now available in core instead
of a custom hack that had to been manually bound and unbound to
every surface and surface widget.

As the sequence detection looks at just-typed characters the behaviour
has reverted to showing a auto-hide message. This resolves an issue
with the previous system whereby typing in the same paragraph as existing
wikitext patterns triggered the warning.

Depends on I6a4d71d in core.

Bug: T53751
Change-Id: I7d914b1b60a1cf8c79a724e5f634e1e666c9562d
2014-11-25 22:39:29 +00:00
jenkins-bot a7dc4af551 Merge "Catch pagedeleted errors and give the ability to re-create the page" 2014-11-25 19:42:58 +00:00
Ed Sanders f79aed7572 Update VE core submodule to master (8ca8c41)
Local changes:
* Rename paste rules to import rules (also used by drag and drop)

New changes:
f5d83f8 Remove data-parsoid removal hack
99f938f Create 'preserveGenerated' mode for cloneElements and use in copy
938b44d [BREAKING CHANGE] Rename paste rules to import rules
c51288c ve.ce.Surface: Move insert HTML path to DM
10ce4cf Provide a FileDropHandler for HTML files
701bb9c Provide a FileDropHandler for CSV and TSV files
ca6b444 build: Update update-oojs.sh and update-oojs-ui.sh scripts

Change-Id: I5cfa15ab3efd03e2c64c2f9f725cb3098f53b32a
2014-11-24 18:55:32 -08:00
Ed Sanders c56a921585 Change command list from whitelist to blacklist
Also remove toolbar definitions as they can now be derived from
command availability.

Depends on If32d514a in core.

Change-Id: I2313f3cc2531686b27f96dc1110b28bb4b295f89
2014-11-24 18:28:37 +00:00
jenkins-bot b69fef2196 Merge "Focus the bookletLayout on ready in the template dialog" 2014-11-23 17:19:11 +00:00
Roan Kattouw 0bc3edfd91 Focus the bookletLayout on ready in the template dialog
Depends on I60377cb5 in oojs-ui

Change-Id: I5d8b73f878bf136efdc97493ef1f6e7bd6f56066
2014-11-21 18:13:27 -08:00
James D. Forrester a8b4fc4966 Update VE core submodule to master (c8201dd)
New changes:
ff237d4 Fix z-indexes in core
e88d43e Localisation updates from https://translatewiki.net.
cf61803 Consistently use ve.ui.WindowManager everywhere
f9dfdb8 Update OOjs UI to v0.1.0-pre (23565e7519)
f79f7e3 Update OOjs UI to v0.1.0-pre (8f8896196f)
c8201dd Update OOjs UI to v0.1.0-pre (9ed4cf2557)

Local changes for the breaking change to OptionWidget and sub-classes.

Change-Id: Ife6abd312d4dc97be67cb84eea4cb9c6a0a31b1d
2014-11-21 17:41:04 -08:00
Roan Kattouw 4cf254a31b OO.ui.WindowManager -> ve.ui.WindowManager
In keeping with Id6660a4b54 in VE core.

Change-Id: I6fa6c0cdc3e514a66889e41c2eb4c710650a3405
2014-11-21 13:58:53 -08:00
Alex Monk 9bb766c5bb Catch pagedeleted errors and give the ability to re-create the page
Bug: 52073
Change-Id: I86a6e1510ccb5e59e94a5262dd3ccd91fdf05a70
2014-11-21 21:44:15 +00:00
Ed Sanders 320206fe42 Rename input variables in media dialog
Change-Id: I9b8edfaccb163aff313e267bb1a0f74455502242
2014-11-12 19:51:48 +00:00
Alex Monk ba81c45da9 Restore selection after closing save dialog
Also simplify some weird focus code in MWSaveDialog

Bug: 72911
Change-Id: Ifb8fd9be96a199f86412247211e3920a35dd22bf
2014-11-11 23:55:39 +00:00
Roan Kattouw aa84df021a Followup a86d824: fix reference to this in foreach callback
Bug: 73235
Change-Id: Ib8f877f747df6c8047c7e3d2c152e0e7a9f60b8a
2014-11-10 15:22:19 -05:00
Roan Kattouw a86d824c56 Fix craziness in template dialog focusing
setMode() is called multiple times, but it didn't
check whether the mode being set was already set.
Because it's a setter, make it idempotent.

This fixes the problem where the first input will
be focused first, then blurred later, but it
introduces a new problem because the label for
the 'mode' ActionWidget is set from setMode().
To solve that, factor the setting of this label
out into its own function and call it on setup.

Bug: 73138
Change-Id: I9bb127f22f6c0b745b393c523ec42f320fc85cf3
2014-11-07 16:41:03 -08:00
Alex Monk 3628fc0ffc Disable review button while save dialog is pending
Bug: 65310
Change-Id: I7cfb5d84b91b4a20282e126b8c863c15519b5a9d
2014-11-05 23:36:33 +00:00
Alex Monk 0dde78bd54 Pass $overlay to redirectTargetInput in MWSettingsPage
So the TOC options don't display over the top of suggestions for it

Bug: 72838
Change-Id: I73f0f9e3a44a9f641b6bed2a42cac2c8293cc5c9
2014-11-01 04:49:36 +00:00
jenkins-bot 8f8613f27b Merge "MWTransclusionDialog: Blur active input when switching modes" 2014-10-31 22:55:24 +00:00
Roan Kattouw c324ed8b9a MWTransclusionDialog: Blur active input when switching modes
When show/hide options is clicked, the inputs in the main pane
move as the outline transitions in or out. This causes any dropdowns
below these inputs to become mispositioned: they don't move
because they're in an overlay.

To work around this problem, blur the active input when show/hide
options is clicked, so any dropdown attached to it is closed.
I tried blurring and immediately refocusing the active input to
force the dropdown to reposition itself, but that looks awkward
because of the transition (we'd have to wait for the transition
to complete before repositioning it, and during the transition
it'll stay open in the wrong place).

Bug: 72789
Change-Id: Ibd963690573af905066839f7276077089fa893c6
2014-10-31 04:19:41 +00:00
Roan Kattouw 884aa1f243 Add forgotten $overlay pass-through in MWReferenceDialog
We were doing this for the exact same widget in
MWReferenceListDialog, but not here.

Bug: 72785
Change-Id: I4a905b944be44ec1aec5cdba7580283ec18c5c7c
2014-10-30 14:50:10 -07:00
Alex Monk b71bb51171 Remove more references to ve.bind
Seems some of them have crept back in since I1a7fc7f2 (and we missed one somehow)

Bug: 72156
Change-Id: I5631fb7d5963d06aeb238c1daa44344b2060ef1a
2014-10-30 20:55:44 +00:00
James D. Forrester 6626450419 Toolbar: Make styling and insert menus collapsible
Also re-synchronise toolbar in MWMediaDialog and MWReferenceDialog.

Change-Id: I8cd5f0d9f7e188fa1a7ab8d34a2796340f5e99b7
2014-10-30 12:22:20 -07:00
jenkins-bot d73a692f57 Merge "Show warning on reference dialog when editing a reference used in more than one place" 2014-10-28 17:36:07 +00:00
Alex Monk 3846e20463 Show warning on reference dialog when editing a reference used in more than one place
Bug: 52792
Change-Id: I2b183c3867ddb601041f9989964aa6f78b5f37e4
2014-10-28 12:58:50 +00:00
Roan Kattouw 61e8115e8b Pass $overlay to widgets that need it
Also change this.$overlay (which doesn't even exist) to
config.$overlay in MWTemplatePlaceholderPage and document it.

Compensates for I39df86373ea in oojs-ui.

Change-Id: I4a233c058439d6cfb38d80ece890c8fe57d58f49
2014-10-27 17:36:19 -07:00
jenkins-bot 0dad360036 Merge "Disable parameter add icon when there's no transclusion parts" 2014-10-27 20:39:46 +00:00
Alex Monk d128378f5a Disable parameter add icon when there's no transclusion parts
Would put this code in onBookletLayoutSet, but that doesn't appear to be
getting called in this case.

Have to detect whether or not we should be changing the disabled status, rather
than just setting it straight away, which would break every other case where
onBookletLayoutSet is called.

Bug: 63158
Change-Id: I6f62479291424d9b2ee0e42481dec9d085169c63
2014-10-27 20:33:35 +00:00
Alex Monk c4dfd834dd Allow removing all parts from a transclusion to remove the transclusion
Rather than make a new function to determine whether it should be apply-able or
not (and run some checks again), move the enable/disable call into a new
function to do these checks and set the result.

Bug: 72191
Change-Id: I133afa1784e1afd44054f93ed84018894f7c6400
2014-10-25 00:13:29 +01:00
Moriel Schottlender 14e1de1009 Update initialHash after getting defaultDimensions in image model
On initialization, the image model has an initial scalable that has
the given currentDimensions from Parsoid; these are usually correct.
However, in cases where the wiki settings do not fit the user settings
and the images appear smaller or bigger in practice than the values
of the wiki-defaults, the initial hash will store the wrong values.

We will only know what the real values for the comparison will be
after we get them from the API and the calculation; only at that
point we can update the image model initial hash.

This is important so that later the dialog can properly understand
whether to enable the "apply" button if a user changed an image
to custom size and then back to default.

Change-Id: If17b50cc4a39993f98a20a3fec3ddf5d8cb400b3
2014-10-22 00:11:43 +00:00
Trevor Parscal 77eae16b88 Apply mw-body-content styles to SurfaceWidget
Changes:
* Override ve.ui.SurfaceWidget for use in MW
* Add mw-body-content class to surface view container
* Assert 1em sizing for surface view container to prevent
  mw-body-content from applying its own sizing
* Add new scripts and styles to RL config

Bug: 71652
Change-Id: Iac86facdc0c7a0e48c0f3617e2f6c2e7f001525e
2014-10-15 23:58:46 +00:00
jenkins-bot 1b6a234d09 Merge "Put category popups in the inner overlay for now" 2014-10-15 00:17:47 +00:00
Roan Kattouw 267212c531 Put category popups in the inner overlay for now
We really shouldn't need the inner overlay for this,
we should be able to deal with popups being in
oo-ui-window-overlay. But for now, we're not, and
this fixes the current problems.

Depends on If16d16d2b in oojs-ui.

Bug: 72052
Change-Id: Ie06056b96db19ac4caf1f9c0e3a1c49cfddc6682
2014-10-14 17:02:51 -07:00
Roan Kattouw ed33c2583c Followup 1fc13cc: fix JS errors caused by incorrect context binding
Bug: 71997
Change-Id: Idb84a1c9dad91ef69554acb73398c0a0e30fece2
2014-10-14 12:27:46 -07:00
jenkins-bot 8005868566 Merge "Make MWTransclusionModel and MWTemplateDialog extensible" 2014-10-10 20:40:19 +00:00
Christian Williams 1fc13cce68 Make MWTransclusionModel and MWTemplateDialog extensible
Wikia has done some work on the template user experience, including
automatically showing all available parameters without the use of
TemplateData. In order to make our changes, we had to make some changes
to VE-MW.

ve.dm.MWTransclusionModel.js
* this.specCache is created so subclasses can reference it.
* Promise handlers in the fetch() method have been broken out as class
  methods so they can be overridden in subclasses.

ve.ui.MWTemplateDialog.js
* addPromptedParameters() has been moved to the
  initializeNewTemplateParameters() class method so subclasses can
  overwrite. In Wikia's implementation, we have a method of getting
  all parameters and a dialog that shows all of the parameters, so the
  request to addPromptedParameters is overwritten.
* Added a done() handler to the transclusionModel promise for Wikia
  extensibility.

Change-Id: I073c5850420e7719e82957f879423c2717af674a
2014-10-10 20:38:18 +00:00
suchetag 7d82d173c6 Replacing title attribute with mixin TitledElement
The title attribute for byte counter in MWSaveDialog is replaced with the mixin TitledElement from label widget in OOUI

Change-Id: Ic4b37fac9e16b6db9091a16376e06d55bbb3d649
2014-10-09 22:57:04 +00:00
suchetag 36f95e4b21 Bringing back the edit summary byte counter in the save dialog
Bug: 71837
Change-Id: I14b1c8a8f0b8501e5ea5a3041f6aa99ae2529b2f
2014-10-10 02:56:01 +05:30
Roan Kattouw 77ba5c62c1 Followup 78e3a91: can't assign getValue() to $textarea, oops
Well spotted, Ed.

Change-Id: Ic3ce07591130d59fb2da5df2e410f39f672c71e1
2014-10-08 22:55:27 +02:00
jenkins-bot 922032f5d0 Merge "Replacing $input in save dialog" 2014-10-08 20:26:22 +00:00
suchetag 78e3a91455 Replacing $input in save dialog
Bug: 56647
Change-Id: I4703d0625767efd1b15bbc00848c77b322b43e53
2014-10-09 01:51:48 +05:30
Roan Kattouw 56953f89e4 Followup b8d8a5b: pass selections, not ranges, to SurfaceFragment#clone
Bug: 71825
Change-Id: I095d20840a1844f557a023f933aa1e6104138002
2014-10-08 20:00:21 +00:00
Ed Sanders 1af18c3c12 Update VE core submodule to master (984b57a)
New changes:
6bbcd6a Localisation updates from https://translatewiki.net.
b8d8a5b [BREAKING CHANGE] The Great Selection Rewrite of 2014

Local changes:
Update to use new selection/range API

Change-Id: I5480d5c77d599c93c2d374fac88bb2fdb68b0024
2014-10-07 21:39:33 +02:00
jenkins-bot 82e62f8ec6 Merge "Get confirmation when trying to insert/edit template/citation with required parameters missing" 2014-09-17 19:33:48 +00:00
Alex Monk b3ba809ccb Get confirmation when trying to insert/edit template/citation with required parameters missing
Relies on I5d894f8a in MW core. We'll need to update our wfUseMW when that gets merged.

Bug: 50747
Change-Id: I35e55658a3990121afe4d996ef4ee06547d2aa0c
2014-09-17 12:31:23 -07:00
jenkins-bot bdbc75473b Merge "Validate size widget when activating/deactivating apply button" 2014-09-16 23:54:26 +00:00
Moriel Schottlender 20c4fbbc1e Validate size widget when activating/deactivating apply button
In the Media Dialog, make sure the size widget is valid before
applying or disabling the apply/save buttons.

Bug: 70861
Change-Id: I6ec9eb69fe6576f1c668270b12157de9910f0214
2014-09-16 14:48:40 -04:00
Alex Monk 65b232a35b Show pending state on action button and keep dialog open when switching to source mode
Instead of doing a blocking overlay, we're simply keeping the dialog open,
which is necessary for the pending status of the action buttons anyway.

Requires Ib2c8f336 in OOUI

Bug: 65012
Change-Id: I65b5de4a1666a81b157a71f6fec490007689eb44
2014-09-15 20:44:55 +01:00
James D. Forrester b46159eeed Relabel the cancel button in the save dialog to "Resume editing"
Bug: 69116
Change-Id: I35289ff02681c3bf46a7bb491c017c500f30c7a6
2014-09-11 11:52:21 -07:00
Roan Kattouw e92e4912fe Followup cb86c4f: fix call to renamed setChanged() function
setChanged() was renamed to checkChanged(), but one call wasn't
updated. This was causing JS errors in a documentUpdate event
handler, which caused pawn nastiness.

Bug: 70450
Change-Id: I71e576638f9e2fde450f4412229cf980e6ba7e10
2014-09-05 14:50:24 -07:00
Moriel Schottlender cb86c4f030 Check for changes in the model
Create an image model hash and check for changes to the image every
time the dialog is changed, so we can activate and deactivate the
apply button properly.

Bug: 68058
Change-Id: I94b7e4879c6e752432c6f937a8cf1b9f15d1b56d
2014-09-04 14:05:01 -07:00
jenkins-bot 567b0e7d53 Merge "Use combo box widget to suggest existing values for reference group" 2014-09-02 20:21:32 +00:00
Alex Monk 802b018133 Use combo box widget to suggest existing values for reference group
Bug: 61574
Change-Id: I2ab47e79a8b90db8631d042c80b0759e9c250523
2014-08-30 02:33:04 +01:00
Alex Monk 14b23d7ba4 Make sure mediawiki.notification is loaded -before- calling ViewPageTarget#checkForWikitextWarning
That function needs to return the result immediately, not wait for module loading (via mw.notify).
This was breaking us being able to keep track of what wikitextWarning object was in use (but only
the first time we used the module), and therefore fail to close the warning when the wikitext
disappeared.

Bug: 70168
Change-Id: I0f1427423a5fe82ec8e70e2f0462a3044ca7ace8
2014-08-29 21:18:24 +01:00
jenkins-bot 1135d066ac Merge "Make the image model persistent" 2014-08-28 16:08:03 +00:00
Moriel Schottlender e34fdae776 Make the image model persistent
Make sure the image model can switch parameters when the image
source is switched, rather than having to instantiate a new
image model.

Also, when the image is changed, retain aspect ratio but make sure
to preserve the width of the previous image (unless the new image
is smaller)

Added 'resizeToBoundingBox' and 'scaleToThumbnailSize' static methods
in MWImageNode that return scaled dimensions based on the image
dimensions and the bounding box detals.

Depends on core change Idbb8b29db8e

Bug: 69450
Bug: 68000
Change-Id: I4327c86a9127f46da5522dc1197411fda757d5a4
2014-08-28 12:04:49 -04:00
Alex Monk c71d06f1e0 Toggle trash button (on transclusion dialog) visibility when changing to non-parameter pages
Bug: 70101
Change-Id: Id18f910ea9f96121584ece0270dda3f8529478dd
2014-08-27 21:00:34 +01:00
jenkins-bot 323fb9e712 Merge "Remove delete button from required parameters in template dialog" 2014-08-27 10:04:39 +00:00
Roan Kattouw 6fce4c6359 Make the Resolve conflict button actually appear
If you got an edit conflict, the save dialog would
dead-end: there was no way for you to actually get to
the edit conflict resolution page because we were
hiding the resolve button.

Bug: 69150
Change-Id: Iaccb7d0ec25d8f15398e437d614184433c33e6eb
2014-08-27 01:06:54 +00:00
Alex Monk 11fef44a08 Remove delete button from required parameters in template dialog
Bug: 60358
Change-Id: I5d03f466475bfafd4569480431969f5001365eb8
2014-08-26 01:39:51 +01:00
James D. Forrester a232147b11 Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
Change-Id: I75ac4b378ef485feead9d0eff34ed7877b94b5d0
2014-08-22 13:50:48 -07:00
jenkins-bot df85006b03 Merge "Refactoring ImageModel constructor" 2014-08-21 01:54:46 +00:00
James D. Forrester 67f304a414 Update VE core submodule to master (c4ce5ee)
New changes:
c4ce5ee Update OOjs UI to v0.1.0-pre (466a8762ac)

Update changes:
* Remove manager arugment from window constructors
* Use this.$content instead of this.frame.$content
* Use this.getDir() instead of this.frame.getDir()
* this.loading is now a promise, not a boolean

Change-Id: Ia83449a60078dd24ea4f976221c0859e5a121279
2014-08-20 18:42:52 -07:00
James D. Forrester 5148a0836a Rename "reference list" to "references list" internally
That's what we call them in human-speak, and it makes sense to have them align.

Bug: 49923
Change-Id: I8dcfba249fb9ea13c2b4052e98a4d253c302b1ba
2014-08-20 18:26:54 -07:00
Moriel Schottlender 88a0790aab Refactoring ImageModel constructor
This change creates the scalable object that's attached to the image
model through its constructor. Also adds a 'resourceName' variable
to store attributes.resource, which is mostly used for API calls.

Change-Id: I713c59d1cec5f87387a87c98a59e75b3d5c1050e
2014-08-20 18:13:12 -07:00
James D. Forrester 97c0894379 Label 'insert' buttons with just "Insert" instead of varying by content
Depends on VE-core change I23b0772a

Change-Id: Ia8fb88d3501ffa2c26add4419da5463a926f45d1
2014-08-20 14:23:57 -07:00
Roan Kattouw fbd7923741 Make MWMediaDialog not crash on API errors
resp.query won't be set if resp.error is set instead.

Also rename alignButons to alignButtons.

Change-Id: Ie69fe1ddae393ee02b44e9288a35e0dd47d17e4e
2014-08-16 00:30:16 -07:00
Moriel Schottlender c4c5add175 Fix bad jquery 'append' calls
There are several incorrect usages of jquery .append() method that
uses an array instead of an argument list. This isn't the proper use
of the method and while it does work now, according to Krinkle,
this might stop working in the near future.

Also see I76decb67db086bb387 for the same fix in ve-core.

Change-Id: I78a0d54ad76ab5401bc0532e636a9aaa2c0c0e04
2014-08-12 22:57:11 +00:00
Amir E. Aharoni 268c8677ee Flip direction buttons in media dialog in RTL
Flip the order of the buttons in the alignment widget
so that they display the directions correctly in both
ltr and rtl.

Bug: 69165
Change-Id: I7bd1d6c89aaef09492ae07eadababd68305b245e
2014-08-06 14:09:43 +01:00
Alex Monk e74e32b5af Tear down meta dialog pages when cancelling
Currently it's only being done when applying, caused by Ia74732e6. We
need the teardown event to reach the page so they can do things like
clear categories.

Bug: 68484
Change-Id: I6c31229121c1477a55ce955354770ed7cdde470d
2014-08-05 16:24:26 +00:00
Roan Kattouw c9e04f2211 Don't send API requests to preview empty (or whitespace-only) edit summaries
Change-Id: I1b75a012eebececa5fd53d5ceedb9221648182fb
2014-08-02 19:12:25 -07:00
jenkins-bot 06e883f66b Merge "ve.ui.MWMetaDialog: Really *ALWAYS* return to normal tracking behavior" 2014-07-31 07:51:26 +00:00
Bartosz Dziewoński bcd9c56701 ve.ui.MWMetaDialog: Really *ALWAYS* return to normal tracking behavior
This #getActionProcess method is kinda weird… introduced in fbdff762.

Bug: 68901
Change-Id: I5007a379445b286884814557a85c6efea5e5d4cc
2014-07-31 09:30:00 +02:00
James D. Forrester 1fcc9fa035 Update VE core submodule to master (61dea59)
New changes:
76bbf3b [BREAKING CHANGE] Fix camel-casing of countNonInternalElements

Local changes:
Use renamed countNonInternalElements function

Change-Id: Ib5f86ea5cfeb5e577f61349ed4bbb231ea155638
2014-07-29 17:15:35 -07:00
Moriel Schottlender 50dae0ab16 Focus the caption surface on initialization
Whenever the edit mode is active, focus the caption surface. This
is also true for cases where the dialog starts in the 'insert' mode
and then switches to 'edit'.

Bug: 68806
Change-Id: I60b862dc5738a65a6bb31eb32184c35cc108b232
2014-07-29 15:34:09 -04:00
Ed Sanders c23cebd5f6 Comment used messages
Change-Id: I22594b11f06f349c43162d52646a5c647c6ad0a3
2014-07-28 13:08:39 +01:00
Roan Kattouw 7cc31d0c34 Actually show the corruption warning in the save dialog
It was being set, then immediately cleared again.

Also remove the unused dirtymsg div.

Change-Id: I22e5fbe814d14684626a7502d2401f414838709b
2014-07-25 11:39:03 -07:00
jenkins-bot 9774ceed20 Merge "Bump the height of the references list a little" 2014-07-24 00:43:02 +00:00
jenkins-bot 3771aa92c1 Merge "Make the image model work without a node" 2014-07-24 00:32:54 +00:00
Moriel Schottlender 1bc7d074fe Make the image model work without a node
The image model should go by image attributes (whether it comes from
an existing node or a new one) and not a node.

Bug: 68242
Bug: 68000
Change-Id: I4cabd678157619331b3c47d3b44bc16a28fd7bd7
2014-07-23 17:27:30 -07:00
James D. Forrester 833baef313 Bump the height of the references list a little
Bug: 68226
Change-Id: Ic3c7b31dcaa6f7f8da3d86efab8c7ab94f4b1e62
2014-07-23 17:24:21 -07:00
Ed Sanders d8d3a8c98e Defer building of MWReferenceSearchWidget index
It can be very slow on pages with lots of references and
isn't required until you click 'Use existing reference'.

What is required is knowing if the list will be empty for
greying out the button, but that can be precomputed very cheaply.

Change-Id: I56909801a5685bb04e0c83cfb95463f705b8dfae
2014-07-23 15:12:31 +01:00
jenkins-bot e9f78820c3 Merge "Fix reference dialog focus" 2014-07-23 02:08:32 +00:00
Ed Sanders 24c322a124 Use native focus
It's faster.

Change-Id: I0a8a2452aa987e2b93c5c8ba3c6efa2bcafbaa86
2014-07-22 19:05:14 -07:00
James D. Forrester 27c30322ed Clamp height of MWReferenceDialog to between 300 and 400px to avoid it being too small
Bug: 68232
Change-Id: If32edc5622565b28ae1f6a2423a7c2289965733c
2014-07-22 18:57:39 -07:00
jenkins-bot f7c7efbad7 Merge "test: Move mw into the global list of globals for VE-MW" 2014-07-23 00:02:22 +00:00
jenkins-bot 016c93c29b Merge "Auto-open "Add parameter" part of template dialog when tabbed to or opening with no required/suggested params" 2014-07-22 23:37:41 +00:00
James D. Forrester a9356992d8 Put "re-use reference" in the toolbar "Cite" menu, and give it an icon
Bug: 68201
Change-Id: I9fc61e498748fb086c3e506959bee2438b8cbea6
2014-07-22 13:10:06 -07:00
jenkins-bot 107ce12f9d Merge "Fix heights of Reference, ReferenceList and Template dialogs" 2014-07-22 16:11:39 +00:00
Alex Monk 42db347213 Auto-open "Add parameter" part of template dialog when tabbed to or opening with no required/suggested params
Bug: 55925
Change-Id: I8475074e25de3969717a6d4dbb88bbb0000ebb4e
2014-07-21 22:38:05 +01:00
Ed Sanders 9bc8d07486 Fix reference dialog focus
Wasn't migrated to processes.

Change-Id: Idb5f614c172378aad5d37bf8f726adad338c3eb1
2014-07-21 13:58:48 +01:00
James D. Forrester c2f37a0450 test: Move mw into the global list of globals for VE-MW
Silly to have 38 MW-specific files needing to declare that they're using mw.

Change-Id: I97891ed922fe0c37d8c96425a4d23bd15098438b
2014-07-19 17:42:45 +00:00
James D. Forrester ed82afc14c Fix heights of Reference, ReferenceList and Template dialogs
Bug: 68226
Bug: 68232
Change-Id: I93916875a6b4b1e7b837efce33a9aa20857f227a
2014-07-18 19:14:30 -07:00
James D. Forrester cc089d6bd3 Scrap the cancel button from the toolbar
It's unnecessary, big and ugly, way too close to an actually useful button, and
adds oodles of complexity to the mire that is VPT without significant user benefit
whilst taking up an unjustifiably huge amount of the already-over-burdened space.
This means that the minimum browser width for English on default Vector to show
the toolbar correctly is now 945px, down from 1029px.

Bonuses: fix MWCancelConfirmDialog's cancel button to be destructive (it is) and
remove a now-recently-fixed comment asking for the save button to be styled using
a generic class (provided by the constructive flag).

Change-Id: I30dc7020121f0dd6907b61ef674a7cb14eb00652
2014-07-18 16:38:17 -07:00
Moriel Schottlender 2a114815ab Listen to widget changes in MediaDialog
Attach event listener to the alternate text and the media size widget
in the MediaDialog, so that when either of those are changed the
'Apply Changes' button is enabled.

Related to I88c3f3dcc7667b3ffdd2a8a8433cb47b82ba1531

Bug: 67684
Change-Id: I03efbed2f9b2909b055d96b9ae1e27b6d5e2bdbf
2014-07-16 22:46:47 +00:00
Moriel Schottlender e94a185fda Update VE core submodule to master (ad18102)
New changes:
65042de Fix alien test data
83dccbe Add toolbar menu labels to each group for consistency
2e40ef9 Move 'language' tool from the insert to the styling menu, like in VE-MW
6fb21b2 Add toolbar action section to SA demo with keyboard shortcuts tool
f3eb000 ve.ui.Toolbar: Optimise onSurfaceViewKeyUp performance
eb4e9eb Make sure the document is focused when setting a selection
48584d3 Fixes to getRelativeOffset and getRelativeRange		
fcc427f [BREAKING CHANGE] Remove generatedContents argument from afterRender
825e4be Documentation fixes in test utils		
dbbbe0b Unit tests for showSelection		
1ba9234 Don't handle up/down on focusableNodes even if backwards
a667b87 Remove label from 'insert' menu, and instead use a large plus icon
88885b1 Localisation updates from https://translatewiki.net.		
1f3b79f Initialize data first		
18369b1 Add 'clone' and make 'getDimensionsFromValue' static in ve.dm.Scalable		
92e6b7b Switch to 'custom' when MediaSizeWidget updates		
d0cd87e Localisation updates from https://translatewiki.net.		
1ee21ff Remove lies from documentation		
164f07f Safely ignore requests to open unrecognized windows

Local changes:
Work on a cloned scalable when editing images

Make sure the image model handles a cloned copy of the node's
scalable object, which is then shared with the media size widget.

Bug: 67687
Change-Id: Ie3676b715f5bae3d83da03d667cef3a6a847e212
2014-07-16 22:38:09 +00:00
jenkins-bot de9491ea0e Merge "Make a message dialog for cancelling VE" 2014-07-16 20:45:28 +00:00
Alex Monk 54a1a85e6e Make a message dialog for cancelling VE
Confirm dialog was replaced in refactor, so until this is merged the 'Cancel'
button is broken.

Bug: 68068
Change-Id: I77d1c82bf0d68013eef361174a134860a197cd44
2014-07-16 00:07:24 +01:00
Trevor Parscal f30336bc2e Always initialize data before use
LinkNodeInspector was broken when you clicked away/pressed escape, because data was not set.

Normalizing on data being initialized at the top of get*Process methods if used.

Change-Id: I89728ac558545a6f2c325014b6f457ec6bef17b8
2014-07-15 15:49:51 -07:00
Trevor Parscal 8ebea5a75b Close the citation dialog after the apply changes button is clicked
Change-Id: If3976389f0a1574fce993f5b79b9b18067a88878
2014-07-14 17:09:24 -07:00
James D. Forrester fbdff76263 Update VE core submodule to master (f2277ea)
New changes:
56de6f5 Localisation updates from https://translatewiki.net.
f8bda64 Widgetise demo menu
6ac48d8 Localisation updates from https://translatewiki.net.
365e131 builderloader: Omit value for boolean "disabled" attribute per HTML5
706e4b3 Prevent double counting of DM nodes in getNodeAndOffset
b141a7d Update OOjs UI to v0.1.0-pre (d2451ac748)
c5b3921 Localisation updates from https://translatewiki.net.
1606983 Update reference to ConfirmationDialog to use MessageDialog

Deletions:
* Styles for ve.ui.MWBetaWelcomeDialog - not needed anymore because
  OO.ui.MessageDialog provides them
* Styles for ve.ui.MWGalleryInspector - not needed anymore because
  ve.ui.MWExtensionInspector provides part of them and the rest are being
  replaced by programatic sizing

Modifications:
* ve.ui.MWLinkTargetInputWidget - Added support for validation and href
  getter
* Split message between tool and dialog title for ve.ui.MWEditModeTool
  and ve.ui.MWWikitextSwitchConfirmDialog

General changes:
* Updated inheritance.
* Added manager param to constructors of dialogs and inspectors.
* Updated use of show/hide with toggle.
* Added meaningful descriptions of dialog and inspector classes.
* Configured dialog and inspector sizes statically.
* Configured dialog action buttons statically.
* Interfaced with OO.ui.ActionSet to control action buttons.
* Moved applyChanges code into getActionProcess methods.
* Always using .next in setup/ready process getters and .first in
  hold/teardown process getters.

Change-Id: Ia74732e6e32c0808eee021f0a26225b9e6c3f971
2014-07-14 23:24:45 +00:00
Alex Monk 51142e8b11 Replace ve.bind( fn, ... ) calls with fn.bind( ... )
Bug: 62762
Change-Id: I1a7fc7f27fa737d17f5c6b3d084ef4a35e4bebc0
2014-07-10 13:54:07 +00:00
Moriel Schottlender c2c046620b Apply 'original size' to images and enable apply button in ve-MW
Depends on core change I243cff5a2d56db48882c343a8bb91153edd96a43

Bug: 66863
Change-Id: If7914c254b70f4b2b9e2788f5755550eb020b21c
2014-07-08 13:11:07 -04:00
Roan Kattouw 1261ad4b3d Followup 26fd3777: hide "Go back" in insertion mode
"Go back" should only be shown if there's something to go back to.
So it should be visible if you came from "Change image", but not
if you came from "Insert media".

If the "Go back" button is hidden, the footer is empty, so hide it
completely in that case. Hiding the footer is tricky due to how
dialogs position things, so I hacked around OO.ui.Dialog's lack
of an API for toggling the visibility of the footer.

Change-Id: Ic97c4a2bf7beaa240e5a4dfda1e605752e1f4189
2014-07-02 18:00:58 -07:00
Moriel Schottlender 26fd3777e2 UX Improvements to the Media Dialog
In this fix:
* Adding 'go back' button to appear in the search panel.
* Hiding/showing the correct buttons within each panel.
* Disable the 'apply' button, and only enable when changes are done.
* Load the search query API and send API requests only when the
  search panel is up.
* Make sure the search query is updated with the page name every
  time the search page is loaded

Bug: 67443
Change-Id: I635986f30579c6358e0cc6fe54fbf97f49c83465
2014-07-03 00:43:02 +00:00
Moriel Schottlender 6bd9fde5c5 Merge Media Edit and Media Insert dialogs
Merge the media edit and media insert dialogs. Allow editing
of media properties when inserting a new image, and also
allow the user to replace the image on edit.

Bug: 67170
Change-Id: I35bd95503565dbf95090ee8110284db5a8fbba83
2014-07-01 17:30:51 -07:00
James D. Forrester f9e74d3c62 Move reference tool into Cite menu, and language into styling
This puts reference insertion and editing tools into the same menu (yay) and
applying-annotations-to-text tools into the same menu, too.

As part of this, I'm re-labelling the generic reference tool to "Basic" (now
that it has some context for users).

Change-Id: I8b8196d3c2e40237d61c8491ab30e737b82597d6
2014-06-30 19:24:15 -07:00
jenkins-bot 87663c99e0 Merge "Offer to retain changes when switching to the wikitext editor" 2014-06-30 23:40:30 +00:00
Alex Monk 237d68f6db Offer to retain changes when switching to the wikitext editor
Bug: 57462
Change-Id: I4e57f9dff4479531e7c715966bdad2cabb97ca8c
2014-06-27 22:31:07 +01:00
Alex Monk e3e116f0ae Set tabindex for template dialog info/remove buttons on parent <div> rather than <a>
Makes Firefox happy. Not sure why.

Bug: 66824
Change-Id: I6cf69c7ea36dc7870af59e7edc2f137143ba7ad5
2014-06-27 21:48:59 +01:00
Ed Sanders 4b9c91f164 Fix fragment after inserting an image node
* Return the fragment as it may have been cloned in the process
* Do away with DM node tree traversal, we can do everything
  with offsets.

Bug: 65706
Bug: 65716
Change-Id: I9a44d562d9365d72adac199725b52555cf0a8009
2014-06-19 17:45:21 +01:00
Moriel Schottlender 82745fed46 Insert images at the start of paragraphs
If a block image is inserted in the middle of a paragraph, insert
the image at its beginning so the paragraph isn't broken.

Bug: 65883
Change-Id: I7b82c647d259a6712a771bb4243b269ecbb73c9c
2014-06-18 19:27:08 -04:00
Ed Sanders c0bd7487f5 Fix selection after inserting nodes
Some surface fragment methods return a clone, so make sure
that is written back to this.fragment in dialogs, as this.fragment.select()
is called on teardown.

Functionally depends on If26cc0a2d in core.

Bug: 65706
Bug: 65716
Change-Id: Ia552b2a4c4c59ffc308a4acdecac78a7803a1c1f
2014-06-18 22:45:52 +00:00
jenkins-bot f8dbe1878c Merge "Show wikitext warnings in the reference and media caption dialogs" 2014-06-18 21:00:29 +00:00
Krenair 143c21999e Port MWSaveDialog to use ActionDialog
Relies on Id17d150d

Change-Id: I80dd89fa7ad55daa3ae7e9c01c4a78f6e54105ca
2014-06-18 20:43:45 +00:00
Krenair 046979ae80 Show wikitext warnings in the reference and media caption dialogs
Bug: 56213
Change-Id: I9da0ae627a990864cc8b9466d97c4419f315f65e
2014-06-18 16:12:02 +00:00
Ed Sanders c70d32c017 Use registered target, instead of ve.init.Target
Depends on I468d4eb4 in core.

Uses various hacks to trick the test runner into thinking
an MW target is in use, when in fact we still use SA targets.

Change-Id: If4611307d5d7aaee4af84f86ef82faf9078043b6
2014-06-17 20:41:01 +01:00
Ed Sanders 0791d86b77 Update VE core submodule to master (4d919d2)
Implement new language platform functions.

Also remove unused MWLanguageSearchDialog and MWLanguageSearchWidget.

New changes:
4d919d2 [BREAKING CHANGE] Move language functions to the platform

Change-Id: I54c0a8e5816a3c81851f95f1d3062a6091a9f4a3
2014-06-12 19:42:35 +00:00
Trevor Parscal 06f00d73ae [BREAKING CHANGE] Update VE core submodule to master (43a48cb) for window process cleanup
* Update size of save dialog earlier on, and swap back to save panel in
  save dialog on setup instead of ready to avoid scaling and sizing
  simultaneously
* Update use of closing/closed/opening/open events to use
  setup/ready/teardown events instead

New changes:
43a48cb [BREAKING CHANGE] Update OOjs UI to v0.1.0-pre (9f4f250f88) for window process cleanup

Bug: 65705
Bug: 65343
Bug: 60843
Change-Id: Idf6f85ae12f6ca80fde57a400cb5b11270938c1a
2014-06-12 00:42:13 +00:00
Moriel Schottlender 80d1240734 Disable/Enable alignment select widget with checkbox
The test of whether to update the model should only apply to model
and not GUI operations.

Change-Id: I594793cbf69b41cd8fe02067e9985dd1030af95c
But: 66288
2014-06-10 15:18:36 -04:00
Moriel Schottlender 9f2d31cfa0 Disable the size widget for 'frame' images
Frame images are not resizable; disable the media size widget when
the frame type is selected.

Depends on the change in ve-core:
Id1010798d30e2928358acb5694c429b9ab68ad57

Bug: 66353
Change-Id: I8c8da8933c51ba709a834731425d19445009673f
2014-06-10 18:43:25 +00:00
Moriel Schottlender cd3cbf1f9b Initialize 'default' size properly in media edit dialog
Make sure that image model and media edit dialog initialize the
default size properties according to the scalable correctly.
Also make sure that on creation of a new node or edit of existing
node's properties follow on whether the image is set to default
size or custom size.

Depends on the ve-core change:
Ia6bb041bfc050a48d8c40bbff4b73ed2893085e2

Bug: 66149
Change-Id: I6f60fba28e11a111bb40a100148ed1f12d518890
2014-06-09 19:39:15 -04:00
jenkins-bot dc5d7351d3 Merge "MWReferenceDialog: Allow swapping of existing references for others" 2014-06-07 00:55:19 +00:00
Krenair fdc3cb2710 MWReferenceDialog: Allow swapping of existing references for others
By disabling the selection button instead of hiding it.

Also make sure that there are other references before re-enabling it.

Bug: 65689
Change-Id: Ifb3d6ab6eacb71909eb13e3a72e971b49e2595c1
2014-06-06 16:30:03 -07:00
Ed Sanders a425ab4812 Move save panel init to getReadyProcess
Bug: 66168
Change-Id: I903d2892b56e531fa8d4d44873a3889b637e0f09
2014-06-06 11:51:27 -07:00
Moriel Schottlender 8bca6add25 Fixing issues in the alignment select in Media Edit dialog
Fixing the behavior of alignment select and checkbox in the edit
dialog. Adding a check on all UI events to make sure they update
the model only if the model value is different than the UI value.

Also adding the ability to check the default direction of a
specific node type, to predict default alignment values.

Bug: 65916
Change-Id: I82f624fa788383dec0a12afb473aef01593e670e
2014-06-05 21:20:44 -04:00
jenkins-bot cc14f33be9 Merge "Followup to small SVG default size" 2014-06-04 23:44:24 +00:00
Moriel Schottlender 4355ea4f10 Followup to small SVG default size
Make sure svg drawings on block images have the default size as
the wiki default, no matter their original set size.

Also took the opportunity to clarify the synchronization method
for scalable and image type in ve.dm.MWImageNode and call it when
the image model is loaded to make sure the details are always
synchronized before edit.

Followup to I682d832e456a501836f33ed1dfc7dbd78a4edf53

Bug: 62893
Change-Id: Ic47016d171634c532092067957cc2c3d431e9746
2014-06-04 19:38:15 -04:00
jenkins-bot 462a84787f Merge "Add tabindexes to template editor and required attribute where appropriate" 2014-06-04 23:28:21 +00:00
jenkins-bot 0ce474ab47 Merge "Don't allow inserting blank citations" 2014-06-04 22:57:27 +00:00
Alex Monk da5398909e Don't allow inserting blank citations
Bug: 64715
Change-Id: I76782bda12f7fbd7a162f179b78e1a36187a9257
2014-06-04 23:52:22 +01:00
Krenair 652136d712 Add tabindexes to template editor and required attribute where appropriate
At the moment, the natural tab order appears to simply ignore the info and
removal buttons

Bug: 65474
Change-Id: Ib18a9f7b0ce614bed9fee1199f1d36bc4bc012b9
2014-06-04 23:39:36 +01:00
jenkins-bot c8358205bd Merge "Adjust default alignment when switching from inline to block" 2014-06-04 22:37:06 +00:00
Moriel Schottlender 6e096fcaef Small SVG images should still adhere to default thumb size
Make sure that SVG drawings have default size of the wiki default
even if their optimal defined size is smaller.

Bug: 62893
Change-Id: I682d832e456a501836f33ed1dfc7dbd78a4edf53
2014-06-03 13:47:18 -04:00
Moriel Schottlender 74a20b8ec9 Adjust default alignment when switching from inline to block
Once more with feeling; default alignment when switching between
inline to block and vise versa. This time, the problem was mainly
that the checkbox for position cannot be updated without triggering
its update event. It was triggered, however, before setting up the
positioning, which caused the model to run positioning twice and
get things wrong.

Another smaller fix in this commit was done to make sure that
the image model remembers the previous alignment, so when image
type changes from inline to block and vise versa, and the alignment
was default, it can recalculate default value for the new node.

Bug: 65564
Change-Id: I6c16a7855ad7e3ce302fa3d042d0a402251b31f0
2014-06-03 00:20:57 -04:00
Krenair 390d8ca793 Fix reference dialog apply button disabling when modifying existing reference
Existing references keep internal records of current saved data, which breaks
the current length check. Instead, use the new function to count all
*non-internal* elements

Relies on I8ecbf387
Related to bug 52182

Change-Id: I4b9bb866babe018d75dc083fab35375b9fb53d3c
2014-06-02 17:12:12 -07:00
jrobson fef33d30ec Add use existing reference to toolbar on mobile
Note currently a blank icon appears to the left of this.
This will need to be removed later.

Change-Id: Ia8be1f0e83a2154a48de3c3a47bd8feb0c9a2a2c
2014-06-02 12:12:32 -07:00
jenkins-bot 98f403f237 Merge "Use <visualeditor-toolbar-cite-label> correctly in the Media and Reference toolbars" 2014-06-02 17:38:36 +00:00
Trevor Parscal f58861b6c3 Cleanup save dialog counter label
This label is not needed, never visible, not internationalized and doesn't make sense.

KILL IT WITH FIRE!

Change-Id: Ia0b3eda5971598714644b9d0c4fec1fd44b6c440
2014-06-02 09:57:24 -07:00
Amir E. Aharoni c27d62d19f Use <visualeditor-toolbar-cite-label> correctly in the Media and Reference toolbars
Bug: 66039
Change-Id: Ie9cba04a0f117e1d5fb25a93f81df423787a9d79
2014-06-02 09:49:48 -07:00
Trevor Parscal f65c3c6ef1 [BREAKING CHANGE] Update VE core submodule to master (88fe25f)
Switch to processes for windows (dialogs/inspectors)

This conversion also required the splitting of MWLinkInspector into
MWLinkNodeInspector and MWLinkAnnotationInspector.

New changes:
88fe25f [BREAKING CHANGE] Update OOjs UI to v0.1.0-pre (dd888aba5c)

Change-Id: I662d8985463c9fc881775f70aef87ebeb454a73f
2014-05-30 22:03:45 -07:00
Alex Monk 96bcc2dc55 "Use an existing reference" in the reference dialog should be disabled when there is content
Bug: 65689
Change-Id: I55f7af71957634f5c19996be02a51af0288e9e2f
2014-05-30 21:04:51 +01:00
jenkins-bot a7bf8b6a7f Merge "Convert toolbar structure group from bar to list" 2014-05-28 23:06:36 +00:00
Moriel Schottlender f9df17c052 Another default alignment fix to MWImageModel
This time in the installment: Allow the model to predict the type
and default alignment based on parameters rather than just the
current status. This is important for initializing images, especially
inline images whose 'align' attribute is null or undefined, but must
be examined for default alignment.

Also changed:
* Make sure that model operations change each other, rather than
  let the editor change 'unrelated' model parameters.
* Use selectItem rather than chooseItem to avoid emiting the 'choose'
  event on edit dialog initialization.

Bug: 65564
Change-Id: I8c23fc53e7738d59565294d8b98fe7351bebbc67
2014-05-28 18:05:00 -04:00
Moriel Schottlender 7a6f59920d Fix default alignment in MWImageModel
Make default alignment a computed value, and make sure the GUI listens
to 'choose' instead of 'select' events for SelectWidgets so to prevent
recursive calls and make sure the GUI is updated properly.

Also added a default alignment check on type change so the user can
visually have an indication that the new image will have a different
alignment. The user can then change the value manually.

Bug: 65564
Bug: 65596
Bug: 62852
Bug: 65617

Change-Id: I55e16775d18e0a4bf7f1fa73bbb3aa5e0aa51a79
2014-05-24 03:22:52 +00:00
James D. Forrester 47e19a9873 Convert toolbar structure group from bar to list
Aligns with I84a4d948ae in stand-alone.

Change-Id: I533355a20bb329b91d6550bde4afa18180b38f59
2014-05-22 17:47:29 -07:00
Moriel Schottlender d8040dbffc Don't update image model twice
The image model is updated through events from the edit dialog.
There is no need to update the states of the select/checkboxes
at the end in 'apply'. The only inputs that are not updated
on change are caption and alternate text.

Bug: 65564
Change-Id: I18c009546120e270467418cff677ec491fd109ca
2014-05-21 14:41:33 -04:00
jenkins-bot 5798569c73 Merge "Image model and the media edit dialog" 2014-05-20 01:15:31 +00:00
Moriel Schottlender 37b3c07b26 Image model and the media edit dialog
Creating an MWImageModel that handles all image edit operations.
If the new attributes mean a change of image types from inline
to block or vice versa, the model will handle the creation and
insertion of the new node.

Change-Id: Ibe71bc8bd74e4ba5a024ac722432ccf0b8f65e71
2014-05-19 21:11:06 -04:00
Timo Tijhof 37087f1f5f MWTransclusionDialog: Remove setMode() call from teardown()
teardown() runs after the dialog has been hidden (if you need it
to be visible, use close() instead).

However removing it instead of moving because it is obsolete,
this is something that should be done from setup() instead, and
already is.

Bug: 65373
Change-Id: Ib6b4ab49f191d1d339e69934453786a82d97380f
2014-05-19 20:44:38 +02:00
Ed Sanders ddf88a5633 Fix styling on save dialog
Apply styles directly to textarea instead of wrapper div

Change-Id: Id2340cb81dd343266b8a57ae91057fa3015a47e0
2014-05-19 18:41:06 +01:00
Ed Sanders bd3b5ffc4f Initialise save panel on 'ready' so focus works
Bug: 65222
Change-Id: I18a0191a3013332621e44455ea59d5f8d683117e
2014-05-19 17:23:38 +01:00
Timo Tijhof 25d00cc777 build: Update jscs and jshint
jshint:
* Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0).
* Remove coding style options covered by jscs.
* Enable new option "freeze" (prohibits changing native prototypes).
  http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze
* Re-order to match http://www.jshint.com/docs/options/

jscs:
* Update to grunt-jscs-checker v0.4.4 (jscs v1.4.5).
* Format .jscsrc file in a more spacious way and order the
  properties less arbitrarily (using the jscs's readme order).
* Enforce more details of our coding style
* Get rid of the unsable "sticky" operator rules which have been
  deprecated in favour of using other rules instead that are able
  to enforce this more accurately.
  - disallowLeftStickedOperators: Remove deprecated rule.
    * Ternary covered by requireSpacesInConditionalExpression.
    * Rest covered by requireSpace{Before,After}BinaryOperators.

  - requireLeftStickedOperators: Remove deprecated rule.
     * Comma covered by disallowSpaceBeforeBinaryOperators.

  - requireRightStickedOperators: Remove deprecated rule.
    * Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

See also If46b94ce1, Ib731f11b1 and I0b0cadbc5 in oojs/core.

Also:
* Update grunt-contrib-watch to latest upstream version.
  Change log at https://github.com/gruntjs/grunt-contrib-watch/blob/v0.6.1/CHANGELOG#L1-L17

Change-Id: I6c5a34afea8b05a3dca617897c192594df06ca90
2014-05-15 16:52:34 +00:00
Moriel Schottlender 2731b1ee48 Make sure originalDimensions are available before use
Before applying default size based on originalDimensions, make sure
these are available through the scalable call. The image will be
marked as default size, but the presentation will depend on whether
or not we have the defaultDimensions from the API.

Bug: 65239
Change-Id: I41b30498713e969bd24ef0ad3e9a074c6ffcdc3b
2014-05-13 15:53:30 -04:00
Roan Kattouw 0bcab80d2a Stop explicitly setting autoFocus to true now that it defaults to true.
Change-Id: I8544cf83d8665848b8da8a7e2bbef9f8518e23ef
2014-05-05 14:18:12 -07:00
Trevor Parscal 62324167ff Update VE core submodule to master (a1e9df1)
Also adjust calls to InputWidget methods changed in
I324dfc2 in OOUI.

New changes:
9da32d7 Update OOjs UI to v0.1.0-pre (e6edd86d37)
b6aa671 Localisation updates from https://translatewiki.net.
1cba6e0 Update OOjs UI to v0.1.0-pre (9a6c625f5f)
94629f9 Localisation updates from https://translatewiki.net.

Change-Id: Id58d199c7ce3332a104ab2a5c395561ab94ae060
2014-05-02 15:50:32 -07:00
Ed Sanders 5a65cb67fb Fix typo: this.transclusionNode -> this.selectedNode
this.transclusionNode doesn't exist. Also remove instanceof checks
as they are already done in #get(Selected|Reference)Node.

Bug: 64717
Change-Id: I7ff0133d1ad45edda8de2cbad459706dbaceb5f2
2014-05-02 16:48:10 +01:00
Ed Sanders 65d92173ea Use correct fragment in windows
In two cases we were using fragment.getSurface().getFragment() which
creates a new fragment from the current selection instead of using
the range of the original fragment.

Change-Id: Ib41efe2ceb670a125c0c306d143e56f9b9c349e7
2014-05-01 11:58:25 +01:00
Roan Kattouw dfbb7815e9 Make reference list dialog small again
Also remove now-useless size setting in save dialog

Bug: 64670
Change-Id: I1abc760a27ce2b107a92413ff3d5da7d95915dc2
2014-04-30 18:05:41 -07:00
jenkins-bot e52883df5a Merge "Restyle parameter pages" 2014-04-30 23:32:44 +00:00
Trevor Parscal 853e4872b4 Restyle parameter pages
* Move description to a popup behind a little info icon button
* Make required indicator generic status indicator (required/deprecated)
  and move to left of the field
* Move param name and actions to above the field
* Show deprecated status and description

Bonus:

* Use auto-focus on CitationDialog (whoops!)
* Make pages that aren't meant to scroll not scroll (whoops again!?)

Depends on I59211b2 in OOUI

Bug: 53612
Change-Id: I3b968ad14aa6c43b6484e2565a9367d2ebc72fc5
2014-04-30 16:27:19 -07:00
jenkins-bot be8b5b0783 Merge "Bring the transclusion title back to life" 2014-04-30 22:28:00 +00:00
Trevor Parscal c04c0f750e Bring the transclusion title back to life
At some point getTitle was changed to updateTitle but the caller was still
assuming it would return a string. Also, we removed the transclusion
dialog title message, but were still trying to use it.

Changes:
* Change the logic so we use the parent method for updateTItle correctly
* Bring the transclusion title message back

Bug: 64671
Change-Id: I3beb8b1d4304ba73c428868b9ac2d0f6a1cc9944
2014-04-30 21:41:19 +00:00
Trevor Parscal 03306d8528 Make inserting existing references work again
When MWReferenceDialog was modified to inherit from ActionDialog the
search select method didn't get changed to call applyChanges. But really,
you can't just call applyChanges because you need all the promise setup
stuff that onApplyButtonClick does. The API for ActionDialog needs to be
improved, but this works just fine in the mean time.

Bug: 64677
Change-Id: Ib38a624811dc26ead7b9de64cb41aff642820452
2014-04-30 21:11:17 +00:00
jenkins-bot c3a043f206 Merge "Call clearAllMessages in setup instead of swapPanel on the save dialog" 2014-04-30 18:19:14 +00:00
Ed Sanders 265a739c07 Use window 'ready' event to focus surfaces
Depends on I57864586b in OOUI.

Change-Id: Ic9a6e8d466c4d8b1273f54e621bb5a6cab50be53
2014-04-30 11:15:41 -07:00
Trevor Parscal e4e6f8883e Use ActionDialog and NodeDialog
Based on I70e88f6 in VE core

* Cleanup dialogs by using node dialog and action dialog
* Move "Loading..." text from label of dialog apply button to dialog title
  (repurpose identical message)

Save dialog will be converted in a follow up.

Change-Id: I6a290f4bdc29e577c7c89b4babdab5853c4c10e5
2014-04-29 17:27:14 -07:00
James D. Forrester 3569efba3b Use TemplateData's suggested status for parameters
Change-Id: I8c8522d1fcc7e7b26984d72a8f8aaaedbddb9cb4
2014-04-28 12:10:31 -07:00
Krenair 7645b9805b Call clearAllMessages in setup instead of swapPanel on the save dialog
Was clearing things like captchas when swapping panels. It still makes
sense to clear these when opening up the dialog though.

Bug: 62766
Change-Id: I37ceeebc672e2866b805631b189108d8363bdc9f
2014-04-25 22:44:39 +01:00
Ed Sanders 2bc50e2e83 Image frame icons
Change-Id: Icc2d4f44db2860ce11b8022035ba670d7d5bf064
2014-04-24 10:50:00 -07:00
Ed Sanders be36dfca25 Use core language search dialog
Depends on I21a9d7e in core.

Change-Id: I12cacf775b490d7c676011a5a154deeefe5527c5
2014-04-23 18:43:03 -07:00
Trevor Parscal 30d9d99ae4 Make citation dialog display like transclusion dialog in single mode
This is a hack, should be cleaned up soon.

Bug: 64199
Change-Id: I01effbfd0fc6da41596c73e375d237443ebb9d70
2014-04-23 17:36:49 -07:00
Roan Kattouw ba455643fc [BREAKING CHANGE] Update VE core to master (cb2e61b)
Update dialogs and inspectors for breaking change in VE core

New changes:
a553012 [BREAKING CHANGE] Merge dialog and inspector actions into window actions
f9a0419 Localisation updates from https://translatewiki.net.
cbe81a0 Fix path to spinner in ve.ui.SpecialCharacterInspector.css

Change-Id: Icf90ace6442364283b66b234e3c78fc65212f070
2014-04-21 15:32:59 -07:00
Krenair b6f1793bf8 Use new OOUI pending feature rather than loading bar thing on save dialog
See I5c45cc6 for the oojs-ui change and I2fa71a1d for a similar commit

Change-Id: I77e3274a196bc13ae19a9520197f4a8b624fd528
2014-04-18 21:57:14 +01:00
jenkins-bot f002889376 Merge "Make transclusion dialog "pending" while loading" 2014-04-18 20:12:05 +00:00
Trevor Parscal 062b2ed681 Make transclusion dialog "pending" while loading
Also, only allow animation of anything after things are ready

Depends on I5c45cc6 in oojs-ui

Change-Id: I2fa71a1d9a43db960aac4c1fad87eae96c898fad
2014-04-17 15:06:11 -07:00
Trevor Parscal 89f040626e Disable transclusion dialog mode button while loading
Change-Id: Iec8ea9d490b43504d25ecf05bd4a43701d503c35
2014-04-17 15:03:43 -07:00
Trevor Parscal 926700fbca Re-split the transclusion dialog
We used to have two dialogs; a complex one, and a subclass that dumbed it
down - this was rubbish.

Then we merged them together - this was a'ight.

Now we have two dialogs again; a simple one, and a subclass that fancies
it up a bit - this is wicked keen broham.

Change-Id: I4b2ba31bed5c4f80940623702d635cacd19e0a66
2014-04-17 01:39:18 +00:00
Roan Kattouw 9d1b7432fd Also focus surface in media edit dialog
16ec8ffdcf did this for the reference dialog, but the media edit
dialog needs it too. Additionally, we need to focus it when the
user switches to a different page then comes back.

Bug: 63909
Change-Id: If1b9587f4d10dbe6374e987b35c781954bcc566d
2014-04-16 15:12:39 -07:00
jenkins-bot 4d6a59b16b Merge "Focus the surface in the reference dialog after it opens" 2014-04-16 19:00:51 +00:00
Roan Kattouw d335e59330 Fix another surfaceModel.getFragment() in MWCitationDialog
Change-Id: Ic12652bf3d53396f84d558595ce1e4a2d0a22796
2014-04-16 11:42:15 -07:00
Roan Kattouw 16ec8ffdcf Make inserting reference lists work again
surfaceModel.getFragment() is a null fragment, use this.getFragment()

Bug: 64012
Change-Id: I995929ff0dda60220e17e579994b51ffb406f149
2014-04-16 11:40:26 -07:00
Moriel Schottlender fa72f5fdc2 Border checkbox disabling/enabling fix
Due to a lack of clarity in the wikitext documentation the border
checkbox wasn't set up right. This is the proper behavior: border is
allowed for all unframed images (frameless and basic) while the
framed images (frame and thumb) have it anyways. Wikitext
documentation was also clarified for prosperity.

Change-Id: I4dd4775da473d669781553796be99646240c13fe
2014-04-16 13:14:58 -04:00
Moriel Schottlender 8d99aa88c8 Fix border checkbox
Make sure border is enabled for unframed types and disabled for
framed images.

Change-Id: I716e9bc4140fbc09aac52930d1dd8213f31617a3
2014-04-16 00:03:35 -04:00
Roan Kattouw b764ecc7f4 Focus the surface in the reference dialog after it opens
Otherwise the surface ends up in a weird half-focused state which
causes it to behave strangely.

Bug: 63909
Change-Id: I3ebc30fde0202116b383a5b497aca65b66732922
2014-04-15 22:25:41 +00:00
Trevor Parscal 9e6451d40c Fix inserting references list while selecting another kind of node
There are two ways dialogs determine if they are inserting or updating.

1. They evaluate whether the dialog is inserting or not and set a boolean
   flag, used later to steer the saving code

2. They evaluate whether the dialog is inserting or not and, if not,
   store the node to be updated in a property, used later to steer the
   saving code

In the reference list dialog, setup used strategy 1, and teardown used
strategy 2. We've now normalized to use strategy 2 in both methods, which
fixes this bug.

Bug: 61885
Change-Id: I1b077b2aef4121328bce2b373874dd7373e405a1
2014-04-14 19:44:28 +00:00
Ed Sanders 340a939c97 Remove remaining uses of surfaceModel#getSelection in dialogs
These were being used indirectly in the MW*Model's. Use surface
fragments instead.

Fixes I0fae3e5ff2bd.

Change-Id: I1d6aa5e00a9315cf7088f87f9e9d828833feec64
2014-04-11 11:14:43 -07:00
Ed Sanders 0e51180709 Update VE core submodule to master (55a5cdc): use new ve.ui.Dialogs and ve.ui.Inspectors
Move various bits of code from initialize to setup as required.

MWDialog is now useless so use ve.ui.Dialog directly.

New changes:
0b2d03f [BREAKING CHANGE] Pass fragments, not surfaces, to windows (reprise)
0101ac4 Update OOjs UI to v0.1.0-pre (ac6848398c)

Change-Id: I0fae3e5ff2bd0da5b74c244af226b07b1f5883bd
2014-04-09 20:28:30 -07:00
Roan Kattouw f2422d916c Update VE core submodule to master (c150259) for scalable changes
ve.dm.Scalable is now a computational model for image scaling and
size manipulation. This commit adjusts the nodes and the edit and
insertion dialog to handle the new scalable model, and by that
use a centralized computational engine for all scaling and size
changes.

New changes:
3ec19fb8 Refactor Scalable functionality

Change-Id: I017a017924f544cc8bc9b7d8245335759ae0e890
2014-04-09 17:29:49 -07:00
Ed Sanders 164cf27299 Use new model directionality in MW
Depends on I2065e17020dc89 in core.

Change-Id: I6e99db601af58a9c4200f885887de451f9f70daa
2014-04-09 18:21:25 +00:00
Trevor Parscal 84ed719cd0 Additional initializeSelection methodicde
Changes:

* Change uses of initializeSelection to selectItem
* Use "choose" event to respond to deliberate item selection by the user

Depends on changes in OOJS-UI (Ib3826ed)

Change-Id: Ia167a70ca5f40b1f15adad30620fdb13ef0d02d7
2014-04-07 12:15:40 -07:00
Trevor Parscal fc94173ff6 Fix more intalize typos
Change-Id: I24e0b3a93c15cc8a781eb9a35d9ba09510db40bd
2014-04-04 17:13:34 -07:00
Trevor Parscal 793fbb0e24 Correctly insert or update citations based on template option
When using a tool that opens a citation or citation transclusion dialog,
the dialog shouldn't use edit mode unless the template in the node and the
template the tool would insert match.

Bug: 63452
Change-Id: I34a5a2da576247f4046da45f742bccc3cec22c5a
2014-04-02 16:38:34 -07:00
Roan Kattouw 03c5822b6b Update VE core submodule to master (c5f4f78)
Also update tools for changes in VE core.

New changes:
e4de14b Make tools use commands
e029817 Make getToolsForNode place primary commands first

Change-Id: I66575ee6d49e6b2f5a5f789978da98bb55e6dc5e
2014-04-02 16:30:12 -07:00
Trevor Parscal 9e38cafc9f Remove constructive flag from return to save form button
It doesn't create anything, so it shouldn't be constructive.

Change-Id: I97d6fc3c5f992033e55ee6cde48245b1e96ddc16
2014-03-31 15:31:43 -07:00
jenkins-bot 927d24968d Merge "Make cite transclusion tools actually work" 2014-03-26 22:48:54 +00:00
Trevor Parscal ca95923d73 Make cite transclusion tools actually work
The transclusion tools shown in the toolbar in the reference dialog
passed a template to open with to the transclusion dialog, but it
didn't take that config parameter.

Moved this parameter up from CitationDialog to TransclusionDialog,
and moved its logic into the setup function.

Bug: 63037
Change-Id: I9249c845a5ae7cca2ec4d75d69e1236f7755d246
2014-03-26 22:42:30 +00:00
jenkins-bot 24efd6bd8d Merge "Blank the reference and media search queries when closing dialogs" 2014-03-26 21:49:36 +00:00
James D. Forrester 3f21a91c2b Blank the reference and media search queries when closing dialogs
Bug: 61959
Change-Id: I45e161d322d4fb0a63d35c1a75a2a39ba9f73def
2014-03-24 17:41:29 -07:00
jenkins-bot 2b84bbbfca Merge "Use "Insert citation" label for apply button of CitationDialog" 2014-03-25 00:19:56 +00:00
Trevor Parscal c385c01096 Use "Insert citation" label for apply button of CitationDialog
* Create a method to produce the correct label
* Override that method in the citation dialog subclass

Change-Id: Ic74a23dcf30aae201f3d6c312b760cf058aadf11
2014-03-24 17:16:43 -07:00
Trevor Parscal 1363d15c53 Move cite to be after link, instead of after structure
Change-Id: I69170b68997b8df595cc12e10b3467444e3ae952
2014-03-24 17:13:59 -07:00
jenkins-bot cc45c6a0d1 Merge "Fix 'original dimensions' async call in MediaEdit dialog" 2014-03-24 22:54:01 +00:00
Roan Kattouw 81876bc81a Update reference's internal item after inserting reference
This fails before the reference has been inserted, because
it's not yet in keyedNodes at that point.

Bug: 63031
Change-Id: I34ea1a88c0f332c23e43597d1c42158bfb0f1e98
2014-03-24 15:05:26 -07:00
Trevor Parscal be199c0bf2 Ultra-mega-hyper-citation editing on crack
Objectives:
* Allow users on-wiki to create tools and dialogs for citation templates
of their choosing
* Allow editing of citation templates directly, without having to go
through the reference dialog
* Provide citation template tools within reference editing that use the
same titles and icons as the citation tools do, but don't wrap the
inserted content in a ref tag

Changes:

* Reference list was cloning the DOM element it was inserting into its
view before the generated content node could finish rendering, so it
never ended up showing the finished rendering in the reference list
* Documenting hack about use of reference list node's destroy method,
and how we are depending on destroy not canceling generated content
rendering
* Introduced reference model
* Added saving/updating method to transclusion model
* Added getPartsList method to dm transclusion node, which caches the
result and invalidates the cache on update
* Added citation dialog, which extends transclusion dialog
* Added cite group to toolbars, cite-template in reference dialog toolbar
* Factored out getting the node to edit and saving changes procedures in
transclusion dialog so they could be extended in citation dialog
* Updated uses of autoAdd as per changes in oojs-ui (Ic353f91)
* Renamed MWDialogTool file since there was only one tool in it
* Expanded TransclusionDialogTool file out since there is now more logic
to it
* Switched to using ve.dm.MWReferenceModel instead of plain objects in
reference search widget

Configuration:

If you add to MediaWiki:Visualeditor-cite-tool-definition.json the
following code you will magically be presented with a delightful array
of citation options:

[
    { "name": "web", "icon": "ref-cite-web", "template": "Cite web" },
    { "name": "book", "icon": "ref-cite-book", "template": "Cite book" },
    { "name": "news", "icon": "ref-cite-news", "template": "Cite news" },
    { "name": "journal", "icon": "ref-cite-journal", "template": "Cite journal" }
]

...or...

[
    {
         "name": "any-name",
         "icon": "any-ooui-icon",
         "template": "Any template",
         "title": "Any title text"
     }
]

The title text is derived either from the title property or from the name
property by pre-pending the string 'visualeditor-cite-tool-name-' to
generate a message key. Titles for 'web', 'book', 'news' and 'journal' are
provided. The icon is a normal oo-ui-icon name, and more icons can be
added, as usual, by adding a class called .oo-ui-icon-{icon name} to
MediaWiki:Common.css. 'ref-cite-web', 'ref-cite-book', 'ref-cite-news'
and 'ref-cite-journal' are provided. The template name is simply the name
of the template without its namespace prefix.

Depends on Ic353f91 in oojs-ui

Bug: 50110
Bug: 50768
Change-Id: Id401d973b8d5fe2faec481cc777c17a24fd19dd4
2014-03-24 19:24:38 +00:00