Commit graph

131 commits

Author SHA1 Message Date
James D. Forrester c45c79eca2 ve.init.mw.DesktopArticleTarget: Fix missing '&&'
Change-Id: I0e91cde3d38d3f5bdd7dde790093db21d8a64036
2016-10-27 16:53:55 -07:00
Ed Sanders 244eeb9ea1 Update VE core submodule to master (e4c8003)
New changes:
e4c8003 Bring in target 'mode' property from MW

Local changes:
Use upstream Target#setMode functionality

Depends-On: I9d501cb77c714fbd299b5816d302b0bdde7833cd
Change-Id: I2fcda6ca7d82d880101d9ba2a027d4ef066aa238
2016-10-27 16:12:31 -07:00
jenkins-bot 035987b9be Merge "Create init.isWikitextAvailable and add page content check" 2016-10-26 20:42:06 +00: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
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 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
Alex Monk d15034011f Allow NWE on non-VE namespaces
Bug: T146182
Change-Id: I9547dfd591ad1e68e045b4928765a95895e37737
2016-10-03 22:20:18 +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
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 3c25f3aede Switch from NWE to VE using 'Edit' tab
Bug: T143577
Change-Id: I19d942c879c9ccf70e95beb5f8de589eb6363039
2016-09-06 17:23:24 -07:00
Ed Sanders 7b3deab5a1 Disable veaction=editsource if NWE is disabled
Bug: T144651
Change-Id: I6a1e42b2da267bc42adeee0c818046eab0b387f8
2016-09-02 17:55:37 -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
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
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
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 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
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
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
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
Ed Sanders 796da84576 Allow extensions to support extra namespaces and content models
Change-Id: If67bab93da355da609b6df274514b5c72a6ed91a
2016-06-01 01:55:03 +01: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 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 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
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 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 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 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
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 15f8efed70 Merge "DesktopArticleTarget.init#getLastEditor: Check values for validity" 2016-03-07 23:14:26 +00:00