Commit graph

1025 commits

Author SHA1 Message Date
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
jenkins-bot e24e2ed7cf Merge "[BREAKING CHANGE] Create ve.init.mw.Target base class" 2015-12-11 18:16:22 +00:00
Ed Sanders fbb05fb8ed Use upstreamed actionGroups functionality
Depends on I272175dff3 in ve core.

Change-Id: I94cef0f3d8c1b903780890934c2c4963cbe05989
2015-12-11 16:43:48 +00:00
Ed Sanders 21d5856000 [BREAKING CHANGE] Create ve.init.mw.Target base class
Move over logic which isn't specific to the article
implementation of VE (e.g. nothing related to loading/saving).

Refactors setupSurface to use an abstract tracking method (which
does nothing by default), and moves surface CSS classes to #createSurface.

Breaking change:
* Rename onSurfaceReady to surfaceReady. We shouldn't need to listen
  to our own events.
* Rename onReady to documentReady. onReady is not a listener.

Bug: T97166
Change-Id: I7242b1bb5501b7755a18a13d13e166c30cac9cdd
2015-12-11 16:41:47 +00:00
Ed Sanders 672c91f41b DesktopArticleTarget: Fix signature of editNotices
Also ensure it is always an array.

Change-Id: I8498463d3131817b90fa91404289c839110bdeaa
2015-12-11 16:41:47 +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
jenkins-bot a9894809f6 Merge "DesktopArticleTarget: Handle section edit link clicks in single edit tab mode" 2015-12-09 17:16:12 +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
Ed Sanders ae26eefb05 Fix typos
Add some common ones to typos.json

Change-Id: I3830be4949ab6a5fd998d6937ed83e9f18091c2b
2015-12-09 16:47:13 +00: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
Ed Sanders d1da56a6cb Make dependencies of jquery.uls.data more specific
Change-Id: I135defffc71d8aa61dc74bb871da96737a3eeb0c
2015-11-17 15:34:23 -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
Bartosz Dziewoński 9be5c85db4 Provide a tool to insert a signature in namespaces that need it
VisualEditor is usually not enabled in talk namespaces... but
sometimes it is. And when users see the button to edit with VE,
they're going to click it and expect to be able to sign their posts.

This tool is only loaded on talk pages and pages in additional
namespaces defined in $wgExtraSignatureNamespaces.

Code adapted with small tweaks from my own gadget
<https://meta.wikimedia.org/wiki/User:Matma_Rex/visualeditor-signature.js?oldid=13461327>,
which is already available under the MIT license.

Changes include:
* The tool is now always visible if the wiki allows signatures in any
  VE namespaces, but disabled when not allowed in the current namespace.
* Register '~~~~' sequence to insert the signature.
* Code style tweaks for stricter lint checks in this repository.
* Documentation corrections.

Swedish translation provided by André Costa (already credited
as a translator as Lokal_Profil).

Depends on changes in VisualEditor core:
* I89fe53890ab59d12260ea6b41de802c38c24e8b9
* I14cd7efac521687ea38580341ae08ddc522edeeb

Bug: T53154
Change-Id: I6be5fb2118cf3eef5098d4c5320228aa81411ccb
2015-11-16 18:06:32 +01:00
Ed Sanders 86a1d1bfa3 Edit mode switching: Separate styles
Ensures that these styles are loaded *after* OOUI by making
them dependent on it, unlike DesktopArticleTarget.init
which isn't.

Change-Id: Ia1fff16432d20fb56707c5e21c6a930d2478e311
2015-11-11 18:50:55 +00:00
jenkins-bot c815c3242d Merge "Edit mode switching: Only show WE toolbar button once module is loaded" 2015-11-11 02:21:04 +00:00
jenkins-bot 1f2905c39f Merge "DesktopTarget: Fix opacity of #siteSub and #contentSub" 2015-11-10 23:39:03 +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
Alex Monk 6213c23db1 Fix updating of display title upon save
Bug: T117643
Change-Id: Ibd3d4f056a2d175e52b60b6e3a4c0ece04f26f50
2015-11-10 13:50:00 +00: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
jenkins-bot 69bce26579 Merge "Drop any beforeunload handlers when loading from existing wikitext" 2015-11-07 16:09:50 +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 2910cd2384 Drop any beforeunload handlers when loading from existing wikitext
Bug: T117769
Change-Id: I823737b17e5af8ed15bc2b62db61a31886e8d418
2015-11-07 03:57:19 +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
Bartosz Dziewoński 4a1a9bbf82 ve.init.mw.Target: Update TitleBlacklist error code
The error code has changed after T115258 and is now consistently
'titleblacklist-forbidden' for all TitleBlacklist errors.

The API now also provides information about the exact error message to
display (error.message) and the TitleBlacklist rule that matched
(error.line), but we probably don't have that message client-side, so
we're not trying to display it. Maybe when we can load it (T40280).

Bug: T116198
Change-Id: I32fccc7d0b2b66c739d59db05c568a56d9f07eec
2015-11-05 04:07:38 +01:00
jenkins-bot dd897a3e67 Merge "Don't allow keeping changes when switching from wikitext *section* editing" 2015-11-04 16:34:54 +00:00
Alex Monk 9c7a058b09 Don't allow keeping changes when switching from wikitext *section* editing
Bug: T117713
Change-Id: I16f17fa2aa4c9a1b74d8cde072c611e2685f5448
2015-11-04 16:19:36 +00:00
jenkins-bot d24844af2e Merge "Unbreak 404 handling code" 2015-11-04 16:06:09 +00:00
Alex Monk dbf79f15fd Unbreak 404 handling code
Broken in I2a529434

Bug: T117697
Change-Id: Ic34ef81afdde0851f4935971a808f22cdd5cde89
2015-11-04 15:31:19 +00:00
jenkins-bot 4dacc683f5 Merge "Target init: Add edit mode switch icons to VE and WE toolbars" 2015-11-04 14:14:49 +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 bc6fe7dc77 Set wgAction when messing with the action URL parameter
Also get rid of an unused variable.

Bug: T117596
Change-Id: I8479fa930397cff48c3a103f3a2c99e89190dc4a
2015-11-04 01:41:46 +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