Commit graph

519 commits

Author SHA1 Message Date
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Alex Monk c843824c97 Batch gallery imageinfo requests via ImageInfoCache subclass
Also get rid of .join( '|' ) for API request parameters per Bartosz

Bug: T147067
Change-Id: If4444cca300d65e28d6fb9003fcac5e076a5129a
2016-12-06 22:10:19 +00:00
Alex Monk 5bd95db994 Use widget.getApi, not this.getApi
Bug: T152154
Change-Id: Id7e77323ffabf4eeee3e73481cf6bcb9a1e649dc
2016-12-01 22:48:45 +00:00
Ed Sanders 37910b78ec MWTemplateTitleInputWidget: Use new #getApi method from upstream
Depends-On: I81811cdd1a0750a8335432eee8f971ab9e0b8ee7
Change-Id: Ic73213df5ede6f82de85df8b69c60dd31f033792
2016-11-30 19:51:45 +00:00
jenkins-bot 745e919f97 Merge "Update VE core submodule to master (9625e8f)" 2016-11-29 20:46:54 +00:00
jenkins-bot 33db54ef28 Merge "Use upstream media search widget from core" 2016-11-29 20:04:46 +00:00
Ed Sanders aeafa6afca Update VE core submodule to master (9625e8f)
New changes:
f1297b8 [BREAKING CHANGE] Allow target widgets to be re-used

Local changes:
Re-use target widgets

Change-Id: I5decb918f398704d4b6c108a16fbc1cc073ef077
2016-11-29 11:48:15 -08:00
Ed Sanders 2ee9e62a4d Use upstream media search widget from core
Bug: T140166
Depends-On: If53ef7f4b62c7a5d4da565c14dd2a353778694e5
Change-Id: I28845e9c143e78d3a377f067606c62da212e3bf1
2016-11-29 17:19:14 +00:00
Thalia 003ec7b653 Allow the gallery dialog to insert duplicate images initially
Change I94f4fadd84cd3e prevents the gallery dialog from inserting
duplicate images into the gallery dialog after one request (e.g.
so double-clicking on an image in the search widget doesn't cause
the image to be inserted twice). However, galleries can
intentionally contain duplicates of the same image, so it is
possible to make a spearate request to insert a duplicate image.

When the dialog is first opened, it requests all the images in
the gallery at once, so the above change was causing the
duplicates in an existing gallery to be dropped. Duplicates
should be allowed to be inserted following this initial request.

Bug: T150894
Change-Id: I34353bc9b8db947488474c4be52292e0a1447705
2016-11-23 01:02:35 +00:00
James D. Forrester f24e34de3c build: Bump eslint-config-wikimedia to v0.3.0 and make pass
Change-Id: I7449c11aa63c50fda667265c32021439cc53471f
2016-11-15 15:05:05 -08:00
Ed Sanders e655880d14 eslint: Remove unused exception and fix documentation errors
Don't enable valid-jsdoc yet though, due to @chainable bug.

Change-Id: I4d2a6de19c72c6e4c20733446616d8046419d431
2016-10-28 12:02:36 -07:00
James D. Forrester 36befda61c build: Replace jscs and jshint with eslint
It's new, it's fresh, it's amazing, it's here.

