Commit graph

2390 commits

Author SHA1 Message Date
David Lynch 09a315ca69 mw.DesktopArticleTarget: remove action=edit when tearing down as single-tab
aeb4f2f2b7 added a #wpTextbox1 to the wikitext surface, which confused our
existing teardown check. This confusion only became apparent in single-tab
mode, when using the wikitext editor.

Bug: T197615
Change-Id: I98e64e7135aaf6f8fda441a91e6cbc4bac6cea39
2018-06-25 11:55:51 -05:00
jenkins-bot 1a0ea50bd6 Merge "If VE was opened on action=edit URL, redirect to view URL when closing" 2018-06-25 16:50:25 +00:00
jenkins-bot 5d9f90ea46 Merge "Follow-up I213bd946f: Correct URL of Parsoid HTML profile" 2018-06-22 17:49:17 +00:00
C. Scott Ananian 83918e735a Follow-up I213bd946f: Correct URL of Parsoid HTML profile
The URL for the HTML profile used by Parsoid changed after 1.2.x, but
it was never updated in VE.

Change-Id: Id4ab8567dc907b71e790a04ab10044c1e081c8ce
2018-06-22 10:27:00 -07:00
Bartosz Dziewoński 37e349913e If VE was opened on action=edit URL, redirect to view URL when closing
We already do it after save, but not if the editor is closed without
saving.

This behavior is a bit awkward for non-existent pages (redlinks),
since MediaWiki normally doesn't display them in view mode (all links
point to action=edit). But this seems less weird than not allowing the
editor to be closed.

Bug: T122388
Bug: T168338
Change-Id: Id9ee41356f011dfbfa6e8744b8d9076f8eacaf39
2018-06-22 01:10:11 +02:00
jenkins-bot fbb83cc391 Merge "Update VE to request Parsoid HTML v1.7.0" 2018-06-21 22:31:25 +00:00
C. Scott Ananian a13b8ae178 Update VE to request Parsoid HTML v1.7.0
The seasons change, and so do Parsoid HTML specifications...

Change-Id: I213bd946f6f1547f76a4ea352c7cb083ebadd602
2018-06-21 16:41:02 -04:00
Ed Sanders efcea82c9c Follow-up I348b8522: Fix context variable
Bug: T197762
Change-Id: Ife163e1666ec43ecbb21099a9342960615c573d8
2018-06-20 19:50:39 +01:00
Ed Sanders 534b3d66cb Update VE core submodule to master (a1fd90540)
New changes:
71baf1c02 Create an 'htmlMsg' function for HTML messages with HTML or DOM arguments
9a7af223e Use ve.htmlMsg to highlight values in attribute changes
a1fd90540 DiffElement: Refactor describeChanges tests

Local changes:
Implement getHtmlMessage in mw.Platform and use for DiffElement

Bug: T195243
Depends-On: Ib4ad16858e4241d33d018830dbcfded63ff703af
Change-Id: Ib5fa39e4f2f529948354b03a141542e23d169fe0
2018-06-20 12:53:43 +02:00
David Lynch 814e26f1e9 DesktopArticleTarget: view click handler should only run for active target
Not checking this results in handlers blocking click actions for "read" after
the teardown of the target.

Bug: T197445
Change-Id: I3a962c66c82a0e48ca54bf2f0b822a9a005da54c
2018-06-18 20:45:52 -05:00
jenkins-bot 96c1836248 Merge "ve.init.mw.DesktopArticleTarget: Only change document title on activate" 2018-06-15 21:56:13 +00:00
Bartosz Dziewoński e484522161 ve.init.mw.DesktopArticleTarget: Only change document title on activate
Previously, we changed it on every load, which also occurs when
switching editor modes. That caused it to not be restored when editor
was closed.

Bug: T197490
Change-Id: Icb20c38309fd440553d5245d865b05145542313f
2018-06-15 22:10:25 +02:00
petarpetkovic 86615fcedc Check for normalized and converted titles in ve.init.mw.ApiResponseCache
Besides redirects, API can return from-to title pairs for normalized and
converted titles, as well.

Currently, doing an API query on eswiki for page info (prop='info' in params)
with titles='User:Title' returns normalized title 'Usuario:Title'.

processResult() method in ve.init.mw.ApiResponseCache.prototype.processQueue
sets page.title ('Usuario:Title') in cached results, and the promise for
actual queried title ('User:Title') gets rejected in rejectSubqueue() method.

Change-Id: I33fd4640b6eac8018e35c6fe21234f4c469dd97d
2018-06-15 21:27:31 +02:00
jenkins-bot 6876f6d489 Merge "Move module pre-loading from DAT.init to ArticleTarget" 2018-06-11 17:55:21 +00:00
jenkins-bot 4e17f2f131 Merge "Follow-up Ifdc951f: Don't use getLocalApi when VE not available" 2018-06-10 22:39:29 +00:00
Ed Sanders 6459de6978 Move module pre-loading from DAT.init to ArticleTarget
This makes this feature available on Mobile as well.

Change-Id: I26a2af63b3665f5563f8562f1a8e94287cad439f
2018-06-10 16:07:44 +01:00
Ed Sanders 000559c790 Minor code style fix (move semi colon)
Change-Id: I00f635203c4fc58454aefa8840f0b204e1480c53
2018-06-10 15:59:26 +01:00
Ed Sanders e88cd81f94 Follow-up Ifdc951f: Don't use getLocalApi when VE not available
These popups on used on the 2010 wikitext editor as well, so
we can't use ve.init.target.

Change-Id: I7d4e97566dde10146893089427f95c0b598ef4bc
2018-06-10 14:14:23 +01:00
jenkins-bot 5e45047fe0 Merge "Fix parsing of external links, now Parsoid adds 'external' classes" 2018-06-06 21:28:10 +00:00
Santhosh Thottingal b049a82e8d
ApiResponseCache: Add a check for data.query before accessing redirects
Follow-up: If4f8c9b6719c123b31d852eb71f06a79cc0f7917
Change-Id: I5f1814f341ce401fcb3926487a2cea276698bca0
2018-06-04 13:50:27 +05:30
Ed Sanders cb36c6ded3 Fix parsing of external links, now Parsoid adds 'external' classes
Bug: T196025
Bug: T188656
Change-Id: I89b8ba378108bde6c8db0144ed306cbc8471111b
2018-06-01 08:47:46 +00:00
Timo Tijhof 21f526bffe mw.trackSubscriber: Remove action.init.timing value
In Schema:Edit, all action timing durations (ready, loaded, saveAttempt etc.)
are defined as "time since the editor was initialised", which is internally
stored as the timestamp for the "init" action.

The 'init' action itself does not have a timing duratation, but the Edit schema
has a special case for it, definining it as "time since the page was loaded".

In actually, it isn't actually implemented as "time since the page loaded",
and I suspect that as such, this value is probably not used by EventLogging
consumers of the Edit schema. Or, it might be used, but doesn't represent
what the consumers think it does.

Presently, it uses the init time now() - mediaWikiLoadStart, which basically
means the time between the random point at which MediaWiki core JavaScript
finished executing which is quite variable in practice due to the race between
<script async> and browssing parsing/rendering of HTML. That is by design,
and is also why mediaWikiLoadStart is undocumented and internal, and actually
in the process of being removed.

After many iterations on this patch to try and approximate an alternative to
this undocumented variable, I came up with an alternative approach with DLynch
at the Hackathon, which is to simply not record this one timing value, but
preserve the behaviour of all the other timing values exactly as-is.

That is, keep the behaviour of storing `now()` as "init" when the editor
activates, and keep the behaviour of substracting "init" from all other action
times, but only don't report "init" itself to EventLogging (given its value
would be 0, which isn't useful).

Bug: T160315
Change-Id: I778234efe40dde8ff30333339335be1c3910a4e0
2018-05-31 18:27:12 +00:00
jenkins-bot 725adb2ae3 Merge "Disconnect surface model history listener when tearing down" 2018-05-31 00:23:37 +00:00
jenkins-bot 47fab2753b Merge "DesktopArticleTarget: Section-scroll as part of restoring the page" 2018-05-30 22:03:49 +00:00
jenkins-bot 083d2aa588 Merge "ApiResponseCache: Support redirects data processing" 2018-05-30 16:53:07 +00:00
Ed Sanders 4f456b143e Disconnect surface model history listener when tearing down
Bug: T195775
Change-Id: I6f6fe654dc190d7d891d3ac346bf3f4b2f426947
2018-05-28 18:30:07 +00:00
David Lynch d3824dee76 DesktopArticleTarget: Section-scroll as part of restoring the page
We were scrolling to the edited section when we saved the page, and otherwise
reverting scroll position to the top if we just abandoned the edit. This
unifies these cases, so any section-edit which leaves the editor will scroll
to the section being edited. (If section==new and the edit is abandoned, it'll
scroll to the last section on the page.)

Bug: T194631
Change-Id: Ic2aca68b3127c435545644912b96212bcfa6648d
2018-05-25 16:30:22 -05:00
Santhosh Thottingal 27d0634abf
ApiResponseCache: Support redirects data processing
If the mediawiki Api pass redirects as true, the response will have
redirect data. ApiResponseCache ignores it now. This commit adds
support for processing that and set in the cache.

Change-Id: If4f8c9b6719c123b31d852eb71f06a79cc0f7917
2018-05-25 12:06:09 +05:30
jenkins-bot c52be40555 Merge "MobileArticleTarget: Include placeholder for references" 2018-05-24 17:30:48 +00:00
David Lynch 4d5fc16a9a MobileArticleTarget: Include placeholder for references
Cite's a08febb0afa2d changed the rules for adding the Cite button to the
toolbar – it now requires a placeholder slot in the toolbar, rather than
finding the link tool and adding itself after that. As ve.init.mw.Target
was updated for this it kept working on desktop, but MobileArticleTarget
completely overrides the toolbar, and was missed.

Bug: T195191
Change-Id: I55c9de9e736bb83f5f05028f2fc07af0ad996050
2018-05-24 17:18:50 +00:00
Ed Sanders bb0d3471df Only apply toolbar negative margins on vector
This fixes toolbar placement in minerva-desktop.

Change-Id: Ifbd869cb70da9bb4db7c72ad89f696a080d18847
2018-05-22 21:25:33 +01:00
jenkins-bot ffaa4f2170 Merge "DesktopArticleTarget: on escape close toolbar dialogs first" 2018-05-20 16:55:02 +00:00
Ed Sanders f5d1f6c595 Make options actually optional as documented
Change-Id: I42bb8e594a9ea8002938e68109d11488aef8883c
2018-05-20 12:53:19 +02:00
David Lynch c76c41f3dc DesktopArticleTarget: on escape close toolbar dialogs first
Pressing escape will close toolbar dialogs (find/symbols/etc) if they're open
instead of trying to teardown the editing surface.

Bug: T190068
Change-Id: I27080649392f17344c901269029368fa0b3c2963
2018-05-19 19:29:34 +02:00
jenkins-bot a47b78e18c Merge "Update VE core submodule to master (1d341ca7d)" 2018-05-18 15:37:04 +00:00
James D. Forrester 9e52ece21f Update VE core submodule to master (1d341ca7d)
New changes:
3a6d868bf Separate (Comment/Link)InspectorTools into separate files
cb5d36e32 Localisation updates from https://translatewiki.net.
c75491b16 build: Extend 'svgmin' options and amend
ddef270d9 Genericise activeLink behaviour to any annotation
d13d44e12 Create simple comment annotation type for rebaser.
7e49a1f33 Add getters for author properties
1d341ca7d Follow-up I16942623d: Only filter inactive models if they are 'canBeActive'

Local changes:
Change .ve-ce-linkAnnotation-active > .ve-ce-linkAnnotation.ve-ce-annotation-active

Bug: T185596
Change-Id: I2a49315d01aa075373f9b5f0d8802a7e7dd4dca3
2018-05-18 17:07:28 +02:00
jenkins-bot 60ef3af0b1 Merge "Fix position of inspectors/context inside dialogs" 2018-05-18 14:55:01 +00:00
Bartosz Dziewoński dfe65db5bb Fix position of inspectors/context inside dialogs
Override #addSurface instead of #getSurfaceConfig, so that the
$overlayContainer option only applies to the "main" surface of the
Target rather than all of the surfaces (including those in
TargetWidgets).

Bug: T194433
Change-Id: I61c609e2d52814b4547fb5292a0bfb237c4c218f
2018-05-18 14:26:00 +00:00
David Lynch 150fb16008 MobileArticleTarget: fix deprecated toolbar calls
Change-Id: If7d4b52c29e9648f17eda2d62f8fcdad744f82ae
2018-05-18 15:59:15 +02:00
Ed Sanders 9b8e501333 MobileArticleTarget: Show both edit modes in edit switcher, for consistency
Change-Id: I48193db0d8282e31265e95884878eb81cbaeeedd
2018-05-16 15:20:25 +00:00
jenkins-bot 4ca3f1661d Merge "ArticleTarget: Change rendering of category preview" 2018-05-15 13:28:57 +00:00
David Lynch 5d19272aa1 ArticleTarget: Change rendering of category preview
Just generate the standard wiki skin markup for categories. Adjust linkcache to always know
whether links are hidden categories. (It previously knew *sometimes*,
depending on whether a MWCategoryWidget had interacted with that category.)

