Commit graph

1848 commits

Author SHA1 Message Date
Ed Sanders a90f8f5ea1 Copy over missing steps from MWLinkAnnotationInspector to Wikitext version
Bug: T171892
Bug: T171895
Change-Id: Id14eed79b9a2395b3b722828e62b05d3d8d44327
2017-07-31 18:44:12 +01:00
Bartosz Dziewoński 49d5bae106 ve.ui.MWEducationPopupTool: Don't show if not inside a BarToolGroup
The popup gets hideously deformed in other cases. Getting it to work
would probably be difficult. Let's just not show it.

Bug: T170919
Change-Id: If9005e9cdea52fefab981f4c7f05f71fce99f3e8
2017-07-19 22:13:34 +02:00
Ed Sanders 835a775a49 build: Upgrade grunt-eslint from 19.0.0 to 20.0.0
Mostly indent and regex fixes.

Change-Id: Iaf9d02363c78cb71deec5c4cab53a05b67f60600
2017-07-18 12:55:33 +01:00
jenkins-bot 1333373c3e Merge "Drop local 'template' icon, use 'puzzle' from upstream" 2017-07-17 15:09:28 +00:00
Bartosz Dziewoński 0e00b2c109 Fix wikitext preview in IE and Edge
In Internet Explorer and Edge, NodeList objects do not have the
'forEach' method. However, Array's 'forEach' can be applied to them,
as we do elsewhere in the code.

https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach

Bug: T170466
Change-Id: Icb19995e140607d45c47fb6ae8d60ac80b664d02
2017-07-14 15:30:27 +02:00
Ed Sanders 0917d27e61 Fix wikitext table insertion
Since Ic8b11d8052 #insertContent puts multiline strings on separate
lines, so to get this to behave correctly, pass in linear data instead.

Bug: T170160
Change-Id: Ie121fce1af46c6834945f4de30bcd9924ee96fd1
2017-07-10 16:16:11 +01:00
James D. Forrester 528942c2e1 Drop local 'template' icon, use 'puzzle' from upstream
Now that our template icon has been upstreamed thereto.

Bug: T111041
Change-Id: If101018de284dcc1be086d92427de0d88adb0e02
2017-07-06 09:52:56 -07:00
Bartosz Dziewoński 4c3c8b3d1e ve.ui.MWWikitextSwitchConfirmDialog: Remove broken "evil hack"
The promise #getTeardownProcess is trying to resolve/reject no longer
exists, causing exceptions. The code has been unnecessary for a while,
as we do all the work in #getActionProcess. (In the case that we do
switch, the teardown code isn't even called, since we navigate away.)

Cancelling the switch to wikitext works correctly after removing this
code.

Bug: T169588
Change-Id: I1b9b12edf12a0b91f06c13aa53024efb80868387
2017-07-04 21:49:15 +02:00
jenkins-bot 16f5bc609e Merge "TextInputWidgets: update for deprecated multiline behavior" 2017-07-03 21:21:20 +00:00
David Lynch cfe1d6c0c9 TextInputWidgets: update for deprecated multiline behavior
Remove config option `multiline` and change to MultilineTextInputWidget as
appropriate.

Bug: T169272
Change-Id: I45565f01de76a88d64d7b0691d1e7279354f375d
2017-07-03 22:09:58 +01:00
Ed Sanders dd54c9c95d Return truthy object when image info not found
A missing image should return some data to say the
image is missing, not just reject the promise.

Bug: T169337
Change-Id: Ib41a64a783c1baca88f428417c98e7fb913d14a1
2017-07-03 18:01:33 +00:00
Ed Sanders 915e818356 Clear all gallery state on teardown
Change-Id: I90662d02bd2d9768bdcf27e532ed8b8792f764c3
2017-07-03 17:48:06 +00:00
jenkins-bot 05bc265198 Merge "Keep TOC in correct place in document" 2017-06-28 12:31:33 +00:00
jenkins-bot be808346c9 Merge "Fix TOC meta item detection" 2017-06-28 12:31:32 +00:00
Ed Sanders 15af26876a GalleryDialog: Re-order and make margins even
Move image inside filename fieldset, and make
margins between fieldsets and button 1em.