Change-Id: I5dc784411f704685ed5cc763a2b2b1c5d3e5a610
2016-10-28 18:33:15 +00:00
Derk-Jan Hartman 406e9f8e9c Enable conditional loading of ACE language modes
require bypasses Ace's internal loadModule() logic which is capable of
on demand loading of Ace modules. Because unloaded modules are not
defined, they cannot be required, and because we don't use RL to preload
all modes (because it's a lot of bytes), currently only very few of the
available language modes were currently available.

Also validate language mode names passed to Ace.

Bug: T148518
Change-Id: I82d278920695be12aa80a79548abf8b8ce5445fd
2016-10-19 02:23:17 +02:00
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
jenkins-bot 73e05df441 Merge "MWLinkTargetInputWidget: Check title is valid in MediaWiki" 2015-01-31 03:13:36 +00:00
jenkins-bot 071b344353 Merge "Change uses of LookupInputWidget to LookupElement" 2015-01-30 00:44:08 +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 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 d7c80d4cf2 Merge "MWMediaDialog: Make the dialog bigger when searching for media to insert" 2015-01-20 19:52:11 +00:00
Alex Monk f0f2912c9d Actually perform interwiki check in MWLinkTargetInputWidget
Fixes my idiocy in I4b08f1c6

Bug: T72504
Change-Id: I1a7f14fc7f7169ac85eacd4e12a56acff1fe32ae
2015-01-19 22:49:38 +00: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
jenkins-bot f82b486e74 Merge "Mark interwiki links as known in LinkTargetInputWidget" 2015-01-16 19:18:47 +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
Alex Monk 1e8929993d MWLinkTargetInputWidget: Check title is valid in MediaWiki
Bug: T86709
Change-Id: Ia399d3e8847d520b5d57baa302de8197fdea0787
2015-01-16 02:46:22 +00:00
Bartosz Dziewoński 6de4ed2f26 Change uses of LookupInputWidget to LookupElement
Also moved around some code from MWCategoryInputWidget to
MWCategoryWidget to be a bit less evilly interdependent.

Change-Id: I0b8a58fb669e232a990b19c4b7f872a320bfab58
2015-01-15 18:26:30 -08:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Ed Sanders 144132bd01 Fix styling of MWCategoryWidget to match MW theme
Having MWCategoryInputWidget inherit from ButonWidget makes things a lot easier.

The mousedown behaviour and the positioning of the popup need work but
that is unrelated to this patch.

Bug: T78039
Change-Id: Ic43e64a6a74b8679a15aa8031207ab722e061ab4
2015-01-08 12:40:15 +00:00
Alex Monk e2fa665333 Mark interwiki links as known in LinkTargetInputWidget
Bit messy at the moment.

Bug: T72504
Change-Id: I4b08f1c6d70f371f7f9a05d0856111721f4edb35
2015-01-06 02:15:02 +00: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
Moriel Schottlender fbb6cd92b4 Fix image alignment in media dialog search
Make the image results align to the full width of the dialog. This
fix uses dynamic values of the width of the container rather than
a hard-coded value so it should work properly on all themes.

Bug: T78050
Change-Id: I05bb0d8a8b13c246840382b12e098d0579180016
2014-12-11 17:15:25 -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
James D. Forrester baffe9d7e1 Update VE core submodule to master (32397d8)
New changes:
5e60f12 Ensure clipboard key is removed from paste target
32397d8 Update OOjs UI to v0.4.0

Local changes to compensate for new OOUI version, and updated wfUseMW call.

Change-Id: I005f7b23a36e04f1305d4aa037c19a5c7db9a699
2014-12-06 12:28:07 -08:00
Bartosz Dziewoński d39dfaa837 MWCategoryInputWidget: Don't explode on invalid titles
canonicalQueryValue can be null at this point, so let's not insert it
into an array that contains strings.

Bug: T76868
Change-Id: I8096a9c1017e883d28124bf807d2d375ae98452a
2014-12-05 21:07:57 +01:00
jenkins-bot cb9a96f845 Merge "Follow normalisation response from category status query" 2014-11-26 02:02:27 +00:00
Alex Monk 378ab667e9 Follow normalisation response from category status query
To do things like strip off invalid invisible characters from the end of names.
(see bug)

Also rename that function because it covers more than just hidden status now

Bug: T74080
Change-Id: I8374695a991c4d3e397992ad9277b99d9288eec4
2014-11-25 23:35:43 +00: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
Ed Sanders 2997cee444 Fix lots of spelling mistakes and typos
Change-Id: Icf78d3d599326d3f12d09edcd2b8491ed35ade04
2014-11-21 13:00:50 +00:00
James D. Forrester 7317114187 Update VE core submodule to master (029fc7e)
New changes:
029fc7e Update OOjs UI to v0.1.0-pre (1fa4eb7a73)

Update changes:
Changes were generated by running this script:
https://gist.github.com/trevorparscal/265f1b8c854190637a1e

File changes:

Scripts (modules/ve-mw/ui/widgets)
- ve.ui.MWInternalLinkMenuItemWidget.js → ve.ui.MWInternalLinkMenuOptionWidget.js
- ve.ui.MWLinkMenuItemWidget.js → ve.ui.MWLinkMenuOptionWidget.js

File content changes:

Scripts (*.js)
- MWInternalLinkMenuItemWidget → MWInternalLinkMenuOptionWidget
- MWLinkMenuItemWidget → MWLinkMenuOptionWidget
- ContextMenuWidget → ContextSelectWidget
- ContextItemWidget → ContextOptionWidget
- TextInputMenuWidget → TextInputMenuSelectWidget
- MenuWidget → MenuSelectWidget
- MenuItemWidget → MenuOptionWidget
- MenuSectionItemWidget → MenuSectionOptionWidget
- OutlineWidget → OutlineSelectWidget
- OutlineItemWidget → OutlineOptionWidget

Styles (*.less)
- contextMenuWidget → contextSelectWidget
- contextItemWidget → contextOptionWidget
- textInputMenuWidget → textInputMenuSelectWidget
- menuWidget → menuSelectWidget
- menuItemWidget → menuOptionWidget
- menuSectionItemWidget → menuSectionOptionWidget
- outlineWidget → outlineSelectWidget
- outlineItemWidget → outlineOptionWidget

Change-Id: Ifded7f9e17923dbb56a722b7424ccd2854194c21
2014-11-19 17:04:26 -08:00
Alex Monk 5462b5b219 Follow redirects in the category input widget
Change-Id: Ie33dc3779cb7f602949d2d1f25ebd7b60e894c97
2014-11-11 00:30:08 +00:00
Alex Monk de73246ee1 Show category items as red if they don't have description pages
Also fix some lies I wrote in related code/docs

Bug: 65517
Change-Id: Iafacee7d8e460913d84808fe38ecc8da4a1817c0
2014-11-08 14:27:27 +00:00
jenkins-bot 27e70a6a21 Merge "Matching pages from suggestions in link dialog now actually work as links" 2014-11-06 21:49:07 +00:00
suchetag cb704dee84 Matching pages from suggestions in link dialog now actually work as links
* A subclass of MenuItemWidget from OOUI, MWLinkMenuItemWidget, is introduced that, when used in MWLinkTargetInputWidget for both
external and internal links, returns actual page links.

* MWInternalLinkMenuItemWidget is extended from MWLinkMenuItemWidget to support the internal links.

* LinkCache is being used in MWInternalLinkMenuItemWidet to stylize the links. Thus, getting rid of some old css classes.

Bug: 51205
Change-Id: I3ac18dabd514ca539fff1db3c67ae97931c3d4fc
2014-11-06 13:46:09 -08:00
Ed Sanders 0efbfa7e21 Use hasOwnProperty instead of 'key in obj'
Change-Id: I48f044c547b48a97cdfb31f7b887dca0ed7e341b
2014-11-05 20:54:50 +00:00
Alex Monk b1e47365d0 Kill MWCategoryWidget#onLookupEnter
This code was somehow broken by Ia47bc897 (wtf, how?)
Actually removing it seems to do no harm (wtf?), as far as I've been able to tell...

Bug: 72906
Change-Id: If7eb34a20cc8060b594a567278241b02a8ee327a
2014-11-04 20:35:55 +00:00
jenkins-bot bb96a9083f Merge "Replacing MWTitleInputWidget.getValue() with MWTitleInputWidget.getTitle()" 2014-11-04 01:18:38 +00:00
suchetag 0165a53044 Replacing MWTitleInputWidget.getValue() with MWTitleInputWidget.getTitle()
Now that we have .getTitle() as a method in MWTitleInputWidget, replacing the callers
of MWTitleInputWidget.getValue() with .getTitle(). This fixes a bug in the .getTitle()
method in MWTitleInputWidget which was not taking the namespaces into account before.

Also fixes: the error when entering "Talk:" as a template title. The button to add template
remains disabled when "Talk:" is given as an input to the title here.

Bug: 71998
Change-Id: I1e629a61ec8b035d93a4b7acfecab81934019166
2014-11-03 17:05:51 -08:00
Roan Kattouw fe2895b145 MWReferenceGroupInputWidget: Remove dummy call to onInputChange()
This was needed to make the ComboBoxWidget initialize
its selection, but Idcbf38c53 makes that happen automatically.

Depends on Idcbf38c53 in oojs-ui.

Bug: 72783
Change-Id: I8d3a014f862ece7f4f201af205a8a7ca6c365eaa
2014-11-03 21:12:17 +00:00
Roan Kattouw a0167c08c7 Clean up LookupInputWidget subclasses and use new functionality
MWCategoryInputWidget:
* Use @inheritdoc
* Don't modify data parameter in getLookupCacheItemFromData()

MWLinkTargetInputWidget:
* Remove this.choosing in favor of setLookupsDisabled()
* Explicitly close menu on choose
* Remove manual emission of change events
** This looks ridiculous, it doesn't seem to be necessary,
   and it causes infinite event loops. But I'm very curious
   why this was added in the first place.
* Remove onLookupInputChange override that is now unnecessary
* Use {} rather than [] for fake empty result
* Prevent programmatic focus from opening the menu

MWTitleInputWidget:
* On choose, close menu and disable lookups while changing value
* Use @inheritdoc
* Remove mentions of "template" from getTitle() documentation

Bug fixed:
* When choosing a suggestion in MWTitleInputWidget,
  new suggestions would be loaded and the menu would reopen

Depends on Iecae9b582 in oojs-ui.

Change-Id: I716f99bb464a5cebd4f17701197f768e4e0e02a9
2014-11-03 10:39:03 -08: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