Commit graph

456 commits

Author SHA1 Message Date
Ed Sanders 85f8030053 MWMediaSearchWidget: Fix indentation in var
It is alarming that jscs is not picking this up..

Change-Id: Ibd3b113ebfedede9fa45120c24f00623ec5ea2fb
2016-10-13 23:45:37 +00:00
Thalia 7ec7acf108 Take only the last part of a URL query in media search widget
Quick fix to the problem that searching for the file name or
page title currently returns the image, but searching for the
URL does not.

Bug: T121354
Change-Id: I13e665226e5dc15ba626126dc4806ce8f4e0040b
2016-10-13 21:54:10 +00:00
Ed Sanders 972094788c Fix sanitizing of query value in media search
Always use #getQueryValue which trims whitespace, so we
don't pass whitespace to the API.

Also rename some variables for clarity, and remove some
unused arguments.

Change-Id: I0d27f59488295bc1c398d0fd287e3e16a3f5aaec
2016-10-13 04:03:57 +00:00
Ed Sanders 4d1f8b5928 Pass excludeCurrentPage option to TitleSearchWidget in link inspector
Logically depends on Ieade9d0ff for the actual functionality.

Bug: T147050
Change-Id: I2cc4fc170398c80d7f0103772bc56666685b8baf
2016-09-30 15:41:08 -04:00
Derk-Jan Hartman fbdad82b99 Use slice instead of substring per code conventions
Change-Id: I5de8b485d287db097f2ad63a7edf75f86a86822d
2016-09-26 21:34:37 +02:00
jenkins-bot d9ed33208a Merge "MWAceEditorWidget: Configure Ace with its base path" 2016-09-26 13:50:42 +00:00
Derk-Jan Hartman 148c6b53b4 MWAceEditorWidget: Configure Ace with its base path
Configure the basePath for Ace, so that its own loader knows from where
to lazy-load additional resources. This will enable all known modes and
the worker scripts for linting.

Bug: T124419
Change-Id: Ie71518917ab966743e8397b23ffb050ca47e9ff4
2016-09-26 14:54:42 +02:00
Alex Monk 7888c688b7 Simplify and fix category popup widget checks
Bug: T86357
Change-Id: I9a85267f6da0077e2167a92f25a8dc41074e6548
2016-09-13 04:17:20 +01:00
Ed Sanders 62bdaac13b Use super property to call parent methods
Change-Id: I76982b844cf2871d7583463def4393e5bdc33aa2
2016-08-23 11:56:47 -07:00
jenkins-bot 1fe827197d Merge "Add titles to category input menu's items" 2016-08-08 21:56:43 +00:00
Alex Monk 071291d624 Add titles to category input menu's items
To match where they point to.

Bug: T139189
Change-Id: I46454cc9cd90920dc5e445200598a4706a8639c9
2016-08-08 21:09:36 +01:00
jenkins-bot cf4c2d41b3 Merge "Rewrite TOCWidget based on Linker::generateTOC" 2016-08-05 22:18:22 +00:00
Ed Sanders bb7b38575f Rewrite TOCWidget based on Linker::generateTOC
Use the new node cache to find headings.

Change-Id: I5eb75c5db5ca466fd6f16a57c693c2a4458cff7c
2016-08-05 14:11:15 -07:00
Thalia 7d4864729b Make image list keyboard accessible in gallery dialog
Bug: T140874
Change-Id: I0f00f1ddb397fb8f543a04d62b94fc5db32180f6
2016-08-04 16:34:12 -07:00
David Lynch ef7652fdfc Move internal-link detection into the InternalLinkAnnotationWidget
If internal link detection is in the LinkAnnotationInspector, it falls down
when a valid URL which isn't also a valid page title (e.g. percent-encoded
titles) is pasted into the input. This is fixed by moving the detection to the
input's change handler before any validation can occur.

Bug: T119431
Change-Id: I1eb2040dd918fdcc22c28594b5cbad835cf384a8
2016-07-15 13:51:35 -05:00
jenkins-bot 4837373545 Merge "build: Bump devDependencies to latest and make pass" 2016-06-10 09:36:10 +00:00
James D. Forrester 5ecf40f51e build: Bump devDependencies to latest and make pass
babel-polyfill              6.8.0  →  6.9.1
 grunt-jscs                  2.8.0  →  3.0.0
 grunt-jsonlint              1.0.7  →  1.0.8
 grunt-stylelint             0.3.0  →  0.4.0
 stylelint-config-wikimedia  0.2.0  →  0.2.2

