Commit graph

974 commits

Author SHA1 Message Date
Ed Sanders dc902b4c93 Pass edit token when saving/diffing in new wikitext editor
Change-Id: Ia14a4d204e367a3d0d46165a51b0cdc6fc3d57e7
2016-10-26 17:39:14 -07:00
jenkins-bot 3c443724e2 Merge "Follow-up I64a8ed73: Fix NWE getWikitextFragment" 2016-10-26 23:57:44 +00:00
Alex Monk 53f8aac0d5 Follow-up I64a8ed73: Fix NWE getWikitextFragment
Also fix the rejection Deferred line if things go wrong

Change-Id: I8f060de1972dd0ae79c81162c61efd5956e48955
2016-10-27 00:37:22 +01:00
jenkins-bot 3750081797 Merge "Don't show confirm dialog when switching to NWE" 2016-10-26 21:48:15 +00:00
jenkins-bot 60565711ff Merge "Fix handling of API responses" 2016-10-26 20:42:35 +00:00
jenkins-bot 035987b9be Merge "Create init.isWikitextAvailable and add page content check" 2016-10-26 20:42:06 +00:00
jenkins-bot b5317b694f Merge "Fix edit source links for NWE" 2016-10-26 00:25:22 +00:00
Ed Sanders 460df1f25f Don't show confirm dialog when switching to NWE
Bug: T148099
Change-Id: Icd756dc31ef8628795915ea972bb0ded385532ed
2016-10-25 17:20:16 -07:00
Ed Sanders de2f07d523 Fix handling of API responses
NWE can return data in 'visualeditoredit' instead of
'visualeditor'. We may want to change this later.

Also restore removed hack code that popuplates missing
VE API data when requesting wikitext.

Change-Id: I9a782a85444d37a3e21c071db7e175ee9b0b1c4f
2016-10-25 17:20:16 -07:00
jenkins-bot b341e3406a Merge "Fix arguments passed to requestPageData when switching" 2016-10-26 00:04:34 +00:00
Ed Sanders 7b9229f5b8 Fix toolbar transition
The contents of the bar to should appear to move in to place, not
just be revealed.

Change-Id: I01a85e3455462cf70b6c3f25a236ab6cb82c706c
2016-10-25 15:55:41 -07:00
Ed Sanders 702f931ef2 Fix arguments passed to requestPageData when switching
Change-Id: I890d782829fd077096be364c26a41b56ec4a2df3
2016-10-25 15:52:52 -07:00
Ed Sanders e977ca4336 Fix edit source links for NWE
We fixed these to use vesection instead of section.

Change-Id: I0aa6530b6707239c41216421394379301b0878a7
2016-10-25 15:50:14 -07:00
Ed Sanders 751853942f Create init.isWikitextAvailable and add page content check
Bug: T149007
Change-Id: I2e16c6361c32f3c1ebd2ae7c9f41089d56b67b06
2016-10-24 15:36:44 -07:00
jenkins-bot 50e102da0c Merge "Send RB errors through the normal error handling process" 2016-10-20 23:01:02 +00:00
jenkins-bot 0f566448ed Merge "Switch to the wikitext editor if VE fails to load" 2016-10-20 23:01:01 +00:00
Ed Sanders 2dfdd82317 Prevent edit source from acting twice
Bug: T148309
Change-Id: I5ef3f4b7cbc7298e89aa531c174657b1d1bccdf6
2016-10-16 19:06:06 -07:00
jenkins-bot 23eb869d9d Merge "Get rid of ?venotify= from URL post-save" 2016-10-14 23:30:16 +00:00
Alex Monk b5815e9ffd Send RB errors through the normal error handling process
Change-Id: I230ff6d3c9a6a183fb483f5adfd7ccdc025a07af
2016-10-14 11:17:56 -07:00
Alex Monk 39aa3021a7 Switch to the wikitext editor if VE fails to load
Also kill some dead HACK code in DesktopWikitextArticleTarget#switchToWikitextEditor

Bug: T135748
Change-Id: Ie5aaa0f3c3bd20755abaac9b86af015b71eb777b
2016-10-14 18:15:16 +00:00
jenkins-bot 246e2ebb4e Merge "Tidy up DAT load failure handling" 2016-10-14 00:32:30 +00:00
Alex Monk 70bf00e9b0 More NWE-SET integration fixes
Also stop calling $skin->getUser() so much, store the result

Change-Id: Ic91a660bc4b97a82f1d2b0bffb55425564696da1
2016-10-13 22:46:16 +01:00
Alex Monk 49283f7250 Fix typo in DAT.init.js
Change-Id: I75f7de16ea06d62a1bdfa0e04294fef5560fd5c9
2016-10-13 22:22:57 +01:00
Alex Monk 6b87b2671e Fix another case where we need to pass the section
Bug: T144654
Change-Id: I5f91b9329525ceaeb971d02f93c959d908d748f7
2016-10-13 20:28:21 +01:00
Ed Sanders 4040442ad8 Section editing in NWE
Bug: T144654
Change-Id: Ida6e721e0d980b47e3fda6a1f0744cbce1b2235a
2016-10-12 12:55:11 -07:00
Kunal Mehta 6c93a49244 Get rid of ?venotify= from URL post-save
Use history.replaceState if available to get rid of the venotify query
parameter to avoid polluting URLs.

Ideally this would just use a cookie like the core post-edit
notification.

Change-Id: I6ce142012053e2fc18dd44fd0f7b82914acea076
2016-10-12 11:05:12 -07:00
Ed Sanders 4fc2904a87 Follow-up I9547dfd: Only enable VE tabs if VE is available
Otherwise VE is launched on namespaces where it is disabled
(but NWE is enabled).

Bug: T147890
Change-Id: I62f4ff96b991553a4eb0be9efb2e84bc80ca2bb4
2016-10-11 14:19:36 -07:00
Ed Sanders 605f7b625b Hid category links in source edit mode
Change-Id: Ib44e393d3a8d070a4ced002a11cb26f58447e67c
2016-10-07 16:24:23 -04:00
jenkins-bot 7551b0e788 Merge "Use createTextNode in wikitext converter" 2016-10-06 23:20:21 +00:00
Ed Sanders 01ed8e954e Use createTextNode in wikitext converter
Has better browser support. innerText is for getting the
text as rendered.

