Commit graph

1115 commits

Author SHA1 Message Date
Ed Sanders cd8b059e7d Synchronise VE availability checks in frontend and backend
Adds better support for NWE loading on action=edit.

Change-Id: I35208cce0696607377378a1b58d426e914a3ba7d
2017-04-28 17:45:27 +01:00
Ed Sanders fefb76eebc Rewrite logic for choosing initial editor
Expanding from a single if-expression lets us make the
code much more readable, and reveals some minor bugs.

Change-Id: I49e57bfc093e019c837a73eab5c25fdbd14de0af
2017-04-26 12:07:51 -07:00
David Lynch e1e89e8b14 DesktopArticleTarget: only destroy notices tool if it exists
Bug: T163813
Change-Id: Ib957eac2d3d407f8e683082938ec51d882c2d041
2017-04-26 18:03:39 +00:00
Ed Sanders c02c529537 Load notices when switching, just don't show them
Previously we completely disabled the loading of notices
when switching, instead of just not showing them (so they
don't clash with the "switched" popup).

Bug: T162812
Change-Id: I3f8e787630e196cee1dbb1aa449b3558b74fcd04
2017-04-20 21:20:10 +01:00
Esanders eeab63d2c7 Revert "Dropping IE9: Remove disableUneditableContent from DesktopArticleTarget"
IE10 also lacks pointer events support.

This reverts commit 5266776953.

Change-Id: I42c9530c45ad98657b403bdb266188368085716b
2017-04-14 13:53:56 +00:00
James D. Forrester d989de5c09 DesktopArticleTarget.init: Don't call setEditorPreference twice
This is run after the targetPromise completes (via the platform-agnostic
setDefaultMode proxy), which is the correct time to do so. We should not
do this twice, and we definitely shouldn't do this before the target has
successfully loaded, lest a user ends up with us setting their option to
"prefer" an editor that they actually can't load. Whoops.

Bug: T156316
Change-Id: Icf4b5ddd9c8265ade55f43328f807344b41db350
2017-04-13 04:38:07 +00:00
jenkins-bot 77987b976d Merge "Remove #wpTextbox1 fallback from ArticleTargetLoader#requestPageData" 2017-04-10 17:05:03 +00:00
jenkins-bot edb911ef71 Merge "Dropping IE9: Remove disableUneditableContent from DesktopArticleTarget" 2017-04-10 16:50:59 +00:00
jenkins-bot c0361ab40e Merge "Update VE core submodule to master (da9c49395)" 2017-04-10 16:49:13 +00:00
Ed Sanders 5266776953 Dropping IE9: Remove disableUneditableContent from DesktopArticleTarget
Bug: T162277
Change-Id: Ibb38284573078098c2173232239e9836a8161f56
2017-04-10 08:37:03 -07:00
James D. Forrester d1c24ce226 Update VE core submodule to master (da9c49395)
New changes:
dc0cad28c tests: Factor out ve.dm.TestRebaseClient/Server into their own files
98061108b Convert RebaseServer tests to data provider
3e746a51b Update OOjs to v2.0.0
16231a812 [BREAKING CHANGE] Drop support for Internet Explorer 9
64daeb4b5 Localisation updates from https://translatewiki.net.
3310e876c Update DOMPurify to 0.8.5
579033a83 Follow-up 16231a81: Drop IE9 support in createDocumentFromHtmlUsingIframe

Bug: T162277
Change-Id: If17c6a3fac0920db29f80069f344ffd6be46c3c9
2017-04-10 08:32:51 -07:00
Ed Sanders ddf6a89c72 Remove #wpTextbox1 fallback from ArticleTargetLoader#requestPageData
Makes the API clearer and the method re-usable.

Change-Id: If79afb262e0c8c8e2193c07fef6bb0712496a4d9
2017-04-09 22:28:03 +01:00
Ed Sanders 981dd6c250 Don't set oldid if it is equal to curId
Change-Id: I0fff55ab1e8d9c5c24b39526aa5d8a893cd99a2a
2017-04-07 11:49:30 +01:00
Bartosz Dziewoński ae8b0a1f36 Replace $wgVisualEditorSupportedSkins with a check for required elements
The bare minimum of elements that must be present on the page for
VisualEditor to start and mostly work is:

* '#content' to attach our interface (toolbar etc.)
* '#mw-content-text' to replace with the editing surface
* '#ca-edit' to start up the editor

When those elements are missing (and we expect them to be present,
e.g. we're not on a special page), we print a console warning.

For example, VisualEditor now launches on Timeless and CologneBlue.
It does not launch and prints a warning on Modern and Erudite.
(It is actually possible to edit and save pages on CologneBlue,
although various pieces of the interface look funny.)

This does not change which skins we claim to support: these are still
currently only Vector, MonoBook and Apex. But it allows third-party
skin developers to more easily test the editor and fiddle with their
CSS to make it look right.

Bug: T161373
Change-Id: I97c786f3c8c795c238b10bef332a129ea26f86c2
2017-03-29 18:13:05 +00:00
jenkins-bot 11f562c4e2 Merge "Don't use '#content #firstHeading', unnecessarily specific" 2017-03-29 18:02:22 +00:00
Bartosz Dziewoński 645eb8e543 Don't use '#content #firstHeading', unnecessarily specific
Simply '#firstHeading' does fine.

Change-Id: I7c72496f0d58b86582bd33c018b618e1b75f2c7a
2017-03-29 17:37:29 +00:00
Bartosz Dziewoński 38db8bbe0e Consistently use #catlinks to refer to category links container
The element has both the class and the id set to 'catlinks'. This is
just for consistency, I have no preference on which to use.

Change-Id: Ic96b0f21fe790d0aa03bfd6366ba246e8493a038
2017-03-29 17:36:58 +00:00
jenkins-bot d3df69ee99 Merge "ve.init.mw.DesktopArticleTarget: Refactor redirect interface handling" 2017-03-28 16:41:40 +00:00
jenkins-bot 3d9b2fbd8a Merge "DesktopArticleTarget: Make the waiting module list extensible" 2017-03-28 15:59:02 +00:00
jenkins-bot 0dfe429a1e Merge "ve.init.mw.DesktopArticleTarget: Hide redirect subtitle if we cancel editing" 2017-03-28 15:43:09 +00:00
Bartosz Dziewoński 0462b6ed8f ve.init.mw.DesktopArticleTarget: Refactor redirect interface handling
Redirect pages have two extra things not present on normal pages:
* Redirect subtitle: the "Redirect page" shown under the page heading.
* Redirect page content header: the "↳ Foo" at the beginning of content.

Our handling was pretty messy and had some bugs (T161614).

Notable behavior changes:
* Update 'wgIsRedirect' in mw.config after saving the page.
* Use #mw-content-text rather than .mw-jump for inserting the fake .redirectMsg.
  .mw-jump is not guaranteed to exist on the page (it's a skin feature).
* Never replace the real .redirectMsg existing on the page, except by the
  new HTML after a page is saved. Our fake is separate now.

Bug: T161614
Change-Id: I96a5e45a71bf10bf6a2b501dc0cf81e6c37060ec
2017-03-28 17:40:23 +02:00
Bartosz Dziewoński d905d705ce ve.init.mw.DesktopArticleTarget: Hide redirect subtitle if we cancel editing
To reproduce: start editing a page, turn it into a redirect,
cancel editing and go back to view mode. The "Redirect page"
subtitle under the page title should disappear.

Note that #redirectsub is correctly spelled all lowercase,
unlike #contentSub.

This reverts commit 0e1bc7309b
and fixes the code instead.

Change-Id: Ibacd73122dfec63268a77794bc77c4b88876d3ee
2017-03-28 01:31:29 +00:00
jenkins-bot 57d57cdbbf Merge "ve.init.mw.DesktopArticleTarget: Remove unused code" 2017-03-28 00:50:50 +00:00
Bartosz Dziewoński 0e1bc7309b ve.init.mw.DesktopArticleTarget: Remove unused code
As it happens, #redirectsub is correctly spelled all lowercase,
unlike #contentSub. This line does nothing. We remove #redirectsub
correctly elsewhere; I don't think this was ever meant to be here.

Follows-up 96421b283c.

Change-Id: I3e4c6eb2ff94f363b488477b3ddd248e571e723a
2017-03-28 00:39:38 +00:00
James D. Forrester 79b7d0305a *ArticleTarget: Don't trust oldid in the query string, it lies
Bug: T156998
Change-Id: Iacb94710c8f2f5fbd8d3de9c8a44424aba0c7d02
2017-03-24 00:30:00 +00:00
Ed Sanders 1adedfbd8b Disable clickable categories bar in wikitext mode
Bug: T160733
Change-Id: I79b7c880e63675a322b2ada053819b36a175ccbe
2017-03-20 11:07:52 +00:00
David Lynch 217640624a DesktopArticleTarget: Make the waiting module list extensible
So that GlobalCssJs and other extensions can hook in.

Bug: T156899
Change-Id: I045c7b045ce28047298b28a05e77ef27749c1ee1
2017-03-16 17:48:03 -07:00
jenkins-bot 85736d5a7b Merge "Follow-up eb8ba26a: Make MWNoticesTool#setNotices() display its own popup" 2017-03-16 20:14:05 +00:00
Ed Sanders 12c73bc01f Update VE core submodule to master (ef5dc965f)
New changes:
4b94f212e Add tool to change directionality of document view

Bug: T153356
Depends-On: I1e3d89e8250b75d0b6992cf4664e84de66d99bc0
Change-Id: Ic832cc661a0899b1668eb650fb09b66ada54d1ef
2017-03-16 12:42:42 -07:00
James D. Forrester ec5590418e Follow-up eb8ba26a: Make MWNoticesTool#setNotices() display its own popup
Running setNotices( [] ) makes MWNoticesTool run this.destroy() to avoid taking
up extra space in the toolbar when not needed.

Also, make setNotices() bail earlier.

Change-Id: I492fd59a1e15e8f296bf7f03d9b0035c40dafa59
2017-03-16 11:29:34 -07:00
David Lynch eb8ba26adf DesktopArticleTarget: Only try to show notices if some exist
This avoids an OOui deprecation warning for trying to toggle a popup which
isn't connected to anything.

Bug: T160161
Change-Id: I9ad97785f0de4ecf81d189985459689644e25923
2017-03-16 11:35:10 -05:00
James D. Forrester c07a6df74c Don't load VE or NWE on lint-targetted pages (until that works)
Bug: T160102
Change-Id: Ibb364ff2d89975d5907fa887cca666eee6e78d37
2017-03-15 14:23:17 -07:00
David Lynch 4864189781 DesktopArticleTarget: Discard edit summary when canceling an edit
Bug: T160130
Change-Id: I2a631b63c3f90bcd60a81312ee031f90dcbf6586
2017-03-14 10:53:21 -05:00
David Lynch 05e2a3119e ArticleTarget: Improve edit summary behavior when switching
Distinguish between the initial summary state, and a value stored from the
summary when switching modes. This lets us avoid overwriting a stored value
when section-editing, or assuming a stored value after a switch was never
edited.

Bug: T159686
Change-Id: Ie7640538140a14bbafd539b3a45928f5c55cf804
2017-03-09 14:23:36 -06:00
David Lynch d6c71632ef Switching modes created an infinite loop onBeforeUnload
Switching from visual to source reruns setupUnloadHandlers, which caused an
infinite loop where it thought it was its own fallback pre-existing handler.

Bug: T153346
Change-Id: I8df55a5395ede02fc34ec47a94f2c780dc08595f
2017-03-08 11:32:03 -06:00
jenkins-bot 5aba0ee22b Merge "Improve NWE new section styles" 2017-03-03 18:06:04 +00:00
Ed Sanders 06fa5166c7 Improve NWE new section styles
* Use <h2> for TextInputWidget to avoid duplicating skin styles
* Fix placeholder colour and font

Change-Id: I36c0b79ec9cbf3fa2ead0541ef5bac4a14a8781b
2017-03-03 11:59:06 +00:00
David Lynch 6cb6933e67 DesktopArticleTarget: Correctly bind section link handler
Since December, the handler now expects to be passed the mode we're switching
to. Since we're filtering for just the edit link and not edit source, we can
hardcode 'visual' here.

Bug: T159374
Change-Id: I160045dd59ff1b4c2d180dbbe37280a1839886df
2017-03-02 11:43:11 -06:00
Ed Sanders e163a09105 Use more specific event name for switching editor from the toolbar
As we are in the global toolbar event namespace, 'switch' could
mean anything.

Change-Id: I66751faa249710af634ed0fd0c2f2a0bcd872db3
2017-02-28 23:07:54 +00:00
Ed Sanders 109a136bd6 Use pencil icon for editor switcher dropdown
Pencil is the icon we use for 'edit' elsewhere in the UI.
Use the eye icon for the VE tool to specify 'visual'.

Bug: T116417
Change-Id: I12b6bab2a52758685abde04579b274a32d651174
2017-02-28 22:59:51 +00:00
Ed Sanders b3989e4f07 Move switching methods to ArticleTarget and fix in mobile
Change-Id: I7796dab5d2a24f9719870abf383925442b787612
2017-02-28 11:47:35 -08:00
Ed Sanders b3cfca5401 MobileArticleTarget: Don't explicitly set menu indicator
It is now inferred from toolbar position.

Change-Id: I9e3ac28aee74599b4b35ac2f870dca2556efb027
2017-02-28 10:37:30 -08:00
jenkins-bot 2e2a5e452c Merge "Use list tool group for editor switching" 2017-02-28 18:33:44 +00:00
Ed Sanders cb60db4c7f Use list tool group for editor switching
Bug: T116417
Change-Id: Iadf5a81e2733ab81fe25c686dcd6dad8eac3885c
2017-02-28 15:06:48 +00:00
Ed Sanders a3433e67fd Move modules loaded from DAT.init/TargetLoader to ResourceLoader
This will make it easier for third parties to load the required
modules for an article-like target.

Also cleanup mobileArticleTarget to better match desktopArticleTarget.

Change-Id: Idb75e2bd99d8cf2c298e101cf92e8af4f85f5ad5
2017-02-27 16:48:56 +00:00
David Lynch b1d68872b0 DesktopArticleTarget.init: Don't hardcode single-tab accesskey
Bug: T156141
Change-Id: I1312283437714bf338a8ee3cf63e93ac67db1c45
2017-02-14 11:24:50 -06:00
Ed Sanders 6bd650d50a Check for 'veaction' when clicking section edit links
Such as in the 'add topic' link.

Bug: T157104
Change-Id: Ide2d4cf8c23a5d0db24456d15b4312f7c0a5f922
2017-02-08 17:48:04 +00:00
Ed Sanders 7a058a4de8 Remove explicit toolbar indicator definitions
These are now computed upstream based on position of toolbar.

The menu tool now needs its indicator explicitly hidden.

Change-Id: Id2280f70553e1e45f3a42af45684c5808797925c
2017-02-04 10:25:37 +00:00
WMDE-Fisch a0af0b0529 Disable VisualEditor in the TwoColConflict extension
As for the Translate extension this will read a global set by the
TwoColConflict extension to disable the VisualEditor and its hooks
on the modified edit conflict page there.

Bug: T156251
Change-Id: I164d1546c9d98d8715650e13c63a01d06c76315d
2017-01-30 14:06:59 +01:00
Ed Sanders 1df022a6d6 Ignore section edit links when no action present
BUg: T156282
Change-Id: If3d039da36db946dcbba123d3cdc4e99c45f6a4e
2017-01-25 18:13:56 +00:00
Ed Sanders 171286c120 Fix typo in target config
Change-Id: I5815ce5b0e05ce166e02bfcced520e3770f5453d
2017-01-20 23:15:23 +00:00
Ed Sanders f58d00b110 Move #getWikitextFragment up to ArticleTarget
Change-Id: Ice4b04db4a45c07ccffc3892e6db5d814c2ec37b
2017-01-20 23:15:17 +00:00
Ed Sanders 1ae5c13cb9 Update VE core submodule to master (f0dcedb)
New changes:
5b448fa [BREAKING CHANGE] Merge Mobile/DesktopSurface into Surface
2d8959b Localisation updates from https://translatewiki.net.
7eee772 Follow-up 2d8959b: Fix build for added language 'io'
f0dcedb ve.dm.TableMatrix: Really indent ASCII-art comments

Change-Id: I62708f7caeb03b16cd318aab0b0ee3c674e75a26
2017-01-20 14:35:39 -08:00
Ed Sanders 889ffc0efc DesktopArticleTarget: Prevent infinite while loop if $content is empty
Change-Id: I629b2c3f1a4af3441764db7d1d0a7cec96181396
2017-01-11 18:29:16 +00:00
jenkins-bot 09829ae7b4 Merge "MWMetaDialog: Move categories to the top as they're used most" 2017-01-07 14:56:56 +00:00
jenkins-bot 4d64196fcb Merge "Fix loadFail parameter handling" 2017-01-04 22:46:27 +00:00
jenkins-bot e91f8f913e Merge "Allow 'T-' prefixed sections, and redirect if section link title isn't current page" 2017-01-04 22:38:34 +00:00
Alex Monk 1bcaa9056c Fix loadFail parameter handling
Rename them while we're at it.

Bug: T151278
Bug: T152429
Change-Id: I435ac148007db87da69e8cf48568fafa646abb71
2017-01-04 22:31:08 +00:00
James D. Forrester 6795430831 MWMetaDialog: Move categories to the top as they're used most
Bug: T74399
Change-Id: I696d8484ed00c92340f178d5c9dcfe978998dce0
2017-01-04 11:18:00 -08:00
Ed Sanders 808de2acea Add "templates used" page to meta dialog
Bug: T149009
Depends-On: Id617f9afbddf094140133f9659efc4b4e746148c
Change-Id: I63e663d05aefb47274f1f28bdcafc5317c2fc4f6
2017-01-04 18:30:11 +01:00
Ed Sanders b7dd6077b8 Allow 'T-' prefixed sections, and redirect if section link title isn't current page
Bug: T153176
Change-Id: Ic6fda78d00715777df4a273e7d3e150f20185185
2017-01-04 16:53:03 +00:00
jenkins-bot 1ac5ede187 Merge "Don't try to JSON stringify load error messages that are already strings" 2017-01-03 20:22:50 +00:00
jenkins-bot 4abdf21413 Merge "Also allow opening in source mode if VE is unavailable on action=edit" 2017-01-03 20:19:09 +00:00
jenkins-bot a973528d67 Merge "Don't block VE/NWE from loading if 'editintro' is specified" 2017-01-03 20:13:29 +00:00
jenkins-bot 945d3d4cbc Merge "After saving a specific section, scroll to it" 2017-01-03 18:49:19 +00:00
Alex Monk 5c2773539e After saving a specific section, scroll to it
Bug: T153297
Change-Id: I233e5226abc44d5d0bf8e56957a133d595e7be6f
2017-01-03 18:38:55 +00:00
jenkins-bot f439843964 Merge "Factor out preferred editor check" 2017-01-03 17:50:42 +00:00
jenkins-bot f89a6a3880 Merge "build: Bump file copyright notices for 2017" 2017-01-03 17:11:04 +00:00
jenkins-bot 24d26f5e19 Merge "Move translate extension hack up to 'isAvailable'" 2017-01-03 17:04:11 +00:00
jenkins-bot 7c790f8d12 Merge "Use preferred number casting method" 2017-01-03 17:04:10 +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 fe85ee1ba6 Don't block VE/NWE from loading if 'editintro' is specified
Later we should actually show the edit intro, but that is a
separate issue (T56029).

Bug: T153481
Change-Id: I97622a3d86b975866305aaa745bac51f6b55f217
2016-12-31 15:22:11 +00:00
Ed Sanders 9eebfbcac5 Fix NWE-only edit tab
Change-Id: I5d08e30f43fbe08eb8809692728a8ab37f3a1491
2016-12-30 16:42:54 +00:00
Ed Sanders 3f47aec20b Use preferred number casting method
Change-Id: I77215f2bdb6eb055375e5b803d23b6f26df2d8d1
2016-12-29 20:33:15 +00:00
Alex Monk 4af862e6d3 Also allow opening in source mode if VE is unavailable on action=edit
Bug: T153508
Change-Id: I5678d3b417c93707edc90bbb76ce4dafcd2098c6
2016-12-29 20:32:58 +00:00
Ed Sanders c963b73e71 Factor out preferred editor check
Change-Id: Ic2e2e2e1d24dba8854315dff068ea9ce5d409c5a
2016-12-29 20:17:55 +00:00
Ed Sanders 7de023caee Allow switching between 'edit source' and 'add topic'
Also between section editing and full page editing
by clicking on 'edit source'.

Change-Id: I9165a7ad4ac2a588a09532c7181ba72b6fd2f811
2016-12-29 15:48:38 +00:00
Ed Sanders 827d4185c4 Move translate extension hack up to 'isAvailable'
All modes of VE should be disabled on these pages.

Bug: T153445
Change-Id: I5adfae940ee35c5ee6712e620a0ddda967a542ad
2016-12-27 13:56:10 +00:00
jenkins-bot d5f66e4fe9 Merge "Preserve checkbox data when switching from VE to NWE" 2016-12-22 12:37:37 +00:00
Ed Sanders aee5e665f1 Preserve checkbox data when switching from VE to NWE
Bug: T153889
Change-Id: Ifc41ea9320c9f2627efff6f33d4ad87c59fad496
2016-12-21 22:35:52 +00:00
Alex Monk 101b0ff45c Don't try to JSON stringify load error messages that are already strings
Change-Id: Ib180c3ac7eb62d351e05153defd6330c3397c478
2016-12-21 04:00:05 +01:00
Bartosz Dziewoński 72569159b8 Add comments in some places where we really want to treat messages as HTML
Change-Id: I439338dabd4b031ed1c4cfc9d89af5a6f2971676
2016-12-20 10:50:15 +00:00
Alex Monk 96b8d35bff Wrap localStorage.getItem calls in try { ... } catch () {}
Bug: T153291
Change-Id: Ic4f8c390bfe6936bd182b28b1f2c6d19bf459eba
2016-12-15 23:08:30 +00:00
jenkins-bot ee2cb3048d Merge "DesktopArticleTarget: Generate the original page title if needed" 2016-12-15 16:50:47 +00:00
Ed Sanders 17a164363b Properly clear this.section when switching from VE
Bug: T153276
Change-Id: Idc251c73c03bf87b6e6ca716be98b38d4fb68c5e
2016-12-15 01:34:30 +00:00
Ed Sanders 856d480f7d Follow-up Ic1f1de26: Fix typo in edit tab selector
Change-Id: I0ac685f1d942a7d40c6926b8ae8d751db04e1474
2016-12-14 17:35:09 +00:00
jenkins-bot 593474912f Merge "Fix logic for create accesskey=v, and bind to onEditTabClick" 2016-12-14 01:30:17 +00:00
David Lynch b1aed096cb DesktopArticleTarget: Generate the original page title if needed
When switching from the old wikitext editor to VE, we stored "editing..." as
the original page title. Then restored that when saving / switching to "read".
Instead, detect if we're on top of the classic editor, and use the pagename
message to make a plausibly-correct title.

Bug: T126077
Change-Id: Ib0289de71c3ae947ca0a3e45fe1e620378689c35
2016-12-13 19:28:15 -06:00
jenkins-bot 16c5d489fc Merge "Don't restore scroll position when doing real section editing (NWE)" 2016-12-13 16:33:16 +00:00
Ed Sanders db447733b0 Fix logic for create accesskey=v, and bind to onEditTabClick
Change-Id: I69020652f2946626c443ef5b724cf92e7905f247
2016-12-13 16:06:57 +00:00
Ed Sanders d2ea716902 Don't restore scroll position when doing real section editing (NWE)
Bug: T152946
Change-Id: I969a8edd4f23bbe6c73855aac059df732102c560
2016-12-13 15:44:54 +00:00
Ed Sanders 69c0fb189a Fix action=editsource URL rewriting
Always look for links unless the only tab is VE.

Bug: T153054
Change-Id: Ic1f1de26fb77098fe62f6263a25c8a40de0e09a7
2016-12-13 15:36:34 +00:00
Ed Sanders 1f3bb5c9e5 Add section= param to URL after loading target
This wasn't such a big deal in VE because we load the full
page anyway, but in NWE it is more annoying if you reload the
page and are dumped in a different edit area.

Change-Id: If49569cbe1a2759d8cbbd7ee42dd1b88da39a946
2016-12-13 15:31:57 +00:00
jenkins-bot a962e7de3b Merge "Support section=new in NWE" 2016-12-13 13:55:33 +00:00
Ed Sanders 5a8106773c Support section=new in NWE
Bug: T150709
Change-Id: I1002b97060d642df0988da15860a36c13712bade
2016-12-13 12:20:55 +00:00
Ed Sanders 2d645d1631 Use Surface#setDisabled instead of deprecated #disable
Change-Id: Idf998ddc0b95efbf6befbcfa493c42b4c3ba1bfc
2016-12-10 20:03:07 +00:00
Ed Sanders d555b5ba33 Cleanup handling of 'section' param
Provide a common function to parsing, and always pass
section to the target, instead of having the target
re-compute it itself.

Change-Id: If9fc24ffa51507cd969fa1b4dfc1519a0b50a572
2016-12-08 20:24:19 +00:00
Ed Sanders cd87e7483b Expand dummy surface to be at least valid
Change-Id: I3888dd2f72858bbe79c61fa4a6f7967f21c5cb7c
2016-12-08 19:36:57 +00:00
David Lynch d720041fd7 DesktopArticleTarget: clear out originalCategories when they're updated
Bug: T152571
Change-Id: I41b5d5aeea0a01cf922924fa1320369d54fef8cf
2016-12-07 09:48:26 -06:00
David Lynch af8aad0483 DesktopArticleTarget: Rebuild the category links when they're edited
This has to go to the API, because it's skinnable. Also, separates out a few
of the initial page setup functions so they can be re-applied to the new
content inserted.

Bug: T151651
Change-Id: I8d5a6504edc2e0486a0b4f016d8ee6d9a6228de9
2016-12-06 11:28:08 -06:00
Ed Sanders aa7dba9bdb Follow-up Ifaf6a2607: Display correct message when switching
Use new mode, not old mode for choosing switch message.

Change-Id: I1ad0913b4a23fd6fbf5cdeb07d1a58ec72398d57
2016-12-04 15:51:57 +00: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
jenkins-bot e3c0a05b84 Merge "Prevent endless error loop if falling back to wikitext (after a load failure) fails." 2016-12-01 23:17:42 +00:00
Ed Sanders 218742d806 Update VE core submodule to master (ae30d71)
New changes:
f58ddea DiffElement: Use document slices with full internal lists
83800c0 DebugBar: Remove hard-coded i18n
b4f89e1 Update OOjs UI to v0.18.1
40c7bf6 Factor out active node functionality from SectionNode for captions
2d967be Move 'mode' property to surface, rename target property to 'defaultMode'
5d8c214 wrapAllNodes in sourcefragment
dd3d9e5 Refactor ve.dm.Transaction
9d61aca Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
df4f72a Make table caption node an active node
b79f72d Core source mode
7533ac4 Localisation updates from https://translatewiki.net.
ae30d71 SourceSurfaceFragment: Check range is not collapsed

Local changes:
Get edit mode from surface where possible

Depends-On: Iec758c1892d518ad4bc2c0d1aaf6ca00fa354323
Change-Id: Ifaf6a26078b2731b374aaad2cb40c08928de9c84
2016-12-01 10:40:01 -08:00
jenkins-bot 3d8a749cf2 Merge "init: Initialise 'active' property in mw.Target instead of subclass" 2016-11-22 23:35:10 +00:00
jenkins-bot 8370b98e3f Merge "Move around code that sets up edit notices to ensure it runs after we receive the notices to display" 2016-11-22 23:27:26 +00:00
Alex Monk 16e294fba7 Move around code that sets up edit notices to ensure it runs after we receive the notices to display
Bug: T151236
Change-Id: I63ab27cb236169f300295b2ed4c88e01048092e7
2016-11-22 19:16:09 +00:00
Timo Tijhof cde3d2a7f8 init: Initialise 'active' property in mw.Target instead of subclass
This is set to 'true' in mw.Target#setupSurface(), but not initialised or
used there in that class.

It was previous initialised in an indirect subclass (DesktopArticleTarget).
Move this to the parent class instead for clarity.

Change-Id: Ie3e12d254aa4b689fdce64620e110164311bc60a
2016-11-21 18:06:52 -08:00
Ed Sanders 7f2d5b5bee Don't re-bind edit tab in DAT when using SET
In SET the tab's events are already bound in DAT.init.

Bug: T151258
Change-Id: I04529dbdea2d2ff5e52b0f11035a4ac11946617b
2016-11-21 22:09:26 +00:00
Ed Sanders e1a887ccf8 Migrate DesktopWikitextArticleTarget code upstream
Change-Id: Icca4715411737a561302b44b127d91d117e7e29b
2016-11-20 02:52:14 +00:00
Alex Monk 86719eb90f Prevent endless error loop if falling back to wikitext (after a load failure) fails.
Change-Id: Id48fa13a33aee9fabf857d20a75d26463c329f44
2016-11-16 18:52:26 +00:00
Ed Sanders ff4761bbd9 Fix handling of failure to load visual mode
Reject the activating deferred making handleLoadFailure
redundant.

Fix logic for switching back to OWE aware of NWE.

Change-Id: I328fc944bb6b9152752742fe35c56b95e3255b88
2016-11-15 12:44:38 +00:00
Ed Sanders b4ff55a38c Always set mode when activating the target
Otherwise if the target was already loaded the mode will
not be changed, which can cause the wrong editor to load
in multi edit tab mode.

Change-Id: I64071dfdfc8511cce51bda20b9c62d7fc126c528
2016-11-15 12:44:38 +00:00
Ed Sanders 521c3c8436 Pass isModified when switching from VE to NWE
Bug: T150707
Change-Id: I9ae525aa7a5883bb45f91262db8abc082983ee1b
2016-11-14 23:05:21 +00:00
jenkins-bot 0c1eff31ef Merge "Teardown the toolbar properly" 2016-11-14 17:26:54 +00:00
Ed Sanders f2e0b408b4 Teardown the toolbar properly
Depends-On: I53a86bf5e0322dc9766ae4ddf31ff0ae5568df7e
Change-Id: If9cc876a57272679584ebc653cf2ee8e17ddb821
2016-11-12 14:28:11 +00:00
jenkins-bot cf3c972a3a Merge "Move NWE URL changes into JS" 2016-11-12 00:02:50 +00:00
Ed Sanders b1b6f9836e Remove redundant narrow-threshold calculation
This is done upstream in OOUI.

Change-Id: Icc0e535f9d1113a14d2c1cc275efebbc98e3a38c
2016-11-11 18:54:30 +00:00
Alex Monk 807cb6b54e Move NWE URL changes into JS
Bug: T148077
Change-Id: Ic9b94184a48026254cf4a0a812fe6fc8455841b5
2016-11-11 18:31:22 +00:00
Ed Sanders 6f8e0d9699 Replace confirm with OO.ui.confirm
Also enable no-alert eslint rule to prevent alert/confirm/prompt
being used in the future.

Change-Id: I2851e1f58c1861f75dbb20192e5cf6c343da75db
2016-11-11 13:13:58 +00:00
James D. Forrester 26e7267f02 ArticleTarget: Use an OOUI MessageDialog, not window.alert()
We should avoid using alert()s as much as possible due to their unhealthy
interaction patterns with any other open tabs or user tasks.

Change-Id: Ib6a217c988322ad17bc7e649c3281eb053b54bbc
2016-11-10 12:55:49 -08:00
jenkins-bot 28787b0f3c Merge "Rename methods used for setting up multiple edit tabs" 2016-11-09 00:45:01 +00:00
jenkins-bot 45a75047fa Merge "Move save dialog checkbox code up from DAT into ArticleTarget" 2016-11-08 17:14:45 +00:00
jenkins-bot efb4133119 Merge "Use onEditTabClick handler in SingleEditTab" 2016-11-08 17:10:06 +00:00
Ed Sanders 55fcded32e Replace non-standard whitespace in comments
This is required to pass eslint:recommended.

Change-Id: If8c4876a366e5c021c414e54328ed1913b679969
2016-11-08 14:15:12 +00:00
Ed Sanders 2fa4cfef16 Rename methods used for setting up multiple edit tabs
Change-Id: I71d6dd0848e9cc3ee8531b0b914c29219b4697bd
2016-11-08 12:47:30 +00:00
Ed Sanders f6a205d77f Use onEditTabClick handler in SingleEditTab
Gives us extra functionality like  checking for
isUnmodifiedLeftClick which makes CTRL+click on SET
not change the current page, as expected.

Change-Id: Icb37d7383374ee63798443659a2bcb2f1545c8c5
2016-11-08 12:39:15 +00:00
Alex Monk e81c6e5b43 Move save dialog checkbox code up from DAT into ArticleTarget
So it applies to MobileArticleTarget.

This shows the checkboxes on mobile.

Bug: T148914
Change-Id: Ib6559d5601004e58b72903805059e04f42acc85f
2016-11-05 06:24:49 +00:00
Alex Monk 7c80976f5b Remove 'vesection' parameter
Just use the normal section parameter, haven't been able to figure out why VE
would need to be special about that.

Bug: T149958
Change-Id: I9338d0f1498fbb579fa8c340d6e7274c6d48155b
2016-11-05 02:08:13 +00:00
jenkins-bot b6d3dabfbf Merge "Add binding for when only tab is new wikitext editor" 2016-11-02 21:36:21 +00:00
jenkins-bot 65236ae67f Merge "Try to make client and server code to get last editor work the same" 2016-11-02 20:07:07 +00:00
jenkins-bot 254e77a296 Merge "Set section to null when switching from NWE to VE" 2016-11-02 19:45:14 +00:00
Ed Sanders 3fb757c307 Add binding for when only tab is new wikitext editor
Bug: T149796
Change-Id: I675c5876fbb9ca8427983e9d4252cccda35775f9
2016-11-02 19:10:28 +00:00
Ed Sanders 56679dfb35 Set section to null when switching from NWE to VE
This prevents the discard warning from being shown if the user
switches back to NWE then back to VE, as by this point they
have left section editing.

Change-Id: I734684c54a8900aab3332ed8421cb42f7f845738
2016-11-02 15:53:29 +00:00
Ed Sanders 7db58ab3d8 Fix binding of onEditTabClick to section links in SET
Bug: T149797
Change-Id: I0f753718ccddb9c2b68cdc82ff379bd59d7006ad
2016-11-02 15:50:30 +00:00
Ed Sanders e655880d14 eslint: Remove unused exception and fix documentation errors
Don't enable valid-jsdoc yet though, due to @chainable bug.

Change-Id: I4d2a6de19c72c6e4c20733446616d8046419d431
2016-10-28 12:02:36 -07: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
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
Ed Sanders fad3b429c8 Make meta dialog tools visibile but disabled in NWE
Following our unwritten rule of trying to keep the interface
as consistent as possible.

Change-Id: I58668acb5bac12de73b7b8f52e670f68336c399f
2016-10-27 14:48:51 -07:00
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