Change-Id: I4db467c7f2bc291a94e7bab86d18e48a44f6054c
2016-06-07 17:17:02 +01:00
Thalia 6fdbe9fd7e Make dialog for editing galleries
Make new graphical interface for editing existing
galleries and adding new galleries.

NB The dialog does not yet support rich text in the
image captions, nor does it provide separate fields for
e.g. link, alt text, etc. These are dependent on parsing
the text within the tag, which is yet to be implemented
by Parsoid. For now, these attributes should be
specified in wikitext in the image-specific caption
field.

Bug: T45037
Change-Id: I2b4082e991268241a15b9bbd6d85c94cdc2185f2
2016-06-07 13:53:02 +01:00
Alex Monk 6b7551112d Use correct case to access ve.ui.MWCategoryItemWidget.prototype.sortKey property
Otherwise we just record undefined as the original sort key and never
allow blank sort keys.

Bug: T92632
Change-Id: I7f37a8a33c54186ec6f0f74e374c591d5428b119
2016-04-25 23:18:09 +01:00
Alex Monk 978224f2ec Use widgets for wiki-page-name, wiki-user-name, wiki-template-name, boolean, URL and line template fields
* Use TitleInputWidget for wiki-page-name and wiki-template-name parameters
* Use UserInputWidget for wiki-user-name parameters
* Use a custom hacky CheckboxInputWidget child class for boolean parameters
* Borrow some ve.ui.MWExternalLinkAnnotationWidget.prototype.createInputWidget code for url parameters
* Use a TextInputWidget with multiline disabled for line parameters

Not dealt with in this commit, so fallback to existing behaviour:
* string
* number
* unknown
* content
* unbalanced-wikitext
* date
* wiki-file-name

Bug: T55613
Bug: T124734
Bug: T124736
Change-Id: If04944d64303d959e8dd605e75a175895932b788
Depends-On: I87699a93ca1b34c6d248456fcc060f584623d158
Depends-On: I5e97604f0fc24176d5e89899bf0505dc442a1a7e
2016-04-06 22:07:19 +01:00
Thalia 003e02efaa MWAceEditorWidget: Update maxRows and minRows if minRows is changed
This was being done correctly in initialize, but not in setMinRows.

Bug: T131009
Change-Id: I57c771720c59ca1d75f0b9bc14e7c834237019d5
2016-03-27 17:42:11 +00:00
Ed Sanders 5d5d5419c6 AceEditorWidget: Use namespaced 'require'
The un-namespaced version will soon be removed to fix RL issues.

Bug: T127643
Change-Id: Iaf4ed23d88cb955b8f8f61725f9effa6180de5bf
2016-03-14 16:56:16 +00:00
Ed Sanders 7f31507e12 Link inspector: make height consistent
Make the DOM order sensible so we don't have to
use SearchWidget's position:absolute hacks.

Bug: T129173
Change-Id: I3517e0e0cfe2ab0eee4bed7390e41710d3140eb0
2016-03-08 10:26:31 +00:00
Ed Sanders 115bf4b3d2 CategoryWidget: Remove reorder event fix after upstream fix
Change-Id: I9088c931433b0824f72b4c77d0fd05cb062068f7
Depends-On: I67945db3652b0edb24b490089b8ea5a43f0b29d0
2016-03-03 15:53:49 +00:00
Ed Sanders 8f028813e5 CategoryWidget: Update to work with new DraggableGroupElement
Change-Id: Iefac99dba0e6b8ed3eaaa1d5f1d92e402e3cf2db
2016-02-25 16:07:50 -08:00
Ed Sanders 704ec7ad3f MWCategoryWidget: Improve caching
For every title request, store an entry in noramlizedTitle to
avoid ever making an API request for that category again.

This prevents API requests from being fired every time a
category was moved, which in turn prevents the list from
flickering as it waits for the API request to resolve.

Also normalise the spelling of normalize to en-US/en-GB-oxendict

Bug: T127317
Change-Id: Ie26d9d60fb83981c45ff27199e38ae98e5560a28
2016-02-18 17:14:33 +00:00
Ed Sanders 7eeb136d94 MWCategoryWidget: Use namespace constants from config
Change-Id: I63661ce49dbb0fac62cb7dbd65c466cfdd6e57b0
2016-02-18 11:36:31 +00:00
James D. Forrester 1e0486a679 Remove all Extension:Cite code, now moved there
Depends-on: I39936ed83d5a60471a0a75da753f498e80aef234
Depends-on: Ifd853bf9f901065798bd0063aeaa786a3761aa71
Depends-on: I32c93c5118eafe5f071252290c58d3de8dacc81a
Change-Id: Iba0f25b3ebe4e5e63377da57afb760d6980f9907
2016-02-05 21:36:56 +00:00
Thalia 16330ac05d Add method for setting minimum number of rows in Ace editor widget
Bug: T123891
Change-Id: Ia2e094071f385628449f1935f0250cbeb75196f0
2016-01-22 17:05:35 +00:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
Ed Sanders 93f0e8b30c Refactor MediaResources(Provider/Queue)
Create a subclass for MediaSearch(Provider/Queue) and make the parent
class a more generic representation of API requests for media.

