Commit graph

898 commits

Author SHA1 Message Date
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
Ed Sanders e0981a327f Create mwTables with wikitable attribute by default
Change-Id: I094b1823248e16dd3b9a0a10ba13104f14798621
2014-10-29 12:52:24 -07:00
suchetag c6f7f361c2 Introducing isValid() in MWTitileInputWidget
A method isValid() is added to MWTitleInputWidget which would validate the titles given as inputs

Bug: 71249
Change-Id: I7749165652bd3c0bb08ca42289a425fe8e25483d
2014-10-29 11:13:42 -07:00
suchetag 9191465039 Introducing getTitle() in MWTitleInputWidget
A method for getTitle() is added which can return the valid title,
or, it can return null, in case the value isn't a valid title

Bug: 72468
Change-Id: I8a13afc9a66c167fe25010743c0d9e1424133d96
2014-10-29 18:12:04 +00: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
jenkins-bot 78b2a2885c Merge "Pass $overlay to widgets that need it" 2014-10-28 17:30:57 +00:00
jenkins-bot 5eb0baf55d Merge "Sprinke some child selectors around in MWTransclusionDialog.css" 2014-10-28 16:55:27 +00:00
jenkins-bot 1cc342a462 Merge "Put icons back in template parameter search" 2014-10-28 16:48:52 +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 97dcee132d Put icons back in template parameter search
These disappeared when DecoratedOptionWidget was split
out of OptionWidget in I508c1555 in oojs-ui back in July,
and apparently no one noticed.

Make MWParameterResultWidget and MWMoreParameterResultWidget
inherit DecoratedOptionWidget instead of OptionWidget so
the icon config parameter is recognized again.

Change-Id: I08d8a0466c211a29eb62043131725073dece4eb5
2014-10-28 01:32:22 +00:00
Roan Kattouw 33c5b38b64 Remove oo-ui-{ltr,rtl} special-casing for parameter icons
It works both with and without in isolated dialogs,
but styling things this way breaks in non-isolated dialogs.

Change-Id: Ia498b48d8c199f50df326ddeb61d958cbe2c520d
2014-10-27 17:49:42 -07:00
Roan Kattouw d0f273d6db Sprinke some child selectors around in MWTransclusionDialog.css
Indiscriminately styling all .oo-ui-widget elements with a
descendant selector is very evil, use a child selector instead.
The use of a descendant selector broke inline dropdowns.

Change-Id: I25c5007ef1ffab9e59c46c3b11270b8f77610327
2014-10-27 17:38:20 -07: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
jenkins-bot 20b20bc97c Merge "Move autoValue logic from ui.MWParameterPage to dm.MWParameterModel" 2014-10-27 18:15:08 +00:00
Alex Monk 8120dac27b Move autoValue logic from ui.MWParameterPage to dm.MWParameterModel
Also add missing MWParameterModel#getDefaultValue

Bug: 72404
Change-Id: I4bb117d419f3845f44e321f848e95bb246a24e24
2014-10-27 03:31:36 +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
suchetag 0b983d9f82 Add template button remains disabled when entering space as a template
Bug: 71998
Change-Id: I69edcf7ece1ccd02df8fbae20a8149e8a1981a44
2014-10-24 06:54:00 +05:30
jenkins-bot 7c8931f655 Merge "Update initialHash after getting defaultDimensions in image model" 2014-10-23 20:00:20 +00:00
Roan Kattouw 2d3bf973d2 Actually set parameter autoValues as values
The autoValue was displayed in the UI but was never
actually written into the template model, unless you
changed the text input and then undid your change.

Bug: 71157
Change-Id: I08e2ba88c24fdee030104c6fb9baafb558ce8a80
2014-10-22 15:46:20 -07:00
jenkins-bot 5a3c2a9f4c Merge "MWLinkNodeInspector: Provide an open button here too" 2014-10-22 03:04:15 +00:00
jenkins-bot eaa3b222f7 Merge "Open the linkNode inspector when pressing Ctrl+K on a link node" 2014-10-22 03:03:32 +00:00
James D. Forrester 7149cc5279 MWLinkNodeInspector: Provide an open button here too
Also add validation now that we need it for the open button.