Bug: T147584
Change-Id: Ie2cf732d537aa4053d5b45d85c2d678a0d338017
2016-10-06 14:50:08 -04:00
Ed Sanders aa7da97f2d Use safer batchPush in converter
Some older browsers may fail with >1024 arguments. This
does not have a noticeable effect on performance.

Change-Id: I8c85f43425997735bbbe08d27374b79502e02ecf
2016-10-06 13:19:00 -04:00
Alex Monk d2dd3689cf Tidy up DAT load failure handling
Get rid of the 504 Gateway Timeout handling while we're here, in preparation
for bug T135748 where that kind of thing will be made normal.

Change-Id: Ia4abb1a68ff7ab7ff365c7348bf4d2ad35c43a27
2016-10-06 00:52:28 +01:00
jenkins-bot c8f3474f3d Merge "Fix styling of categories now they are editable" 2016-10-05 21:33:49 +00:00
jenkins-bot 6604a6a3a9 Merge "Use a proper error message when VE fails to load due to not being able to connect" 2016-10-05 18:29:28 +00:00
jenkins-bot 80596f9f22 Merge "Disable switch-to-VE button in NWE if VE is unavailable, don't hide it" 2016-10-05 18:29:26 +00:00
jenkins-bot eae2305269 Merge "Allow NWE on non-VE namespaces" 2016-10-05 18:22:56 +00:00
Ed Sanders a0dd888485 Use a streamlined 'converter' in wikitext mode
Converting a document we know contains just plain text paragraphs
is slower than it needs to be. The speeds up the conversion of
[[Barack Obama]] from ~2000ms to <100ms.

Change-Id: I2081858d835286b48db0627696a9eb5294317c2e
2016-10-05 16:40:28 +00:00
Alex Monk f860bd0d36 Use a proper error message when VE fails to load due to not being able to connect
Not just 'HTTP 0'

Change-Id: Icd1b5b64ca8ea4af80e3cf32f8502d8fb0d11ae2
2016-10-05 16:39:27 +00:00
Alex Monk aeaa49f9b2 Disable switch-to-VE button in NWE if VE is unavailable, don't hide it
Bug: T146182
Change-Id: I9d5095147288a78e2ba7dbddd3d7e6673c97859f
2016-10-04 18:41:11 +01:00
Alex Monk d15034011f Allow NWE on non-VE namespaces
Bug: T146182
Change-Id: I9547dfd591ad1e68e045b4928765a95895e37737
2016-10-03 22:20:18 +01:00
Ed Sanders 1ce3a81c63 Fix styling of categories now they are editable
Bug: T147084
Change-Id: I8c2acf507c72f6a35aadf595bad0c8c378140a0b
2016-10-02 15:43:17 -04:00
Alex Monk d0abe11aca NWE: Don't show button to switch to VE if it isn't available
Bug: T146182
Change-Id: I4bd039726ebccfd4351ecc68e6d7662752412d1b
2016-09-24 02:43:38 +01:00
Alex Monk 8a80b5bbc3 Split isAvailable from visual-specific checks
Not fully tested

Bug: T146182
Change-Id: I5d7ae6e49991660ecdc2daf46b319947f83a1018
2016-09-20 23:53:53 +01:00
jenkins-bot 089e22ff6c Merge "(attempt to) make NWE work with SET" 2016-09-20 22:45:14 +00:00
jenkins-bot f6b7c64e92 Merge "Open meta dialog to edit categories when user clicks on the category footer" 2016-09-20 00:58:29 +00:00
Alex Monk 0c07caafc7 Open meta dialog to edit categories when user clicks on the category footer
Bug: T145267
Change-Id: Ie88c4d9c6327baffdb83c1affbc0515a68c0fc03
2016-09-19 21:35:45 +01:00
jenkins-bot 376a4520ea Merge "Use correct switch type when opening welcome dialog on NWE" 2016-09-19 18:16:59 +00:00
Roan Kattouw cc8ca8e738 DesktopArticleTarget: Save scroll position before transformPage
transformPage() makes significant changes to the DOM, so measuring the
scroll position synchronously right after that results in a slow forced reflow.
Instead, measure the scroll position before reorganizing half the DOM.

Change-Id: I3baee5c11ca228696ddbfb30789745f5f0faa20a
2016-09-17 00:12:39 -07:00
Alex Monk edf5b60368 (attempt to) make NWE work with SET
Ugh.

Bug: T143578
Change-Id: I71e08508eb0914be9d624202b13a4369df512b80
2016-09-17 03:36:47 +01:00
Alex Monk 926212dbae Use correct switch type when opening welcome dialog on NWE
Bug: T145225
Change-Id: I032652733576d1a9797cc3dbb3dd24ca69cb30e5
2016-09-15 01:30:01 +01:00
jenkins-bot 9721998763 Merge "Provide the new wikitext editor as a beta feature" 2016-09-13 00:56:48 +00:00
James D. Forrester 1d64e3280c Provide the new wikitext editor as a beta feature
Still needs to be de-feature-flagged later.

Bug: T142644
Change-Id: I8e2588909ff95085b5a4d58f4394d9bc805f5598
2016-09-08 00:38:08 +00:00
Ed Sanders d0bb5511a5 Cleanup getDocToSave API and use in source mode
Instead of getting wikitext from the HTML, which is probably
slower and leads to issues with the whitespace stripping hack,
override getDocToSave and get text from the linmod directly.

Bug: T144621
Change-Id: I6b6cf16ee8f3720398ba8f5c85e7715c2e68329f
2016-09-07 12:09:41 -07:00
Ed Sanders 3c25f3aede Switch from NWE to VE using 'Edit' tab
Bug: T143577
Change-Id: I19d942c879c9ccf70e95beb5f8de589eb6363039
2016-09-06 17:23:24 -07:00
jenkins-bot 06ca8ea7ba Merge "Disable veaction=editsource if NWE is disabled" 2016-09-06 15:52:27 +00:00
Ed Sanders 7b3deab5a1 Disable veaction=editsource if NWE is disabled
Bug: T144651
Change-Id: I6a1e42b2da267bc42adeee0c818046eab0b387f8
2016-09-02 17:55:37 -07:00
Ed Sanders edadf530e1 Make VE<->NWE switching progress bars non-cancellable and labelled
Soft dependency on Ifa41578164 in core to support the
non-cancellable flag.

