Commit graph

171 commits

Author SHA1 Message Date
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
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 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 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 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
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
James D. Forrester 5b083a7272 DesktopArticleTarget: Don't abort in SET mode if veswitched is set
Bug: T121122
Change-Id: I6dca85361be0c1c1c0d39b12b167af813706ae0b
2015-12-11 18:15:25 -08:00
James D. Forrester 2368171fb7 DesktopArticleTarget: Consolidate editor preference setting code
Change-Id: I82e3975233eee0473b513d0931a2d6770fc0f86d
2015-12-11 17:12:28 -08:00
Alex Monk 0774bdf924 Try to clean up the WT->VE prompt opened -> closing -> closed data callbacks
To use
	.then( function ( opened ) { return opened; } )
	.then( function ( closing ) { return closing; } )
	.then( function ( data ) {
etc. instead of nesting them in .done functions

Change-Id: Ic8cee9639b90cb378ce0b7e58dc04eab0ff4cbc7
2015-12-11 23:43:13 +00:00
Alex Monk 155d0240a4 Remember switching into VE from WT when discarding changes
Bug: T120966
Change-Id: I9a7b87cb2561416b72f53afa5140e9d2a4330cfe
2015-12-11 23:35:59 +00:00
Alex Monk 9e5a01aa6b Check that we really want VE before loading it for section edits
Bug: T121189
Change-Id: I34371bf78d34e9d362e9cf5c64bdd108478969b9
2015-12-11 23:19:07 +00:00
Alex Monk 98a456b189 Single edit tab: Fall back to the wikitext editor when certain parameters show up
We can't handle these yet. There's also 'preview' but I think we probably
qualify as supporting that.

Bug: T121126
Change-Id: I4602992a77f460b9bfcbad0eac1bdd79d67df04d
2015-12-10 23:13:25 +00:00
Ed Sanders 29f33a57d5 Rename mw.Target to mw.ArticleTarget
This makes way for a base mw.Target class which is
not specific to articles (e.g. Flow boards).

Bug: T97166
Change-Id: If72650bdf87aa9f195b004da0a4d815f1a8063a3
2015-12-10 16:26:20 +00:00
Alex Monk 128901866a Don't check editor preferences etc. if user wants veaction=edit
Bug: T120978
Change-Id: I39e28c80440260959b7f1c25b82a057c21de43be
2015-12-09 23:04:02 +00:00
jenkins-bot 212300af1f Merge "Avoid useless jQuery.click shortcut" 2015-12-09 22:18:12 +00:00
Ed Sanders e7ccc77000 Edit mode switching: Tell VE if the wikitext was modified
Currently we assume that any document state from WE is modified
but that is not necessarily the case.

Change-Id: I085825152528ae5a5e973e8b44f68cb07ee92416
2015-12-09 17:44:43 +00:00
Ed Sanders e9250d87fd Avoid useless jQuery.click shortcut
Why have one event API when you can have ten...

Change-Id: I645cbeb4e486aba9e734ba47d2e7c3958a694f19
2015-12-09 17:34:00 +00:00
Alex Monk b877e16723 DesktopArticleTarget: Handle section edit link clicks in single edit tab mode
Bug: T58337
Change-Id: Ic4c19cdfc3cfcf33604d0c4e7780b45967cdf57d
2015-12-09 09:08:46 -08:00
Alex Monk 748db015b0 Single edit tab and section links
In addition to the couple of TODOs inline, we should do the following in
follow-up commits:
* Prevent FOUC due to changing things only on the client
* Make section link behaviour sensible

Bug: T58337
Change-Id: I65d966270491ffe017cb11a0daa915628fadf65c
2015-12-08 17:47:16 +00:00
jenkins-bot 5649256ceb Merge "Re-fix in-page loading" 2015-11-23 17:00:13 +00:00
jenkins-bot 4616696e0d Merge "Prevent switching from unedited section directly into VE" 2015-11-23 17:00:08 +00:00
Alex Monk a0462d69d4 Re-fix in-page loading
Probably broken by Ie808bcaa
Partially reverts Icad04dac, hopefully without any regressions

Change-Id: I4589bde7eac58b54027a6b9dbe6ecddf79780599
2015-11-20 01:57:24 +00:00
Alex Monk 67a51aee9b Prevent switching from unedited section directly into VE
Bug: T117713
Change-Id: Iee9ae2bbe4757cb07e9aa2bd5f41a46c0ebb391a
2015-11-20 00:10:38 +00:00
Ed Sanders 19034b0416 Edit mode switching: Auto-close jQuery.UI dialogs before switching
Bug: T118282
Change-Id: I7960e4f71dd8b710f2ec2430f2946679af07012b
2015-11-17 17:26:01 -08:00
Alex Monk 889358f24c Ensure we always catch the wikiEditor-toolbar-doneInitialSections event
Don't wait for module loading. Before, this was only actually working half the
time.

Change-Id: I7fb284a800927672642c59231a322982b613f16b
2015-11-17 02:23:25 +00:00
Ed Sanders cfe3d9b561 Edit mode switching: Only show WE toolbar button once module is loaded
No point showing the icon if we don't have the functionality to
make it do anything. Also this reduces the number of RL requests
made as we never fetch OOUI separately.

Change-Id: Iac9aa6f34c485223e73981b3377c7d0cfd31dae9
2015-11-10 10:43:33 -08:00
Bartosz Dziewoński 7d69e86265 ve.init.mw.DesktopArticleTarget.init: Make switching to VE for new pages work
Work around RESTBase problem that causes errors if we try to switch to
VE when the wikitext is empty. This would prevent non-power-users from
opening VE entirely.

This only solves the issue for new empty pages, and not when the user
intentionally empties the edit box. In that case, though, they get a
dialog where they can choose to "keep" or "discard" changes, and
discarding lets you open the editor.

Bug: T118152
Change-Id: Ie808bcaa9826deacac392dd6cbc90a9446602b79
2015-11-09 18:55:21 +01:00
Alex Monk 1e4889bbc7 Unset 'action' query parameter from veEditUri, which should always point to VE
Bug: T117780
Change-Id: I1377145bbbe05611ee75ae27922cf7a2cc5895e7
2015-11-08 20:32:28 +00:00
Alex Monk 3e23d3b96d Only load switching module (depending on OOUI etc.) on edit pages
This wasn't as bad as T112401 (that was blocking render), but we
still shouldn't be loading the module on page views.

Bug: T118088
Change-Id: If86701ed7ff4e8d6defb1c682aa9a38c211be0fa
2015-11-07 19:08:29 +00:00
Alex Monk 6247a2f430 WikiEditor integration: Fix dependencies for switch button
Change-Id: Ic8fb607e8c467e89c0b9af0a9baab84e59b19ba8
2015-11-07 04:15:14 +00:00
Alex Monk 87931fb3f2 WikiEditor integration: Only add VE switch button if VE is available
Bug: T117968
Change-Id: Ibfe73b7170083bc9ee0a0322768999c8650da4e7
2015-11-06 18:23:44 +00:00
Ed Sanders b05d9fcb0e Target init: Add edit mode switch icons to VE and WE toolbars
VE already has a a switch icon in the options menu, so bring that
up to the main toolbar.

Append an OOUI button to the WikiEditor toolbar if present, and bind
to the same functon as the edit tab.

Bug: T49779
Change-Id: Ic1e83ea7b13c4fef68024bf05ffc244060666103
2015-11-04 14:07:41 +00:00
Alex Monk eb63b57d32 Fix check for loading from modified action=edit
Bug: T117596
Change-Id: Icad04dac7dc94927cff9b93b175d4a6c4dddee5a
2015-11-03 16:19:26 -08:00
Alex Monk b550323b53 Use mw.loader.using instead of weird hacks to load OOjs UI on action=edit
Change-Id: If03dab6130aed7662b04000b809884a514bb2762
2015-11-03 23:55:17 +00:00
Alex Monk 07c6c17e5c Unbreak loading of VE in the read page
Change-Id: Ic3e4e65296fa63b3a7d5114366f2859f4ce3f21d
2015-11-03 18:16:47 +00:00
Alex Monk f71a5a5bca Dialog for switching between wikitext and visual editing
Change-Id: I7046ffbe318d046b4baee11f4148ab77fc2af7fd
2015-11-03 01:36:29 +00:00
Alex Monk 85b745666f Allow switching from wikitext to VE
Just by pressing the VE tab for now

Requires a relatively new version of restbase

Bug: T49779
Change-Id: I2a5294345f5e0f469c1dd1bdd29dbce211571a4e
2015-11-02 20:55:19 +00:00
jenkins-bot ce8107ec0b Merge "Autodisable preference" 2015-09-28 23:46:59 +00:00
Alex Monk 97e70ba3cc Autodisable preference
We want to flip the default of visualeditor-enable to true, but don't
necessarily want to turn it on for users who already have contributions but who
haven't already enabled it. Therefore we're considering adding such users to
this autodisable preference which they can self-remove (by explicitly enabling
VE) or we can target later, separate from betatempdisable users.

Bug: T112352
Change-Id: I1ce5e6c92055e30fdc82bc912a767e913b190ef6
2015-09-29 00:30:27 +01:00
Ed Sanders 8c66e5df75 Load mwgallery on mobile as well
It's just as usable as the alien extension inspector which
is currently shown, and has better messages.

Change-Id: Ifbce9df4aff77cf76a8445158987be716ba45302
2015-09-19 18:14:52 +01:00
Alex Monk 23691dc861 If init fails once, don't completely break when the user retries
The loading progress would not be reset upon failure, causing issues
when you tried to start loading again.

Bug: T96437
Change-Id: I7ec4be82304c101fa1bd634f60bc6b0047e2d53d
2015-09-14 21:13:45 +01:00
Timo Tijhof 4e3d3acf65 mw.DesktopArticleTarget.init: Don't make non-VE edit tab collapsible
Collapsible relates to the Vector menu behaviour where an item
is moved into the dropdown menu if the window is narrow.

This should only apply to the secondary tab when there are two tabs.

If there is only one tab (non-VE, e.g. in a non-VE namespace) then
this tab should not be collapsible.

Server-side code handled this correctly, but client-side was
adding the class unconditionally.

Change-Id: Iecd195e92f43fe9f11b3938a1a24caed7b331e5f
2015-08-25 05:50:24 +02: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
James D. Forrester 19df1d4c8a build: Enable jscs rule 'requireVarDeclFirst' and make pass
Change-Id: Ia2f765d12bde001c329c2ff4c080a36b71de9803
2015-08-19 11:05:01 -07:00
James D. Forrester f5c6f61163 build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
Change-Id: I846d36c15e1b1f810d2ef7fd422f8412790bcb0f
2015-08-19 10:33:02 -07:00
Roan Kattouw ef2d23c36a DesktopArticleTarget.init: Don't overwrite mw.libs.ve
Extend it instead, if it already exists.

Bug: T107979
Change-Id: I70bce7c82dce8199cfe36f810629c5d22b583f0a
2015-08-05 14:48:38 -07:00
Jforrester 37b50a273f Revert "Only change edit tab text if the current text is as expected"
Apparently doesn't work in English.

This reverts commit 8239437a3f.

Change-Id: I03a375c85b32058992d5956b6801605fa997dd7d
2015-08-01 00:29:51 +00:00
Alex Monk 8239437a3f Only change edit tab text if the current text is as expected
Otherwise we end up colliding with other extensions like Translate

Bug: T94386
Change-Id: Ib48ce33b8db9639400415cf778cd42e2d47070f1
2015-07-31 22:41:01 +01:00
Ed Sanders b5de6fa575 [BREAKING CHANGE] Rename (View|Mobile)PageTarget to (Desktop|Mobile)ArticleTarget
Change-Id: I6a8fa76dc4d70cc04722e30e3fea6a6112d56b40
2015-07-29 18:26:36 +01:00
Renamed from modules/ve-mw/init/targets/ve.init.mw.ViewPageTarget.init.js (Browse further)