Change-Id: Iea8b90e829d532d210bfef3c96d6798c64e15eed
2015-12-22 14:00:10 +00:00
Thalia f8fbbdf66d Make Ace Editor adjustSize method chainable
Change-Id: I48307bd9184bb238a553d178c0d66084244e9ebf
2015-12-19 10:57:04 +00:00
Ed Sanders ae26eefb05 Fix typos
Add some common ones to typos.json

Change-Id: I3830be4949ab6a5fd998d6937ed83e9f18091c2b
2015-12-09 16:47:13 +00:00
jenkins-bot 2a46cc7873 Merge "Add autocomplete options to AceEditorWidget config options" 2015-11-25 03:48:38 +00:00
Thalia 3d98b1d291 Add autocomplete options to AceEditorWidget config options
Bug: T119549
Change-Id: I57db44c876c5cb0487bda6a72e36fedaccb532b5
2015-11-24 19:44:41 -08:00
Ed Sanders bbdb48abdf Create MWPreviewElement which adds the mw-body-content class
This fixes some rendering issues, and also increases the font
size of reference contexts from 12.8px (interface) to 14px (content).

Bug: T119430
Change-Id: Ib1bae8cd4cfe86903d78406a33db78e1489fde86
2015-11-23 14:28:57 -08:00
Ed Sanders bbfcbeb79d Use ES5 trim instead of jQuery
Change-Id: I6e8b958176385cb672380454fcc3b4970261caa9
2015-11-20 11:48:55 -08:00
jenkins-bot 8fae033411 Merge "AceEditorWidget: Ensure loadingPromise is set when setupEditor runs" 2015-11-19 16:47:13 +00:00
Ed Sanders dbdae59128 AceEditorWidget: Ensure loadingPromise is set when setupEditor runs
Change-Id: I11d37b863f28bacd4c09992d6fcc180621766577
2015-11-18 23:11:10 -08:00
jenkins-bot 9f1aedbefc Merge "Make selectRange method of AceEditorWidget focus the input" 2015-11-19 03:28:44 +00:00
Thalia 18448bb42b Make selectRange method of AceEditorWidget focus the input
The selectRange method does this in TextInputWidget, so it
should here too.

Change-Id: Ib3851e0c72876d3c25ae5992cf9732637238d117
2015-11-18 19:14:50 -08:00
jenkins-bot 718e06cf1b Merge "Add method to toggle the AceEditorWidget print margin" 2015-11-18 21:46:44 +00:00
Thalia 21fd89ba3c Add method to toggle the AceEditorWidget print margin
Change-Id: I758f90abb92a91491237150f607e7b0f93bf8f85
2015-11-18 13:38:41 -08:00
Thalia 88d466ba23 Make focus method of AceEditorWidget chainable
The focus method of InputWidget and other descendants
of InputWidget is already chainable

Change-Id: Ib75fb7b08769e86c652c63dac069e2573e61f89a
2015-11-18 12:21:44 -08:00
Ed Sanders a5d700807a AceEditorWidget: Implement getRange
Depends on I109a666679 in OOUI.

Change-Id: Ie40a30a3743237c1c1cd59dd2165d313363e04cb
2015-11-18 03:32:54 +00:00
jenkins-bot 370a060ffc Merge "AceEditorWidget: Implement selectRange" 2015-11-17 23:49:46 +00:00
Ed Sanders 5e96050b48 AceEditorWidget: Implement selectRange
This is not trivial because Ace selections are
[column,row] tuples, so we need to translate to
one dimensional offsets.

Change-Id: I901b025b3747d61c74f49038fe4a65ed75758211
2015-11-17 23:39:33 +00:00
Ed Sanders b5c16ac95c Make 'moment' a dependency of just 'mwimage', not all of VE-MW
Change-Id: I23c193bfb34203aa6f2ef1d3633c208e5c692c97
2015-11-17 14:55:10 -08:00
jenkins-bot 3e9d040a79 Merge "AceEditorWidget: Allow users to force an Ace editor refresh" 2015-11-16 22:46:24 +00:00
Ed Sanders 35c44db988 AceEditorWidget: Allow users to force an Ace editor refresh
Ace is clever about not updating the rendering of elements
which aren't visible, so allow users to force an update, for
example if they changed the value while the whole widget
was hidden.