Bug: T143582
Change-Id: I886a8f5ca90737938e4c0fedb2b456d851a12326
2016-09-02 16:47:17 -07:00
jenkins-bot feb756dfb1 Merge "Update tab and history state when switching between NWE & VE" 2016-09-02 20:43:32 +00:00
Ed Sanders e3dcf029ce Update tab and history state when switching between NWE & VE
Bug: T143577
Change-Id: I729c0f4a8131f54f81be2d776bddf3020a21e704
2016-09-02 19:31:35 +00:00
jenkins-bot dcbb8e2e90 Merge "Fix restoration of redirect HTML after exiting without saving" 2016-09-01 16:12:05 +00:00
Alex Monk d907e973fd DesktopWikitextArticleTarget#switchToVisualEditor: Use correct revision ID property
So we ensure we send the actual revision ID, not potentially undefined, to the
method. If we send undefined, it'll give us an etag for revision number 0...
And that will cause issues when we later attempt (in a future editor switch) to
pass an etag for revision 0 along with the correct revision.

Bug: T143920
Change-Id: I0c27956abdd26ae4f5f1b91010a5eab8ee0354ab
2016-09-01 02:45:22 +01:00
jenkins-bot 572e7375d7 Merge "Preserve data when switching from NWE to VE" 2016-08-30 23:33:43 +00:00
James D. Forrester ba4532aa9d Rename EditButtonPublishNotSave to EditSubmitButtonLabelPublish
Depends-On: I4fbe54876095378a476399bf5e336c8df3e91e14
Change-Id: Iface24f77775216a0ab9eb464e7e10624af7719d
2016-08-29 10:46:49 -07:00
jenkins-bot f071b0380d Merge "Vary the 'save' labels to 'publish' for public wikis" 2016-08-25 21:36:41 +00:00
jenkins-bot 3063a9f23e Merge "init: Discard attempts to activate while we're already activating" 2016-08-25 20:12:45 +00:00
Ed Sanders 134b62eb09 Preserve data when switching from NWE to VE
Bug: T143917
Change-Id: I910e731914bd71fdb131dae79d233d4306facc5d
2016-08-25 11:06:40 -07:00
James D. Forrester deef47414a Vary the 'save' labels to 'publish' for public wikis
Bug: T131132
Change-Id: I4a497265661d5ce0f6144988b514509dfa1bddfd
Depends-On: I56634ed223778a0650cf36ac7256151b13c494f1
2016-08-25 09:37:52 -07:00
David Lynch c1a065295f init: Discard attempts to activate while we're already activating
Perhaps in the future we could enhance this so that clicking a different edit
link queues that up for after the current activation finishes / aborts the
current activation cleanly.

Also, error-checking on setting an invalid progress state when loading.

Bug: T143160
Change-Id: I6c78cb19953df6fb564c06bac807e6897b63df19
2016-08-24 19:57:47 -05:00
James D. Forrester b7c7d06968 Show a different label for buttons on create vs. modify
To align with the linked patch in MediaWiki core. Taking advantage of
the opportunity to use core's messages for these, and remove some dead
wood old messages that were never used like "restore" items in mobile.

Bug: T139033
Depends-On: Ie81b5edd275963a965cd44d0fd325cae9ee2f1a6
Change-Id: Ie00e94cc77cb750a7e8d1104366bb3dad65af8a4
2016-08-24 16:01:11 -07:00
David Lynch 11a4e4e6b9 init: port in isUnModifiedLeftClick without any VE core dependencies
Bug: T143467
Change-Id: I4c0ecf80ecfff04472e136801264d50dafe39575
2016-08-22 14:40:34 -05:00
Alex Monk 166588c726 Fix insertion of templates, media, and various other things into wikitext surface
Pretty much fix everything on the insert menu... RB doesn't like it when you
try to specify both title and revision ID, but don't provide an ETag.

Change-Id: Ib25d023309d984ed8848f67b349b23231f27a957
2016-08-17 21:12:00 -07:00
Alex Monk d24fd1e389 Don't show unsaved-changes warning if user has already saved in wikitext dialog
Add an extra surface check - makes sure it's attached.

Change-Id: I1720ba18b5966549fefb839013776ac9dfe0468a
2016-08-17 21:12:00 -07:00
Alex Monk f60730a580 Fix name of mweditmodeve-tool message
Change-Id: Ib48a61b4ea56221808d96efd5cf4a5c13b8aeb0c
2016-08-17 06:21:56 +01: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
David Lynch 87ea771ae6 Centralize some checks for unmodified left clicks
Change-Id: I59cee4da9bbca4c8a29eaf9d52cb00ab6e70b670
Depends-On: I4f164f7cf1d755c3662571b2a1a8371d9fe756f9
2016-08-11 13:33:26 -07:00
Alex Monk 96421b283c Fix restoration of redirect HTML after exiting without saving
This feels like it's getting far more complicated than it should be.

Bug: T140032
Change-Id: Id951400cead61da37b8bdfa05cf8add6c115547d
2016-08-09 22:43:25 +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
Alex Monk 7f39d4e75d Use .textSelection( 'getContents' ) instead of .val() to get the value of #wpTextbox1
To allow gadgets like wikEd to use textSelection to return the latest value.

Bug: T135747
Change-Id: Ie353cf547dea6c100c5f01ab56c9b415be1ffdb8
2016-07-31 21:58:51 +01:00
Roan Kattouw 5483b25657 Reduce mayhem caused by ?oldid=currentRevId
If you viewed a page with an ?oldid= query parameter set to the ID
of the current revision, some parts of VE would believe we were
in oldid mode (because there's an oldid present), but others
wouldn't (because the revid we're editing equals the newest revid).
This caused bugs when opening the editor a second time after saving
(which is normally impossible to do after an oldid-mode edit, because
we navigate to a new page after an oldid save, but we don't do that
in this case).