Bug: 71904
Change-Id: I50515671bb3ff08da8dc6c247c9959c27957c867
2014-10-21 20:00:27 -07:00
Roan Kattouw 4bc24e795d Open the linkNode inspector when pressing Ctrl+K on a link node
* Introduced MWLinkAction which opens the right link inspector
  based on what is selected.
* Added MWLinkInspectorTool overriding core's 'link' tool that
  executes MWLinkAction
* Removed MWLinkNodeInspectorTool and linkNode command,
  they're unneeded now

Bug: 72150
Change-Id: I03bd6ab1f67f31a6e6cb717cf4298e80e64637b7
2014-10-21 19:47:42 -07:00
jenkins-bot 9d25c2823d Merge "Drop nonexistent &redirect= parameter from API requests" 2014-10-22 01:38:32 +00:00
jenkins-bot d0c794b08d Merge "Disable the reuse citation tool when selection is null" 2014-10-22 01:36:32 +00:00
Roan Kattouw 942440c7df Drop nonexistent &redirect= parameter from API requests
The correct parameter is &redirects=. Which we really don't want
to use anyway, because if Foo->Bar, using &redirects=1 would
cause a search for "Fo" to return "Bar" as a search suggestion
with no explanation why (and "Foo" wouldn't be visible).

This isn't unsurmountable, we could put in handling similar to
how the category widget handles redirects, but what this code
is trying to do by passing this parameter is definitely wrong.

Change-Id: Idd12c03aaef897d7c1dc70b2a7692e7d71980efe
2014-10-21 18:34:27 -07:00
Roan Kattouw ecc4c6e188 Disable the reuse citation tool when selection is null
This was broken when requiresRange was renamed to requiresSelection
and MWUseExistingReferenceDialogTool wasn't updated.

Change-Id: Ia1018520fc253e2f09755d5e85a94a325df80005
2014-10-21 18:33:19 -07:00
jenkins-bot 827d1fe45b Merge "CategoryPopupWidget: Track popup hiding again so sortkey changes are applied" 2014-10-22 00:13:19 +00: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
Alex Monk d7a5f4c1ac CategoryPopupWidget: Track popup hiding again so sortkey changes are applied
OOjs UI killed the 'hide' event that was running this code in the dialog refactor
back in July (Id121fc3a), but left it documented (along with 'show').

Just use the 'toggle' event instead.

Bug: 72168
Change-Id: I172fac81c4cbb89505522011aed57db57ccbc52f
2014-10-21 17:10:42 -07:00
jenkins-bot dee3bc2357 Merge "ve.ui.MWFormatTool: Update heading size CSS for new OOUI version" 2014-10-21 20:30:00 +00:00
James D. Forrester e20b47f84b Update VE core submodule to master (db78bdd)
New changes:
69ecc8e Remove MW-specific mobile hack from core
e556440 doc: Use wildcards for Desktop/Mobile …Context and …Surface for simplicity of extension

Local change:
Bring in MobileContext hack to filter out all tools except links and citations from core where
it didn't belong.

Change-Id: Ica837abd45f0ff02b49a44da617bc1fd8e9872d4
2014-10-20 12:43:39 -07:00
James D. Forrester 4fd4367d6a Update VE core submodule to master (f8a563a)
New changes:
e251898 [BREAKING CHANGE] Allow tools to specify which selection types they support

Local changes:
New requiresSelection api for tools

Change-Id: Idc3f62d60bfb5710f786734c342f71b1c73fd4c0
2014-10-20 12:15:29 -07:00
Bartosz Dziewoński 2c325fa4f2 ve.ui.MWFormatTool: Update heading size CSS for new OOUI version
* Use .oo-ui-tool-title-text selector rather than .oo-ui-tool-title
  to avoid styling accelerator keys.
* Divide all sizes by 0.8, as we no longer need to match the font-size
  rule on .oo-ui-tool-title.
* Add CSS for heading1 (which differs between Vector and core VE)
  and heading2 (because it looks silly if it's missing).

Change-Id: I12226f0a674037f904149cc10893f5c154767bfc
2014-10-19 21:13:21 +02:00
jenkins-bot 6a12cac9a2 Merge "Use relative positioning for category popups, move out of overlay" 2014-10-17 22:57:35 +00:00
Alex Monk d087052ada Only validate required template params after blur
Bug: 72096
Change-Id: Ib699f8d89af02c9109a5711bd2c3ab4ef664d8ea
2014-10-17 17:59:13 +01:00
Roan Kattouw 7157488e20 Use relative positioning for category popups, move out of overlay
Instead of putting these popups in an overlay, put them
in the category widget. This makes scrolling work more
nicely, and makes things easier to deal with in general.

This requires that the popup position itself using
getRelativePosition(), because it's no longer in an
overlay. This also means these popups should now position
themselves correctly no matter where they are.

Change-Id: I09a1e5891a897d634c41d386a2307fe3df2a9157
2014-10-15 22:58:05 -07: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
jenkins-bot 0436c01489 Merge "Correctly place CategoryPopupWidget in RTL" 2014-10-14 23:52:31 +00:00
Moriel Schottlender 64604f8415 Correctly place CategoryPopupWidget in RTL
The previous check for RTL did not properly recognize
when the UI was in RTL, since the element in question has no explicit
'dir' attribute. The test now uses $element.css( 'direction' ) which
is inherited, and produces a correct result.

Change-Id: Ie30c2038428b10709dc30cb8320bdc94d76a5a18
2014-10-14 23:50:50 +00: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 6fc5ea0cab Merge "Style required but currently-invalid parameters on the template dialog" 2014-10-14 18:43:05 +00:00
Ed Sanders 58ecea8d0a Fix icon opacity
As of Ieb27c3fd1 apex uses solid black icons with opacity
set in CSS, so make VE icons consistent.

Change-Id: I4c38c497875686503d46a2376a7842f50bf7f2fd
2014-10-12 18:27:04 +01:00
Alex Monk 8bc150f901 Sort out some odd file permissions
Bug: 71933
Change-Id: I520ee83a9b4d6adec4b430238640cfd58b49aeb4
2014-10-12 03:01:31 +01:00
jenkins-bot 36caeb442c Merge "MWCategoryWidget: Use TextInputWidget#event-enter instead of keypress" 2014-10-10 23:44:37 +00: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
Timo Tijhof 3c50bd617f MWCategoryWidget: Use TextInputWidget#event-enter instead of keypress
The TextInputWidget class inherited by MWCategoryInputWidget,
already has a keypress listener that emits an "enter" event on
the OO.ui.Element object for us to listen to. No need to duplicate
that logic again.

Change-Id: Ia47bc8976f22dfe7e3a6fb6068dc4b6e03a3357b
2014-10-10 22:36:42 +02:00
Alex Monk 0678ad2929 Style required but currently-invalid parameters on the template dialog
Relies on I693a8bc9 and I7e3a2a16

Bug: 70957
Change-Id: Ieaf4c194fbcd05b81368b086136274084470d3c7
2014-10-09 16:50:50 -07: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
suchetag 0bb6d3b333 Getting rid of ve.splitClusters in ve-mw
Bug: 57628
Change-Id: I28cb52bd2af564f208b9414154977c351f5c3fcb
2014-10-08 08:09:19 +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
Roan Kattouw ff587f4f61 Account for categories being removed twice in MWCategoryWidget
Now that we use staging in the meta dialog, the following
sequence is possible:
* Add Category:Foo in UI (adds to DM and adds a widget)
* Remove Category:Foo in UI (removes from DM, removes widget)
* Click Cancel to leave meta dialog
** popStaging()
*** Undo removal of Foo (adds to DM, does not add a widget)
*** Undo addition of Foo (removes from DM, tries to remove nonexistent widget)

Add a check so trying to remove an already-removed widget
doesn't cause a JS error.

Bug: 71471
Change-Id: I34690364ce302b858e2a4429dbb97b57d39aae5f
2014-09-30 11:11:09 -07:00
jenkins-bot 64b2568465 Merge "Use mw.Title#getRelativeText to deal with titles relative to specific namespaces" 2014-09-26 02:50:43 +00:00
Alex Monk ef1cebd111 Use mw.Title#getRelativeText to deal with titles relative to specific namespaces
Added in MW core in Ie554adef, was backported to 1.24.

Change-Id: Iedc0319042529d41d29846d1734b5481850e9552
2014-09-26 02:47:18 +00:00
Alex Monk 89f8334d58 Really fix CategoryWidget checks for redirects to hidden categories this time
Previous commit dealt with only part of a related problem.

Change-Id: Iffe319d5b6d1a5ea91acca26a9613e07bea0d8fe
2014-09-24 23:18:44 +01:00
Alex Monk ea9ce0f5b0 Unbreak category widget check for hidden pages
Fixes Icb62b9b2. I have no idea how I managed to screw this up.
Was also causing an error in console when one of the categories was a redirect

Change-Id: I0321c8be1386cb010c3babb33e08fae0fcaf75ce
2014-09-24 22:59:53 +01:00
Roan Kattouw 6347274f47 Update VE core submodule to master (6e68242)
New changes:
c06fa64 Account for isValid() becoming async
12e4840 Account for WhitespacePreservingTextInputWidget#getValue being called early

Local changes:
* Make MWLinkTargetInputWidget#isValid asynchronous

Bug: 71237
Bug: 71246
Change-Id: Iab83e743f99973f01a54b23fd5ddf1081f7effd6
2014-09-24 12:18:16 -07:00
Roan Kattouw 8517777b9f Update VE core submodule to master (8d5ec7a)
New changes:
8d5ec7a [BREAKING CHANGE] Rename ve.Document.getNodeFromOffset to getBranchNodeFromOffset

Local changes:
* Update calls for rename of getNodeFromOffset to getBranchNodeFromOffset

Change-Id: Ibc69f5a5deeed5698368bb19b30f14497c579e90
2014-09-24 11:34:14 -07:00
jenkins-bot 02a85676b9 Merge "Use LinkCache instead of an object in MWCategoryWidget to store hidden status (to be shared with the input widget)" 2014-09-24 01:06:38 +00:00
Alex Monk 93e4c59e4f Use LinkCache instead of an object in MWCategoryWidget to store hidden status (to be shared with the input widget)
Change-Id: Icb62b9b27ea1d61097d059fa268cc4834d46fc9f
2014-09-23 23:56:27 +01:00
Bartosz Dziewoński 5849e7b8f8 ve.ui.MWLiveExtensionInspector: Fix comment typo
Change-Id: I6e35a5006364ba44de2804e6cd6cd79d6b73c0c3
2014-09-23 23:54:33 +02:00
Moriel Schottlender f4dc6fd240 Add 'autovalue' to TemplateData
Allow for an auto-value for parameters in TemplateData, and make sure
this autovalue is inserted as text when parameter is loaded. This is
mostly useful for referencing date or other dynamic templates inside
parameters.

Bug: 52029
Change-Id: I6203530798ffaa62cb26190c70f7ce391bddf123
2014-09-20 00:52:23 +00: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 d59053575e Merge "Refactor a bunch of CategoryInputWidget code, tear out dead/broken redirect handling that should be rewritten" 2014-09-17 02:13:22 +00:00
jenkins-bot bdbc75473b Merge "Validate size widget when activating/deactivating apply button" 2014-09-16 23:54:26 +00:00
jenkins-bot 0f4e85ce11 Merge "Template dialog: Show up to the limit of parameters, not up to the limit + 1" 2014-09-16 23:44:55 +00:00
jenkins-bot d2bcc9dc05 Merge "Show pending state on action button and keep dialog open when switching to source mode" 2014-09-16 23:44:22 +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
jenkins-bot 6ec7789be6 Merge "Add contextual help to all remaining meta dialog controls" 2014-09-16 01:31:12 +00:00
James D. Forrester 712ea472d3 Add contextual help to all remaining meta dialog controls
Bug: 51798
Change-Id: I3f8141485c89e585595dbb853d32e69cbcaebac6
2014-09-15 16:26:12 -07:00
Alex Monk ceafcd5937 Check whether there is a range selected when enabling/disabling re-use citation tool
If there is no range selected, disable regardless of whether there are references in the document or not.

Bug: 70870
Change-Id: I2c281fefe7915345fafb735b3788166ab8118049
2014-09-16 00:18:23 +01: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 8cde565899 Template dialog: Show up to the limit of parameters, not up to the limit + 1
Bug: 70609
Change-Id: I26dc9c17fe7572d7b864000781fff6583edf9f9b
2014-09-15 12:13:47 -07: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
Alex Monk 72a118fc82 Disable re-use citation tool if there are no references in the document
Bug: 70640
Change-Id: I727857281644dffd23605d7792a3f71ee7c5b751
2014-09-11 00:13:10 +01:00
Alex Monk e6c4315d93 Refactor a bunch of CategoryInputWidget code, tear out dead/broken redirect handling that should be rewritten
Category redirect stuff is currently broken because of I5c536697, but no one seems to have noticed.
Fix bug 69886 while we're here

Bug: 69886
Change-Id: I62cf23d0e86bc43d739bb4c4610a5a852146fa3f
2014-09-10 23:21:12 +01:00
jenkins-bot d4f1f6ca7a Merge "Update LinkCache in MWTitleInputWidget" 2014-09-10 19:09:05 +00:00
Alex Monk 674f64dbaf Properly mark reference search index as empty when setting internal list
If it didn't get marked otherwise

Caused by I56909801

Bug: 70611
Change-Id: I81bca8f471c6685e48a7d3768f473a6faf5d8459
2014-09-10 00:13:42 +01:00
Alex Monk 056ef20a96 Update LinkCache in MWTitleInputWidget
Bug: 69886
Change-Id: If7439ea6f60533f8c3166ba4a24656ead0acc6cd
2014-09-09 23:08:14 +01:00
James D. Forrester a8180fe3c7 Provide contextual help for the page settings dialog's controls
Bug: 51798
Change-Id: Ief3c52e504a08d255a8778af6e24785d35154898
2014-09-08 19:22:44 +01:00
Bartosz Dziewoński 8e84d75383 Make it possible to create autonumbered external links from link inspector
Inserting a new external link from the link inspector when nothing is
selected (collapsed selection) will now produce an autonumbered external
link ('link/mwNumberedExternal' node, corresponding to wikitext
"[http://example.com]"). It used to produce annotated link text
('link/mwExternal' annotation, corresponding to wikitext
"[http://example.com http://example.com]" or "http://example.com").

Depends on two commits in VisualEditor/VisualEditor:
* Icc2e368a to insert unannotated content from the inspector.
* I40cd4d5a to insert non-text content from the inspector.

Bug: 51309
Change-Id: Ie4a633ed42907551337a62d96d0abd59e208d49d
2014-09-05 16:48:55 -07:00
jenkins-bot 5f71ecc80f Merge "Abort promises before sending new ones in MediaSearchWidget" 2014-09-05 22:56:18 +00:00
Moriel Schottlender 2e03a8276e Abort promises before sending new ones in MediaSearchWidget
Before sending new searches to the API, abort the previous ones if
they were not resolved. This will assure that the result presented
on the screen is valid to the latest search that was done even if
the user types quickly and sends many async requests simultaneously.

Bug: 67438
Change-Id: If88123019bfa972520e9db7c627a7f4cd8fc2526
2014-09-05 18:51:30 -04: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 ae4511a02b Hide "no results" messaage in media search widget
After resolving the search queries to the API, make sure to display
or hide (!) the "no results" message.

Bug: 67438
Change-Id: I518fbf5ae18bb2265710600516d556c60e2b4924
2014-09-04 19:03:03 -04:00
jenkins-bot 4be972799f Merge "Rename $label to $labelElement in MWParameterPage to avoid naming conflict" 2014-09-04 21:07:41 +00: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
Alex Monk 160d99d9f4 Rename $label to $labelElement in MWParameterPage to avoid naming conflict
Causing the label of each parameter to be missing ($label actually gets sent to the outline item
widget, for some reason). Looks like it was caused by I1abecd8a.

Bug: 70406
Change-Id: I598ffe5066d0ae8267324d4125d05514449064d5
2014-09-04 22:02:28 +01:00
James D. Forrester f2e22babaa Update VE core submodule to master (1f82a47)
New changes:
5d063a2 Don't use three different coordinate systems in getSelectionRect()
feeb1ae Only focus the paste target if focusedNode has changed
2c1bb97 Update OOjs UI to v0.1.0-pre (4cef83f702)

Local changes:
* Update references to renamed classes
* Update calling patterns element mixins

Change-Id: I330c0e308807597dec31dad8dbf713eb29fdc290
2014-09-03 17:20:09 -07:00
jenkins-bot bfbe8cbbeb Merge "Shrink height of summary box in save dialog from 80px to 4em" 2014-09-02 20:25:00 +00:00
jenkins-bot 567b0e7d53 Merge "Use combo box widget to suggest existing values for reference group" 2014-09-02 20:21:32 +00:00
James D. Forrester 0637104a17 Shrink height of summary box in save dialog from 80px to 4em
Change-Id: Ifd40bb19c7b57bab15c127d2de16940f9a239235
2014-09-01 12:06:22 -07: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 f79d099490 Merge "In LinkTargetInputWidget, put existence status into LinkCache" 2014-08-28 22:17:03 +00:00
Alex Monk 51d2de4547 In LinkTargetInputWidget, put existence status into LinkCache
Bug: 69886
Change-Id: Ib37ba971c006c0bedc94f3ea9f1185461c9617b5
2014-08-28 23:09:13 +01:00
James D. Forrester adb0593c92 Update VE core submodule to master (be42edf)
New changes:
7a2e989 Update OOjs UI to v0.1.0-pre (43f379c884)

Local changes:
Eliminate all references to Agora, now Minerva

Change-Id: I497e122a35090a909b1fbb00d0a9487d97e09da1
2014-08-28 13:51:10 -07: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
jenkins-bot d220e03cf8 Merge "Link target input widget: Make '' an invalid link target" 2014-08-28 00:04:43 +00: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
Alex Monk 5e5cfc19d9 Link target input widget: Make '' an invalid link target
Bug: 70015
Change-Id: Ia984b88009a6373223fb9378b9a10e8313c8b22e
2014-08-27 18:36:08 +01:00
jenkins-bot 323fb9e712 Merge "Remove delete button from required parameters in template dialog" 2014-08-27 10:04:39 +00:00
jenkins-bot 5d482e16af Merge "Make the Resolve conflict button actually appear" 2014-08-27 01:08:44 +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
Derk-Jan Hartman a270fc396d Categories: Don't suggest empty or old categories
The categories table holds all categories that exist OR have at one
point existed. This means it also contains a lot of vandalism and
other inappropriate names that happily come up in the suggestions.
This is undesirable. This changes the query to only list categories
with at least 1 entry.

Though technically it can be argued that an empty category with an
existing page might 'exist' and should thus be listed, with this
change they won't be. I don't think that is terribly incorrect to
say that such would be a 'new category', but we could also consider
renaming the label in the suggestion list to say:
'Currently unused category' or something similar.

As far as I can tell there is no way to test for page existance OR
generate a list based on allcategories with one API query.

Bug: 70025
Change-Id: I0e195d3ce26e69d4710d6a505b9da7d1b7678d92
2014-08-26 11:25:54 +02: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
Trevor Parscal c446a164b1 Select the correct annotation in MWLinkTargetInputWidget
The solution to this problem was two-fold:
* Initialize the menu selection based on current annotation data
* Don't re-open the LinkTargetInput suggestions menu after choosing

It unfortunately involves assuming that setAnnotation will always synchronously emit 'change' events.

Bug: 65343
Change-Id: Ia92751add5ee59ba581141a31c8433c5e7e521a5
2014-08-22 00:09:53 +00:00
jenkins-bot 30bccf6ce3 Merge "Only build reference search index when it's been changed" 2014-08-21 01:56:06 +00: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
Ed Sanders 03231e5a1c Fix teardown of live extension nodes
* Separate teardown into (insertOrUpdate|remove)Node
* Override insertOrUpdate completely to avoid generating
  extra transactions. Surface#applyStaging creates all the
  transactions we need.
* Override remove to popStaging before calling parent.
* Fix isEmpty check to use getInnerValue (ignoring whitepsace)

Change-Id: I903302af178d6f923de00aff9c58e5330d682813
2014-08-15 17:40:25 +01:00
Bartosz Dziewoński ede9dfcbb1 Rename MWLinkInspector → MWLinkAnnotationInspector to match file name
There is a MWLinkNodeInspector too, renaming the class instead of the
file to avoid name confusion.

Change-Id: Idaa26503ecd9b0fd0903937bb209397672138054
2014-08-13 16:20:15 +00: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
Alex Monk 79d953f6b0 Only build reference search index when it's been changed
Using the same tricks as ve.ce.MWReferenceListNode... Like listening to list
node updates, which will probably catch unrelated changes? I'm not sure about
this.

Bug: 68890
Change-Id: Id9443c9574063933bc8fb35d09ab8b80b69bcd44
2014-08-04 14:05:36 +01: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
palerdot 0e3ccfaf94 MWLinkTargetInputWidget: Add styles for invalid link titles
This color is chosen because it is already present as a warning color in
other mediawiki elements like remove button in Link Inspector. A font
weight of bold is also given to make it more prominent.

Things done for this commit:
* A new CSS file 've.ui.MWLinkTargetInputWidget.css' is added.
* Warning text style is added to the class
  '.ve-ui-mwLinkTargetInputWidget-warning' in this file.
* The CSS file is included in the style resources in the
  file 'VisualEditor.php'.

Tested in latest stable firefox, chrome in Ubuntu 14.04.

Bug: 62761
Change-Id: I89e96e0444f8505123f3c653cf2dd6b74fc83623
2014-07-31 18:45:03 +00:00
jenkins-bot ee56ea0ed9 Merge "Use whitespace preserving text input in extension inspector" 2014-07-31 17:38:37 +00: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
Moriel Schottlender e095b773b9 Use $.when() in MediaSearchWidget
Use $.when() to check if there were results to the search. This
also makes sure that the 'results not found' message only appears
when it actually should.

Bug: 65321
Bug: 67438
Change-Id: I437ef639918ace1041bb8c9f7fdd04a4e83885eb
2014-07-30 18:35:01 -07:00
jenkins-bot e8b49ad0b6 Merge "Unselect currently selected item in re-use citation dialog when reopening" 2014-07-31 00:40:39 +00:00
jenkins-bot d449c42058 Merge "Follow-up I569098: Rebuild reference list when reopening as it can change" 2014-07-31 00:39:39 +00:00
Alex Monk 3532497fa2 Follow-up I569098: Rebuild reference list when reopening as it can change
Filed bug 68890 for fixing the performance regression from this.

Bug: 68869
Change-Id: I0564c7a9c61d33cdc8b61b2e69d01733b06de32f
2014-07-31 00:37:33 +00:00
Ed Sanders daf79d9984 Use whitespace preserving text input in extension inspector
Depends on I019b37dc1 in core.

Change-Id: I4e0424b01b10910ad3e05bd9d41776059e1e9653
2014-07-31 00:01:05 +00:00
Alex Monk 1b873a8ed2 Don't clone internal item node element used for references in re-use citation dialog
It won't be ready at this point

Bug: 67342
Change-Id: Ic1bdc3df8f159cef736b00fbefc6f879a7dcd658
2014-07-31 00:54:06 +01:00
Alex Monk 95d0d2c055 Unselect currently selected item in re-use citation dialog when reopening
Bug: 68582
Change-Id: I81cb6fe901cde5a0e4669c741a0a7c317f1c8ed9
2014-07-30 22:42:36 +01:00
jenkins-bot fac659d46c Merge "Reduce bottom margin of reference names" 2014-07-30 19:14:41 +00:00
jenkins-bot 2ab168efe7 Merge "MWMediaSearchWidget: Use json/jsonp for local/foreign api respectively" 2014-07-30 17:13:42 +00:00