Make the save dialog preview use the same method as the bottom-of-editor preview.

Bug: T194092
Change-Id: I37fea15eaef0a5847f27ce41dd92370a4bf353b6
2018-05-13 16:40:59 -05:00
Ed Sanders 900b74e9a9 Update VE core submodule to master (14bcc9256)
New changes:
14bcc9256 Give toolbars groups names

Local changes:
Give toolbars groups names

Also create an empty placeholder group for reference tools.
This allows targets to specify if they should show them.

Depends-On: Iccaf35cf941cb47ad55e8d98373461f5eaff5fed
Change-Id: I0bace5e5fe05f9c214d57a74c478b48a7dcaec3b
2018-05-13 18:09:33 +01:00
jenkins-bot d3f3015a60 Merge "Restore CSS for diffslider lines" 2018-05-10 16:09:06 +00:00
Ed Sanders ae9560aacd Restore CSS for diffslider lines
Bug: T193839
Change-Id: If32a6be33f6c8c9f4413a81f561009214fa39df6
2018-05-10 16:38:50 +01:00
Bartosz Dziewoński 73a77b60ed ve.init.mw.DiffPage.init: Detect extra diff header rows
Bug: T193925
Change-Id: I117871bef0f1ecf1ce0ba9762047c926a1e723eb
2018-05-08 22:05:46 +02:00
jenkins-bot 6ad3c408b2 Merge "Add comment to htmlBlacklist item" 2018-05-08 16:10:27 +00:00
jenkins-bot 821e7ec828 Merge "Remove some no longer required CSS from switch popup" 2018-05-08 16:10:26 +00:00
Ed Sanders b5371c791f Add comment to htmlBlacklist item
Bug: T150418
Change-Id: I0c48ff6f187cde4c378e5aa193e62d107bc7919c
2018-05-07 21:49:34 +01:00
Ed Sanders 86fdda21c6 Remove some no longer required CSS from switch popup
Change-Id: Ic965c147b195b4546f8f1e7d36395c96597a159e
2018-05-07 21:35:24 +01:00
Ed Sanders 5974c59b97 Follow-up Ifdc951fdc: Don't use target when it doesn't exist
Change-Id: Idf546f7b1d2c12f59b5024f3365665214e4e5f49
2018-05-07 21:22:09 +01:00
jenkins-bot 7bca14c182 Merge "Add an 'api' parameter to ApiResponseCache" 2018-05-07 15:53:18 +00:00
jenkins-bot 5722a3c59f Merge "Remove references to global singleton inside LinkCache" 2018-05-07 15:53:01 +00:00
jenkins-bot 93c1f0d9b4 Merge "Create an MWSurface and move langChange handling there" 2018-05-07 15:52:08 +00:00
jenkins-bot 95d831c2de Merge "Create getters for localised APIs (getContentApi/getLocalApi)" 2018-05-07 15:51:45 +00:00
Ed Sanders b980150df4 Update link cache to use new descriptions API
Bug: T191333
Change-Id: If1e7f50208a44bda6c30ff1d6c60a085f9da74e7
2018-05-07 15:59:02 +01:00
Ed Sanders 4b00c765ff Add an 'api' parameter to ApiResponseCache
Change-Id: Ie68b70472447a4bb2c9be8ed505a91f24858059d
2018-05-07 11:53:23 +01:00
Ed Sanders 5eb89cdc51 Remove references to global singleton inside LinkCache
Use 'this' instead.

Change-Id: Ie3138f2c62ff4e4938e8ed21e79b3433d98e2737
2018-05-07 11:53:23 +01:00
Ed Sanders 8bddec44e3 Create an MWSurface and move langChange handling there
Change-Id: I8a75b5f431f454b66441fc301b90e5f28636612e
2018-05-07 11:53:23 +01:00
Ed Sanders 478b0bcbb9 Create getters for localised APIs (getContentApi/getLocalApi)
Pass through the current document when available, otherwise
assume the current surface's document.

Also add a getter for getPageName, so that can vary based
on the target document.

Bug: T193856
Change-Id: Ifdc951fdc6a43b924d102e3fcd7e59e52023757b
2018-05-05 14:32:55 +01:00
jenkins-bot 1f6cf4883d Merge "ve.init.mw.DesktopArticleTarget.init: Edit the latest revision when viewing a FlaggedRevs-stable one" 2018-05-05 01:03:04 +00:00
Bartosz Dziewoński 192a232410 ve.init.mw.DesktopArticleTarget.init: Edit the latest revision when viewing a FlaggedRevs-stable one
When the user is viewing the last stable revision of a page which has
newer unreviewed revisions, FlaggedRevs wants us to open the latest
(unreviewed) revision of the page for editing.

Use the JS config variable 'wgFlaggedRevsEditLatestRevision', provided
by FlaggedRevs since change I4c9804fe2c4924e28770807881379ddca4fd8b76.

Also add an extra comment about loading latest revisions in general.

Bug: T165283
Depends-On: I4c9804fe2c4924e28770807881379ddca4fd8b76
Change-Id: Ic47491e690153d0ad87ce64bfc9e7a28a06fc6e2
2018-05-04 22:04:02 +00:00
David Lynch 3f91a27809 DesktopArticleTarget: track mwedit.ready even if skipping temp editor for new sections
Bug: T193206
Change-Id: I78555b84bde3d5bd14b032862e5a020121fc5c2e
2018-05-02 11:35:42 -05:00
jenkins-bot f9cac9f0ce Merge "ve.init.mw.DiffPage.init: Do not duplicate diff table header" 2018-04-30 21:26:55 +00:00
Bartosz Dziewoński 6d4a7f932e ve.init.mw.DiffPage.init: Do not duplicate diff table header
The duplicate header, especially the duplicate elements with identical
IDs, were difficult to handle for other scripts.

Now instead of hiding the entire wikitext diff, we only hide the
"content" rows but keep the header, and adjust our attributes on the
header back-and-forth when switching diff modes.

Bug: T192755
Change-Id: I3a6bb4730fefd81f533b786ec3b20241c4cb8d13
2018-04-30 19:23:16 +02:00
jenkins-bot ffac6b14dd Merge "Check link 'host' in onEditSectionLinkClick" 2018-04-30 15:17:45 +00:00
Ed Sanders f8cebb8f51 Follow-up Ib7e769e: Fix typos in static method calls
Also move desktop-only methods to DesktopArticleTarget.

Bug: T193217
Change-Id: Icc2bb6602a62057da9f841793d8fe06d9814230e
2018-04-30 11:05:43 +01:00
Ed Sanders ad170023e6 Check link 'host' in onEditSectionLinkClick
Bug: T193323
Change-Id: Id67798e5689af9d528bf29bb1b42047adaedaabd
2018-04-30 10:57:45 +01:00
Ed Sanders cddf206f5b Set surface's $overlayContainer in DesktopArticleTarget
Logically depends on Ia96b1a89dd9582303b80be85b3971cf3341cad24.

Bug: T166217
Change-Id: Icc54f87bac46d39e8c49010ed052e1db66827f06
2018-04-27 21:55:12 +00:00
jenkins-bot fd082e577b Merge "ve.init.mw.DesktopArticleTarget: Setup toolbar before section title input" 2018-04-24 16:24:42 +00:00
Bartosz Dziewoński e3378e6d77 ve.init.mw.DesktopArticleTarget: Setup toolbar before section title input
When we set up the new section title input and possibly set its value
(preloading from URL query, or from autosave), the "Save" button on
the toolbar must already exist, because we try to enable it.

Bug: T192901
Change-Id: I3bba86a8c8a9b81014d425db256ff49f06bdaea6
2018-04-24 18:11:42 +02:00
Ed Sanders 1f4baa7b58 Teardown target before reloading article
Ensures that auto-save data is cleared after
creating a new article, or restoring a revision.

Bug: T192770
Change-Id: I348b8522c1a935d7db1243ba8fcbd5b24e3383a2
2018-04-23 21:30:37 +01:00
jenkins-bot 69f0ff1016 Merge "Blacklist images with data URLs" 2018-04-17 19:48:20 +00:00
Ed Sanders 6625fc5c85 Blacklist images with data URLs
These aren't supported by VE-MW, so must just be
garbage from a browser plugin.

Bug: T192392
Change-Id: I24646244daf2847e4dee88273058658300880dfc
2018-04-17 20:10:51 +01:00
jenkins-bot 6902e81768 Merge "Use ellipsis on toolbar save/publish button" 2018-04-17 18:34:17 +00:00
jenkins-bot d325f793a9 Merge "Show revision info on historical diffs" 2018-04-17 17:36:21 +00:00
jenkins-bot 3a9ec6bcce Merge "Fix layout of welcome dialog on smaller screens" 2018-04-12 22:55:39 +00:00
Ed Sanders 62d2211aed Mobile: Hide top-level toolbar labels on narrow screens
Change-Id: I8049b935204834201d2a185d04070bbf81520d1e
2018-04-12 23:32:33 +01:00
Ed Sanders 4f448a8c96 Hide stray checkmarks on mobile toolbar
Change-Id: Iae5ad6f736197f9d88d973a51b3b04bddc101826
2018-04-12 23:22:26 +01:00
Ed Sanders 2496fcefb0 Fix layout of welcome dialog on smaller screens
Bug: T191095
Change-Id: Ic329fe22a6758fe58ec56dc3b5a293b83d9b38fb
2018-04-12 23:15:15 +01:00
Ed Sanders 3682ab070d mw.Target: Remove .protectedClasses, only used in ArticleTarget
Also fix documentation

Change-Id: I3fa93dd95c3ef47f649d3f92a38e14750a411333
2018-04-12 15:38:23 +00:00
Ed Sanders 50a2ab7418 Show revision info on historical diffs
Bug: T187614
Change-Id: Ie28d4af6443a17e2e25b2520f0e0dbf5ba4076cc
2018-04-10 20:42:06 +02:00
Ed Sanders 16211cdc09 Abstract API calls to 'parsefragment'
Change-Id: Id0be3207219a6d93cebff2b6b5061cd24898d5cb
2018-04-06 13:49:16 +01:00
jenkins-bot 459f35924c Merge "DiffPage: Remember chosen diff mode" 2018-04-04 16:34:54 +00:00
jenkins-bot 6ce963665f Merge "Move redirect building methods from DesktopArticleTarget to ArticleTarget" 2018-04-03 19:01:01 +00:00
Ed Sanders 11eaab48c8 Move redirect building methods from DesktopArticleTarget to ArticleTarget
These are not specific to desktop.

Also make the static builders static, and move VE target specific
code to caller, such as the click handler.

Change-Id: Ib7e769e3d6d339b9e66e1bc924480b0b0d5db17d
2018-04-02 17:32:24 +01:00
jenkins-bot 45afe665c1 Merge "Visual diffs in source mode section edits" 2018-04-02 16:05:34 +00:00
Ed Sanders d3e5385944 Visual diffs in source mode section edits
Bug: T190845
Change-Id: I938352eec8b49f27784c12ddea72bbe69fdd6cb2
2018-03-27 17:53:54 +01:00
David Lynch d77ea2bf16 DesktopArticleTarget: use -published message instead of -saved
Bug: T183901
Change-Id: I09f6e44f9f743f079ca5504ec06706c764ce6e25
2018-03-27 10:49:03 -05:00
James D. Forrester fe525e3bcc *Dialog: Don't set to small size, which is the default
Change-Id: I3b7a19acd0ee5112d104257bdc1e9ff0e9b4ff24
2018-03-26 15:02:11 -07:00
jenkins-bot 58f9cf7050 Merge "Autosave section title when adding new section in source mode" 2018-03-26 21:19:26 +00:00
jenkins-bot 5f8d287e12 Merge "Autosave recovery prompt" 2018-03-26 20:55:18 +00:00
jenkins-bot 44720da389 Merge "*Dialog: Drop verbose option, ignored since v0.20.0" 2018-03-26 16:18:49 +00:00
James D. Forrester 9e01553f0b *Dialog: Drop verbose option, ignored since v0.20.0
Change-Id: If0bc7946b67aaae97886e8dbd956e9338b0e0b40
2018-03-26 08:55:03 -07:00
Ed Sanders 28d8d2923e [BREAKING CHANGE] Use upstream tryTeardown instead of close in MobileArticleTarget
Change-Id: I33bcc98bc75ab049568de47faceb3f3390df5901
2018-03-26 15:32:55 +01:00
Ed Sanders 307e6c2922 Move some deactivation code from DesktopArticle to ArticleTarget
Also rename tryDeactive to tryTeardown.

Change-Id: Ie89d59a62826bcfe3d30ad04f89d3c4211cc34f4
2018-03-26 15:32:55 +01:00
David Lynch 75af29b57d DiffPage: Remember chosen diff mode
Use a new preference: visualeditor-diffmode-historical.