Ensure that:
* The internal state of DesktopArticleTarget is updated correctly
  after saving in this case
* The ?oldid= parameter is removed from the URL after saving
* DesktopArticleTarget.init doesn't preload the article HTML
  on a second/subsequent editor load: this causes issues because
  it caches the oldid, and generally speaking the Target's internal
  state is not considered

Bug: T141330
Change-Id: I74034328797c59f7249f1f6f4f53a92ee1c26334
2016-07-25 20:04:47 -07:00
David Lynch e9b99d8181 MWSaveDialog: Give checkboxes a class based on their origin's name
Bug: T138631
Change-Id: I2c31becd57c7988c4dd26c09ee01b4f7820c7aaa
2016-07-19 11:21:36 -05:00
Ed Sanders e50aa6fa34 Pass ve.dm.Document to addSurface as documented
Change-Id: Ic4ef3763e20d0f954e21dd651309b0e9eee65fd2
2016-07-18 11:13:54 +01:00
jenkins-bot c3ab6950bc Merge "DAT.init#setEditorPreference: Change section edit alongside tab labels" 2016-07-14 16:26:02 +00:00
Ed Sanders c645295bee Fix vertical positioning of progress bar
Bug: T140029
Change-Id: I5b38d375559449eded559e4443131516b1937b6d
2016-07-12 15:56:50 +01:00
Alex Monk 16c38ec27a DAT.init#setEditorPreference: Change section edit alongside tab labels
When our remember-last preference changes work, alongside changing the
label of the edit tab, also change the label of the edit section links.

I seriously have no idea WTF I was thinking back in December when I
put some of this code into #activatePageTarget.

Bug: T137424
Change-Id: I581c0acf0a3ad11ad3bcf4e2e46242907ca9166f
2016-06-30 10:22:44 +00:00
jenkins-bot dc59190e64 Merge "Set an automatic summary of empty string when switching from VE into WTE" 2016-06-29 16:16:57 +00:00
jenkins-bot 0d45972cb3 Merge "Fix our display of redirects during and after editing" 2016-06-29 16:15:43 +00:00
Alex Monk 984823a77d Replace section edit click handlers in DAT instead of doing it badly in init
If you deactivate without saving (e.g. using the back button), the page
contents aren't replaced and so adding the page click handlers is pointless
and harmful because they will run twice.

This was my fault in Iad1713e1

Bug: T135387
Change-Id: I3c83009bfc0f42125cdcde7f7a51de9bc2f72abf
2016-06-29 03:58:57 +01:00
Tpt 2a2a041933 Allow extensions to register a specific target per content model
Bug: T138489
Change-Id: Ic9d2fa34b90afc58f7e31adf38f97a701aac64f9
2016-06-24 15:38:28 +00:00
Alex Monk 4382e18385 Fix our display of redirects during and after editing
Change-Id: Ib559eb8fb8a2643af25ad8df858212f3e9d14b13
2016-06-15 20:25:59 +01:00
Alex Monk 3bda9a75aa Set an automatic summary of empty string when switching from VE into WTE
So if the user supplies a summary in VE, WTE with the "Prompt me when entering
a blank edit summary" preference won't moan.

Bug: T135979
Change-Id: I0e2d2b6f8fb03bb56d600f1118daf82fb3715b66
2016-06-15 18:37:56 +01:00
Alex Monk 9900d42816 On serialization failure, reset document opacity.
In case we were switching to source.
Normally MWWikitextSwitchConfirmDialog#getActionProcess would do this for us,
but this closeWindow call doesn't trigger that, we can't get it by overriding
MWWikitextSwitchConfirmDialog#close either.

Bug: T134333
Change-Id: I66a12ff6d13601250b9d470e1be54fe38a1ef06c
2016-06-13 23:45:43 +01:00
jenkins-bot 6a6d3b9368 Merge "Fix loading bar opacity" 2016-06-07 14:07:48 +00:00
Ed Sanders 61cb539c7b Fix config of mobile surfaces
Change-Id: I0109a93a41b0387199a0424b60a26a415393bc5d
2016-06-03 10:51:42 +01:00
jenkins-bot 6e6d2bf66b Merge "Move $editableContent computation into overridable method" 2016-06-01 17:40:15 +00:00
Ed Sanders 538959dc49 Move $editableContent computation into overridable method
Change-Id: Ibb0b877a01f8982fb895616c4c0d3e897bf37c85
2016-06-01 09:58:17 -07:00
Ed Sanders 0a0ca68d62 Simplify teardown of toolbar save button
Bug: T136421
Change-Id: I6829ad75b93c6aa6c6db51b5c9cd84915c75cdb8
2016-06-01 17:52:58 +01:00
Ed Sanders b33cd5d8f1 Fix loading bar opacity
* Ensure ve-loading isn't removed early
* Quickly detach then reattach the loading bar during
  activation so it doesn't get moved and marked as original content

Change-Id: I263c9627348953a11966f8bcc435d0d89b0b6084
2016-06-01 14:52:57 +01:00
jenkins-bot d70485244d Merge "Allow extensions to support extra namespaces and content models" 2016-06-01 01:02:51 +00:00
Ed Sanders 796da84576 Allow extensions to support extra namespaces and content models
Change-Id: If67bab93da355da609b6df274514b5c72a6ed91a
2016-06-01 01:55:03 +01:00
jenkins-bot 337109fef1 Merge "Un-blacklist Firefox versions 12,13,14" 2016-05-31 16:55:38 +00:00
Ed Sanders 20fa650a6b Un-blacklist Firefox versions 12,13,14
T52720 (link corruption in FF13/14) appears to be fixed.
T52780 (editor not loading in FF11/12) appears to be fixed.

FF11 has a new issue where templates are normalised even
when not touched (T136607)

Change-Id: I34358e3d90b8186e6b89c04c038ab79c908fc81b
2016-05-31 09:46:50 -07:00
Ed Sanders 4d466f16b5 Add fallback selectors if image page has no existing local content
Change-Id: I1fac3b35b5d498115c96b07c29cf409be72a1389
2016-05-31 16:42:21 +01:00
Ed Sanders d6a770bb4d Remove unused namespace class
Introduced recently but then abandoned.