Change-Id: I7f6789043f873f9da4e960c94e22a7ee096a352f
2017-06-23 12:16:35 -07:00
Ed Sanders 9eb637e933 GalleryDialog: Downstream fix for DraggableElement padding
Bug: T168745
Change-Id: I95e6f5cd2126878c4f973285fceece1d5a03c4eb
2017-06-23 11:58:37 -07:00
Ed Sanders fd1adfb3b5 Keep TOC in correct place in document
Change-Id: I6ad8cd8cbd7ef902204408673eb096b7405abd24
2017-06-22 15:16:15 -07:00
Ed Sanders 1a0fd81f64 Fix TOC meta item detection
Change-Id: Icce35100bbc0bfb5584a676eec0e1774308d0f68
2017-06-22 15:16:14 -07:00
David Lynch 9ded195f7e MWTransclusionDialog: fix conditions for "show options" button disabling
As I understand it, the button should be enabled whenever there's more than
one option in the sidebar, and disabled otherwise. The previously chosen
conditions weren't perfectly proxying this, and the button would be disabled
whenever editing an already-existing transclusion.

Bug: T167710
Change-Id: Id303b680c072642ae7b66066e28ecc9f1dc90fd7
2017-06-22 17:58:52 +01:00
Ed Sanders 6f72ef82d9 Show simple category list in preview
Bug: T153534
Change-Id: Ie86abdad76a38855d5ad1a394c0bfb3c8dd5a8c6
2017-06-20 23:50:52 +00:00
Ed Sanders 9dd638a5ab Move preview document filtering into MWSaveDialog
Also:
* Make mw-content-DIR nest inside mw-body-content
* Use ve.filterMetaElements

Change-Id: Ic70c7dff0f74b81f92b8bd48e8092549947990ba
Depends-On: I478fe1f39164b9fd7e71987b818b8f668d1a7020
2017-06-20 23:50:44 +00:00
jenkins-bot 14dd536d32 Merge "ve.ui.MWEducationPopupTool: Remove unnecessary manual popup positioning" 2017-06-16 18:32:51 +00:00
Bartosz Dziewoński 433e7b5069 ve.ui.MWEducationPopupTool: Remove unnecessary manual popup positioning
OOjs UI Popups position themselves automatically relative to their
$floatableContainer these days.

Also added explicit `$floatableContainer: this.$element` in the config
(although not strictly needed, since the parent node is used by
default, this makes the code more robust in case we move the popup
somewhere else in the DOM).

Bug: T167751
Change-Id: Id4267fce6499a4c217f7dc1d18871c02dd078aee
2017-06-14 23:19:09 +02:00
Bartosz Dziewoński 39b82f7b00 Revert 032fb292, a97eacd0
Reverting a new weird hack for an issue and bringing back the
old, tried and true hack that was removed in the mistaken belief
that if a bug is marked as fixed, it is really fixed.

* Revert "MWTransclusionDialog: size footer correctly"
  This reverts commit 032fb2924e.
* Revert "Remove dialog height hack tagged against resolved bug"
  This reverts commit a97eacd05b.

Bug: T93290
Bug: T167483
Change-Id: If1cc07837892bb0248c74025d5403f9698e77705
2017-06-14 20:38:38 +02:00
David Lynch 032fb2924e MWTransclusionDialog: size footer correctly
Changing label means a refresh is needed.

Bug: T167483
Change-Id: Ie4b35696bdf21d2a74e786875615d8753a57972d
2017-06-13 11:48:38 -05:00
jenkins-bot 7e892bbc97 Merge "MWParameterPage: Fix missed remove -> trash icon name rename" 2017-06-12 18:55:05 +00:00
James D. Forrester a7d48228dc MWParameterPage: Fix missed remove -> trash icon name rename
Bug: T167598
Change-Id: I1701bd426ea66a40937bcc69183c697a8e39710d
2017-06-12 11:39:50 -07:00
Ed Sanders 4a163020a8 Add filename to gallery dialog page
Also add fieldset headings consistent with media dialog.

Bug: T167049
Change-Id: I8112b70d8e3ba19079fdab0806ad343b233c9c18
2017-06-06 15:48:24 +01:00
jenkins-bot c5bdd39a63 Merge "Update for deprecation of OOjs UI openWindow/closeWindow promise" 2017-06-02 00:32:39 +00:00
Bartosz Dziewoński 4f55d8066e Update for deprecation of OOjs UI openWindow/closeWindow promise
Bug: T166729
Change-Id: I95b85a8c0d488993c11da74e1d856fef6cf0ebb4
2017-06-02 00:21:58 +02:00
jenkins-bot f01577ffa8 Merge "ve.ui.MWTemplateDialog: Use normal #getReadyProcess instead of custom stuff" 2017-06-01 18:08:21 +00:00
jenkins-bot 1a80348e8b Merge "Guard against mwdata.body being null" 2017-06-01 14:52:57 +00:00
Bartosz Dziewoński 834539748c ve.ui.MWTemplateDialog: Use normal #getReadyProcess instead of custom stuff
This fixes the focussing problems from T166150.