Change-Id: I7bbbffd17489bc80fe5fa80911f29d7223e125a3
2015-11-16 12:12:10 -08:00
Ed Sanders 470a4a551b AceEditorWidget: Refactor to ensure setValue runs synchronously
Also ensure setEditorWidget is only called once when
loadingPromise resolves.

Change-Id: I1a95bda5e9ff17d7575326f29fa01d273193c4a5
2015-11-16 11:36:08 -08:00
Ed Sanders b21b939a67 AceEditorWidget: Emit resize event at end of cycle
Ensures the widget has taken its new size before emitting the event.

Bug: T117926
Change-Id: If1dab2ecadb2a581100c0ae154b341ce8d173a7c
2015-11-13 18:48:35 -08:00
Ed Sanders 6dd7576941 AceEditorWidget: Add method to clear undo stack
After the widget is initialised the caller will probably
want to clear the undo stack, so that the first state
is the initial value provided.

Bonus: Add documentation for the widget.

Change-Id: Ia331acc4177e32784061cae55c450eb0f83fd744
2015-11-03 13:41:09 -08:00
jenkins-bot adb0c427ef Merge "[PULL THROUGH] Remove resize detection now that TextInputWidget implements it" 2015-11-03 01:47:41 +00:00
Ed Sanders e582fae840 [PULL THROUGH] Remove resize detection now that TextInputWidget implements it
This depends on the OOUI release which contains Iaadaf1f9f.

Change-Id: I24d3756d627fc3514d8b476f9af87fdecbaa1e09
2015-11-03 01:13:26 +00:00
Ed Sanders bd22be33db AceEditorWidget: Preserve selection on setValue
Also avoid calling setValue when the value hasn't changed
so as not to pollute the undo stack.

Change-Id: I07fc5db0480a8583b361d472723f863ca90046f7
2015-10-30 16:14:09 +00:00
Ed Sanders def886b845 AceEditorWidget: Make setters chainable and support invalid flag
Change-Id: I78f395459f526164c0c506beec62a0083817e64b
2015-10-27 19:02:17 +00:00
Ed Sanders 35b9c4119a AceEditorWidget: Use mw.loader#getState instead of private moduleRegistry
Change-Id: I845651af837ccc042b6193876e17ba2b571dfe9c
2015-10-26 09:31:37 +00:00
Ed Sanders 21aec73795 AceEditorWidget: Use showLineNumbers instead of showGutter
The gutter is still useful even if line numbers are hidden.

Change-Id: Ia85ce7cd4987eb0b7022dc35cfd1029fbe78e3dc
2015-10-23 00:04:57 +01:00
Ed Sanders 60c1ee7d56 Introduce Ace editor widget
The widget attempts to load the ext.codeEditor.ace.modes module
and if it fails, will fall back to regular TextWidget behaviour.

Bug: T49742
Change-Id: Ie483f6eba25e3732a396c18decc0e1844b806b23
2015-10-21 20:59:08 +01:00
Ed Sanders 4943127cde Link inspector: Show redlink in suggestions
This feature was accidentally dropped when the widget was moved to core.

Change-Id: I302b4b001f1db64b023dae73e36c85e491617e92
2015-10-14 17:24:53 +01:00
jenkins-bot 291065459c Merge "Use ve.setProp to set new pages list in MWTemplateTitleInputWidget#getLookupRequest" 2015-10-04 19:54:45 +00:00
Ed Sanders f814ea719b MWLinkAnnotationInspector: Use TitleSearchWidget instead of TitleInputWidget
Depends on I335bd912d in MediaWiki core.

Bug: T101169
Change-Id: I2932c9df5444d1363af5af9b438bb905ed298148
2015-09-27 14:03:52 +01:00
Thalia b7bdf2d867 Adjust uses of renamed PreviewWidget to PreviewElement
Depends on I516b87f3be in VE core.

Change-Id: I9ad4bab3fff0bf0fb8a79673dbe67be4a9b2c363
2015-09-25 09:37:34 +00:00
Alex Monk 0fb38cc824 Use ve.setProp to set new pages list in MWTemplateTitleInputWidget#getLookupRequest
Bug: T113647
Change-Id: I537a235064cf8e95b0e1cde46f3079e0af082e7c
2015-09-24 22:35:38 +01:00
Alex Monk 821ceb9920 Order template title results by provided index
This only comes back in results from certain modules, so I'm not entirely
sure whether we want to do this in here or mw.widgets.TitleInputWidget.