Change-Id: Ifa999f0e60fe1b6d68c63813025c9fd48b79ad5f
2016-05-28 20:54:24 +01:00
Alex Monk afd5944bde Followup I9280fe4d: Merge main case with default, they are identical
Change-Id: I280f0eba1c99f5e96ffe5466e8398115fbc5f4f8
2016-05-26 18:15:27 +01:00
James D. Forrester 1b9427c5dd Follow-up 1dc933be: Don't fatal when editing non-NS0/6/14 pages
Change-Id: I9280fe4d771cf7ce1ee3874a34d7a14b672b222c
2016-05-26 09:07:07 -07:00
Ed Sanders 1c5c1fc6b9 Append surface & toolbar components in the correct places
Use setSurface and setupToolbar to position the surface and the
toolbar save button in the DOM.

Change-Id: Ide634848f4e78501724c358bcb1fdab8abd491b9
2016-05-26 08:50:21 -07:00
Ed Sanders 1dc933bead Genericise target initialisation across namespaces
Define $editableContent on target construction, and mark
all non-ancestor nodes between that at the target container
as uneditable (50% opacity, no pointer events).

Bug: T58289
Change-Id: I7fe51104bd5aa1bd53ffc604e5f02752c7553578
2016-05-25 12:50:36 +01:00
Alex Monk 8c3dc0887d Don't show tab preference dialog again if it's already been shown
Bug: T135534
Change-Id: Ifecac607acccc0e18e61b07e8456566d4671aa1b
2016-05-20 02:36:25 +01:00
Alex Monk 349b1f5e57 Add WTE welcome dialog
Bug: T133800
Change-Id: I6eb43274e22f647958c3ab1b6d5c12b3dbea388e
2016-05-10 23:28:21 +00:00
Alex Monk 1ba035e053 Fix deactivating VE after user explicitly decideas to discard changes
Bug: T134794
Change-Id: Idf1941793317a6aff9fe57082b85e3ebff0c72b4
2016-05-10 23:39:57 +01:00
Alex Monk 3c55bfbb80 Add a hidden link with accesskey=v in SET prefer-wt mode and remember-last wikitext
Try to tidy up a bit of code in DAT.init.js as well

Bug: T116406
Change-Id: Iad1713e14ea1f982886ba06e0b722c554ab2b892
2016-05-01 21:01:57 +01:00
jenkins-bot 80636c235e Merge "Add a popup after switching into VE from WTE" 2016-04-25 22:42:55 +00:00
Ed Sanders 6efd583ff7 Add method that runs after activation, for overriding
Change-Id: I046583e61f328baddb0c09eaff122e991c85f992
2016-04-22 17:17:56 +01:00
Ed Sanders 7a007e2874 Create MW targets using a factory
Move the existing static property 'name' to 'trackingName'
to make way for a real registry index.

Change-Id: Iab0d5be611ece7038234551c4847b07517b4348d
2016-04-21 21:06:39 +01:00
Ed Sanders 7576810b28 Use Array.prototype.indexOf in support check
The SupportCheck method asserts that the method is available so use it
instead of the confusingly named jQuery version.

Change-Id: I2105384cc4f6f2ec1cdb24a7bf3b0f4cce7672d3
2016-04-21 12:41:13 +01:00
Alex Monk 0bbe2e38ee Add a popup after switching into VE from WTE
Bug: T131066
Change-Id: I2294da7d09dfbacb9187aba5e6e703511cec3c9f
2016-04-20 18:46:00 -07:00
Ed Sanders a6aa6daa28 Defer before restoring scroll position, and allow 0
Bug: T131791
Change-Id: Id48b913effe5313c193ce62b19faf5655278ff6d
2016-04-19 21:42:09 +01:00
jenkins-bot d4f9a85f27 Merge "Set mw.libs.ve.EditingTabDialog.static.message instead of passing it to setup data" 2016-04-17 17:49:28 +00:00
jenkins-bot 227de9cfef Merge "Close VE SET dialog when we deactivate" 2016-04-17 17:43:01 +00:00
jenkins-bot 299027e528 Merge "Don't select edit tab when VE is opened while user has prefer-wt pref" 2016-04-17 17:39:56 +00:00
Alex Monk 4ccc1ad5af Don't select edit tab when VE is opened while user has prefer-wt pref
You can still open VE with prefer-wt mode by going to veaction=edit, and
T116406 proposes making it accessible with a keyboard shortcut as well.

Change-Id: Ifc25b5147a96a200ac3a7de465d5cdf67e2e255b
2016-04-15 02:37:46 +01:00
Ed Sanders 011ff4e133 Replace transitionend event with setTimeout
transitionend events seem like a neater solution, but we should
migrate all of our code at once, and provide a polyfill for
browsers which don't support it (IE9).

Change-Id: If6ae030856f8e69cc8bb26f21bfed30d5d22775c
2016-04-14 16:21:41 +01:00
Alex Monk f3c5e2f410 Set mw.libs.ve.EditingTabDialog.static.message instead of passing it to setup data
Change-Id: I2bfb79e258253e00c9f856bbbb3c4efae55a128c
2016-04-13 22:46:14 +01:00
Alex Monk 47cfc03d72 Close VE SET dialog when we deactivate
You can trigger deactivation by browsing back.

Bug: T132494
Change-Id: I8f66e22a745d84a3ca4b144c389c3ae654974789
2016-04-13 22:41:27 +01:00
Alex Monk 9170bd8acd Try to make client and server code to get last editor work the same
On the client: getLastEditor in ve.init.mw.DesktopArticleTarget.init.js
On the server: VisualEditorHooks::getUserEditor in VisualEditorHooks.php

Change-Id: I9cc0f367aee2dda43cffc6918bfb042ac8ae3bb2
2016-04-11 23:58:31 +01:00
jenkins-bot 5dc1257507 Merge "More minor/watch checkbox state computation server-side" 2016-04-11 14:18:56 +00:00
Ed Sanders f342dc01c3 Adjust DOM and CSS so UI surface runs from top to bottom of page
Place things like the page title and redirect link inside a new
container $originalContent, which is appended to the surface
when ready. Replace margins with padding in various places.

This will allow us to surface-height-matching sidebar for dialogs.