Bug: T189896
Change-Id: I0575cc0a86dc0683758d24c0f597834e38cf1095
2018-03-22 01:41:14 -05:00
Ed Sanders a58b529104 Autosave recovery prompt
Prompts the user before recovering if the document
has been edited since last load.

Bug: T190077
Change-Id: Ibc0e1d1342510fbca57ad599c1816918c84e5487
2018-03-21 16:23:35 -07:00
jenkins-bot 663b9f9a35 Merge "Remove special font-size treatment following-up UI unified in 14px base" 2018-03-21 21:07:16 +00:00
jenkins-bot 2c96d24c76 Merge "Avoid jQuery.parseHTML" 2018-03-20 21:44:37 +00:00
jenkins-bot 0ed47a025e Merge "Only use pre-computed measurements for position loading bar" 2018-03-20 21:44:36 +00:00
Volker E d44bb0bc1b Remove special font-size treatment following-up UI unified in 14px base
Removing `0.8em` VE special base `font-size` for UI as we're unifying
OOUI interfaces to `14px` equals to `0.875em` at user agent default size.

Bug: T97631
Depends-on: I693d168d2ccf2babbcfe8952af3e1c262aa97773
Change-Id: I84edeec38ecfb90f5d53199f3b26fc3f83ab0611
2018-03-20 20:03:19 +00:00
Ed Sanders 0f56af016d Use ellipsis on toolbar save/publish button
Bug: T189803
Depends-On: Ic29717a660de5e80ee2a37f583b2a61c11fa87c4
Change-Id: Idaf80ea7e6ae9ffa165a8638af886bf6ab21a7f0
2018-03-20 19:46:36 +00:00
jenkins-bot c20a610750 Merge "Factor out isSaveable method from updateToolbarSaveButtonState" 2018-03-20 17:26:39 +00:00
jenkins-bot ff21c17c37 Merge "Remove unnecessary attachToolbarSaveButton override" 2018-03-20 17:25:11 +00:00
jenkins-bot e23dd5fb6d Merge "Make gallery dialog work with native gallery implementation" 2018-03-19 23:39:00 +00:00
Thalia 12cc56400b Make gallery dialog work with native gallery implementation
Updates the model and re-renders the gallery.

Bug: T150621
Bug: T149602
Bug: T149596
Change-Id: I1e93c3af02eeeff1fcdaa5549cccc61ea755ee04
2018-03-19 23:55:17 +01:00
Ed Sanders b80075a5e4 Avoid jQuery.parseHTML
Change-Id: Iaf5cbe27b8883d6e4c468a3b4dae11438d264894
2018-03-16 15:43:03 +00:00
Ed Sanders a1dffa2dd7 Only use pre-computed measurements for position loading bar
Change-Id: I5fc17a432de8030a6154c4e961ac10c73f391a79
2018-03-16 15:39:21 +00:00
Bartosz Dziewoński 13d77ba557 Remember 'checkboxesMessages' when storing document state
Bug: T188796
Change-Id: I4785fe2fb7df774735c1bd48c222540a0286dd44
2018-03-16 01:14:29 +01:00
jenkins-bot 1d227935d9 Merge "Autosave: only try to remove autosave on teardown if the surface exists" 2018-03-14 19:17:30 +00:00
jenkins-bot 79f27a5447 Merge "Clear VE autosave whenever WikiEditor is loaded" 2018-03-14 18:25:48 +00:00
jenkins-bot 3c861d7ed1 Merge "Clear auto-save when switching to fallback wikitext editor" 2018-03-14 17:55:44 +00:00
David Lynch 9762b096c8 Autosave: only try to remove autosave on teardown if the surface exists
It's possible for some load failure states to cause this teardown at a point
without a surface. I observed it in MobileFrontend, when restbase can't be
contacted.

Change-Id: I13489640759c73dad5730d0bbadbfb2a38cb8e53
2018-03-14 11:53:10 -05:00
Ed Sanders e0419f8388 Autosave section title when adding new section in source mode
Change-Id: Idcbe2f12e3eb0bb85e2c986885bd8084b16dbe5b
2018-03-12 12:25:12 +00:00
Ed Sanders e78379a395 Attach deactivate code to namespace tab ('Main'/'Article')
Bug: T189380
Change-Id: I9f05722b9a1c740f9f982d9c5690d48046f19fdd
2018-03-10 19:07:11 +00:00
Ed Sanders c3c3c60f1f Clear VE autosave whenever WikiEditor is loaded
Bug: T189381
Change-Id: I21a76dc32327d6c6e72a793d9b579cb7b6a5e32e
2018-03-10 18:34:17 +00:00
Ed Sanders ec6d9b235a Clear auto-save when switching to fallback wikitext editor
Bug: T189381
Change-Id: Id89fa2a673ad8aef3826c0ef862770bf522bbdcf
2018-03-10 18:04:44 +00:00
Ed Sanders 9678cdc7c8 Factor out isSaveable method from updateToolbarSaveButtonState
Change-Id: Ic1922ed26bae26a76e8149d48f3fb27fa9ba4330
2018-03-10 16:20:30 +00:00
Ed Sanders 8b208c80d5 Remove unnecessary attachToolbarSaveButton override
It's identical to the code inherited form ArticleTarget.

Change-Id: I7fe7a48b0614f2ac2665ece042bb95a6f77303ad
2018-03-10 16:20:30 +00:00
jenkins-bot 04e5f6f208 Merge "LinkCache: styleParsoidElements find mw:WikiLink with ~=" 2018-03-09 21:44:52 +00:00
jenkins-bot 8e79d85583 Merge "Blacklist Web of Trust junk from being added to pages" 2018-03-08 00:33:48 +00:00
David Lynch f8c5608caf LinkCache: styleParsoidElements find mw:WikiLink with ~=
`noopener` being added to the rel caused issues.

Bug: T189175
Change-Id: I33a456351ab025d0c81cfb1a1577d5a2ae9df51a
2018-03-08 00:14:16 +00:00
Bartosz Dziewoński b05ac142c6 Blacklist Web of Trust junk from being added to pages
Bug: T189148
Change-Id: Icc4b2d0ddf5104e26a3f563816f6f971d71e2531
2018-03-07 22:12:43 +01:00
Ed Sanders 045f3b7640 Follow-up I5357a909: Fix logic for autosave from edited state
Bug: T189071
Change-Id: I5439a73ffcf26795f58625720b1f1667ee3965cc
2018-03-07 18:43:28 +00:00
David Lynch 795b428477 MWNumberedExternalLinkNode: set an explicit type
This lets copy-paste between documents retain the numbered status rather than
falling back on pasting "<a>[3]</a>".

Update the part of LinkCache which selects on mw:ExtLink, so it will handle
possible multiple values in the link rel.

Bug: T188429
Change-Id: Ia5e4c9fa45e94da9cbfcd2a42d017d0fda1c511f
2018-03-05 11:59:41 -06:00
Ed Sanders 4c759e2587 autosave: Handle switched document with no transactions
Always store immediately if fromEditedState is true. Also
now that we only store if there is state to recover, remove
the check for transactions before deciding to show the notification.

Change-Id: I5357a9098b91e303f5c71881ea03a080d2969fff
2018-03-04 23:40:24 +00:00
Ed Sanders 007bb6fa09 Refactor diffpage init
Avoid re-rendering the diff if it hasn't changed.

Change-Id: Icbc8eb58625cf7c5485d0045e26993a170016309
2018-03-04 14:45:33 +00:00
Ed Sanders c8d0f62095 fetchSpecialCharList: Set directionality
Specifically, set arabic(extended) and hebrew to 'rtl'.

Logically depends on I14abd3e0c0d23f79aa01d96c216eea913024b4c8
to set the dir attribute in UI.

Bug: T56310
Change-Id: I1c7e28d3d2f20ca84115be6d49650cd9a81d78dd
2018-03-01 23:22:45 +00:00
Ed Sanders 11ac2736a1 autosave: Don't store initial document state until first change
1. It wastes valuable time during setup.
2. If a user reloads the page without making changes we
   should give them the latest html from the server to
   minimise the chance of an edit conflict.

Change-Id: I9a1f8cfd65ef2552fe2c3d6d2bbf975851b52003
2018-03-01 18:25:10 +00:00
Ed Sanders 90b6a1b5cf Clarify autosave comment
Change-Id: I0bdaf989886be8537ea45237ceea88a5cca11fc1
2018-02-28 14:36:58 +00:00
Ed Sanders 19d9e9eb98 Tag TODO comments with bug number
Change-Id: I965e8d4bed4fdfa24738ca5cce0ae3f51e7f2b40
2018-02-28 14:36:42 +00:00
jenkins-bot 8727ecd181 Merge "Do not use deprecated jquery.byteLength" 2018-02-27 22:10:23 +00:00
Bartosz Dziewoński 974ea82c50 Do not use deprecated jquery.byteLength
Change-Id: If3f921d60563bd614c269d1d26b745161f8cfc7b
2018-02-27 22:35:29 +01:00
jenkins-bot 12323a022e Merge "autosave: Use upstream methods in ve.dm.Surface" 2018-02-27 21:03:52 +00:00
jenkins-bot b3adaa5fc1 Merge "Show notification when document is recovered (or fails)" 2018-02-27 21:03:51 +00:00
Ed Sanders c670ce76ee autosave: Use upstream methods in ve.dm.Surface
Change-Id: I150b21d7767153d8457b5da658bb8b51b5464aa9
Depends-On: I859b57aef9d591597956f3d942dd2cf1b0aecee0
2018-02-27 20:54:59 +00:00
Ed Sanders a46b30a161 Show notification when document is recovered (or fails)
Change-Id: Id2f6651ba7743c05043bbbe64cd9cb7bd762d74b
2018-02-27 20:54:18 +00:00
jenkins-bot c44390e6f8 Merge "Use session storage to auto-save" 2018-02-27 20:20:31 +00:00
Ed Sanders 76caef6b4b Use session storage to auto-save
Ensure we start with the same HTML (i.e. if an edit has
been made since the crash-recovery):
* Whenever an article target is activated, stash the initial
  document html, other parsoid response data, and the request
  parameters (pageName, mode, section) in session storage.
* Whenever an article is fetched through the target loader,
  recover from session storage if the request parameters match.

Store transactions:
* On document transaction (debounced) append the latest
  changes to session storage.
* If a document state is recovered from session storage,
  attempt to re-apply the stored transactions.

Clear transactions:
* Whenever the target is torn down (i.e. save, deliberately
  closing the editor to go back to read mode)

Other:
* If writing to session storage fails once, disable future
  attempts for that session (assume storage quota exceeded)
* Disable tempWikitextEditor when recovering. We don't have
  the transaction code loaded yet to perform the recovery.

Bug: T57370
Depends-On: I3832243fc347a99641fcb7e39a887a153c9a3b22
Depends-On: I448fb566fe9f7f5b5a76e88b70ca000e3d35b415
Change-Id: Id9d877f903cf4796a52f90991c030417a9f8786f
2018-02-27 12:19:06 +00:00
Ed Sanders 31f7015260 Whitelist style tags from Parsoid, e.g. TemplateStyles
Bug: T188143
Change-Id: I7a30d8a8c40de8b786d59c8bf0ebcb77f2baeb2a
2018-02-26 16:52:01 +00:00
David Lynch abe3d0a4a5 DiffPage.init: Enforce a valid diff mode
Bug: T173400
Change-Id: I48b97e10fc6c6e2ca84563b58dd0bb8f42fa251f
2018-02-22 11:48:37 -06:00
Ed Sanders 05a504887d Drop IE10 support
Change-Id: Ib1cb8fb32c499ba0bdc87ec55e1e2e95d2eb39ec
Depends-On: I68c882e64fba95d5e1bf41f64658fcef7524dcf5
2018-02-22 00:47:38 +00:00
jenkins-bot 8d3e702976 Merge "Disable tempWikitextEditor for section=new on talk pages" 2018-02-21 01:29:58 +00:00
Derk-Jan Hartman 249c52b6a4 Hide historical diff controls when UA doesn't support JS
Bug: T187780
Change-Id: If29974323ef21016edbbb66870914a6dc37e7bbb
2018-02-20 16:54:31 +00:00
jenkins-bot 8f33fc6225 Merge "Add clearfix to diff page's visual diff element" 2018-02-20 16:52:39 +00:00
jenkins-bot d040645244 Merge "Avoid jQuery.parseHTML" 2018-02-20 16:50:06 +00:00
Ed Sanders 7fe496d8ef Avoid hiding generated #toc
Bug: T187636
Change-Id: I713479616feddb01c48c9bb6dda2f9c4aaf182e0
2018-02-20 16:18:27 +00:00
Ed Sanders fcf6ea9e67 Add clearfix to diff page's visual diff element
Bug: T187687
Change-Id: I4de925964fde7b0fffc6540ba821f9a8162cffe7
2018-02-20 15:04:25 +00:00
Ed Sanders ee5b80aeee Avoid jQuery.parseHTML
Bug: T187713
Change-Id: Ic156d6fb670fa2f79cf3c1d5fe0c6272b53b6440
2018-02-19 15:41:20 +00:00
Ed Sanders f2e7361460 Disable tempWikitextEditor for section=new on talk pages
The temp editor doesn't know about the title input
widget yet, so disable for now.