Bug: T111598
Change-Id: If2916706db359d520c41c2dec7ded44e0d3a56a9
2015-09-10 20:53:35 +01:00
jenkins-bot c010450e08 Merge "Move MWReferenceSourceSelectWidget out to Citoid" 2015-08-26 15:40:19 +00:00
Ed Sanders 48a07e0bdc Use new internal link builder
Bug: T64816
Change-Id: I9ec857eef948028e65eb5e8bf21707f5f5bfd9c0
2015-08-25 16:39:32 +01:00
Alex Monk b0507f692d Move MWReferenceSourceSelectWidget out to Citoid
Merge after Iaca69f17

Bug: T109988
Change-Id: I80c1be419e545aecdc9f7db98133776d4b4cc326
2015-08-24 15:24:17 +01:00
Ed Sanders e59ee87887 Add spacer above basic reference option
Also add classes to basic/reuse so they can be differently styled.

Bug: T108725
Change-Id: I4d128afe86c7fae2d8cbd8a57749970942e39e76
2015-08-23 20:06:35 +01: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 19df1d4c8a build: Enable jscs rule 'requireVarDeclFirst' and make pass
Change-Id: Ia2f765d12bde001c329c2ff4c080a36b71de9803
2015-08-19 11:05:01 -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
Ed Sanders 87daf4773d Fix typos in function names
Change-Id: Id8a9bcd1b4409bc8132ac6007b75274074f5f477
2015-08-18 13:54:51 +01:00
Robert Vogel 7047830bf3 MWMediaResultWidget: Fallback for 'images' without dimensions
When the MWMediaResultWidget receives a file that has no graphical
represenation (width:0 height:0) it uses minWidth of 30px for width of the
thumbnail.

This is, for example, the case with PDF files if the PdfHandler extension is
not active.

This patch solves the issue by falling back to the thumbwidth/thumbheight
values if width/height are 0.

Change-Id: I6bdaf1aafc0c45e26d31cd9dd9504e193f04e717
2015-08-14 19:40:48 +00:00
Alex Monk 5931751771 Trim external link before validating
We already trim it before setting it as the actual annotation href

Bug: T103450
Change-Id: I4c7117d7e1e89c98abbafb999033ab7b5f58bdff
2015-07-25 19:42:33 +01:00
Florian b390a32fda ParameterWidget: Connect to Search results widget 'choose' events
Instead of using the removed 'select' event submission on SearchWidget.

Rename event fired by MWParameterSearchWidget to reflect the new re-
emissioned choose event.

Follow up: I7fa97f208da0b3b185f1b09b87fef9c9afaee2f1

Bug: T106696
Change-Id: I1d954a7243649d7834373537d70bfadf68f52c9d
2015-07-24 20:25:01 +02: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
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
jenkins-bot de8afeb833 Merge "MWInternalLinkAnnotationWidget: Force 'Open' button to use full path" 2015-07-02 22:39:21 +00:00
Ed Sanders 472c98053d Ensure placeholder styling matches document
Bug: T96593
Change-Id: I23bb1393a9a6779b70ed1004496f3ca6ff038e43
2015-06-30 09:47:34 +01:00
Alex Monk d4e2c55cfc Get rid of Category: prefix when looking up categories from the API
Bug: T103777
Change-Id: I27a81d832e3da7a0177d1c69af605c0525415b6b
2015-06-25 20:19:15 +01:00
Ed Sanders 52cb066dc7 Use new MediaWiki core TitleInputWidget
All link input/title input functionality has been moved to core, so
we can replace the link widget, redirect widget and template search
widget with it.

Depends on Ib463e60cad96 in MediaWiki core.

Change-Id: I452f3b86ead403307072cf904f0553c9771f4300
2015-06-24 17:06:00 -07:00
Alex Monk c0de5f2f51 MWInternalLinkAnnotationWidget: Force 'Open' button to use full path
Instead of just assuming we're in /wiki/. That might be OK for VE core
and external links, but not for internal MW links.

Bug: T85619
Change-Id: I53d7fed63a66e3c72d4c8fd66cd1f85fb10a2e55
2015-06-23 22:26:10 +00:00
C. Scott Ananian 85b86fb45d Stop using deprecated aliases for OO.ui.mixin.*
These classes were renamed in OOUI v0.11.4.