Change-Id: I60d80fb303bdaf93e9d121f62d534ee3a3056e59
2016-04-11 13:18:36 +01:00
Roan Kattouw 12eb41acff More minor/watch checkbox state computation server-side
Following through on my threat from 72b0d2a19c (November 2013).

Change-Id: I0daeef2a0373bbdb06627053e9d726d6fc20a3f6
2016-04-08 18:02:01 -07:00
jenkins-bot 597a095a64 Merge "Ensure veswitched is not set when we set wteswitched in the URI" 2016-04-05 15:51:33 +00:00
Alex Monk 373a19f1cc Ensure veswitched is not set when we set wteswitched in the URI
veswitched and wteswitched together cannot result in any sane behaviour.

To reproduce:
* Open VE (while having multi-tab pref?), switch into WTE
* Make a change
* Switch into VE

Change-Id: I90e19169e3fab60ab876c8e4d349801309db262f
2016-04-05 01:27:37 +01:00
Alex Monk 7788aece55 After saving and setting HTML, set single-editor edit section handlers again
Change-Id: I6e0962271e7e1460abbe82864b47fddc5bd7f235
2016-04-02 09:53:25 +03:00
Alex Monk 4210c4bee0 Use veaction=edit in URL instead of action=edit when we're using multiple tabs
TODO: What about prefer-wt users switching from WTE?

Bug: T131064
Change-Id: I9aa701cbda3964decb8b1ee853c0a281567a0ccb
2016-03-30 02:54:01 +01:00
Alex Monk b1aebf0b48 Don't strip namespace from text that we replace firstHeading with
wgTitle is basically just $title->getText()
wgPageName is $title->getPrefixedDBkey()

So we need to take wgPageName and run getPrefixedText (difference is underscores
get replaced by spaces)

Change-Id: Ib99f0d20f1ba99338f80bbbf39cffd544887c3fa
2016-03-25 04:45:09 +00:00
Alex Monk 2063025237 Don't change focus to VE surface if we're opening the SET dialog
Bug: T130552
Change-Id: Idc4639bb3f51690a827bdbdb0419e9303dd39a1b
2016-03-23 01:08:32 +00:00
jenkins-bot 4e4684e7d0 Merge "Show redirect target inside target" 2016-03-17 22:54:39 +00:00
jenkins-bot 33c9055fdc Merge "Reload page after user selects multi-tab option of SET dialog" 2016-03-17 15:39:09 +00:00
Alex Monk 3288d4e3f9 Show redirect target inside target
Bug: T63861
Depends-On: I71d3d415fe918e8b0a090860cad9271092b1bd7e
Change-Id: I5a138b95e04773885ca9ee548026729805eb11f0
2016-03-17 15:21:06 +00:00
Alex Monk 02953f5d64 Suppress meta dialog on refresh pages if we want to show SET dialog
Bug: T129819
Change-Id: I1176d06e5a5f56f01528acd7d099c8be9d317e51
2016-03-15 08:10:46 +00:00
Alex Monk 3807a918f9 Reload page after user selects multi-tab option of SET dialog
Bug: T129510
Change-Id: I3fcac175f18d8159e6a5c4084668264d4705970c
2016-03-11 05:39:29 +00:00
Alex Monk 4462f2539a Suppress welcome dialog this time if we're showing the SET pref dialog
Bug: T129200
Change-Id: Iaa6d80df930cfcbd243efd31437cb8707da35c06
2016-03-10 17:54:15 +00:00
Timo Tijhof cf1d7c0dab mw.DesktopArticleTarget: Fix "Uncaught: Cannot read done of undefined"
Regression from 863a2c2974.

Sometimes when clicking "Switch to source mode" in the toolbar this
error is thrown and the interface freezes because setEditorPreference()
only returns a promise if the value is different.

> Uncaught TypeError: Cannot read property 'done' of undefined
> - ve.init.mw.DesktopArticleTarget.switchToWikitextEditor

Change-Id: Ie59f06a8ed9af9c4fb8199b013c06992d0c4f700
2016-03-08 23:13:11 +00:00
jenkins-bot 8d7baccd5f Merge "DesktopArticleTarget: Add Edge and MSIE to whitelist" 2016-03-07 23:28:58 +00:00
jenkins-bot 39f3cfa4a7 Merge "Keep summary and checkbox selections when swtiching WTE->VE" 2016-03-07 23:17:08 +00:00
jenkins-bot 15f8efed70 Merge "DesktopArticleTarget.init#getLastEditor: Check values for validity" 2016-03-07 23:14:26 +00:00
James D. Forrester 79d1f92b42 DesktopArticleTarget: Add Edge and MSIE to whitelist
Bug: T128447
Change-Id: Ia7afe4ddd5abd4fd1de85ba2d2df1fefa6735d79
2016-03-07 14:58:10 -08:00
James D. Forrester b0407d840d Follow-up I65d96627: Remember the user's preference in WikiEditor too
Oh dear.

Bug: T129130
Change-Id: I12481ded12f99ab1ba59dbd403c1eed038235fd9
2016-03-07 13:03:35 -08:00
James D. Forrester 302aeefd85 DesktopArticleTarget.init#getLastEditor: Check values for validity
Change-Id: I23e0884a97b3689dd42c3df11a6311cd0601c348
2016-03-07 11:27:23 -08:00
Alex Monk dde45949a3 Try to fix handling of empty document on WTE->VE switch
Bug: T128635
Change-Id: Iff83e1d71e7186b8da875aa507f9e19e8d9c23ce
2016-03-04 02:05:41 +00:00
Alex Monk 21334a0fa8 Keep summary and checkbox selections when swtiching WTE->VE
Bug: T128529
Change-Id: I8a7deac1c4d9390c1db7d78c3e0a11d927ef127b
2016-03-02 11:55:50 +00:00
Alex Monk d46c5e9f91 Fix WTE->VE switching in prefer-wt SET mode
Bug: T128402
Change-Id: I56af672f2334214f048a4bbfe2f9fab891832792
2016-02-29 23:46:11 +00:00
jenkins-bot e39d8a744b Merge "Show welcome dialog on mobile too" 2016-02-29 03:02:03 +00:00
James D. Forrester ab4d3e956b Update VE core submodule to master (0371bbe)
New changes:
0371bbe [BREAKING CHANGE] Refine VisualEditorSupportCheck call and document pattern

