Commit graph

361 commits

Author SHA1 Message Date
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