Change-Id: Ie932eb3bf5e65866ae4ba3bf2317facb1e740d3b
2015-06-10 20:25:04 +00:00
James D. Forrester df79ed8c4b Update VE core submodule to master (5befc34)
New changes:
3368c4c Remove some assumptions about the state of the context
79918af Move contexts to subfolder
820eaec Tests for some drag/drop functionality
e5f0e3e Convert CE surface tests to use a mock UI surface
c81dbcf Localisation updates from https://translatewiki.net.
7561ff3 Create a mock UI surface that only contains a model for model-only action tests
ad60333 Convert test timings on APIResultsQueue from seconds to milliseconds
b52d7df Table cursoring tests
3f8e821 Localisation updates from https://translatewiki.net.
9c737df Update OOjs UI to v0.11.4
5befc34 Stop using deprecated aliases for OO.ui.mixin.*

Change-Id: Ida6d4ba724686d8189975c55a18c4a6c2cfe4875
2015-06-10 12:44:55 -07:00
Bartosz Dziewoński abbb62fe8e ve.ui.MWTitleInputWidget: Restore 've-ui-mwTitleInputWidget' CSS class
've-ui-mwTitleInputWidget-menu', too. Removed in
b3d2e9013f, but we actually
use these classes in styles and in browser tests.

Bug: T101600
Change-Id: I40dae9c68bbcba2f980c307fe0dfa0956b4eb78a
2015-06-06 13:17:32 +02:00
jenkins-bot 236e02aed6 Merge "Account for MWTitleInputWidget having been moved into MW core" 2015-06-04 23:11:01 +00:00
Ed Sanders e9384ad9ac Update VE core submodule to master (83d45d1)
New changes:
9d162ce Restore the selection to a sensible place when closing FindAndReplace
57229ac Only apply annotations if 'done' is clicked
bfb17ee Always show cancel button on annotation inspectors
91672cf Disable 'done'/'insert' button when input invalid
aef9cbd Only create annotations from text input if it is valid
a384b96 [BREAKING CHANGE] Make getTextFromAnnotation/getAnnotationFromText static
fa09ab7 Scroll table selection into view when it changes

Local changes:
Make getTextFromAnnotation/getAnnotationFromText static

Change-Id: Id3c2a1efb1f327fa6d5b93d57d90bb5bb8ee88f8
2015-06-02 00:47:13 +00:00
Roan Kattouw b3d2e9013f Account for MWTitleInputWidget having been moved into MW core
Depends on I43fb412ff6 in MW core.

Change-Id: Ia189e19f0ccb71adf9f3eeba4d600c2bcb360037
2015-06-01 17:24:52 -07:00
Ed Sanders ff9bf1fcb3 Update VE core submodule to master (2c0224d)
New changes:
68959f2 Localisation updates from https://translatewiki.net.
2c0224d [BREAKING CHANGE] Link widget refactor
f81eefa [BREAKING CHANGE] Rename LinkInspector to LinkAnnotationInspector

Local changes:
Adjust for link inspector refactor

Create separate widgets for internal and external link
annotations. Remove annotation specific logic from link
target input widget.

Change-Id: I054c3fe7ac9c61fbc3302471abd58cab89fed5a4
2015-05-08 09:56:11 +01:00
jenkins-bot f1a6e87bc5 Merge "Don't show placeholder references in lists" 2015-05-06 23:17:28 +00: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 9811bc4fd9 Don't show placeholder references in lists
Allow references to be created as placeholders and exclude
them from ReferenceListNodes and the ReferenceSearchWidget.

Bonus: Fix reference numbering when items are skipped (in
list nodes and search widget).

Change-Id: I8dc5146c21f309e89ff4ddd939f7c65a0c358378
2015-05-06 19:15:20 +01: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 b1e426d805 Merge "Convert 'external' links to internal pages pasted into the search field" 2015-05-05 17:47:43 +00:00
jenkins-bot 7d85bc3ae3 Merge "Highlight matching parts of link suggestions" 2015-05-05 10:12:28 +00:00
suchetag 6983fbe3d0 Highlight matching parts of link suggestions
Bug: T93697
Change-Id: I1778dc204e45e0b124e3a171b9cce171a3138a58
2015-05-05 10:08:26 +00:00
jenkins-bot 1094dc82cc Merge "MWTemplateTitleInputWidget: Add missing local var" 2015-05-05 00:00:45 +00:00
Ed Sanders d921a942b4 MWTemplateTitleInputWidget: Add missing local var
Change-Id: I7faf7610d3d75a4df1fa0f565fb32b08581e44d1
2015-05-04 16:55:02 -07:00
Ed Sanders 563bb66fc6 Make 'Search articles' / 'External links' i18n messages
Change-Id: I85e13821079c1c04c5f183fc63ba9243ce01a12d
2015-05-03 12:54:33 +01:00
Ed Sanders c32cccd90b Make static methods static in linkCache
Also switch out logic duplicated in MWLinkTargetInputWidget with
LinkCache#processpage.