Bug: T185633
Change-Id: I3e44dcc30ee8372080c7cd8c5fc27eb167e24fc6
2018-02-16 18:32:41 +00:00
James D. Forrester dd3dddb98c Follow-up 0a7a845a4: Missed one
Change-Id: I252cb6678df9df503e07b635384a713f052a8abe
2018-02-14 14:25:07 -08:00
Ed Sanders 119e9ef0f6 Remove IE9 workaround
Change-Id: Ifcb1690934ece7d373c764591e00740d6f1238ee
2018-02-13 10:45:16 +00:00
Fomafix 8079d081d0 Remove /* global confirm, alert */
The browser functions alert() and confirm() are not used.

Change-Id: I1b069937fe1548298d55a3e6616e189b72c3e8fa
2018-02-12 10:49:11 +01:00
Ed Sanders cefa0ebf7b Add trailing linebreak to NWE's temporary wikitext editor
Bug: T185632
Change-Id: I8225b08484e535668e8b0bd33eb3b8b09b80ff35
2018-02-02 11:10:18 +00:00
Ed Sanders 9770c80615 Load modules for preview
Bug: T147702
Change-Id: I94f6bdf122d4e2c9fba3103f36c438980ce8228d
2018-01-29 22:35:00 +00:00
jenkins-bot 97fbd5619c Merge "Public API for the tempWikitextEditor" 2018-01-24 00:53:11 +00:00
jenkins-bot a77eea97b3 Merge "Sync tempWikitextEditor just before building target, not on every change" 2018-01-24 00:50:41 +00:00
jenkins-bot 14e557e936 Merge "Use jQuery 3 .catch( fn ) instead of .then( null, fn )" 2018-01-24 00:06:11 +00:00
Ed Sanders 8afe6c5c6d Public API for the tempWikitextEditor
Allows users to know when the widget has been constructed,
and access it (e.g. to set an initial selection)

Bug: T185279
Change-Id: I3678996bcf644cc889dd168ac3ce48b5c3633ec1
2018-01-23 15:30:51 -08:00
Bartosz Dziewoński a0e2afef8e Use jQuery 3 .catch( fn ) instead of .then( null, fn )
Change-Id: I676eec0acf25690c2b2dd0b9a414be5fee887395
2018-01-23 15:25:15 -08:00
Ed Sanders d294006d7b Sync tempWikitextEditor just before building target, not on every change
Also ensure tempWikitextEditor is always torn down, even if
target setup fails.

Change-Id: Idc30a9dc00491b8c85353d73cb9ff70afea1d51c
2018-01-23 15:13:10 -08:00
jenkins-bot f52ee56a02 Merge "Toolbars: Replace $.height with clientHeight/offsetHeight" 2018-01-23 23:01:37 +00:00
Ed Sanders 154f49e964 Toolbars: Replace $.height with clientHeight/offsetHeight
Bug: T185599
Change-Id: I43fbce8f221553e9ae03f8385f39a19de01e8eb7
2018-01-23 12:32:16 -08:00
Ed Sanders 3077bbe51c Remove Firefox support comment
This line isn't solely for supporting FF52, that is the order
in which it is called (move after attach, not before),
but that matches all our other widgets, so not sure
it needs commenting.

Change-Id: I6f3cc5687f1e4b995dff700d0765d14de1927d51
2018-01-22 11:27:46 -08:00
Ed Sanders f2568c8d7d NWE: Don't attempt to set selection on unattached textarea
Prevents an exception being thrown in Firefox <= 52.

Bug: T185304
Change-Id: Ic9a43e3cf12d4cc566cebb328f8e807e464af634
2018-01-22 18:58:26 +00:00
jenkins-bot 140ec5f2ab Merge "NWE: Show temporary wikitext input widget while loading" 2018-01-16 18:13:47 +00:00
Ed Sanders b1ea5d618a Don't pass wikitext to requestPageData if unmodified
Bug: T184875
Change-Id: I41a72a9c7546fafc834bf837e507d9359872ff11
2018-01-14 16:16:47 +00:00
jenkins-bot 2091b8634a Merge "Use section fragment after-save even if the query is empty" 2018-01-10 21:41:59 +00:00
jenkins-bot 2ea64bdd27 Merge "Change save dialog accesskey to be entirely off the trigger" 2018-01-10 21:30:51 +00:00
Ed Sanders 886faf2adc NWE: Show temporary wikitext input widget while loading
Bug: T184614
Change-Id: I2e4964cb6329660957815dcb9a74d2ad24d5256b
2018-01-10 21:34:53 +01:00
David Lynch 64944c119a Use mw.storage instead of localStorage
mw.storage catches errors, so we won't crash horribly when the user has
localStorage disabled / full.

Bug: T181822
Change-Id: I212994eb535b9a8fb5f6c09deaa10b16c3d7f10e
2018-01-10 11:44:24 -06:00
David Lynch a89c79dc79 Change save dialog accesskey to be entirely off the trigger
Accesskeys in this situation are unreliable cross-browser. Firefox won't
trigger the accesskey inside the dialog. We can manually simulate it, via the
existing trigger.

Bug: T121183
Change-Id: Ib919d8b9fcd9324a517037bcc6ef93a26d1488b9
2018-01-08 11:52:06 -06:00
David Lynch 874ba30ce8 Use section fragment after-save even if the query is empty
Bug: T181075
Change-Id: If2d1107982d3f947330c750c635ee221ab71610f
2018-01-05 11:55:38 -06:00
Bartosz Dziewoński 23158de319 Fix context menu for mobile TargetWidgets
Depends on Ica66325a8267d14f25fbc537b956573d1d3cc336 in VE core.

Bug: T157084
Change-Id: I9d9839d7e96eb1ef254e11554acfb955750a2915
2018-01-04 16:53:40 +00:00
jenkins-bot 683ac88fcc Merge "doc: Bump copyright year" 2018-01-03 19:20:07 +00:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
Bartosz Dziewoński 5f7e60e938 Remove unused files loading-ltr.gif, loading-rtl.gif
No longer in use since 6d8fbd8221.

Change-Id: If0392c49985fdd5b07c336e17eb5360e0a71770a
2018-01-02 10:47:32 +01:00
jenkins-bot 5457615129 Merge "Add section id to URI fragment on save" 2017-12-18 10:55:35 +00:00
David Lynch 6f2c829bd9 Add section id to URI fragment on save
Bug: T181075
Change-Id: Iea63112301bfa0860c3d68efc35648a5af7e4ae6
2017-12-15 00:03:52 +00:00
David Lynch 5bbda2b8c8 ArticleTargetEvents: Track editor mode on save events
Bug: T182610
Change-Id: I8b58bea8e4444478cde4c1340d13ddf97aab8f01
2017-12-14 16:23:08 -06:00
James D. Forrester af8428e861 trackSubscriber: Add timing data for 'loaded' state
Change-Id: I771764e5f40adcfc67d181cda68f60fc283a9cb2
2017-12-13 11:20:09 -08:00
David Lynch e66d58076f trackSubscriber: data isn't required
Editor-fixing caused errors on some events which don't pass data in.

Introduced in 8f612fbe64.

Change-Id: I5c9471e6ffe4cdda0bf5455c80ef70251690e20f
2017-12-13 11:56:35 -06:00
C. Scott Ananian d2d6d23522 Bump Parsoid HTML version to 1.6.0
It's a brave new world.

https://www.mediawiki.org/w/index.php?title=Parsoid/Deployments&oldid=2644817#Tuesday,_Dec._12,_2017_around_11:45_am_PT:_Y_Deployed_741fc5d

Change-Id: Ib22dc5370cd01bf5becdd639cc12d6a5ccc653a3
2017-12-13 00:10:16 +00:00
C. Scott Ananian b85caca493 Strip legacy section IDs from inside headings
We emit <span id="..." typeof="mw:FallbackId"></span> inside headings
when necessary to provide backward compatibility with pre-HTML5
section ids.  These are mostly harmless inside VE --- they become hidden
alienated nodes, which are then safely ignored by Parsoid during html2wt
even if they manage to migrate outside of a heading --- but it's a
little safer to strip them.

Change-Id: I07d0fcf54427ab02d4930cff183d3e5579a99306
2017-12-12 12:15:05 -05:00
Ed Sanders 8f612fbe64 Pass editor mode (visual/source) to tracking code
Change-Id: Iba5d3c66ecbd2872d76ea12f795ef3bebaae9d81
2017-12-07 11:14:00 +00:00
David Lynch 7a260ad1b7 Track action=loaded for consistency with WikiEditor
Change-Id: I1b92996e63dd85416755377dc14a5a997aac6657
2017-12-06 11:32:01 -06:00
jenkins-bot 7dd9cec01e Merge "DesktopArticleTarget: enable spellcheck on sectionTitle" 2017-11-29 00:38:47 +00:00
David Lynch 396ce6eb6b DesktopArticleTarget: enable spellcheck on sectionTitle
Tell browsers we explicitly want spellchecking on the section title. If
unspecified this is browser-dependent, so it was inconsistent.

This won't actually have an effect until the next OOjs-UI release (v0.24.3),
as this was a new feature added to TextInputWidget.

Bug: T179654
Depends-On: Ifdd44ead7d782288aaef0979322f0943f7304835
Change-Id: I588874efcff91c5be03da2fc03c268f883b718e2
2017-11-29 00:06:20 +00:00
Ed Sanders 267d60f61a Unwrap Parsoid sections
Section wrapping will be introduced in I0f4c19f7.

Change-Id: I43ced131d07a20318af37e830318e30db2eb451f
2017-11-23 12:19:57 +00:00
Ed Sanders 38dba57e95 Follow-up I80d82ad87: Only add linebreak to non-empty documents
This is the same behaviour as the old editor, and
unbreaks editors that use placeholders.

Change-Id: I7b5a18f1fb0d41c5dc08d1b893c90db2bf3dbd86
2017-11-21 17:14:08 +00:00
jenkins-bot 26e78ea946 Merge "Move source mode newline hack down to ArticleTarget" 2017-11-20 22:32:20 +00:00
Roan Kattouw f37caa6a6f Move source mode newline hack down to ArticleTarget
We need this hack when visually editing articles, but not in e.g. the
Flow integration. Move it down so that mw.Target has a clean
parseDocument method that can be used by Flow without undesirable
newlines being introduced.

Change-Id: I52bba88b3d33c3d6d16c4cf832f23f970a243abf
2017-11-17 13:15:27 -08:00
Ed Sanders 50217d2a19 Rename mediawikitheme -> wikimediatheme
Change-Id: I48e1fcc0b71dccdb6d8e034d686a4bfe5dbe39e6
2017-11-01 15:36:34 +00:00
jenkins-bot 2649a2123a Merge "Fix revslider colours in visual diff mode" 2017-10-31 17:50:53 +00:00
jenkins-bot 93c2da8e78 Merge "ArticleTarget: remember whether we preloaded, so it can affect the save button" 2017-10-30 22:07:19 +00:00
David Lynch 001b945513 ArticleTarget: remember whether we preloaded, so it can affect the save button
Idea being: preload use case is often "load content, maybe with parameters,
immediately save it", so we can treat it as being already-modified for saving
purposes.

Bug: T179063
Change-Id: I35ff04bc9cb5172edf8174832624145973aa1fdb
2017-10-30 16:40:57 -05:00
Ed Sanders 236d437875 Fix revslider colours in visual diff mode
Change-Id: If8a631812f3947b2260d66f832849eed3a0ad238
2017-10-27 11:41:02 +01:00
Ed Sanders dc3ed6cec0 build: Update stylelint 0.4.1->0.4.2
Change-Id: I9d67e4224eb6298e20574a201eeee559ab3a7504
2017-10-26 21:04:07 +01:00
jenkins-bot 600208453b Merge "Use more common 250ms transition for toolbar instead of 400ms" 2017-10-19 17:40:37 +00:00
Ed Sanders 4eb8f46234 Remove duplicate position:relative in toolbar css
Already set upstream.

Change-Id: Icf15dc82b7d57eb3591b0873e49fa9c598b2742d
2017-10-19 14:23:05 +01:00
Ed Sanders 6761a3619a Use more common 250ms transition for toolbar instead of 400ms
Change-Id: I8ad1a20753b7bd4a17db605d31502e57149b5348
2017-10-18 19:17:05 +01:00
jenkins-bot 1b54d6e75a Merge "Mobile: Rewrite toolbar centring CSS" 2017-10-17 20:37:14 +00:00
Ed Sanders afc9d2156b Mobile: Rewrite toolbar centring CSS
Change-Id: I43ada52231a0c9a91c98f2a482d2702528d995a2
2017-10-17 20:23:50 +01:00
jenkins-bot 45a5121853 Merge "requestParsoidData: Support 'wikitext' param in RESTBase-less environment" 2017-10-17 19:22:55 +00:00
Ed Sanders 0306f77fde Simplify mobile overrides using LESS
Change-Id: I9ffce148fede03dda6e78377a0d20355bb45e5fd
2017-10-17 19:44:03 +01:00
jenkins-bot 18e2ccdc96 Merge "init.mw.DesktopArticleTarget: properly set up section links" 2017-10-17 16:28:54 +00:00
David Lynch 80c813e08c init.mw.DesktopArticleTarget: properly set up section links
We were reimplementing (incompletely) the setup from the .init version. Just
call the original, modified slightly so it doesn't over-setup on repeated
calls.