Local changes: Use new VisualEditorSupportCheck pattern

Change-Id: I7dc0c360b54a93397180b18d88d72532e439da5c
2016-02-26 12:26:56 -08:00
Alex Monk ced27f348f Show welcome dialog on mobile too
Bug: T112599
Change-Id: Ie04aab468c80dabc84e1386e7529138e1101450e
2016-02-25 22:03:00 +00:00
wctaiwan 5da37932a2 Warn for empty summary when edit section used
Warn the user about an empty edit summary when the "edit section"
link is used to trigger VE.

Re-does Ic7b456ca a different way.

Bug: T114857
Change-Id: I319c9c5bed47140a81eb409d490c9f82b89a49fe
2016-02-23 00:34:12 +00:00
Ed Sanders 15a47665c8 Meta dialog: Use window action to open windows
Because abstraction.

Change-Id: I9811db4380c6cf37a73a76b97c8439f94723c5a6
2016-02-19 17:37:42 +00:00
James D. Forrester cebaacb546 Update VE core submodule to master (cdfd84e)
New changes:
c02ea46 Clarify documentation of directionality methods
43c9b6f Move initialisation browser support checking from downstream
c89be66 Localisation updates from https://translatewiki.net.
5fb7907 Follow-up c89be66: Fix build for added language 'nan'
fc74fab dm.ElementLinearData.compareElements: Add a few missed test cases

Local changes:
Use initialisation browser support checking from upstream

Depends-On: I27a8e7b4376647f01cee648de987dc3ca6a060d5
Change-Id: I3fc79422ee5e487cf5fae3929fe492f21cd2840a
2016-02-17 20:04:16 -08:00
Alex Monk 83d8a7d9bb Don't remove .ve-activated after successfully activating
hideLoading always gets called after activating, not just failing

Follows-up: I13058ae1

Bug: T127184
Change-Id: I47d1892feacbfcf832aa32f689f173601b76c4ba
2016-02-17 15:36:18 +00:00
Alex Monk 9a1c0762cb Try to switch into the wikitext editor automatically if there is an error loading VE on action=edit
Bug: T125998
Change-Id: I2982f6e5f26086a1175b9fc8c3039a2143a44659
2016-02-13 02:56:01 +00:00
Alex Monk 1c1d018bc7 Unbreak VE
Follow-up to I13058ae1

Change-Id: Icb30f87746bea3911379fca9766877a36e8b5975
2016-02-13 00:58:42 +00:00
jenkins-bot bcae181cec Merge "Try to make MW->VE switching failures break less things" 2016-02-12 17:29:29 +00:00
Alex Monk 4a288a5866 Try to make MW->VE switching failures break less things
* Try to hide loading bar on failure
* Don't set wgAction back to 'view' if we're dropping the user back to the
  wikitext editor

Bug: T125580
Change-Id: I13058ae131a1dda3b172e78d9b143d70831c47f1
2016-02-11 02:39:06 +00:00
jenkins-bot 4a751524c4 Merge "Edit mode switch: Show popup next to VE switch button" 2016-02-10 01:51:57 +00:00
Ed Sanders 80124c88a6 Edit mode switch: Show popup next to VE switch button
Only show if the user came from VE.

Change-Id: Ic362ba534d135fca5516c8ba401f6b2a22886ff1
2016-02-10 01:36:32 +00:00
Alex Monk 863a2c2974 Don't try to tell the server to set preferences to their current values
It's rather pointless.

Change-Id: I8065af1d61108ce843c0afd2eaa0f1f9b85b6998
2016-02-10 01:04:47 +00:00
James D. Forrester e6e492efc6 build: Bump various devDeps to latest and make pass
* grunt-contrib-jshint: 0.11.3 -> 0.12.0
  This version of the linter cleans up a number of options. 'es5' is now assumed to be
  true by default, and replaced as 'esversion'; 'latedef' is extended to also cover
  functions' defintions, disabled for us for now; 'futurehostile' is introduced to aid
  future-incompatible names for ES6+ support.

  I adjusted ve.init.mw.DesktopArticleTarget.init.js based on this, as this file is
  meant to be loaded by all JS-capable clients to determine if it is (amongst other
  things) capable of ES5, so now we assert ES3 compatibility via jshint.

* grunt-jscs: 2.5.0 -> 2.7.0
  Minor version bump that doesn't affect us.

* grunt-jsonlint: 1.0.6 -> 1.0.7
  Trivial version bump that doesn't affect us.

Change-Id: Ieb7b6748b0cecf275cfc284fc66617189372461f
2016-02-07 19:41:21 -08:00
Alex Monk 138fafbbb9 DesktopArticleTarget#editSource: Use actionFactory to create a window with the surface
So the normal logic is used to close other windows etc.

Bug: T125479
Change-Id: Iee9ef7484de745f3adced28cdbcc87a0c2b597f5
2016-02-06 02:02:39 +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
Alex Monk 8cc034b9af Run VE->WTE modification checks regardless of how the user got into VE
I think this fixes a bug similar to the one described in the bug below.

Bug: T124708
Change-Id: I61558227315bec36b71dac281b8da311a3d6bb1a
2016-01-30 03:06:46 +00:00
jenkins-bot f78dd8ad72 Merge "MWWelcomeDialog: Let the user switch editors" 2016-01-27 00:20:10 +00:00
James D. Forrester d8769edd01 MWWelcomeDialog: Let the user switch editors
Change-Id: If88942d866278f3012dae7972d464a3d2a6a4f82
2016-01-27 00:14:07 +00:00
jenkins-bot 75b0a8de63 Merge "Don't try to load VE over the top of the wikitext editor we just switched to" 2016-01-26 17:01:24 +00:00
Alex Monk 589437a772 Don't try to load VE over the top of the wikitext editor we just switched to
(if we discarded changes)

Bug: T124316
Change-Id: Ic5e6ee8f4b6e75c3ae877021bcb29733b881e6d2
2016-01-26 16:49:50 +00:00
Alex Monk d7183d7e64 Check user permissions for viewsource before loading VE on-load on action=edit/submit etc.
Clicking 'View source' should probably not cause VE to load