Change-Id: Ie6f3599d4ea5cc9057cf4403f003da00f18cdebe
2015-04-30 17:00:45 +01:00
James D. Forrester 65112a7e10 Show different icons for different result types
* Disambiguation
* Redirect
* Not found
* Page exists

Bug: T93694
Change-Id: Ic4a60c95e37de372e8d0c12878dece67a2662343
2015-04-29 17:51:34 +01:00
Alex Monk 6f17fde4cd Convert 'external' links to internal pages pasted into the search field
Bug: T94334
Change-Id: I0ed67e6579b9ed0a0565968fd253fdf5c6151683
2015-04-29 16:11:32 +01:00
Ed Sanders 702fc724d7 Follow redirects in the link inspector API
Show redirect targets first, then any redirects to it
immediately after.

Change-Id: Ifde579410b4fbf42e0598e4b069963162333da55
2015-04-29 11:53:40 +01:00
Ed Sanders df6a570f82 Only pull description from wikibase
Filters out 'alias' and other terms not being used yet.

Change-Id: I5d155c76b85de1e5d1d5fb234f565fd6f1658766
2015-04-29 11:17:24 +01:00
Ed Sanders 377f6e4eea Separate inputting of internal and external links
* If the user switches to external links, clear the input
* If the user types something with a protocol, automatically switch
  them to external links. If they manually switch back to internal,
  remember that and don't auto switch them again.
* If the user inputs something without a protocol into the external
  link box, prepend 'http://'

Bug: T93699
Bug: T93700
Change-Id: Ia0e3a04f34077e7bd56254112dafd86ad865cbe2
2015-04-29 11:17:24 +01:00
suchetag 00745cda87 Replacing current order of link suggestions
Replace current, sectioned, order of link inspector suggestions
(existing, redirect, disambig) with order from API.

Reduce number of matches to 5, and show new page suggestion last.

Bug: T93698
Change-Id: Ida887d889730d7749041942636d24e181c335697
2015-04-29 11:17:11 +01:00
jenkins-bot d8c0f9e8b3 Merge "Link inspector images and descriptions" 2015-04-27 23:51:38 +00:00
suchetag 3963b1daf2 Link inspector images and descriptions
Fetches images from PageImages extension and descriptions
from Wikibase.

Bug: T93693
Bug: T93694 (partial)
Change-Id: I1bea6b7b57ab951e79468cfa00e9eecddc113d18
2015-04-28 00:23:40 +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
Ed Sanders d7ac742fbe Fix old dates
Change-Id: Ib98878221eb26c6582c304247122fa420bccb029
2015-04-23 16:01:33 +01:00
jenkins-bot 3375b2fcb9 Merge "Rearrange images when the media search window resizes" 2015-04-22 01:14:18 +00: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
jenkins-bot cd0cc27720 Merge "Show template description in the template search" 2015-04-17 09:28:23 +00:00
Moriel Schottlender a669a4fc52 Show template description in the template search
For each template result, ask for the templatedata description. If
that description exists, show it under the template result.

Bug: T53436
Change-Id: If28d1eb082edca6f50c6c15c933a0b7d014eaeaf
2015-04-16 12:30:55 -07:00
Moriel Schottlender 1ab496d65a Use the preview widget in context items
Use the newly created preview widget to render consistent previews
of references in the context items and search widget.

Depends on ve-core fix Ia7e96e048e4b

Bug: T93042
Change-Id: I3a7f6402018924a18efbb49ba61a16787c41f1f4
2015-04-16 01:47:16 +00: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 de4a1d7012 Set default size to category popup widgets
Don't rely on this.$element.width()/height() when showing the
category widget popups - instead use the default sizing. If one
thing goes wrong and the popup is clipped, all subsequent popups will
have a smaller and wrong sizing.

Change-Id: I38ac0ae97dd5d7c38cdcdcfb31f736b19837bd5a
2015-04-02 16:50:25 -07:00
jenkins-bot ef304b3755 Merge "Fix choose event listeners" 2015-03-30 21:41:40 +00:00
Trevor Parscal a3c2ed7d27 Don't position category popups -10px up
Bug: T94114
Change-Id: I05ddbeb42b49dab925fe9b46caf12c6201e68441
2015-03-27 12:14:09 -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 557e0e28ad Remove use of ve.indexOf and ve.getObjectKeys
Change-Id: Icbaa729209605fca8018e4bcbbe29c9ded64e7f2
2015-03-10 17:28:00 +01:00
Bartosz Dziewoński 4c22083d07 ve.ui.MWLinkTargetInputWidget: Fix documentation
This function was not returning a jqXHR for a long time. It's usually
a mw.Api promise, but might be something else.