Bug: T151021
Change-Id: I65bd7c5ecf75c478d6babeb13e7fb2a76a9842c8
2017-10-17 10:14:50 -05:00
Ed Sanders 8f11796c43 Convert mobile overrides to LESS
Change-Id: I44754f2d6e69ad9a8a6ce941962714a6d2617b5a
2017-10-17 11:46:17 +01:00
Ed Sanders 59955251fe Fix button alignment in MW mobile
Change-Id: I4b29dfef672f48bc6d2b6644b1e0da5a7ada521a
2017-10-17 11:32:58 +01:00
Ed Sanders 169ce28c44 Remove duplication from browser whitelist
The whitelist isn't checked for blacklisted browsers,
so if all non-blacklisted browsers are whitelisted,
set the whitelist definition to all (null).

Change-Id: I8ee3569d9d5be2eda9153f1b087c1be385f93d9c
2017-10-12 16:54:46 +01:00
Ed Sanders 58a226288b requestParsoidData: Support 'wikitext' param in RESTBase-less environment
Change-Id: I6154376be090655d3249ad7e74a0e90b39208a82
2017-10-11 21:26:18 +01:00
Ed Sanders 581847acb3 Show visual diffs in wikitext mode
Bug: T170371
Change-Id: I8fd9ed4f804444ec486c4df72125cdeb04da0d5f
2017-10-11 20:31:39 +01:00
Ed Sanders fc9e0d88f6 Fix WikiEditor mode switcher widget
Broken by upstream CSS changes in OOUI.

Change-Id: I04c51f18624c09fd0030a8b73410a731216dd99c
2017-10-11 18:16:44 +01:00
David Lynch 4e938e58c7 init.mw.Target: make getSurfaceConfig aware of modes
ve.init.Target sets up TriggerListeners based on getSurfaceConfig if there's
no Surface instantiated. As such, loading directly in source mode would have
those listeners present and assuming the document is in visual mode. So, if
there's not a Surface already, we'll assume we're going to get one created
with the defaultMode, and set things up expecting that.

Bug: T153959
Change-Id: Ia0afe32e6b63ea0d3418137ca5c8bc32c009ecfa
2017-10-10 15:14:25 -05:00
James D. Forrester bd2deb3ac4 DesktopArticleTarget.init: Load 'mediawiki.action.view.postEdit' via loader
Bug: T164148
Change-Id: I537144bfd52ff84499f5d086f5d05efe2ba0493b
2017-10-05 15:54:20 -07:00
Ed Sanders 43763f0a75 Target teardown refactor
* Rename 'deactivate' to 'tryDeactivate' as it may prompts
  the user to deactivate.
* Merge 'cancel' and 'teardownSurface' in to 'teardown',
  extending the parent method.
* Rename elementsThatHadOurAccessKey to $saveAccessKeyElements
  and move teardown to parent class where it is setup.
* Move toolbarSaveButton teardown to parent class where it is setup.
* Cleanup changeDocumentTitle

Depends-On: I9d97614695272dca6936ef6f3461178fcf0368a8
Change-Id: Ie998a04c21f6615b4415edf471310db5edca3b5a
2017-10-05 10:26:46 -07:00
jenkins-bot 65ede4fc4f Merge "Use destroy event to teardown new section inputs" 2017-10-05 17:24:57 +00:00
jenkins-bot 5d9c66497a Merge "Use parent #clearSurfaces method to clear surfaces" 2017-10-05 17:22:41 +00:00
jenkins-bot e657612068 Merge "Strip RESTBase IDs from historical diffs" 2017-10-05 16:06:43 +00:00
Ed Sanders 1256b19d72 Use destroy event to teardown new section inputs
Change-Id: I4990a162b62b7195016efba47cc5926b9e3a0f21
2017-10-05 16:20:48 +01:00
Ed Sanders e0f7f30bbd Use parent #clearSurfaces method to clear surfaces
Move mwTocWidget teardown to a destroy event listener.

Change-Id: If96be96aa67da55d3b17dd2565f5e954786ff3ff
2017-10-05 16:03:55 +01:00
Ed Sanders 58237588ad Abort loading when 'escape' is pressed
Bug: T117359
Change-Id: I2c60588f14b9f80b18a7ac8da753fee224be35a4
2017-10-04 14:09:19 +01:00
Ed Sanders ff896e0be6 Always use trackingName for tracking
Change-Id: Ifc7d3275277628b310f5c017c43a76f5a7c25ea7
2017-10-02 22:20:53 +01:00
James D. Forrester 09cde07c45 DesktopArticleTarget: Retain 'mwTarget' stats tracking object
Bug: T177250
Change-Id: I1584f452e16272886af459bac3e24c4995af2231
2017-10-02 21:03:09 +00:00
Bartosz Dziewoński 2b3998df4b ve.init.mw.ArticleTarget: Add 'wpUnicodeCheck' field to wikitext form submission
Bug: T177041
Change-Id: I28a7ec0710595977e5ec889016dd280d60e93034
2017-10-02 17:09:04 +02:00
Bartosz Dziewoński 81d567bfdc ve.init.mw.DesktopArticleTarget: Fix the code to reorder tabs
This code is meant to fix up the tabs if wgVisualEditorTabPosition
was changed and we're seeing cached HTML with the tabs in wrong order.
But it seems it has never worked. `$caEdit[ 0 ].nextSibling` is a text
node and obviously not equal to `$caVeEdit[ 0 ]`, and vice versa for
the other case. The logic is actually correct, so let's fix it to skip
over text nodes.

Also, remove a stray 'eslint-enable' comment left over in
a0f934ed26.

Bug: T50017
Change-Id: I23663a9bfcfdbf52918452c878a128e6960b1191
2017-09-28 15:54:55 +02:00
Bartosz Dziewoński a0f934ed26 ve.init.mw.DesktopArticleTarget: Remove hack for reversed tabs in RTL in Vector
Vector no longer does the silly thing where the tabs are reversed in
the HTML in RTL languages, so we must remove our hack to do the same,
since otherwise it reintroduces the issue it was intended to prevent.

This essentially reverts 2efd4f0061.

Bug: T50017
Change-Id: Ibeaa55bc34899bffab849ea8ad8b127fb5184d43
2017-09-28 07:35:18 +02:00
Ed Sanders 90a9fdb6aa Ensure mw-notification-area doesn't get disabled
Bug: T176874
Change-Id: I43af13a0fcb5c19fdea53cfaeb941ac100579945
2017-09-27 14:50:59 +01:00
Ed Sanders 1b8f8d8908 Replace wg(Relevant)PageName with target#pageName
The default value of target#pageName is wgRelevantPageName
but other targets my override this, or change it dynamically
(e.g. ContentTranslation).

Also remove duplicate setter of pageName in mw.ArticleTarget,
already set in mw.Target.

Change-Id: Iebd1def1d4142978a673afec584a0b663644d176
2017-09-26 13:22:00 +01:00
David Lynch 02c6e9142b Api: Missing preloadparams
* Tiny fix to 33dc60838c for PHP variable name
* Bigger fix to properly pass preloadparams in and split them up

Change-Id: I844db115f2563cb9ee1629c30d5f49d1ce58f5bd
2017-09-25 11:42:09 -05:00
Ed Sanders 9572bbe245 Fix font size in local overlays in monobook
Change-Id: I742c090d64af4e22004e921ab772550474125224
2017-09-21 15:46:26 +01:00
David Lynch 325de4b130 DesktopArticleTarget.init: handle new-section tab when in visual mode
Bug: T157755
Change-Id: Ida657edb57c4d3067f17104ff1b74965c8082131
2017-09-20 15:49:21 +00:00
jenkins-bot 0246c2a62f Merge "Enable preload in VisualEditor" 2017-09-18 19:59:13 +00:00
David Lynch c440a3576f DesktopArticleTarget: Support preloadtitle in source mode
Can't support it in visual mode, since there's no new-section handling at all.

Bug: T51622
Change-Id: I763d5fff156e9ef3893bd882fab1dc2d47121728
2017-09-18 10:18:37 -05:00
David Lynch ea274c94cd Enable preload in VisualEditor
This allows the use of the preload and preloadparams query parameters. They
should behave as they do in the old editor, loading substituted content in
visual and source modes.

Bug: T51622
Change-Id: I522fb5b480d17912f6d6116be6aa043ead855b52
2017-09-15 17:17:51 -05:00
Ed Sanders 405afdce70 Strip RESTBase IDs from historical diffs
Change-Id: I911d529204a97003ed233464709737b018918634
2017-09-14 13:45:10 +01:00
jenkins-bot 779dcc2164 Merge "ArticleTarget: Make save commands triggerable from anywhere" 2017-09-13 15:40:19 +00:00
Ed Sanders f9562838bf ArticleTarget: Make save commands triggerable from anywhere
Change-Id: Iea5b2ff1210b0b28a58017f198f55124c9a3348d
2017-09-13 12:00:19 +00:00
Ed Sanders d515d418c1 Use lowerCamelCase for javascript var oldId
Change-Id: Idd04578a0035320f85dc911a2f4ddbc6f378887f
2017-09-13 12:57:37 +01:00
Ed Sanders ebce67b6ab Remove pageName/revision from ArticleTarget constructor
Other page state is read directly, rather than passed in.
If we come up with a use case for passing this in at a later
date we can reconsider the best way to do this.

Change-Id: Iee7e608c969776b89dbb38b3b56a5177e48344af
2017-09-13 12:57:37 +01:00
Ed Sanders 682787f312 Change ArticleTargetLoader#requestPageData API to use options object
Change-Id: I02e6218a8359b1cbc8fed1a34d68206a2a154d46
2017-09-13 12:57:37 +01:00
jenkins-bot 9ef0f71983 Merge "Stop requiring deprecated EditPage::getCheckboxes()" 2017-09-05 18:00:52 +00:00
jenkins-bot d743fa7c1f Merge "Disable VE on Special:Undelete" 2017-08-31 23:40:41 +00:00
Bartosz Dziewoński df9e564b73 Stop requiring deprecated EditPage::getCheckboxes()
Instead, use getCheckboxesDefinition(), and build our save form
checkboxes from that rather than extracting them from the HTML.

The ability to have non-checkbox fields there is removed, as that was
never intentional and is now impossible.