As a separate consequence, when loading a template/transclusion
takes a while (it can take several seconds for e.g. a template with
100 parameters), we will now display nothing while the user waits.
Previously we displayed an empty frozen dialog (note that this only
worked the first time for some reason).

Bug: T166150
Change-Id: I414a72ee248517867eef63a75f2d327aa5d5b908
2017-06-01 16:31:05 +02:00
Ed Sanders a5e44034fb Guard against mwdata.body being null
Bug: T166754
Change-Id: I3b887a3a6ee81ca3fd0b242fadc8b833b9031b50
2017-06-01 14:01:23 +01:00
jenkins-bot c9d9361c5b Merge "Update VE core submodule to master (8be817396)" 2017-06-01 01:16:43 +00:00
Ed Sanders c7221988a1 Update VE core submodule to master (8be817396)
New changes:
26085a853 Make author list a ListPopupTool
c4ea53eef Update OOjs to v2.1.0
8c94697f3 Update OOjs UI to v0.22.0
cdebc4817 Follow-up 8c94697f: Actually commit the icon changes I had locally
8be817396 Update OOjs UI to v0.22.1

Local changes for author list popup

Change-Id: I36bcaf122528a4a12882aaff3b33ef936082a391
2017-05-31 17:48:45 -07:00
James D. Forrester 756079d477 Replace uses of the removed 'remove' icon with the 'trash' one
Bug: T166730
Change-Id: I528dcdb390a4488ffac89fc823ff35bc1eda4f24
2017-05-31 16:30:17 -07:00
Ed Sanders a97eacd05b Remove dialog height hack tagged against resolved bug
Bug: T93290
Change-Id: Idbb20a0adf854ba68e10043608764891f3d8514d
2017-05-23 17:48:02 +01:00
David Lynch dfbbe378c3 MWCategoryInputWidget: missing 'new' for cached redirected optionwidgets
Bug: T164820
Change-Id: I8b2ae9112af74910cb6ba5097dcec8be86cc1376
2017-05-19 11:57:17 +02:00
Volker E f695877de7 Rename deprecated Card to current TabPanel
Renaming CardLayout to TabPanelLayout and all connected code instances.
Follow-up to Icfe1652cc038dc131b6b855ce9b45040b8ee5178

Bug: T164903
Change-Id: I9ce4e31e390522d469e126fb3a4b05787cef7fef
2017-05-10 11:46:49 -07:00
David Lynch 2f40972807 MWWikitextDataTransferHandlerFactory: Don't reimplement getText
I forgot about getText in 41ca528705, apparently.

Bug: T163237
Change-Id: Ibb646fc03a0293845c4449cbbe6c822ba63751f8
2017-05-10 10:58:42 -05:00
jenkins-bot 862c3ca22e Merge "MWWikitextDataTransferHandlerFactory: skip getWikitextFragment if possible" 2017-05-10 15:51:16 +00:00
David Lynch 41ca528705 MWWikitextDataTransferHandlerFactory: skip getWikitextFragment if possible
This lets us avoid a fraction of a second lag when someone pastes a plain URL
into source mode.

Bug: T163237
Change-Id: I0e673856dec5f273fb92731b27494762299d2d6c
2017-05-09 10:19:15 -05:00
Ed Sanders debcd678b5 Generate visual diff only after switching to visual diff tab
Bug: T164724
Change-Id: I48e49d4b68cc769b3e9d061983de4c78b5ad5c34
2017-05-09 10:09:39 +00:00
Ed Sanders 485a159037 Allow welcome dialog to be variable height
Bug: T164056
Change-Id: I277a709545151dbd51f92c21d6317a45b1088db2
2017-05-04 13:08:33 +01:00
Ed Sanders 54fc920622 Captcha improvements
* Fix focus and resize/scroll into view after the
  captcha has loaded (so after the image has loaded
  for FancyCaptch).