Bug: T124650
Change-Id: I236de38b0f90f1aaa5d04b57cb7759e5951baf2b
2016-01-26 16:47:26 +00:00
Alex Monk bfa15c44a5 Check user preferences before loading VE on-load on action=edit/submit etc.
Bug: T124743
Change-Id: I2e8a19014464a2b7fb76de08676e7cb808e06956
2016-01-26 02:48:27 +00:00
jenkins-bot d29524c8b3 Merge "When loading VE from action=edit/submit, replace the title shown" 2016-01-22 20:43:02 +00:00
Alex Monk 38180b5d4d When loading VE from action=edit/submit, replace the title shown
Bug: T117643
Change-Id: Ice21389d02ea10adc668c5b0a64ba2b0b9cf5744
2016-01-22 20:27:01 +00:00
jenkins-bot ee70cc5c44 Merge "Single Edit Tab: simplify logic; make 'prefer-wt' just disabled" 2016-01-18 21:28:26 +00:00
James D. Forrester aa08d34318 Single Edit Tab: simplify logic; make 'prefer-wt' just disabled
Change-Id: I090375933656f29636c355c4d2ce358dd7f7f074
2016-01-18 11:23:59 -08:00
James D. Forrester 68ea08cd5e Drop support for adding prefix/appendix labels to edit tabs/links
Depends-On: I264599a1c4f60b37a46d49c808cf271ba0a8f882
Change-Id: Icebc378f5c00aac57ad361f8ba85da93b8178650
2016-01-18 03:06:33 +00:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
James D. Forrester 4a781a3a16 EditingTabDialog: Shorten the copy to make snappier, drop 'Edit' tab name
Change-Id: Idd5f373d9fef364318efddcc98ea2de5e91860a8
2016-01-03 13:44:54 -08:00
Alex Monk 85bb085418 DesktopArticleTarget: Preserve oldid when switching from WTE into VE
Change-Id: I8682a2a2b90ae2e42f1a8e01e16d0f9f3d66a2d5
2016-01-03 10:59:21 -08:00
jenkins-bot 26e3c0ad1d Merge "Preserve oldid when switching from VE into WTE" 2016-01-03 06:35:58 +00:00
jenkins-bot 3231220774 Merge "SET: Don't try to do any client-side section link magic if we're not supposed to." 2015-12-23 23:18:57 +00:00
Alex Monk 76cb69ecec SET: Don't try to do any client-side section link magic if we're not supposed to.
Ugh.

Bug: T121599
Change-Id: I47a93d5dbedc5ae989a2973fb793ac99edfb139a
2015-12-23 22:10:20 +00:00
Ed Sanders 2afd7c903d DesktopArticleTarget: Improve teardown sequence
* Ensure activating classes are removed by rejecting activatedDeferred
  as soon as teardown starts.
* Try to teardown surfaces is surfaces exist, not just if the target is active.
* Remove noop teardownDebugBar. The debugbar lives inside the surface now.
* Ensure progress bar is always reset, even if target setup is aborted.

Bug: T99139
Change-Id: I16a071c0d4bc8bbc6af2e03e63ee0ffc18d55c75
2015-12-23 12:13:50 +00:00
Alex Monk c10236cc58 Preserve oldid when switching from VE into WTE
Bug: T120898
Change-Id: I51774fd7ca5be7373d8aec55cb420a874bc7d531
2015-12-18 00:47:03 +00:00
Alex Monk c99a5b627e DesktopArticleTarget: Change tab text on server side when possible
Usually. Unless you load VE, because then you might be loading on
`action=edit` in remember-last mode and therefore the tab text needs to
be updated from "Edit source" to "Edit". Or "Create source" to "Create".
Or the equivalent with 'local description' in the case of pages from
foreign file repos, etc.

Bug: T120970
Change-Id: I8f07be6c8e415b40ad134ee82d0bda1d63cc4f96
2015-12-15 10:49:45 -08:00
Alex Monk 76a12f2f9b Try to actually resolve visualeditor-editor preference setting when switching editors
Seems we need to make sure this returns before navigating to the target page.
This reverts commit 40807a0743.

Bug: T121122
Change-Id: I4edf03bc0d57b03897d9f1802eabd8f0dd9962b9
2015-12-15 17:35:22 +00:00
jenkins-bot b08c8bd682 Merge "Fix up "Simplify some SET logic"" 2015-12-15 02:56:45 +00:00
Alex Monk 39af893c75 Fix up "Simplify some SET logic"
By 'simplifying', I broke stuff.

This reverts commit b7227f96fe.

Change-Id: I46fdcf336f556680fa72df0893447b6850cc4b1d
2015-12-15 02:50:15 +00:00
jenkins-bot d3d851f394 Merge "Simplify some SET logic" 2015-12-14 21:17:15 +00:00
Alex Monk b7227f96fe Simplify some SET logic
Change-Id: Ie89260607f0253dd7d749af7426702985a0340f4
2015-12-14 21:11:15 +00:00
jenkins-bot 33cbf199f1 Merge "Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"" 2015-12-14 20:53:28 +00:00
Jforrester 40807a0743 Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"
This reverts commit 5b083a7272.

Change-Id: Ieac905b80ea219075b4de498d645f22c3e86c5ca
2015-12-14 20:46:08 +00:00
jenkins-bot d750417545 Merge "Take pageCanLoadVE into account when figuring out whether VE will load in-page or not" 2015-12-14 17:14:41 +00:00
jenkins-bot 04d8089db6 Merge "Fix setEditorPreference call" 2015-12-14 17:08:42 +00:00
Alex Monk 774034b553 Take pageCanLoadVE into account when figuring out whether VE will load in-page or not
Bug: T121342
Change-Id: I84ade6e2ab062597fbfd859a90a864c7607547da
2015-12-14 16:58:26 +00:00
Alex Monk a3148a1559 Fix setEditorPreference call
Added brokenly in I82e39752

Bug: T121343
Change-Id: Ie7b228e94458b17d6ec7c23be264144dec9563be
2015-12-14 16:49:28 +00:00