To avoid transient problems during deployment (old JS code cached in
the user's browser receiving the new format of API responses), the old
property is kept in the API response. We should remove it next week.

Bug: T174613
Bug: T174686
Change-Id: I5bfca5e116fe790302c3b6ac1357e80237fb1ed2
2017-08-31 17:47:15 +02:00
David Lynch dc101c6169 mw.ArticleTarget: strip HTML tags entirely from source-mode summary
Bug: T173711
Change-Id: If8b354b2788285ea27472bf9a16544f8e5c091f8
2017-08-29 12:01:33 -05:00
Ed Sanders 3ba918a6ae Disable VE on Special:Undelete
Bug: T173154
Change-Id: I2a7d815a67c9e0f80ab3cdfd3a3755370c831867
2017-08-25 18:09:37 +01:00
jenkins-bot 842b3336bd Merge "Move historical diff loading to DiffLoader util" 2017-08-24 18:33:45 +00:00
jenkins-bot 8e29c59e44 Merge "Decrease border contrast on selected Vector tabs" 2017-08-22 20:47:22 +00:00
Volker E a2f70cac8b Decrease border contrast on selected Vector tabs
Decreasing border contrast on selected Vector tabs.

Bug: T173465
Change-Id: I46530c8cdf9161e527f421eeb8186a7695057361
2017-08-22 13:28:24 -07:00
Volker E aaffa6aa46 Replace remaining greys/reds with WikimediaUI color palette colors
Replacing remaining greys and reds apart Monobook/Apex specific
stylesheets with WikimediaUI palette colors.

Bug: T173459
Change-Id: I9b5b1c379bf76e8da57eeff28c7dd000f148a8fc
2017-08-16 13:43:02 -07:00
Ed Sanders 3cf074c6ea Move historical diff loading to DiffLoader util
Change-Id: I318752ede2e5c90f9d0ecd26b39e997fff2d60bd
2017-08-13 15:31:42 -04:00
Ed Sanders 1d70266b8b VisualDiff: Store diffmode in query string on diff pages
Change-Id: I092ac68dd31b29b4418e7afb37bfe94befa16558
2017-08-10 11:24:54 -04:00
jenkins-bot 1e474e038e Merge "Support visual diffs on Special:ComparePages" 2017-08-06 11:46:57 +00:00
Ed Sanders 5104f63cf3 Support visual diffs on Special:ComparePages
Bug: T171821
Change-Id: I13fe8349ab2d078b172637c931f1b80f7108c927
2017-08-05 23:38:20 +01:00
jenkins-bot 7b17760ad6 Merge "ve.init.mw.ArticleTarget: Fix parsing of preview documents" 2017-08-01 17:40:51 +00:00
Bartosz Dziewoński e31ffa9199 ve.init.mw.ArticleTarget: Fix parsing of preview documents
ve.init.mw.Target.static.parseDocument requires that its parameter be
a complete HTML document with a single root tag, otherwise some of its
workarounds break horribly in IE 11 (and possibly Firefox).

Bug: T171600
Change-Id: Iaacf24f7bef40a24230fcfa08e15bab31b1587c0
2017-08-01 17:16:43 +00:00
jenkins-bot 1bfe56ddb0 Merge "ArticleTarget: set local config to hide welcome dialog" 2017-07-31 16:07:35 +00:00
C. Scott Ananian 9ee713d480 Display LanguageConverter markup in VisualEditor
Implement special node types for language variant markup, so that they
display appropriately based on the currently-selected variant.

(Parsoid uses empty elements to represent this markup, so without this
patch anything in -{ ... }- is alienated and disappears.)

A follow-up patch will implement context items and inspectors to
allow editing these nodes.  This patch is basic "read-only" support.

Depends on I4fcdebc2290ec35ba188f4c2e69d578791fbcd67 in Parsoid to
generate the appropriate markup, but this patch is safe to merge
independently.

Bug: T49411
Change-Id: Ie11e9301d2513bfe4a36036481cee9a047f46d37
2017-07-25 15:26:41 +00:00
David Lynch 5f6e186ed4 ArticleTarget: set local config to hide welcome dialog
This stops the welcome dialog from being displayed repeatedly if the user
edits the article multiple times in the same pageload.

Bug: T170983
Change-Id: I8cc5990e9acb1ac09a2d6dd95eef8042c70088c7
2017-07-19 14:29:49 -05:00
David Lynch 420037b3ff LinkCache: parsoid element styling, detect selflink fragments
Selflinks with fragments aren't actually selflinks, and so shouldn't be styled
as such.

Bug: T170943
Change-Id: Icb67c81327769d09af6bcfe593843d9dd2bcc33c
2017-07-19 11:54:00 -05:00
jenkins-bot 8baf524006 Merge "Visual diffs: Use new wgDiffOldId/wgDiffNewId" 2017-07-18 15:40:28 +00:00
Bartosz Dziewoński 6123b452da Visual diffs: Use new wgDiffOldId/wgDiffNewId
This also removes an undeclared dependency on mediawiki.Uri.

Bug: T169574
Depends-On: Ic4abaae6e9c74509f7a114a697cdbb78dd1b89b6
Change-Id: I76803da5f1a52171a1af8de1f3e31ea127a2da78
2017-07-18 15:16:03 +00:00
Ed Sanders 835a775a49 build: Upgrade grunt-eslint from 19.0.0 to 20.0.0
Mostly indent and regex fixes.

Change-Id: Iaf9d02363c78cb71deec5c4cab53a05b67f60600
2017-07-18 12:55:33 +01:00
jenkins-bot 1a2de9c8ad Merge "DesktopArticleTarget.init: more explicit no-welcome-on-protected-pages" 2017-07-17 22:48:21 +00:00
David Lynch c7486ae19b DesktopArticleTarget.init: more explicit no-welcome-on-protected-pages
Bug: T138715
Change-Id: I1d1efe7fb3286bbf85ea2a17356dcad1d3346517
2017-07-17 17:17:07 -05:00
Ed Sanders 1efd8c5a61 Add mw-parser-output class to CE document
Bug: T164790
Change-Id: I14ee60dc3e68aad02a740af06f5749e6b5e3329c
2017-07-17 18:04:52 +01:00
David Lynch a2f8597712 DesktopArticleTarget.init: only show welcome dialog if page editable
"Welcome to wikipedia, anyone can edit, we welcome all improvements. Start
editing!" is a bit out of place when what you'll see after clicking "start
editing" is "you can't edit this page".

Bug: T138715
Change-Id: I9f655a5f12d4e45644bd01631c2d3131375d8e8f
2017-07-12 10:29:54 -05:00
Ed Sanders dd54c9c95d Return truthy object when image info not found
A missing image should return some data to say the
image is missing, not just reject the promise.

Bug: T169337
Change-Id: Ib41a64a783c1baca88f428417c98e7fb913d14a1
2017-07-03 18:01:33 +00:00
Ed Sanders af25311201 DesktopArticleTarget: Regenerate title in all non-view page scenarios
Bug: T168236
Change-Id: I15f2aeb42b98855512970e2f07396fd7a7c97354
2017-07-01 17:27:07 +00:00
jenkins-bot 05bc265198 Merge "Keep TOC in correct place in document" 2017-06-28 12:31:33 +00:00
jenkins-bot 7f14f854c4 Merge "ve.init.mw.DesktopArticleTarget: Remove some hacks" 2017-06-26 20:27:09 +00:00
jenkins-bot ba3a5d85bd Merge "Show visual diffs on DiffPage" 2017-06-25 03:30:29 +00:00
Ed Sanders fd1adfb3b5 Keep TOC in correct place in document
Change-Id: I6ad8cd8cbd7ef902204408673eb096b7405abd24
2017-06-22 15:16:15 -07:00
Ed Sanders 11e6e25ac6 Clear all diff state when switching editors
Bug: T168618
Change-Id: I19ff5054b87568546bfe1202d67c5d863e1549be
2017-06-22 10:54:04 -07:00
jenkins-bot 7cd5a5d61f Merge "Add newline to end of wikitext documents" 2017-06-21 01:10:57 +00:00
Ed Sanders 09519a24d2 Add newline to end of wikitext documents
Bug: T156609
Change-Id: I80d82ad87464b1c6e0344b29123bb96fcc4cffad
2017-06-20 17:51:51 -07:00
jenkins-bot 115f8e7ae5 Merge "Move preview document filtering into MWSaveDialog" 2017-06-21 00:41:26 +00:00
jenkins-bot fc4e836d4b Merge "Fix getWikitextFragment shortcut to return a promise" 2017-06-21 00:40:46 +00:00
Ed Sanders 9dd638a5ab Move preview document filtering into MWSaveDialog
Also:
* Make mw-content-DIR nest inside mw-body-content
* Use ve.filterMetaElements

Change-Id: Ic70c7dff0f74b81f92b8bd48e8092549947990ba
Depends-On: I478fe1f39164b9fd7e71987b818b8f668d1a7020
2017-06-20 23:50:44 +00:00
Ed Sanders e1b4321b5a Return nothing from styleParsoidElements
The method modifies DOM elements in place, and the return
value is never used.

Change-Id: I6254389dbf8daa67795206cb508038b60e1a4761
2017-06-20 21:03:22 +00:00
Ed Sanders 585cf5f990 Fix getWikitextFragment shortcut to return a promise
Change-Id: Ide5c920332ba9dd0777a7c63e27ebbbc9a391172
2017-06-17 19:42:24 -07:00
Ed Sanders 0e6d8d5fff Show visual diffs on DiffPage
Only shown if VisualEditorEnableDiffPage is set, or query
string param 'visualdiff' is present.

Currently:
* All VE javascript is loaded (could be cut down to just DM code)
* The entire Parsoid HTML of both revisions being compared is loaded
* Both Parsoid HTML docs are parsed into VE DM trees and diffed

Bug: T167508
Change-Id: I151fc9bab3d3032f50c8d11be6b54e45a06fcc34
2017-06-16 19:29:19 +01:00
Bartosz Dziewoński 9dcf6dcddc ve.init.mw.DesktopArticleTarget: Remove some hacks
No longer needed after I2ede6c88be569224c0b2a4e388a133ad98b86a7b
in VisualEditor core.

* 'transform: none' from 049a32c60a
  (that change does not describe what the issue was, but clearly
  it wasn't a complete fix and I see no problems without it).
* 'z-index: 4' from 6fff13b898 (I can't
  reproduce the issue there after removing it).

Bug: T167616
Change-Id: I7e0d603af2668269e5587eaa5e4761166a1b4097
2017-06-14 22:25:25 +02:00
Ed Sanders 75d583a0d9 Use static parseDocument method
Change-Id: I545a58ffcbf1c7c57c197f4858958de835a40394
Depends-On: I5b36e187a5e8bb68b47b2fccf5b46c08b81b01d9
2017-06-08 14:43:09 +01:00
Ed Sanders f178061117 [DEPRECATING CHANGE] Make Target#createModelFromDom static
Change-Id: I019689f87ac0f7f40a8a7600029b5ce1bc92e77f
2017-06-08 14:35:31 +01:00
Ed Sanders 4484f5c316 Don't try to i18n-parse JSON string
Bug: T167051
Change-Id: Idf07ba51d2681f0f5d275f2a732d77cd85e63d03
2017-06-06 11:12:41 +01:00
Bartosz Dziewoński 4f55d8066e Update for deprecation of OOjs UI openWindow/closeWindow promise
Bug: T166729
Change-Id: I95b85a8c0d488993c11da74e1d856fef6cf0ebb4
2017-06-02 00:21:58 +02:00
Timo Tijhof a9ce695f75 mw.DesktopArticleTarget: Use require() for mw.page.watch
Add 'require' to eslint global whitelist for this extension,
since ResourceLoader provides this in all contexts now.

Bug: T166254
Depends-On: I0e6a95bd4fbaba06eae5137ac7af84f62bebf6f0
Change-Id: I6b2fe57317dcff18ec6d9ea0cd9e4eb9c894c169
2017-05-24 21:17:02 +00:00
Ed Sanders 1a577b668d Move getWikitextFragment up to Target from ArticleTarget
Any MW target may want to get a wikitext fragment, not just
ArticleTargets. Requires us to move refreshEditToken up as well.

Change-Id: I27d30e20fefd5ba266d3d8e5f99383e9b4d4993a
2017-05-21 07:57:49 +00:00
jenkins-bot 526d1ba71e Merge "Enable edit tab setup on appropriate Special pages" 2017-05-18 16:18:49 +00:00
Bartosz Dziewoński d687e01208 Do not check for visual editor availability when loading source editor
Follow-up to fefb76eebc. Prior to that
change, the condition for this looked like this:

  // … if on a ?veaction=edit/editsource page
  (
    isViewPage &&
    uri.query.veaction in editModes &&
    (
      uri.query.veaction === 'editsource' ||
      init.isVisualAvailable
    )
  )

In the refactor, the `uri.query.veaction === 'editsource'` check was
lost.

Since that code is pretty messy (probably predating the source editor
and hastily adjusted), instead change the check for `isVisualAvailable`
to just `isAvailable`. If the requested mode turns out to not be
available later, the editor will not load.

Bug: T165146
Change-Id: Idfaf9115dd20cec8f8e044a704b93b07984cdcee
2017-05-16 18:57:56 +02:00
Ed Sanders 63c36c87da Always prefer wikitext for action=edit on non-SET wikis
Ideally we could use the preferred editor, but this breaks
tab switching to the old editor.

Bug: T165238
Change-Id: I5f5ee5566cdd2080ba7c89d43cf127b457537768
2017-05-15 12:48:30 +01:00
Ed Sanders 9342e45f7b Fix action=edit links for NWE
We added support loading NWE from action=edit in I35208cce069
but missed this check in the front-end.

Bug: T165238
Change-Id: I2732eaa81a3f968b34c4e878b2ad36de981dd567
2017-05-15 11:52:06 +01:00
James D. Forrester 57aad56a7b Enable edit tab setup on appropriate Special pages
Using the forthcoming wgRelevantPageIsProbablyEditable.

Bug: T165010
Depends-On: I6c6ca1cfd93e7be917952980f1e1d57aec3a1292
Change-Id: I6c6ca1cfd93e7be917952980f1e1d57aec3a1229
2017-05-15 11:14:29 +01:00
Ed Sanders debcd678b5 Generate visual diff only after switching to visual diff tab
Bug: T164724
Change-Id: I48e49d4b68cc769b3e9d061983de4c78b5ad5c34
2017-05-09 10:09:39 +00:00
Ed Sanders 54fc920622 Captcha improvements
* Fix focus and resize/scroll into view after the
  captcha has loaded (so after the image has loaded
  for FancyCaptch).
* Add margin between input and captcha
* Enable enter-to-submit on captch input field.
* Unify code for simple/math/questy and correctly
  render math as HTML (by looking at the mime type)

Change-Id: I10433cefbfea8569674c120dde5b489570e20966
2017-05-02 17:49:12 +01:00
Ed Sanders 998ae22b2d Follow-up I488fd7e74: Adjust saveFail calls for new function signature
Bug: T164157
Change-Id: I41b946af5a8b80211b0672d7012835f2c9e1dc2b
2017-05-02 16:39:04 +01:00
jenkins-bot 68d00a6a42 Merge "init: Fix checks for required skin elements to avoid false positives" 2017-05-01 22:37:16 +00:00
Bartosz Dziewoński a02e68374e init: Fix checks for required skin elements to avoid false positives
* Do not try to load the editor on protected pages, or if the user
  doesn't have permission to edit pages.
* Move the check for required DOM elements after the check for
  pages without the editor (T162411) and after DOM ready (T163307).

Bug: T162411
Bug: T163307
Change-Id: I8149694ba8155682701f2cda6ca212d60f446caa
2017-05-01 11:24:01 +00:00
Ed Sanders 7c0fc8d3b9 Fix minor lint errors and typos
* Commas that should be semicolons
* Unnecessary 'call's

Change-Id: I11a80702b5396a36e3deecc6e706a397cc354bd8
2017-04-29 12:36:17 +01:00
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
jenkins-bot a93888afd5 Merge "EditModeTool: Use state-describing, not action-describing labels" 2017-04-26 18:42:42 +00:00
Ed Sanders d1017bfd48 EditModeTool: Use state-describing, not action-describing labels
Follows-up 914eb1cde3; reverts the logic to have the label change, but
sticks with new "-current" i18n messages, so the "X editing" instead of
"Switch to X editing"; the old i18n messages are now dropped entirely.

Bug: T162864
Change-Id: Icdad6c5bb06ff86e9b8976840bb1a94b939609a8
2017-04-26 11:33:14 -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
jenkins-bot b268b4f80f Merge "ve.init.mw.ArticleTarget: Only retry once after a 'badtoken' error" 2017-04-24 19:48:35 +00:00
jenkins-bot 67d6ac38e6 Merge "Show a different label for the current mode in the editor mode selector" 2017-04-21 15:56:04 +00:00
jenkins-bot 1862f74f11 Merge "ve.init.mw.ArticleTarget: Use a simpler error message when site is read-only" 2017-04-20 22:34:33 +00:00
Bartosz Dziewoński 371ac353cf ve.init.mw.ArticleTarget: Use a simpler error message when site is read-only
Sites like to customize 'readonlywarning' with things that we can't parse.
Instead, use 'apierror-readonly'. The old message is still shown in edit
notices.

Bug: T163455
Change-Id: I592accde17b256ecee27820df12d9d312499f8f7
2017-04-21 00:08:57 +02:00
jenkins-bot dd6113bb76 Merge "Load notices when switching, just don't show them" 2017-04-20 21:05:40 +00:00
Bartosz Dziewoński 91a75e3fef ve.init.mw.ArticleTarget: Only retry once after a 'badtoken' error
If we retry and get another 'badtoken' error, something is very wrong,
and trying again and again is probably pointless. This behavior also
matches how mw.Api#postWithToken handles bad tokens.

Bug: T163493
Change-Id: I488fd7e74e37922044491695d6c9025a45531281
2017-04-20 22:42:10 +02: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
James D. Forrester 914eb1cde3 Show a different label for the current mode in the editor mode selector
Bug: T162864
Change-Id: I2242f85f8c4607411e65b64c8e43181bb139945f
2017-04-20 13:00:34 -07:00
James D. Forrester bef15b7a1e Update VE core submodule to master (bfb35aaef)
New changes:
57f8064b6 tests: Enforce dm unit test coverage at 20% per file and 80% globally
6f757c670 LinkAnnotation: add a getFragment method for consistency with MWInternalLinkAnnotation
c40a3f152 Drop the classList polyfill for IE9
d1af6c6bb Update OOjs UI to v0.21.1
bfb35aaef Localisation updates from https://translatewiki.net.

Bug: T162277
Change-Id: I5146bc421bb88e56bafadccefc7bbdee106504ea
2017-04-20 09:48:46 -07: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
David Lynch d5ac18a466 LinkCache: don't treat a link with a fragment as a selflink
This matches the rendered output for the page.

Bug: T162669
Change-Id: I1ea0ab37a2751c0b4669da8a23adf0ce271facea
2017-04-11 12:19:01 -05:00
Ed Sanders a6b4258f47 ArticleTarget: Refactor savedialog/target interaction
* Pass a wikitext promise, instead of wikitext
* Handle writing of content to the dialog from within
  the dialog.
* Handle diff errors within the dialog.
* Never disable the 'Return to save form' (approve) button
* Remove redundant messages

Change-Id: Ibd76e8951998f751abfb4f407682202c2f73ac7e
2017-04-10 10:29:41 -07:00
jenkins-bot 4110bdfd26 Merge "VisualDiff: Fetch original doc from Parsoid if fromEditedState" 2017-04-10 17:09:46 +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 40265bd807 Merge "stylelint: Drop no-unsupported-browser-features references" 2017-04-10 16:49:15 +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 f51a6d5020 stylelint: Drop no-unsupported-browser-features references
The rule hasn't been applied for a while, as it was deprecated upstream.

Change-Id: I7877d0e3bdcd05a609d61add2dc62d7598e348cb
2017-04-10 08:36:37 -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 939a1f4005 VisualDiff: Fetch original doc from Parsoid if fromEditedState
Bug: T160741
Change-Id: Ied0641cc868a8dd4cf540eba75e1b248277a96b0
2017-04-09 22:28:53 +01: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 97f6bdd79a Make Target#getVisualDiff async
This will be required later when we have to fetch the original
document from the server before running a visual diff.

Change-Id: I351688f4d1fec892bc297f40c209939cbb2ccf95
2017-04-09 13:26:22 +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
Roan Kattouw 1e7e9044c9 MWVESwitchPopup: Follow-up 445f8b76a0: apply adjustment to anchor instead
Otherwise the anchor isn't correctly aligned below the icon.

Change-Id: I73a9db9be63354f1fa459e844eb40be1d3130189
2017-04-06 16:33:53 -07:00
Roan Kattouw 445f8b76a0 MWVESwitchPopupWidget: Fix alignment by removing margin
Since the PopupWidget rewrite, margins for aligning popup anchors
should be set on the anchor itself, not on the popup.

Change-Id: If8237ae5edbc2e8c5cb99147f392aae52e642765
2017-04-06 11:50:43 -07:00
jenkins-bot d4438549e5 Merge "ArticleTarget: building summary in source mode, strip links from section titles" 2017-04-05 23:57:18 +00:00
Bartosz Dziewoński c45ad46433 Allow loading progress bar to appear on skins other than Vector and MonoBook
The styles are not specific to the Vector and MonoBook skins, but rather
to the MediaWiki and Apex themes of OOjs UI. Rename them to reflect that.

Change-Id: I757e8d96625feb8290cbf7837b5d801961cda344
2017-04-05 20:13:28 +02:00
David Lynch 758b2fd689 ArticleTarget: building summary in source mode, strip links from section titles
Bug: T162017
Change-Id: I76e96d1e36f7bad0b3e17d8bb842c6ad1172f8cc
2017-04-05 11:16:11 -05:00
James D. Forrester 8463524e18 MWSaveDialog: Run links through a render function for preview & visual diff
Provide a utility funcition in ve.init.mw.LinkCache to do this.

Also use this in ve.ce.MWTransclusionNode/ve.ui.MWPreviewElement, and
introduce to ve.ce.MWExtenionNode

Bug: T73900
Bug: T153535
Change-Id: Ieb9a0274b8c5ae1932c431546f09d18000fa6dd9
2017-03-31 10:51:35 +01:00
jenkins-bot 9e69bd360f Merge "WikEditor switch widget: Fix styling regression since OOui 0.20.1" 2017-03-30 21:31:37 +00:00
Ed Sanders 1b1b95acd4 WikEditor switch widget: Fix styling regression since OOui 0.20.1
Change-Id: I489e45a587e2c10cfb60ade2b5f180f872495324
2017-03-30 22:18:54 +01:00
Ed Sanders 003800f75a Follow-up I88d45aad2: Fix selflink detection
data.title is not set in the cache, use the query title
instead.

Bug: T52497
Change-Id: I6a3047d3c18110052c70277781bc7be6ead2e7b4
2017-03-30 11:56:13 +01:00
jenkins-bot 1dc16af006 Merge "Render self-links as if they were <strong>s" 2017-03-30 09:17:00 +00:00
James D. Forrester cb875a6ccc Render self-links as if they were <strong>s
This is a little inelegant, but it works in both CE and transclusion
content.

Bug: T52497
Depends-On: If058843924c3b30c116df2520aef93a004d98a5d
Change-Id: I88d45aad2aaa45e71b433350986b19764603a1f2
2017-03-29 23:47:01 +00:00
jenkins-bot da05545faf Merge "Replace $wgVisualEditorSupportedSkins with a check for required elements" 2017-03-29 23:14:53 +00:00
Ed Sanders 6d891dc049 Pass section when resolving conflicts in NWE
Bug: T154217
Change-Id: I61f69df228fcbe25840b166a2081cacdb0417431
2017-03-29 22:21:17 +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 16918a08cf Merge "ve.init.mw.ArticleTarget: Don't construct element IDs dynamically" 2017-03-28 17:23:11 +00:00
Bartosz Dziewoński 6a9f8a1417 ve.init.mw.ArticleTarget: Don't construct element IDs dynamically
Easier to find the usages this way.

Change-Id: I38ce1389af1d30ff1f5e0214b68d094a67da046f
2017-03-28 19:01:46 +02: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
Ed Sanders b756199dc7 Use ve.targetLinksToNewWindow
Depends-On: I3088e8b95d9032b8e8fd5bff58a8b97ffaa15f98
Change-Id: I07ec10841b62ed1e8c3b3cf82b42653327618cb0
2017-03-24 21:34:47 +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
jenkins-bot 21ec4e87a9 Merge "Section editing: strip links from heading text used for edit summary" 2017-03-23 18:45:07 +00:00
jenkins-bot 0869a70cfa Merge "Fix typo in surfaceReady documentation" 2017-03-23 18:09:40 +00:00
Ed Sanders ae780f43ed Fix typo in surfaceReady documentation
Change-Id: I4ae5552000eb6dc160acc4fd2e2b218bf2c7411f
2017-03-22 20:35:42 +00:00
David Lynch 1dc18b6703 Section editing: strip links from heading text used for edit summary
Stops us including "[edit]" in the summary when people have marked whole
headings for translation.

Bug: T160911
Change-Id: I906398e6bf45433d904795847f59b5bf0148092f
2017-03-22 02:00:24 -05: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 0ae808913c Merge "Introduce visual differ in the save dialog" 2017-03-16 21:28:41 +00: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
Ed Sanders 335b56728a Introduce visual differ in the save dialog
Bug: T143350
Change-Id: I1297d0f4bb87e69be3b50220c1830a22dac1bbae
2017-03-16 15:33:54 +00: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
jenkins-bot 797aac9d88 Merge "ArticleTarget#switchToVisualEditor: Bail if the server won't let you switch" 2017-03-14 16:19:06 +00: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 a9f54aacd4 DesktopArticleTarget: Clear stored summary value after save completes
Bug: T160130
Change-Id: Id906da69c743f3a966d4182862cd173b26017059
2017-03-10 10:19:12 -06:00
James D. Forrester d1f2bf1ecf ArticleTarget#switchToVisualEditor: Bail if the server won't let you switch
Because otherwise you're just throwing all the user's input on the floor.

Bug: T158692
Change-Id: I5df00842697be11ecde9ea8ba2ab16b0dc90205e
2017-03-09 17:09:16 -08: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
jenkins-bot 71fe1a8cea Merge "ArticleTarget: use existing initialEditSummary if present" 2017-03-09 19:12:52 +00:00
David Lynch 261d4e8974 ArticleTarget: use existing initialEditSummary if present
Switching modes recreates the toolbar, so if someone has already edited the
save summary it shouldn't update the initialEditSummary to that.

Bug: T159686
Change-Id: I4109442853916bebae2bce804fcd6777e3eb6d34
2017-03-09 12:05:12 -06:00
David Lynch c5bb912e80 ArticleTargetLoader: wikitext switch shouldn't require FullRestbaseURL
The non-FullRestbaseURL branch didn't handle converting the provided wikitext,
causing data loss when switching from source to visual modes.

Bug: T158692
Change-Id: I283afc4be1e322228d6ec572bfa8542ba8fd9ce7
2017-03-09 11:30:16 -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 f9af257b7e Merge "ve.init.mw.DesktopTarget: Use mw-body-content instead of mw-body to match Vector changes" 2017-03-07 18:32:22 +00:00
Ed Sanders 387f9a5514 ve.init.mw.DesktopTarget: Use mw-body-content instead of mw-body to match Vector changes
This ensures the styles are still applied to surfaces in dialogs.

Change-Id: I30e0cc7dc87dc8c8b6b3be84f821aa22baab457f
2017-03-07 18:17:35 +00:00
Ed Sanders aa8f477dab Apex: Fix target margins
Apex is basically abandonware, so we should consider deleting
this code.

Change-Id: Ie0c21fc21d4c37ab0344978bbd0d071415866397
2017-03-05 18:07:04 +00:00
jenkins-bot 5aba0ee22b Merge "Improve NWE new section styles" 2017-03-03 18:06:04 +00:00
jenkins-bot 8d29d962c5 Merge "Cleanup DesktopTarget styles" 2017-03-03 17:54:43 +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
James D. Forrester e0814210e9 ArticleTarget#getWikitextFragment: Optimise no-op
Change-Id: I6b54ae26e26c5ca697848d2534c128fc9c4bc4aa
2017-03-01 19:17:26 -08:00
Ed Sanders 3c0ddc9c69 Cleanup DesktopTarget styles
* Ensure DAT styles are fully scoped to DAT instances
* Ensure that generic desktop target rules are in the correct file
* Remove old unused rules

Change-Id: I466a0547ff9a0fa1102aac0b1e501a6ba6863ca3
2017-03-01 12:38:51 +00: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 5ca02bae09 Use ems for mobile surface font sizes, and add top/bottom spacing
Change-Id: Ida827b54a49c427f2fad2de1f634d8c4e4d28154
2017-02-28 15:07:39 +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
David Lynch 8a7d44224c ArticleTarget: try to refresh editToken if getWikitextFragment fails
Refactor saveFail's badtoken handling out so it can be reused by
getWikitextFragment.

Bug: T156991
Change-Id: I686cddb5be4484211fa69640044db1bc34eacefc
2017-02-07 11:20:59 -06: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
Bartosz Dziewoński 6f367ea0ec ve.init.mw.ArticleTarget: Don't try to clear non-existent message
This is just dead code. We never call `.showMessage( 'captcha', ... )`
(the CAPTCHA is shown in the 'api-save-error' message).

Change-Id: I48f51e89d5b366384d184e2ed505be9e7b8f3401
2017-01-31 14:40:32 +01: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 337614d142 Open preview links in new tab
Bug: T155159
Change-Id: Idddc6b25303c17382ba1bc763b9001b727e1040e
2017-01-12 16:07:00 -08:00
jenkins-bot 7c49a23a33 Merge "ArticleTarget: Give users a specific message when HookAborted errors happen" 2017-01-11 22:21:13 +00:00
jenkins-bot 18ba046361 Merge "ArticleTarget#saveErrorUnknown: Handle the xhr being complete" 2017-01-11 20:37:08 +00:00
James D. Forrester 002b0adef0 ArticleTarget: Give users a specific message when HookAborted errors happen
Change-Id: I7017412dc56200f5bb0adbd901aed15507447846
2017-01-11 10:46:30 -08:00
James D. Forrester 2b502572ec ArticleTarget#saveErrorUnknown: Handle the xhr being complete
Change-Id: I638b5b80c5a404a438ebd357b6e16bbab7871d6e
2017-01-11 10:45:43 -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 2b913fb10c Merge "Add editintro to notices" 2017-01-03 20:19:06 +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 f182d5d223 Merge "When switching check wikitext is a non string, not just empty" 2017-01-03 18:57:48 +00:00
jenkins-bot 78a38ae6ea Merge "Register shortcuts for minoredit/watchlist" 2017-01-03 18:54:26 +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 4628e9e68c When switching check wikitext is a non string, not just empty
Also add documentation.

Bug: T154437
Change-Id: Icacc0ad522d3e7fa28ecea9876c2c0465c4eb8e6
2017-01-02 18:40:07 +00:00
Ed Sanders 58071f59f1 Add editintro to notices
Bug: T56029
Bug: T51622
Change-Id: Ib43cc66b817ff394b4f1c82fcba4503df825819c
2016-12-31 23:23:17 +00: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
Bartosz Dziewoński 90ff82a035 Use mw.Message#parseDom where appropriate
Avoid turning DOM into HTML markup and parsing it back into DOM.

Change-Id: I34f56ee60b836a7e0556130a153fc95adb4f3467
2016-12-27 23:54:12 +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
Ed Sanders 7611ee5a2c Register shortcuts for minoredit/watchlist
Bug: T153925
Change-Id: I3f569a75a66e816d0a5c4ad966344100510a4f2b
2016-12-23 13:36:48 +00:00
jenkins-bot d5f66e4fe9 Merge "Preserve checkbox data when switching from VE to NWE" 2016-12-22 12:37:37 +00:00
jenkins-bot 50da8d8ab9 Merge "Add comments in some places where we really want to treat messages as HTML" 2016-12-22 00:32:23 +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
jenkins-bot 8497b06287 Merge "ve.init.MWWelcomeDialog: Don't treat text messages as HTML" 2016-12-21 02:49:09 +00: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
Bartosz Dziewoński dc3bae7d36 ve.init.MWWelcomeDialog: Don't treat text messages as HTML
This appears to be unintentional. The messages don't have any markup.

Change-Id: I6f6570c5ef90e4a06ead1a23f6f851021a77c234
2016-12-20 10:50:10 +00:00
Ed Sanders 46385a557e Ensure document base is always correct, even in source mode
Bug: T153624
Change-Id: I3f74f67ce975f5b371ab42adf5213256ae816f7f
2016-12-19 21:08:58 +00:00
jenkins-bot 2f790bb7a8 Merge "Show HTTP status alongside 'Unknown error' when it's not 200" 2016-12-16 18:51:57 +00:00
jenkins-bot 57d49550a0 Merge "Add shortcut for show preview and resolve access key conflicts" 2016-12-16 18:14:17 +00:00
Ed Sanders 4d134cfefc Add shortcut for show preview and resolve access key conflicts
Refactor save dialog setup so logic for canPreview/canReview
is external and passed in.

'Show preview' will show in the VE command help dialog until
I56c1036e6 is merged in core.

Bug: T149914
Change-Id: Id718ad622be43c03df61d12b8688d53462c59f36
2016-12-16 13:33:57 +00:00
Alex Monk a9feb8869c Show HTTP status alongside 'Unknown error' when it's not 200
Change-Id: If14dc14f2cc43a1f12c1314342d5028ec524c31e
2016-12-16 11:28:38 +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
jenkins-bot 552e21b74b Merge "Properly clear this.section when switching from VE" 2016-12-15 04:18:37 +00:00
Ed Sanders 9728d78126 Resolve URLs in show preview against correct base
Bug: T153277
Change-Id: Icaa6de4618de008fb2024d1dd428114688cb1043
2016-12-15 03:19:16 +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 61c7cc4a95 Extra section title for edit summary in source mode
Bug: T153245
Change-Id: I3b3465f269831152fd7a820027f44bfaada067a8
2016-12-14 21:22:10 +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 dc897662bf Merge "Resize save dialog after showing captcha" 2016-12-13 17:19:20 +00: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
Ed Sanders 56c34fbf79 Follow-up I6eda4a7c: Fix typos in #updateTabs
Change-Id: Ib80dec3fb199ea03609d5d0f242ac606052f24cc
2016-12-13 15:19:05 +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 37190c3e8d Resize save dialog after showing captcha
Change-Id: I219a1eae442bd580760235f22eee15a836d5ebae
2016-12-13 12:05:42 +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
jenkins-bot 397eb403cc Merge "Simplify #updateTabs" 2016-12-08 19:59:29 +00:00
Ed Sanders cd87e7483b Expand dummy surface to be at least valid
Change-Id: I3888dd2f72858bbe79c61fa4a6f7967f21c5cb7c
2016-12-08 19:36:57 +00:00
Ed Sanders 66e4a5cbe8 Simplify #updateTabs
Change-Id: I6eda4a7c27f0b7590aae5505b0459ced07d2cc48
2016-12-08 19:22:11 +00:00
jenkins-bot bdfff4a3b1 Merge "DesktopArticleTarget: clear out originalCategories when they're updated" 2016-12-07 16:46:06 +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
Alex Monk c843824c97 Batch gallery imageinfo requests via ImageInfoCache subclass
Also get rid of .join( '|' ) for API request parameters per Bartosz

Bug: T147067
Change-Id: If4444cca300d65e28d6fb9003fcac5e076a5129a
2016-12-06 22:10:19 +00: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 3064890a91 Merge "Clear preview when document is modified" 2016-12-02 02:45:29 +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
Ed Sanders 915bbec307 Clear preview when document is modified
Use same logic for 'Show preview' as for 'Show changes'

Change-Id: I69510b426548fca46dc9b0d113b77ad206502b21
2016-12-01 23:59:07 +00: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 8bca6cc777 Inherit more functionality from core source mode
Change-Id: Id027681ab5f0c9f4b9ed127b583e45f0fe57ce69
Depends-On: I02f3849027a6652701c2d354d1b77ece9d1a56c1
2016-12-01 18:44:54 +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
Ed Sanders aeafa6afca Update VE core submodule to master (9625e8f)
New changes:
f1297b8 [BREAKING CHANGE] Allow target widgets to be re-used

Local changes:
Re-use target widgets

Change-Id: I5decb918f398704d4b6c108a16fbc1cc073ef077
2016-11-29 11:48:15 -08:00
Ed Sanders 4fe6be1f34 Separate out ArticleTarget as a module
Also move save button command help registration to ArticleTarget.

Bug: T151096
Change-Id: I941d17254a2e20a82aa46fd538abf887d757c0c3
2016-11-24 12:35:41 +00: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
jenkins-bot 8fd396151c Merge "Migrate DesktopWikitextArticleTarget code upstream" 2016-11-20 03:06:55 +00:00
Ed Sanders e1a887ccf8 Migrate DesktopWikitextArticleTarget code upstream
Change-Id: Icca4715411737a561302b44b127d91d117e7e29b
2016-11-20 02:52:14 +00:00
jenkins-bot c790944eb0 Merge "Setup htmlBlacklist and add rule for read-mode MW references" 2016-11-17 17:30:45 +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
jenkins-bot 51adc1b37f Merge "Fix handling of failure to load visual mode" 2016-11-16 18:48:16 +00:00
James D. Forrester f24e34de3c build: Bump eslint-config-wikimedia to v0.3.0 and make pass
Change-Id: I7449c11aa63c50fda667265c32021439cc53471f
2016-11-15 15:05:05 -08:00
Ed Sanders 134477a840 Setup htmlBlacklist and add rule for read-mode MW references
Logically depends on If1b20fefe4b.

Bug: T150418
Change-Id: I0e2249b64f3b452c0322e7a20515ee7b2b6c6f60
2016-11-15 17:20:17 +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 37ccaca2ec eslint: Re-enable wrap-iife and partially enable dot-notation
Change-Id: I4420d66f528dcb18ebe2b9f63996661b2969f833
2016-11-12 14:43:43 +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
Jforrester dc8171d100 Revert "Temporarily override broken toolbar border colour"
This reverts commit 4c8a97f9e8.

[Pending next OOUI release.]

Change-Id: I890a7081ffa7c015bd32466fa88d61e3f38af4e6
2016-11-09 20:48:58 +00: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 d972d3f4f2 Merge "Hacks to get VE loading on mobile while user has NWE enabled" 2016-11-08 17:14:44 +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 81e32c6a4b Hacks to get VE loading on mobile while user has NWE enabled
* ext.visualEditor.mwwikitext does not have mobile target
* We call mw.libs.ve.setEditorPreference from ArticleTarget

Change-Id: Ifae6e951155c83b13f3111732b0dc500349b1df2
2016-11-05 05:51:26 +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 cacb6d5427 Merge "Store editor preference when switching to NWE" 2016-11-02 21:39:11 +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 f20a40d09f Merge "Keep edit summary when switching between VE and NWE" 2016-11-02 21:09:29 +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 2282ee80c1 Store editor preference when switching to NWE
This will also change the label of the single edit tab.

Bug: T149795
Change-Id: I3e1afad61ed60eb6f58aceb023e2fed16f053542
2016-11-02 19:10:29 +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
Alex Monk 1384df41c8 Keep edit summary when switching between VE and NWE
Bug: T144906
Change-Id: I0b979959f4b6f33167ba4a225184fda7ca13a1e8
2016-11-01 00:08:09 +00:00
jenkins-bot 5709e89399 Merge "eslint: Remove unused exception and fix documentation errors" 2016-10-28 19:12:19 +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
jenkins-bot bce6aeb92a Merge "build: Replace jscs and jshint with eslint" 2016-10-28 18:43:15 +00: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
jenkins-bot daf7a32c03 Merge "ve.init.mw.DesktopArticleTarget: Fix missing '&&'" 2016-10-28 00:12:45 +00:00
James D. Forrester c45c79eca2 ve.init.mw.DesktopArticleTarget: Fix missing '&&'
Change-Id: I0e91cde3d38d3f5bdd7dde790093db21d8a64036
2016-10-27 16:53:55 -07:00
jenkins-bot eabd56618b Merge "Set Api-User-Agent in requests to RESTBase/Parsoid" 2016-10-27 23:24:09 +00: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
James D. Forrester 7eeb66f63e Set Api-User-Agent in requests to RESTBase/Parsoid
Bug: T149050
Change-Id: I7670450724f18865a7d9c7c7eb182449964f32b0
2016-10-27 08:56:19 -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