* Add margin between input and captcha
* Enable enter-to-submit on captch input field.
* Unify code for simple/math/questy and correctly
  render math as HTML (by looking at the mime type)

Change-Id: I10433cefbfea8569674c120dde5b489570e20966
2017-05-02 17:49:12 +01:00
Ed Sanders ede81b493e MWSignatureNode/Tool: Avoid global variables
Change-Id: I0596b33e797830f3718f4edbe34075fdaced0831
2017-04-29 12:37:28 +01:00
jenkins-bot 604dc2d86a Merge "MWMediaTransferHandler: Allow uploading of dropped Blobs" 2017-04-27 19:32:42 +00:00
Ed Sanders 3999fb1eb6 VisualDiff: Check save dialog is still visible when re-rendering diff
Change-Id: I1d740b767d150699863f18ee6dd9eca8a35b2bf1
2017-04-27 18:36:07 +01:00
Ed Sanders 3a9dcf7ec5 MWMediaTransferHandler: Allow uploading of dropped Blobs
Previous the media upload panel didn't support this. This makes Chrome
behave in the same way as Firefox when pasting images into a document.

Bug: T39932
Change-Id: I12f190a48ae9b62d4ad2f33b2a4ee546fdf7b354
2017-04-26 22:33:18 +00:00
jenkins-bot c8f919a880 Merge "MWCategoryWidget: batch requests for category data" 2017-04-25 18:32:52 +00:00
jenkins-bot 83b331e04e Merge "MWTemplatePage: Show a different message if the template doesn't exist" 2017-04-24 20:43:54 +00:00
jenkins-bot 233415cf50 Merge "MWTransclusionModel: Update for change in TemplateData" 2017-04-24 20:43:52 +00:00
James D. Forrester c787df90c5 MWTemplatePage: Show a different message if the template doesn't exist
Bug: T162694
Change-Id: Icad5abb240efd10fadbfdb287acb98afe2361719
2017-04-24 20:30:35 +00:00
James D. Forrester 8fd621ad74 MWTransclusionModel: Update for change in TemplateData
Depends-On: I7905502d0c419a04e4487095214634f1513b461c
Change-Id: I97a1bfc9f9ead082a673a91b9d2053630a90309c
2017-04-24 19:13:59 +00:00
Ed Sanders df3a4fb171 MWSaveDialog: Check diffElement still exists after setTimeout
Bug: T162642
Change-Id: Iec01a8ebbda39d83fd1c2f4dbbef17793d9af1e4
2017-04-24 18:03:35 +00:00
David Lynch f7d0df2449 MWCategoryWidget: batch requests for category data
API query cuts off after 50 results.

