Commit graph

38 commits

Author SHA1 Message Date
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
Ed Sanders 8ab21d2ef5 Move wikitext signature command to correct file
So that signature availability is checked.

Bug: T157286
Change-Id: If1e585ce02e0bc9f5aa93129d315f83f183f5952
2017-02-07 20:21:32 +00:00
Alex Monk 17ced451f4 MWSaveDialogAction: Don't break on strange accesskey messages
Quietly return instead.

Bug: T153472
Change-Id: I7c325624734f122c9fd939aee1192187c63d9247
2017-01-03 11:37:09 -08:00
jenkins-bot 78a38ae6ea Merge "Register shortcuts for minoredit/watchlist" 2017-01-03 18:54:26 +00:00
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Ed Sanders 7611ee5a2c Register shortcuts for minoredit/watchlist
Bug: T153925
Change-Id: I3f569a75a66e816d0a5c4ad966344100510a4f2b
2016-12-23 13:36:48 +00:00
Ed Sanders 4d134cfefc Add shortcut for show preview and resolve access key conflicts
Refactor save dialog setup so logic for canPreview/canReview
is external and passed in.

'Show preview' will show in the VE command help dialog until
I56c1036e6 is merged in core.

Bug: T149914
Change-Id: Id718ad622be43c03df61d12b8688d53462c59f36
2016-12-16 13:33:57 +00:00
Ed Sanders 9b5adb8688 Remove WikitextWindowAction, inherits from core
Depends-On: I2b14cc93bf3c855e157f0b26567337f74992fb96
Change-Id: I3e479c1441f548f62ff8a2f6e7b2ad450262921f
2016-12-02 11:50:43 -08:00
jenkins-bot 36d976c4c0 Merge "Save Dialog: add shortcut for opening to the review panel" 2016-12-02 00:36:40 +00:00
David Lynch 2bd34cebd4 Save Dialog: add shortcut for opening to the review panel
Create a new MWSaveDialogAction, which can be hooked up to triggers. Switch
the existing save dialog accesskey to just use the trigger system.
(Maintaining all the accesskey logic, so we don't change the shortcut on
people.)

Bug: T149914
Change-Id: I9b4ef8504148703556f802b266a517dd5098c06b
2016-12-01 18:16:18 -06:00
James D. Forrester a835f4f9d5 Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
Change-Id: I082048a677baa2699d94e21548373952d52db61b
2016-12-01 10:43:10 -08:00
Ed Sanders 003c5ac410 Use a blank temp document when selection is empty
shallowCloneFromRange can a broken document if you pass
a collapsed range. That should be fixed upstream but for
now this fixes a major bug (and is faster).

Bug: T150492
Change-Id: I9b539c588d91ef7f22e662c7cae0b3f89b21d33a
2016-11-11 00:08:11 +00: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
Ed Sanders 62bdaac13b Use super property to call parent methods
Change-Id: I76982b844cf2871d7583463def4393e5bdc33aa2
2016-08-23 11:56:47 -07:00
Ed Sanders c452e134cc Wikitext surface alpha feature
Edit wikitext with the VE interace.

Bug: T104479
Bug: T142138
Change-Id: Ic95b47e0dd378578555c4a2342ca9c87064ed1d5
2016-08-12 18:37:29 +00:00
Ed Sanders b7d25d92bc Detect the type of plain pasted links
Using the same logic we used for converting pasted URLs, detect
internal links by matching their base.

Currently link pasting is still disabled in the VE target, but
has been enabled elsewhere (Flow).

Change-Id: Iebd61abbe1fe82fd18d129e1dbc815ca75f44e87
2016-03-17 19:30:13 +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
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
C. Scott Ananian 236fad19b6 Ensure magic link nodes inherit the annotations of their text
If you create an autolink in the middle of bolded text, the magic link
should also be bolded.  Similarly, if you convert a bolded simple link
to a magic link, the magic link should stay bolded.

Change-Id: I38c7f3c0c275851049088a37f3b37d815ed38e4e
2015-11-13 13:48:18 -08:00
jenkins-bot 03d4e08a83 Merge "Allow autolinking ISBN/PMID/RFC inside list items" 2015-09-26 13:38:37 +00:00
C. Scott Ananian 92bfa93e4e Autolink of magic links should create node not annotation
Depends on: I9679cf0fd550c9b156370fc88953414460c801a4

Bug: T112675
Change-Id: I97a1750b3424c09e181976029f10ee161129b166
2015-09-25 14:21:33 -04:00
C. Scott Ananian 07f67bdb22 Allow autolinking ISBN/PMID/RFC inside list items
Depends on I18b73514e5a3d967cce02d9706a11e30ede71d9a in ve core.

Bug: T113535
Change-Id: Ifc749951a6e92e19a7eb27ed631f8ba11d88a5cf
2015-09-25 10:35:18 +01:00
jenkins-bot 8502d3ea05 Merge "Specialized inspector for ISBN magic links" 2015-09-01 18:34:23 +00:00
C. Scott Ananian 7cc23367f6 Specialized inspector for ISBN magic links
Implement a special node type, context item, and inspector for
ISBN/PMID/RFC magic links.  Add buttons to the link inspectors
to convert back and forth between "simple" links, and magic links.

Depends on I5d000d8b63dafdfe0a2753069d3f0ac5b03b8829 in Parsoid
for clean round-tripping of localized ISBN magic links.