Change-Id: I59975cc9dfbea70e5ae666fcc9915f10bd199e4d
2015-03-06 11:14:34 +00:00
jenkins-bot 1a40f3c048 Merge "Add a threshold to 'read more' calculation in media dialog info" 2015-03-04 19:15:01 +00: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
Alex Monk 9246fcd2ff MWCategoryWidget: Remove entries from this.categories when appropriate
So for example MWCategoryWidget#getCategories doesn't return stuff that was removed.

Bug: T89923
Change-Id: Id99ea2e3b7c74e186bacbcf796b6df3a131a37b1
2015-02-27 22:05:58 +00:00
Moriel Schottlender f0f8f52080 Refactor MWMediaResultWidget to resize better
For the masonry view, the result widget resizes itself according to
the rows and other images in the row. Up until now the resize was
a bit buggy, occasionally missing height/width values. This is
mostly due to rounding errors, but also due to a small double
calculation that is now fixed with this code.

Change-Id: If18adc5280e4bdbb9174b7c7e6e4eadf3c1ab26d
2015-02-26 16:42:14 -08: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
jenkins-bot bd4289241a Merge "Adjust Queue and Provider to work with generalized parents" 2015-02-24 18:42:40 +00:00
Moriel Schottlender 093cf012ea Adjust Queue and Provider to work with generalized parents
Generalize MWResourceQueue and MWResourceProvider so they are
extending the general classes from ve-core. This also allows for
tests in ve-core on the resource queue system.

* Depends on ve-core change I5346081317e *

Change-Id: If34cd99334f4ccb93015c3646f68ae3040b9c5d7
2015-02-17 17:22:21 -08:00
Moriel Schottlender 07034a7774 Normalize external links from the API
In beta labs some local files displayed their links without http://
make sure they all are normalized to have the prefix.

Change-Id: Ia19de9b31e234138603495f06750d202654a8788
2015-02-17 11:05:48 -08:00
Moriel Schottlender d1ff9e125e Make sure category widget methods call parent class methods
Mouseover and click events in the category widget should also call
their parent method.

Depends on the ooui change Ie576f4422

Change-Id: I73b574b28a5a60e4f046f3008407dbf4b1323b58
2015-02-13 18:29:20 +00:00
jenkins-bot ac9f81cd2c Merge "Refactor MWMediaSearchWidget to use a queue and providers" 2015-02-07 01:15:38 +00: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
Bartosz Dziewoński a3becc245a ve.ui.MWTocWidget: Rename .toggle property
It conflicts with the #toggle method. This happened to work because we
never called .toggle() here, but 8a53b2cd introduced such a call.

Follow-up to 8a53b2cd.

Bug: T88831
Change-Id: I4dd955d015d2bda50e4146b0ae2ddff557dcd346
2015-02-06 22:39:05 +01:00
jenkins-bot d3206394da Merge "Use css class instead of jquery show/hide" 2015-02-06 19:08:01 +00: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
Alex Monk 4082af335b Make category widget items draggable
Depends on I859ff276

Bug: 50809
Change-Id: Idae3e293a6f7c29b70bc27c3db58e014d23b3e47
2015-02-05 16:06:45 -08:00
Roan Kattouw 1e4c3f86c6 Remove useless mixinClass call from MWCategoryItemWidget
The parent (ButtonWidget) already mixes in IndicatorElement.

Change-Id: I49fd72514d9b177eaca2b0295192384bca9e0f97
2015-02-05 13:09:58 -08:00
jenkins-bot 4d53c5d86a Merge "Increase user-input delay in MediaSearchWidget" 2015-02-02 23:47:21 +00:00
jenkins-bot d3bcefffb6 Merge "Do not send search query on whitespace" 2015-02-02 23:46:53 +00: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 7734e7e71f Do not send search query on whitespace
If the user inserts a whitespace to the search input we don't want
the API query to be sent out.

Change-Id: I8cd68a6039ca98e3d78c9f1aa88f4098a1a99edc
2015-02-02 14:20:29 -08:00
Moriel Schottlender 5d8108f229 Increase user-input delay in MediaSearchWidget
Increase the timeOut for the typing delay so we send search API
requests less frequently when the user types a search term.

Bug: T88188
Change-Id: Ibaf7184fb0eb9a02b460b0a66eabade791aea620
2015-02-02 14:01:49 -08:00