Bug: T163406
Change-Id: I6e83843dd1a22334d9ddec7103ddf318fb181112
2017-04-20 16:47:16 -05:00
Ed Sanders c02c529537 Load notices when switching, just don't show them
Previously we completely disabled the loading of notices
when switching, instead of just not showing them (so they
don't clash with the "switched" popup).

Bug: T162812
Change-Id: I3f8e787630e196cee1dbb1aa449b3558b74fcd04
2017-04-20 21:20:10 +01:00
jenkins-bot 06777e20a3 Merge "MWCategoryItemWidget: remove DraggableElement's padding" 2017-04-20 15:23:29 +00:00
David Lynch 1c47d71e7d MWCategoryItemWidget: remove DraggableElement's padding
OOjs UI v0.21.0 changed DraggableElement's padding. Override it here, so it doesn't look broken any more.

Bug: T163404
Change-Id: Ic0bc4f9e3e060cf89e6bc7cb22068d1fe1441d75
2017-04-20 02:05:42 -05:00
Bartosz Dziewoński 4b7d188735 ve.ui.MWCategoryPopupWidget: Fix popup positioning
Figuring out why it broke doesn't seem like a very interesting task,
so let's just throw the whole logic out and use OOjs UI PopupWidget's
new built-in ability to position itself relative to anything.

Bug: T163269
Change-Id: Ie464e4668001f4bc6151b40cef469937aa8c6e48
2017-04-19 22:48:16 +02:00
James D. Forrester 0ca821b321 Follow-up 57a06a6e: .getAttribute might be 'guaranteed', but not from null
Whoops.

Bug: T162939
Change-Id: I5a9315e3cfc8a9e8edfb2ef597daeae09bbf5c5e
2017-04-13 14:38:20 -07:00
David Lynch efc469f2f4 TemplatePlaceholderPage: abort pending template search after adding template
With precise timing, the lookup menu could appear after the add template
button had been pressed and the user had moved on to the next page.

Bug: T162707
Change-Id: I36941dc7288c6031a0fb189c0946aa6d8f8697e8
2017-04-12 11:34:42 -05:00
James D. Forrester 57a06a6e75 dm.metaitems: Turn grouped metas into variadic ones
We're getting rid of meta item grouping, so we need to prepare.

Merged:
* ve.dm.MWIndexMetaItem
  from ve.dm.MWIndexDisableMetaItem and ve.dm.MWIndexForceMetaItem
* ve.dm.MWNewSectionEditMetaItem
  from ve.dm.MWNewSectionEditDisableMetaItem and ve.dm.MWNewSectionEditForceMetaItem
* ve.dm.MWTOCMetaItem
  from ve.dm.MWTOCDisableMetaItem and ve.dm.MWTOCForceMetaItem

These three now inherit from ve.dm.MWFlaggedMetaItem to avoid code duplication.

Change-Id: Ic8a9cdb1226dccac2c27e7f4b965c1590a7387c0
2017-04-11 11:13:18 -07:00
David Lynch cdefd36d1e Internal link context popup: selflinks still get link styling
Bug: T162671
Change-Id: I0ba584b90db73ebade81050f0d782945b8934080
2017-04-11 10:51:05 -07:00
David Lynch d5ac18a466 LinkCache: don't treat a link with a fragment as a selflink
This matches the rendered output for the page.

Bug: T162669
Change-Id: I1ea0ab37a2751c0b4669da8a23adf0ce271facea
2017-04-11 12:19:01 -05:00
Ed Sanders a6b4258f47 ArticleTarget: Refactor savedialog/target interaction
* Pass a wikitext promise, instead of wikitext
* Handle writing of content to the dialog from within
  the dialog.
* Handle diff errors within the dialog.
* Never disable the 'Return to save form' (approve) button
* Remove redundant messages

Change-Id: Ibd76e8951998f751abfb4f407682202c2f73ac7e
2017-04-10 10:29:41 -07:00
Ed Sanders 7a66d4f08a Update VE core submodule to master (1338c50f5)
New changes:
ae0204885 stylelint: Remove no-unsupported-browser-features overrides
d744cd576 Localisation updates from https://translatewiki.net.
1338c50f5 [BREAKING CHANGE] Remove resize handlers from within DiffElement

Local changes:
Trigger diff element resize on dialog resize

Depends-On: I82a67a4309bf76db5407ea38c26c47d14c01e921
Change-Id: I912a99edca25ff576e2872723f91afe54e36a170
2017-04-10 10:29:18 -07:00
jenkins-bot 40265bd807 Merge "stylelint: Drop no-unsupported-browser-features references" 2017-04-10 16:49:15 +00:00
James D. Forrester f51a6d5020 stylelint: Drop no-unsupported-browser-features references
The rule hasn't been applied for a while, as it was deprecated upstream.

Change-Id: I7877d0e3bdcd05a609d61add2dc62d7598e348cb
2017-04-10 08:36:37 -07:00
Ed Sanders 97f6bdd79a Make Target#getVisualDiff async
This will be required later when we have to fetch the original
document from the server before running a visual diff.

Change-Id: I351688f4d1fec892bc297f40c209939cbb2ccf95
2017-04-09 13:26:22 +01:00
jenkins-bot c599a82fe8 Merge "MWSaveDialog: Run links through a render function for preview & visual diff" 2017-04-01 15:22:09 +00:00
James D. Forrester 8463524e18 MWSaveDialog: Run links through a render function for preview & visual diff
Provide a utility funcition in ve.init.mw.LinkCache to do this.

Also use this in ve.ce.MWTransclusionNode/ve.ui.MWPreviewElement, and
introduce to ve.ce.MWExtenionNode

Bug: T73900
Bug: T153535
Change-Id: Ieb9a0274b8c5ae1932c431546f09d18000fa6dd9
2017-03-31 10:51:35 +01:00
Bartosz Dziewoński 285a078b21 Check magic link autolink sequences also after paste
Bug: T161152
Change-Id: Ie308cdb287f805da888325d4c9ba6d3c35bd017c
2017-03-30 23:13:00 -04:00
Ed Sanders 2bc3bd75dd MWTransclusionDialog: Move box-shadows to Apex-only
Use solid borders for MW theme.

Change-Id: I4a5418d006adf0c7d47dc58624868cf6bb4b7de6
2017-03-30 17:03:35 +01:00
David Lynch 1f1be831c0 Add template: don't try to add invalid templates when enter is pressed
Bug: T161715
Change-Id: I12eabe3588fbcbed0fa18b94de7de7239ba490c2
2017-03-29 10:53:17 -05:00
David Lynch 9e86d17260 MediaDialog: flag caption widget as being in a dialog
This means that cmd+enter won't add a newline when it closes the dialog.

Bug: T161555
Change-Id: I738c9acf8cce437ce6bc4c8db29f28d1fff3d2c9
2017-03-28 11:43:59 -05:00
Ed Sanders 4ac660ad48 Defer rendering of visual diff until tab is selected
Bug: T161355
Change-Id: I718a92f4c9f8c3a48e359da898ede7dccebcec5e
2017-03-25 13:23:28 +00:00
jenkins-bot 34fa4dcda6 Merge "Use original title or normalized title when inserting link text" 2017-03-24 22:27:33 +00:00
Ed Sanders 738d3aff47 Use original title or normalized title when inserting link text
Original title will preserve the case of what the user entered
into the inspector. Noramlized title will remove any unwanted
leading colons from file/category links.

Bug: T118408
Bug: T124410
Bug: T160977
Change-Id: I92ffc19eab4eead0d124e84afc1e5a0a3e535867
2017-03-24 22:16:31 +00:00
Ed Sanders c485bd4fce Apply the 'external' link class hack to MWPreviewElement
Change-Id: I3ccea9a72f812e73bdc4d8d34635671dfd493be4
2017-03-24 18:53:08 +00:00
James D. Forrester 555aba7fe8 ve.ui.MWGalleryDialog: Don't die if the dropdown menu doesn't have a value
Bug: T160967
Change-Id: Ic83e204eb5c2d14baadf0e450a27ce836337b983
2017-03-22 13:49:49 -05:00
Bartosz Dziewoński 86f739c994 Remove "prefix": "oo-ui-icon" from ve.ui.Icons.json
This gets overridden by "selectorWithoutVariant" and "selectorWithVariant"
in the module definition anyway.

Change-Id: I51b8e76d542058c008d92ce55c7ec6bb66df70b7
2017-03-21 20:27:04 +01:00
David Lynch e035c1de08 Follow up ec559041: abort notices display early if no notices
This avoids attempting to toggle after a destroy call has been made.

Change-Id: Ia756ff6436ec0590639dbbff216c9999daf684ec
2017-03-16 18:00:22 -05:00
jenkins-bot 0ae808913c Merge "Introduce visual differ in the save dialog" 2017-03-16 21:28:41 +00:00
James D. Forrester ec5590418e Follow-up eb8ba26a: Make MWNoticesTool#setNotices() display its own popup
Running setNotices( [] ) makes MWNoticesTool run this.destroy() to avoid taking
up extra space in the toolbar when not needed.

Also, make setNotices() bail earlier.

Change-Id: I492fd59a1e15e8f296bf7f03d9b0035c40dafa59
2017-03-16 11:29:34 -07:00
David Lynch 318c6718fd MWNoticesPopupTool: When setting notices, clear existing notices
This would keep on duplicating notices when switching modes.

Change-Id: I04720904eddd95c0d3618d284d1930e41a0ae137
2017-03-16 12:13:36 -05:00
Ed Sanders 335b56728a Introduce visual differ in the save dialog
Bug: T143350
Change-Id: I1297d0f4bb87e69be3b50220c1830a22dac1bbae
2017-03-16 15:33:54 +00:00
Bartosz Dziewoński 3d5cedb0ff ve.ui.MWLinkAction: Improve ISBN and RFC/PMID autolinking
These changes allow us to be more aggressive in autolinking ISBNs (no
need anymore to wait for the user to type a space or move their
selection) and more correct in autolinking RFCs and PMIDs (stray
spaces and dashes no longer mess them up).

* ISBN numbers can only be 10 or 13 digits long. We don't need to
  handle arbitrary lengths.
  * If a number does not begin with 978 or 979, it's the ISBN-10 variant
    and we can autolink it as soon as the user types 10 digits.
  * If a number begins with 978 or 979, it can be either.
    * But if we already have 13 digits typed, autolink immediately.
    * Otherwise, use a delayed sequence to see if it ends at 10 digits.
* RFC and PMID numbers can consist only of digits, no optional spaces
  or dashes are allowed. Typing a space or dash will immediately
  autolink the number.

Bug: T117165
Change-Id: I6a085cd78d910661245a351f3ceb3fabe2f093cf
2017-03-15 21:58:26 +00:00
Bartosz Dziewoński 5afd15b2cc ve.ui.MWLinkAction: Use delayed sequence
The trailing space at the end of the regexp is no longer required to
prevent matching (and executing) too soon. We also don't need to know
about trailing punctuation.

However, to prevent the match from ending in the middle of typing, we
have to allow for ' ' and '-' at the end of the match.

Tweaked tests to better match the intent now that a trailing space is
not included, but they pass without changes too, the command is quite
permissive.

Bug: T117165
Depends-On: Ie36046fa43ce49f8a25c99f2de577eb296d68a51
Depends-On: I2af0a738afa43295bf6d7d612cac4349bc6cd20d
Change-Id: I7c28d5c93b1a441387ad05a75846af83d2b21b6a
2017-03-15 21:58:13 +00:00
jenkins-bot 2a9562aca5 Merge "MWAceEditorWidget: Fix position of ace tooltip" 2017-03-15 19:23:38 +00:00
Ed Sanders 6fc47dce64 MWAceEditorWidget: Fix position of ace tooltip
The floating tooltip breaks inside OOUI dialogs. In the absence
of an upstream fix, just anchor it to the bottom of the textbox.

Bug: T160245
Change-Id: I9055c4e4947f5581605bd490f076415c1edaf8ec
2017-03-15 12:02:27 -07:00
jenkins-bot 6e14a1eb8e Merge "MWExtensionWindow: Remove pointless zero argument from ve.debounce call" 2017-03-15 18:24:09 +00:00
Ed Sanders 5086b45f15 MWExtensionWindow: Remove pointless zero argument from ve.debounce call
Change-Id: I58a048af0e6397592e84554024aed3a17c5e5977
2017-03-15 17:57:54 +00:00
Ed Sanders 97a8041bf2 MWMediaInfoFieldWidget: Add extra rules for word-break: break-word
We use three rules elsewhere for better browser support

Change-Id: Ic2ecd12c3f78bc3a2d45a10b5305449e7de82b75
2017-03-15 17:56:53 +00:00
Bartosz Dziewoński 49f603c703 Update <pre> support for Parsoid changes
After 79ccfb9372cb57afa569036ef39ead13abfba673, MediaWiki's `<pre>`
tags get rendered as `<pre typeof="mw:Extension/pre">` in Parsoid HTML.
MediaWiki's indent-pre syntax (block indented by a single space) is
still rendered as `<pre>` in Parsoid HTML, however.

Indent-pre is still handled by MWPreformattedNode (no changes).
Introducing MWPreNode, which will handle `<pre>` extension tags,
and MWPreDialog to change its contents (and allow converting
to MWPreformattedNode).

Pieces copied from MWGalleryNode, MWLinkNodeInspector, CommentInspector.

Possible future improvements:
* Add a specific icon for MWPreContextItem
* Avoid API roundtrips for rendering (but rendering wikitext <pre>
  is not as simple as it looks)
* Consider a way to insert these other than '<pre' sequence

Bug: T159900
Change-Id: I5bc4ea6e5d893736f65ef0dd43b08c18cb1a1e85
2017-03-14 14:08:50 -07:00
jenkins-bot 399d03df5f Merge "Update gallery actions in response to changes" 2017-03-14 19:43:22 +00:00
Thalia 586cb06821 Update gallery actions in response to changes
Bug: T62311
Change-Id: Icf51b92cb9a88471c5f11843473523787c177742
2017-03-14 19:10:34 +00:00
jenkins-bot 369ad5ca26 Merge "ve.ui.MWWikitextStringTransferHandler: Avoid API call for magic links" 2017-03-14 16:08:00 +00:00
Bartosz Dziewoński b109c3405f ve.ui.MWWikitextStringTransferHandler: Avoid API call for magic links
Updated tests to stop assuming that MWWikitextStringTransferHandler
always goes through an API request and Parsoid.

Bug: T117165
Change-Id: I24dffaaf3b4051b1b807ec29ac456d24da2f1fe9
2017-03-13 19:54:19 +01:00