Bug: T63558
Change-Id: Id5b7a2ae3c80b0e5eed598f0bd024d3e94f7e9aa
2015-09-01 14:25:59 -04:00
C. Scott Ananian 3ce4ac25f8 Allow trailing punctuation for typed ISBN/PMID/RFC autolinks
Bug: T110690
Change-Id: I7d3b550588a75b08b1a587705f02a86ab7c5806c
2015-08-28 12:41:38 -04:00
C. Scott Ananian ee06f94879 Update VE core submodule to 89f6c2d7
New changes:
89f6c2d Strip trailing quotes when autolinking URLs

Local changes:
* Strip trailing quotes and non-URL characters when auto-linking

  Update ve-mw to match I58a9c7f97ef10d9f495e65da17f208b9fc431aa4 in core,
  since otherwise the ve.ui.LinkAction.test.js case with a quoted link
  will begin to fail.

  Make the set of stripped characters better match the combination of
  EXT_LINK_URL_CLASS in the PHP parser and the explicitly-stripped
  trailing punctuation in Parser.php::makeFreeExternalLink().

  Add some international quotation marks while we're at it to make
  everyone equally happy.

Change-Id: Iaffac4b073aeafa4f1137265c2d95e425c24d553
2015-08-23 14:03:01 -07:00
C. Scott Ananian ceb0e1f867 Autolink typed ISBN/RFC/PMIDs
Depends on Ibdad2fa98fca08eeaa96bf33a08dd7723c1edb8c in Parsoid.

Depends on I3dcd289ed7b565b9162ee671038eeb45449e1215 in ve-core.

Bug: T109498
Change-Id: I5650410d7fca30c90baddd4f0c3f6d80e6b39042
2015-08-23 13:59:22 -07:00
C. Scott Ananian 21b86a2b69 Use ve.dm.MWInternalLinkAnnotation for autolinks where appropriate
Change-Id: I904e797732c98a07654772a4f2432ba3ae5d7050
2015-08-19 16:57:06 -04: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
C. Scott Ananian c197d0b075 Update VE core submodule to master (d020898)
New changes:
985edd2 Localisation updates from https://translatewiki.net.
9883b44 Follow-up 985edd24: Fix build for added language 'shn'
b0d5ee2 Localisation updates from https://translatewiki.net.
18ca837 Localisation updates from https://translatewiki.net.
f6a0945 Don't include trailing punctuation in autolinked typed text

Local changes:
* Add MW-specific trailing punctuation rules for autolinking

Change-Id: Iaa620142222f47e9fde2d03b935f38c24d38800b
2015-08-17 10:01:54 -07:00
James D. Forrester 1d6085b801 Update VE core submodule to master (e61ebf2)
New changes:
61d20a1 Hide on-screen keyboard when selecting nodes on all mobile platforms
e5aff79 Localisation updates from https://translatewiki.net.
a99a897 Update OOjs UI to v0.12.3
3c01a14 Make DM nodes sensibly hashable
a611eb9 Make ve.dm.example.postprocessAnnotations fluent
496c895 Update ve.dm.ElementLinearData#hasContent documentation
fcaa035 Support RegExp sequences; trigger sequence matcher after newline
edda1d4 Add a mechanism to wait until ve.init.platform has been created
e174155 Autolink URLs when typing
ac9248f Allow drag and drop of links (and subsequent autolinking)
c88fad6 Localisation updates from https://translatewiki.net.

Local changes:
* Define `ve.init.platform.getUnanchoredExternalLinkUrlProtocolsRegexp`.
* Make `ve.ui.MWLinkAction` extend `ve.ui.LinkAction`.
* Override `ve.ui.LinkAction.getLinkAnnotation` so auto-links use the proper
  `ve.ui.MWExternalLinkAnnotation` type.

Change-Id: I934f76158512e2e89b614ed92fef6481f70728e7
2015-08-12 14:31:06 -07:00
Moriel Schottlender 7c0b307d8a Allow for citation tools to work under the reference dialog
Set up the surface widget as inside the reference dialog, and let
the citation action notify the template dialog the name of the
dialog it is in. If the tool was executed from within the reference
dialog, skip over creating a reference and instead insert the
citation as a template.

* Depends on ve-core fix I709eeb0de475 *

Bug: T94621
Change-Id: I4871f8c0afe190117cc90e88227b37f292a71e20
2015-04-09 12:18:54 -07:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Ed Sanders 2ee4fc0b36 Always return boolean from an action
Command#execute expects this so it knows if the action was
successful.

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

Bug: 72150
Change-Id: I03bd6ab1f67f31a6e6cb717cf4298e80e64637b7
2014-10-21 19:47:42 -07:00
Trevor Parscal 9556467595 Revert edit mode tool's onSelect method
Turns out surfaces don't have access to targets after all.

Bug: 63503
Change-Id: Ib14291ce4efe4b3dd5579cd270828936b6a175ae
2014-04-04 00:04:29 +00:00
Roan Kattouw 03c5822b6b Update VE core submodule to master (c5f4f78)
Also update tools for changes in VE core.

New changes:
e4de14b Make tools use commands
e029817 Make getToolsForNode place primary commands first

Change-Id: I66575ee6d49e6b2f5a5f789978da98bb55e6dc5e
2014-04-02 16:30:12 -07:00