Commit graph

1421 commits

Author SHA1 Message Date
Alex Monk 3bda9a75aa Set an automatic summary of empty string when switching from VE into WTE
So if the user supplies a summary in VE, WTE with the "Prompt me when entering
a blank edit summary" preference won't moan.

Bug: T135979
Change-Id: I0e2d2b6f8fb03bb56d600f1118daf82fb3715b66
2016-06-15 18:37:56 +01:00
Alex Monk 9900d42816 On serialization failure, reset document opacity.
In case we were switching to source.
Normally MWWikitextSwitchConfirmDialog#getActionProcess would do this for us,
but this closeWindow call doesn't trigger that, we can't get it by overriding
MWWikitextSwitchConfirmDialog#close either.

Bug: T134333
Change-Id: I66a12ff6d13601250b9d470e1be54fe38a1ef06c
2016-06-13 23:45:43 +01:00
Alex Monk 0659207900 Call child serializeSuccess/Failure in ArticleTarget#serialize
Instead of going straight to ArticleTarget's one.
This causes ve.init.mw.DesktopArticleTarget.prototype.serializeFail
to be called when using that target.

Bug: T134333
Change-Id: I6ec259830178439bc80ea162ba4ad035226022a7
2016-06-13 23:37:27 +01:00
Ed Sanders b104525c8c Blacklist article/section from external paste
Bug: T137441
Change-Id: I9ae85306a3220126462c69e4ea0a2a5e905fffa1
2016-06-13 12:22:10 +01:00
Alex Monk 28c30a3180 Make visualeditor-quick-access-characters.json always exist
Bug: T137368
Change-Id: I3f0f88495323b74d156c24939ca12840b4b970c5
2016-06-10 17:15:49 +01:00
James D. Forrester 5ecf40f51e build: Bump devDependencies to latest and make pass
babel-polyfill              6.8.0  →  6.9.1
 grunt-jscs                  2.8.0  →  3.0.0
 grunt-jsonlint              1.0.7  →  1.0.8
 grunt-stylelint             0.3.0  →  0.4.0
 stylelint-config-wikimedia  0.2.0  →  0.2.2

Change-Id: I4db467c7f2bc291a94e7bab86d18e48a44f6054c
2016-06-07 17:17:02 +01:00
jenkins-bot 6a6d3b9368 Merge "Fix loading bar opacity" 2016-06-07 14:07:48 +00:00
Ed Sanders 61cb539c7b Fix config of mobile surfaces
Change-Id: I0109a93a41b0387199a0424b60a26a415393bc5d
2016-06-03 10:51:42 +01:00
jenkins-bot 6e6d2bf66b Merge "Move $editableContent computation into overridable method" 2016-06-01 17:40:15 +00:00
Ed Sanders 538959dc49 Move $editableContent computation into overridable method
Change-Id: Ibb0b877a01f8982fb895616c4c0d3e897bf37c85
2016-06-01 09:58:17 -07:00
Ed Sanders 0a0ca68d62 Simplify teardown of toolbar save button
Bug: T136421
Change-Id: I6829ad75b93c6aa6c6db51b5c9cd84915c75cdb8
2016-06-01 17:52:58 +01:00
Ed Sanders b33cd5d8f1 Fix loading bar opacity
* Ensure ve-loading isn't removed early
* Quickly detach then reattach the loading bar during
  activation so it doesn't get moved and marked as original content

Change-Id: I263c9627348953a11966f8bcc435d0d89b0b6084
2016-06-01 14:52:57 +01:00
jenkins-bot d70485244d Merge "Allow extensions to support extra namespaces and content models" 2016-06-01 01:02:51 +00:00
Ed Sanders 796da84576 Allow extensions to support extra namespaces and content models
Change-Id: If67bab93da355da609b6df274514b5c72a6ed91a
2016-06-01 01:55:03 +01:00
Bartosz Dziewoński adffe3788c ve.init.MWWelcomeDialog: Don't mess with the actions dynamically
This removes an "ew" comment, which I presume indicates a hack.

Change-Id: I57dfb173d5f37466686f3f9dd9c97a5e7d685199
2016-05-31 23:15:49 +02:00
Bartosz Dziewoński 3dfd203d1b ve.init.MWWelcomeDialog: Fix keyboard focus on dialog actions
Just remove the setTimeout() call. See the task for explanation.

Bug: T135808
Change-Id: I24509046999ef06cef27adb9266167af29d5f76b
2016-05-31 23:05:38 +02:00
jenkins-bot 337109fef1 Merge "Un-blacklist Firefox versions 12,13,14" 2016-05-31 16:55:38 +00:00
Ed Sanders 20fa650a6b Un-blacklist Firefox versions 12,13,14
T52720 (link corruption in FF13/14) appears to be fixed.
T52780 (editor not loading in FF11/12) appears to be fixed.

FF11 has a new issue where templates are normalised even
when not touched (T136607)

Change-Id: I34358e3d90b8186e6b89c04c038ab79c908fc81b
2016-05-31 09:46:50 -07:00
Ed Sanders 4d466f16b5 Add fallback selectors if image page has no existing local content
Change-Id: I1fac3b35b5d498115c96b07c29cf409be72a1389
2016-05-31 16:42:21 +01:00
jenkins-bot eb9c346221 Merge "Update VE core submodule to master (a4a5afa)" 2016-05-30 17:03:51 +00:00
Ed Sanders 5581394ea3 Update VE core submodule to master (a4a5afa)
New changes:
4a5aa37 Clean up debug bar buttons
15f016c Undo sequence input stripping if window is dismissed
e874734 Localisation updates from https://translatewiki.net.
8db33b4 Follow-up e874734: Fix build for added languages 'gom-latn' and 'gor'
79c5d51 build: Update stylelint config version and make it pass
3804f5e build: Remove grunt-cli
cea7b63 Update OOjs UI to v0.17.3
9f648f4 [BREAKING CHANGE] Always get registries/factories via surface
1252814 Add cloneWithData() utility
5ccdef3 [BREAKING CHANGE] Fix debug bar encapsulation

Local changes:
* Fix debug bar encapsulation

Change-Id: I2c5d722278c5f71b59ee2f8849d9babb5aff6af2
2016-05-30 09:53:31 -07:00
jenkins-bot 51ceeda189 Merge "Remove unused namespace class" 2016-05-29 17:19:32 +00:00
jenkins-bot c2c997081f Merge "Fix z-index of surface for debug bar" 2016-05-29 17:19:29 +00:00
Ed Sanders 73a1127981 Fix font size in target widget debug bar
Change-Id: Ic5120fd1d2cc4955a502fa57478a19851f9f6b33
2016-05-29 17:39:09 +01:00
Ed Sanders d6a770bb4d Remove unused namespace class
Introduced recently but then abandoned.

Change-Id: Ifa999f0e60fe1b6d68c63813025c9fd48b79ad5f
2016-05-28 20:54:24 +01:00
Ed Sanders 293163131b Fix z-index of surface for debug bar
Change-Id: I938f2d959cd7cb72c43c2efd666838a9cd9d3e39
2016-05-28 20:53:40 +01:00
jenkins-bot ce149e49d7 Merge "DesktopArticleTarget.init: Make surface hiding hack work with padding" 2016-05-27 18:46:36 +00:00
Ed Sanders 5d9ed11815 DesktopArticleTarget.init: Make surface hiding hack work with padding
Change-Id: Ia8508199c80ef3da7f4ae30bd4e053273fe44d8a
2016-05-27 18:33:33 +00:00
Alex Monk 51dd790710 Track ETag header responses in special event logging schema
Bug: T135171
Change-Id: I70d6db0897c3f08c28d5841302ba7e196f362e48
2016-05-26 23:29:02 +01:00
Alex Monk afd5944bde Followup I9280fe4d: Merge main case with default, they are identical
Change-Id: I280f0eba1c99f5e96ffe5466e8398115fbc5f4f8
2016-05-26 18:15:27 +01:00
James D. Forrester 1b9427c5dd Follow-up 1dc933be: Don't fatal when editing non-NS0/6/14 pages
Change-Id: I9280fe4d771cf7ce1ee3874a34d7a14b672b222c
2016-05-26 09:07:07 -07:00
Ed Sanders 67d24eb83f Clear save caches when toolbar is re-attached
Change-Id: I14ddcba9fa4fd5f39341312d241ce59980276a2b
2016-05-26 15:53:04 +00:00
Ed Sanders 1c5c1fc6b9 Append surface & toolbar components in the correct places
Use setSurface and setupToolbar to position the surface and the
toolbar save button in the DOM.

Change-Id: Ide634848f4e78501724c358bcb1fdab8abd491b9
2016-05-26 08:50:21 -07:00
Ed Sanders 1dc933bead Genericise target initialisation across namespaces
Define $editableContent on target construction, and mark
all non-ancestor nodes between that at the target container
as uneditable (50% opacity, no pointer events).

Bug: T58289
Change-Id: I7fe51104bd5aa1bd53ffc604e5f02752c7553578
2016-05-25 12:50:36 +01:00
Alex Monk 8c3dc0887d Don't show tab preference dialog again if it's already been shown
Bug: T135534
Change-Id: Ifecac607acccc0e18e61b07e8456566d4671aa1b
2016-05-20 02:36:25 +01:00
James D. Forrester 8c7ed92288 Update VE core submodule to master (eeaf1e2)
New changes:
c54a48a build: Fix watch list (csslint -> stylelint)
58ba3d9 Add stylelint rules for @-rules
3f8c75a Stylelint: Add rule for unsupported browser features
3b96ff3 Fix minimum Opera version (15 -> 12)
9a1110b Stylelint: No ID selectors
9800bb8 build: Remove remaining references to csslint
b6ab14a stylelint: Re-enable features by names
6cc1f3c Move stylelint to npm
1d15fa0 build: Bump stylelint version to v0.2.0
ccc1724 stylelint: Use the preset rather than extending

Change-Id: I22fa8098592338a5e912aba9ad21131b21d9c0ea
2016-05-18 07:06:53 +01:00
jenkins-bot d2c995594a Merge "Remove remaining references to csslint" 2016-05-17 12:41:48 +00:00
Ed Sanders 8d749518ec stylelint: Comment uses of 'unsupported' browser CSS features
Change-Id: Ia88575d3fe71c22551cc601f03d8f4dea6d7fe16
2016-05-17 12:28:07 +00:00
Ed Sanders df49e5deb9 Remove remaining references to csslint
Change-Id: I1b5177bf746985a199bcc1ec713f886164c74760
2016-05-17 13:27:47 +01:00
Ed Sanders 99d3320573 build: Replace csslint with stylelint
For now just use the rules file in lib/ve, but eventually
this will be a preset.

Change-Id: I7fd79d3e1dce37aef066d416cd969e5fff1e962f
Depends-On: I17e0d23ddfedf64985495ab35d113ea08c03b1df
2016-05-16 22:30:49 +01:00
Alex Monk 349b1f5e57 Add WTE welcome dialog
Bug: T133800
Change-Id: I6eb43274e22f647958c3ab1b6d5c12b3dbea388e
2016-05-10 23:28:21 +00:00
Alex Monk 1ba035e053 Fix deactivating VE after user explicitly decideas to discard changes
Bug: T134794
Change-Id: Idf1941793317a6aff9fe57082b85e3ebff0c72b4
2016-05-10 23:39:57 +01:00
Alex Monk 3c55bfbb80 Add a hidden link with accesskey=v in SET prefer-wt mode and remember-last wikitext
Try to tidy up a bit of code in DAT.init.js as well

Bug: T116406
Change-Id: Iad1713e14ea1f982886ba06e0b722c554ab2b892
2016-05-01 21:01:57 +01:00
Ed Sanders 8e4c9dba13 Fix link blacklisting
Now that we always generate mw link types in the converter,
blacklist mwExternal links, not plain links (which won't exist).

Change-Id: I2ab9fbb9ec50c2e36e8a870d48b6aa06c7e69f8c
2016-04-26 21:20:22 +01:00
jenkins-bot 80636c235e Merge "Add a popup after switching into VE from WTE" 2016-04-25 22:42:55 +00:00
jenkins-bot a825845ad5 Merge "Move monobook global overlay styles to generic DesktopTarget" 2016-04-22 16:37:55 +00:00
Ed Sanders 6efd583ff7 Add method that runs after activation, for overriding
Change-Id: I046583e61f328baddb0c09eaff122e991c85f992
2016-04-22 17:17:56 +01:00
Ed Sanders 9898b7ea2c Move monobook global overlay styles to generic DesktopTarget
Fixes the font size in non-article desktop targets,
e.g. Flow.

Change-Id: I8f7e0af5061ef5dda2564b62e9b94e606ca77799
2016-04-22 12:42:52 +01:00
Ed Sanders 7a007e2874 Create MW targets using a factory
Move the existing static property 'name' to 'trackingName'
to make way for a real registry index.

Change-Id: Iab0d5be611ece7038234551c4847b07517b4348d
2016-04-21 21:06:39 +01:00
Ed Sanders 7576810b28 Use Array.prototype.indexOf in support check
The SupportCheck method asserts that the method is available so use it
instead of the confusingly named jQuery version.

Change-Id: I2105384cc4f6f2ec1cdb24a7bf3b0f4cce7672d3
2016-04-21 12:41:13 +01:00
Alex Monk 0bbe2e38ee Add a popup after switching into VE from WTE
Bug: T131066
Change-Id: I2294da7d09dfbacb9187aba5e6e703511cec3c9f
2016-04-20 18:46:00 -07:00
Ed Sanders a6aa6daa28 Defer before restoring scroll position, and allow 0
Bug: T131791
Change-Id: Id48b913effe5313c193ce62b19faf5655278ff6d
2016-04-19 21:42:09 +01:00
James D. Forrester be1809c35d Update VE core submodule to master (d6c6a85)
New changes:
c48d7cc Add support for placing a toolbar dialog in the side margin
ee7e14b FindAndReplaceDialog#renderFragments: Protect against null surface
fc61463 Fix dm.Surface#getHistory to not return undone items
f1dff2f Introduce ve.Range#overlapsRange method
f608958 Introduce dm.Surface#getModifiedRanges
db114ed Move debugging data-url GIFs to a debug only file
1dd8194 Update RangeFix to 0.2.0
706ff4e Add 'Support: [browser]' to browser hack comments
4f52afc Inline slugs: Limit Firefox hack to versions <38
bf73326 Add classList polyfill for IE9
59d78aa Fix access of iframe-created document in IE9
a886ae1 Hide borders on linked images in IE9
5293974 Fix double-click to edit table cells in IE9
a49a02f Add some more Support: comments

Depends-On: I9c5cea3e8df1fae001d4d98c0782a04dec803776
Change-Id: I460368f509a213464e57bb95f2d726305ef608de
2016-04-18 18:34:20 -07:00
jenkins-bot d4f9a85f27 Merge "Set mw.libs.ve.EditingTabDialog.static.message instead of passing it to setup data" 2016-04-17 17:49:28 +00:00
jenkins-bot 227de9cfef Merge "Close VE SET dialog when we deactivate" 2016-04-17 17:43:01 +00:00
jenkins-bot 299027e528 Merge "Don't select edit tab when VE is opened while user has prefer-wt pref" 2016-04-17 17:39:56 +00:00
jenkins-bot 25fb8ce692 Merge "Only style originalContent when VE is active" 2016-04-17 17:31:05 +00:00
Alex Monk 4ccc1ad5af Don't select edit tab when VE is opened while user has prefer-wt pref
You can still open VE with prefer-wt mode by going to veaction=edit, and
T116406 proposes making it accessible with a keyboard shortcut as well.

Change-Id: Ifc25b5147a96a200ac3a7de465d5cdf67e2e255b
2016-04-15 02:37:46 +01:00
Alex Monk 89ed0ccbf5 Only style originalContent when VE is active
Otherwise there is a white block above the resulting content after save

Change-Id: If9239556ed5b1038aa86e4ba161da2abfd9e6bf2
2016-04-15 02:26:44 +01:00
Ed Sanders 011ff4e133 Replace transitionend event with setTimeout
transitionend events seem like a neater solution, but we should
migrate all of our code at once, and provide a polyfill for
browsers which don't support it (IE9).

Change-Id: If6ae030856f8e69cc8bb26f21bfed30d5d22775c
2016-04-14 16:21:41 +01:00
Alex Monk f3c5e2f410 Set mw.libs.ve.EditingTabDialog.static.message instead of passing it to setup data
Change-Id: I2bfb79e258253e00c9f856bbbb3c4efae55a128c
2016-04-13 22:46:14 +01:00
Alex Monk 47cfc03d72 Close VE SET dialog when we deactivate
You can trigger deactivation by browsing back.

Bug: T132494
Change-Id: I8f66e22a745d84a3ca4b144c389c3ae654974789
2016-04-13 22:41:27 +01:00
Alex Monk 9170bd8acd Try to make client and server code to get last editor work the same
On the client: getLastEditor in ve.init.mw.DesktopArticleTarget.init.js
On the server: VisualEditorHooks::getUserEditor in VisualEditorHooks.php

Change-Id: I9cc0f367aee2dda43cffc6918bfb042ac8ae3bb2
2016-04-11 23:58:31 +01:00
Alex Monk 71990b4c44 Check wpSection before converting textbox contents for use in VE
Bug: T132309
Change-Id: I93f7706257f1f8ea59b7447f198a34439b17194d
2016-04-11 23:35:11 +01:00
jenkins-bot 5dc1257507 Merge "More minor/watch checkbox state computation server-side" 2016-04-11 14:18:56 +00:00
jenkins-bot 9b9390585d Merge "Adjust DOM and CSS so UI surface runs from top to bottom of page" 2016-04-11 14:03:29 +00:00
Ed Sanders f342dc01c3 Adjust DOM and CSS so UI surface runs from top to bottom of page
Place things like the page title and redirect link inside a new
container $originalContent, which is appended to the surface
when ready. Replace margins with padding in various places.

This will allow us to surface-height-matching sidebar for dialogs.

Change-Id: I60d80fb303bdaf93e9d121f62d534ee3a3056e59
2016-04-11 13:18:36 +01:00
Alex Monk 149dab8fc5 Add ?redirect=false to VE's RB /page/html/ requests
Untested.

Bug: T130757
Change-Id: I27570d3212bd41bf7da93608302dae04c364783f
2016-04-09 03:34:34 +01:00
Roan Kattouw 12eb41acff More minor/watch checkbox state computation server-side
Following through on my threat from 72b0d2a19c (November 2013).

Change-Id: I0daeef2a0373bbdb06627053e9d726d6fc20a3f6
2016-04-08 18:02:01 -07:00
jenkins-bot 597a095a64 Merge "Ensure veswitched is not set when we set wteswitched in the URI" 2016-04-05 15:51:33 +00:00
jenkins-bot f9c95cd820 Merge "Fix up mw.libs.ve.EditingTabDialog.prototype.getActionProcess" 2016-04-05 15:41:28 +00:00
Alex Monk 373a19f1cc Ensure veswitched is not set when we set wteswitched in the URI
veswitched and wteswitched together cannot result in any sane behaviour.

To reproduce:
* Open VE (while having multi-tab pref?), switch into WTE
* Make a change
* Switch into VE

Change-Id: I90e19169e3fab60ab876c8e4d349801309db262f
2016-04-05 01:27:37 +01:00
Alex Monk f67b578c3f Fix up mw.libs.ve.EditingTabDialog.prototype.getActionProcess
How did this ever work?

Ensure action is passed through and not just undefined, wait for change to go
through before refreshing.

Bug: T131818
Change-Id: I83b5695906044299d338e62e6c980c596d291765
2016-04-04 23:57:46 +01:00
jenkins-bot 12aefcc213 Merge "After saving and setting HTML, set single-editor edit section handlers again" 2016-04-02 18:32:46 +00:00
Roan Kattouw 8e69dfa3b8 ArticleTarget: Correct comment explaining where setAssumeExistence( false ); is called
Change-Id: Ib883ea1fe57fe6cb3e182965a18eb3fb50246178
2016-04-02 20:28:44 +03:00
Alex Monk 7788aece55 After saving and setting HTML, set single-editor edit section handlers again
Change-Id: I6e0962271e7e1460abbe82864b47fddc5bd7f235
2016-04-02 09:53:25 +03:00
jenkins-bot 2449ce203d Merge "Use veaction=edit in URL instead of action=edit when we're using multiple tabs" 2016-03-31 15:42:40 +00:00
Alex Monk 4210c4bee0 Use veaction=edit in URL instead of action=edit when we're using multiple tabs
TODO: What about prefer-wt users switching from WTE?

Bug: T131064
Change-Id: I9aa701cbda3964decb8b1ee853c0a281567a0ccb
2016-03-30 02:54:01 +01:00
jenkins-bot 18533b47fa Merge "Toolbar: Add tooltips to structure and insert groups" 2016-03-29 17:15:51 +00:00
jenkins-bot b9643881d9 Merge "Remove icon properties from windows" 2016-03-29 16:37:22 +00:00
Ed Sanders 9a347220bc Target loading: Only parse oldid if it is non-null
This un-breaks MobileFrontend.

Change-Id: Ib1bce6b80abb004ff4ca26920759ef98f3cd1143
2016-03-29 12:57:00 +01:00
Ed Sanders c516d897d2 Remove icon properties from windows
Windows stopped supporting icons a while ago.

Change-Id: I8a63152282a5968dcd17675330e31bd1ebe4b68b
2016-03-29 12:33:42 +01:00
Ed Sanders 1d8d1c2a64 Toolbar: Add tooltips to structure and insert groups
Bug: T131133
Change-Id: I927bf6f0d1de74b4ac8d16c3b5ce27720db322d4
2016-03-29 12:08:22 +01:00
jenkins-bot 068bafd9df Merge "ArticleTarget: Don't assume an explicit oldid is old; check against current" 2016-03-26 00:49:58 +00:00
Alex Monk 680e464e94 ArticleTarget: Don't assume an explicit oldid is old; check against current
Bug: T130810
Change-Id: I3d5b748da37a0a059f282f97dd0d68d1846e2553
2016-03-25 17:37:02 -07:00
Alex Monk b1aebf0b48 Don't strip namespace from text that we replace firstHeading with
wgTitle is basically just $title->getText()
wgPageName is $title->getPrefixedDBkey()

So we need to take wgPageName and run getPrefixedText (difference is underscores
get replaced by spaces)

Change-Id: Ib99f0d20f1ba99338f80bbbf39cffd544887c3fa
2016-03-25 04:45:09 +00:00
jenkins-bot 9b9ace9d03 Merge "Rename startSave -> onSaveDialogSave" 2016-03-23 19:48:06 +00:00
Ed Sanders 5e4ad90845 Rename startSave -> onSaveDialogSave
Factor out actual startSave into new startSave method.

Change-Id: I73edb5021903f04aa197ace2a2afa3aa3a5ddac6
2016-03-23 11:14:06 +00:00
Alex Monk 2063025237 Don't change focus to VE surface if we're opening the SET dialog
Bug: T130552
Change-Id: Idc4639bb3f51690a827bdbdb0419e9303dd39a1b
2016-03-23 01:08:32 +00:00
Ed Sanders fd3683e414 Update VE core submodule to master (d1ce123)
New changes:
6cf8864 Follow-up eb97c1f: Fix build for added language 'inh'
d1ce123 SpecialCharacterDialog: Use getReadyProcess promise to wait for char list

Local changes:
* SpecialCharacterDialog: Defer loading of character list.
  Saves ~40k for most users who never use it.

Change-Id: I74b30fee96e1ae4463ed28c19bef4b515330220e
Depends-On: I45dc9f788aa5bd702b91ffd9f63b05b1f4760691
2016-03-22 09:15:23 -07:00
jenkins-bot 4e4684e7d0 Merge "Show redirect target inside target" 2016-03-17 22:54:39 +00:00
jenkins-bot 1c27e5d51a Merge "In the event of a document reload due to RB vs. API rev ID conflict, always re-set requestedRevId" 2016-03-17 15:39:12 +00:00
jenkins-bot 33c9055fdc Merge "Reload page after user selects multi-tab option of SET dialog" 2016-03-17 15:39:09 +00:00
Alex Monk 3288d4e3f9 Show redirect target inside target
Bug: T63861
Depends-On: I71d3d415fe918e8b0a090860cad9271092b1bd7e
Change-Id: I5a138b95e04773885ca9ee548026729805eb11f0
2016-03-17 15:21:06 +00:00
Alex Monk 02953f5d64 Suppress meta dialog on refresh pages if we want to show SET dialog
Bug: T129819
Change-Id: I1176d06e5a5f56f01528acd7d099c8be9d317e51
2016-03-15 08:10:46 +00:00
Alex Monk 612e43dc08 Prefer error *code* when logging unknown errors
See also I4a5bac24

Change-Id: I62fda9dadd24704f5930b30a2f8ad4d4a9e729cb
2016-03-14 00:27:42 +00:00
Alex Monk 22bf016a84 In the event of a document reload due to RB vs. API rev ID conflict, always re-set requestedRevId
There's probably more to this bug but I think we should still correct this

Bug: T125437
Change-Id: Ib32d1e69b2500578b5dc160c0c2d7481f5577ebb
2016-03-12 04:46:54 +00:00
Alex Monk d1d4839f8f Log readonly code for readonly errors
I thought I did this yesterday

Change-Id: Icd2cf8fdf4263cab335a2ddfa53ab0585153dfb4
2016-03-11 17:33:57 +00:00
Alex Monk 3807a918f9 Reload page after user selects multi-tab option of SET dialog
Bug: T129510
Change-Id: I3fcac175f18d8159e6a5c4084668264d4705970c
2016-03-11 05:39:29 +00:00
jenkins-bot d6ec1ed86f Merge "Fix logging of event_action.saveFailure.message for responseUnknown" 2016-03-10 21:22:37 +00:00
jenkins-bot ad7c364725 Merge "Better handling of read-only mode" 2016-03-10 21:22:34 +00:00
Alex Monk 0a6f6e1bbd Fix logging of event_action.saveFailure.message for responseUnknown
Change-Id: Ic8d3066d8f6ccf8bc4a1001fd4d406b313915e82
2016-03-10 21:03:25 +00:00
Alex Monk d2a9aefba7 Better handling of read-only mode
* Don't just fail to load, action=visualeditor itself should not write to the DB
  (we have action=visualeditoredit for that)
* Send notice to the client in the usual way
* Handle read only errors on save, log as unknown

This won't let you review changes because that uses visualeditoredit

Bug: T129501
Change-Id: Id78c06b031423e47a7ddf94ec615b6d6975309d3
2016-03-10 21:02:52 +00:00
Alex Monk 4462f2539a Suppress welcome dialog this time if we're showing the SET pref dialog
Bug: T129200
Change-Id: Iaa6d80df930cfcbd243efd31437cb8707da35c06
2016-03-10 17:54:15 +00:00
Timo Tijhof cf1d7c0dab mw.DesktopArticleTarget: Fix "Uncaught: Cannot read done of undefined"
Regression from 863a2c2974.

Sometimes when clicking "Switch to source mode" in the toolbar this
error is thrown and the interface freezes because setEditorPreference()
only returns a promise if the value is different.

> Uncaught TypeError: Cannot read property 'done' of undefined
> - ve.init.mw.DesktopArticleTarget.switchToWikitextEditor

Change-Id: Ie59f06a8ed9af9c4fb8199b013c06992d0c4f700
2016-03-08 23:13:11 +00:00
jenkins-bot 8d7baccd5f Merge "DesktopArticleTarget: Add Edge and MSIE to whitelist" 2016-03-07 23:28:58 +00:00
jenkins-bot 39f3cfa4a7 Merge "Keep summary and checkbox selections when swtiching WTE->VE" 2016-03-07 23:17:08 +00:00
jenkins-bot 075f569e51 Merge "Update ArticleTarget for new API token handling" 2016-03-07 23:14:32 +00:00
jenkins-bot 6ed2d23b13 Merge "Don't give the user the option to discard changes when changing editor" 2016-03-07 23:14:29 +00:00
jenkins-bot 15f8efed70 Merge "DesktopArticleTarget.init#getLastEditor: Check values for validity" 2016-03-07 23:14:26 +00:00
James D. Forrester 79d1f92b42 DesktopArticleTarget: Add Edge and MSIE to whitelist
Bug: T128447
Change-Id: Ia7afe4ddd5abd4fd1de85ba2d2df1fefa6735d79
2016-03-07 14:58:10 -08:00
James D. Forrester d8eb68d7b6 Don't give the user the option to discard changes when changing editor
Bug: T128585
Change-Id: I02f31e46ae7b2dc7505ed55fc56cd00f538a90e3
2016-03-07 13:39:32 -08:00
James D. Forrester b0407d840d Follow-up I65d96627: Remember the user's preference in WikiEditor too
Oh dear.

Bug: T129130
Change-Id: I12481ded12f99ab1ba59dbd403c1eed038235fd9
2016-03-07 13:03:35 -08:00
jenkins-bot 789979f223 Merge "Try to fix handling of empty document on WTE->VE switch" 2016-03-07 19:48:22 +00:00
James D. Forrester 302aeefd85 DesktopArticleTarget.init#getLastEditor: Check values for validity
Change-Id: I23e0884a97b3689dd42c3df11a6311cd0601c348
2016-03-07 11:27:23 -08:00
Ricordisamoa 993015e03b Update ArticleTarget for new API token handling
action=query&prop=info was being used because it can be combined
with action=query&meta=userinfo, while action=tokens cannot.

However, since MediaWiki 1.24 the 'intoken' parameter of
action=query&prop=info is deprecated, while the preferred way of
retrieving tokens is action=query&meta=tokens which not only can
be combined with action=query&meta=userinfo but also spares the
need of dealing with page ids.

Change-Id: I5ded3c303ede20514eeb2840715fe240b3b2c7e1
2016-03-05 14:44:07 +01:00
jenkins-bot ea11c33e6d Merge "Handle API errors when refetching the edit token" 2016-03-05 02:16:32 +00:00
Roan Kattouw 6322be2e07 Handle API errors when refetching the edit token
This can happen when the user gets logged out on a private wiki.
We get a badtoken error, so we try to refetch the token, which
itself returns an error. Token refetches didn't have error handling
at all and got the save dialog stuck in the pending state.

We can't offer the user to proceed with a different identity here,
because we encountered an error while trying to figure out what their
current identity is. The best we can do is encourage them to
log back in in a different tab.

Bug: T128934
Change-Id: I17d4452f688ec22631dbd12af223731635004d66
2016-03-04 18:06:33 -08:00
jenkins-bot 074885d7cf Merge "Follow-up 2c24efae: fix typo in event name for unknown save errors" 2016-03-05 02:01:57 +00:00
Roan Kattouw 84d534997e Follow-up 2c24efae: fix typo in event name for unknown save errors
This probably means we stopped logging unknown save errors
back in August.

Change-Id: I4a5bac244a469e73643e8a7d978d9212dd838fb0
2016-03-04 17:31:40 -08:00
Alex Monk dde45949a3 Try to fix handling of empty document on WTE->VE switch
Bug: T128635
Change-Id: Iff83e1d71e7186b8da875aa507f9e19e8d9c23ce
2016-03-04 02:05:41 +00:00
Ed Sanders 67c207a6f5 Use abstract target widget creation
Change-Id: Ic7e43e80f4f48df99842cee702963d54205e5055
Depends-On: I6a667a641540b347052ea0c645af4e1e59cf333a
2016-03-03 11:49:44 -08:00
Alex Monk 4ed6fd4010 Change Accept header a bit
Per post-merge commit on I77af4b58 by Subbu

Bug: T128233
Change-Id: I30c4c1ad5b68e5b8a006d7a6c7bcbaac7e2eb164
2016-03-02 15:37:37 +00:00
Alex Monk 21334a0fa8 Keep summary and checkbox selections when swtiching WTE->VE
Bug: T128529
Change-Id: I8a7deac1c4d9390c1db7d78c3e0a11d927ef127b
2016-03-02 11:55:50 +00:00
Ed Sanders d94d98ebfe ArticleTarget: Update documentation
'onReady' no longer exists

Change-Id: I6fbcf619ba471f69380a64ba02994bd6ef0ca246
2016-03-01 22:03:07 +00:00
jenkins-bot a0caedc6d9 Merge "API: Send Accept: header to RESTbase" 2016-03-01 03:24:45 +00:00
Alex Monk 2f135e9590 API: Send Accept: header to RESTbase
Bug: T128233
Change-Id: I77af4b58e5469a898063a3f838802e4f5769514b
2016-03-01 01:14:02 +00:00
Alex Monk d46c5e9f91 Fix WTE->VE switching in prefer-wt SET mode
Bug: T128402
Change-Id: I56af672f2334214f048a4bbfe2f9fab891832792
2016-02-29 23:46:11 +00:00
David Lynch 7486f74c6f MWMediaDialog: Only cache relevant information
Trim the cached image data from the media dialog down so that it only caches
the same information that would have been fetched for a non-uploaded image.
Consistency!

Bug: T126081
Change-Id: I0f057c111b66f29c6360e27f97256384f5320b75
2016-02-29 10:16:34 -06:00
jenkins-bot e39d8a744b Merge "Show welcome dialog on mobile too" 2016-02-29 03:02:03 +00:00
James D. Forrester ab4d3e956b Update VE core submodule to master (0371bbe)
New changes:
0371bbe [BREAKING CHANGE] Refine VisualEditorSupportCheck call and document pattern

Local changes: Use new VisualEditorSupportCheck pattern

Change-Id: I7dc0c360b54a93397180b18d88d72532e439da5c
2016-02-26 12:26:56 -08:00
Alex Monk ced27f348f Show welcome dialog on mobile too
Bug: T112599
Change-Id: Ie04aab468c80dabc84e1386e7529138e1101450e
2016-02-25 22:03:00 +00:00
jenkins-bot 7bef4c9a20 Merge "Warn for empty summary when edit section used" 2016-02-25 18:56:57 +00:00
Ed Sanders 229a088f34 Make surface measurable while activating
If the surface is display:none then $.width always
returns 0, which breaks features like FocusableNode's
invisible icon.

Bug: T127319
Change-Id: Ib157ffaeb56fca2bdc26868d830c4bf8feafa2a8
2016-02-23 17:05:09 +00:00
wctaiwan 5da37932a2 Warn for empty summary when edit section used
Warn the user about an empty edit summary when the "edit section"
link is used to trigger VE.

Re-does Ic7b456ca a different way.

Bug: T114857
Change-Id: I319c9c5bed47140a81eb409d490c9f82b89a49fe
2016-02-23 00:34:12 +00:00
Ed Sanders 083182debd Make platform language functions actually work
Previously arguments were not getting passed through.

Change-Id: I19fbd6f8a7f32163a85dda01fa46ac56a8c78cf8
2016-02-22 00:05:05 +00:00
Ed Sanders 15a47665c8 Meta dialog: Use window action to open windows
Because abstraction.

Change-Id: I9811db4380c6cf37a73a76b97c8439f94723c5a6
2016-02-19 17:37:42 +00:00
James D. Forrester cebaacb546 Update VE core submodule to master (cdfd84e)
New changes:
c02ea46 Clarify documentation of directionality methods
43c9b6f Move initialisation browser support checking from downstream
c89be66 Localisation updates from https://translatewiki.net.
5fb7907 Follow-up c89be66: Fix build for added language 'nan'
fc74fab dm.ElementLinearData.compareElements: Add a few missed test cases

Local changes:
Use initialisation browser support checking from upstream

Depends-On: I27a8e7b4376647f01cee648de987dc3ca6a060d5
Change-Id: I3fc79422ee5e487cf5fae3929fe492f21cd2840a
2016-02-17 20:04:16 -08:00
Alex Monk 83d8a7d9bb Don't remove .ve-activated after successfully activating
hideLoading always gets called after activating, not just failing

Follows-up: I13058ae1

Bug: T127184
Change-Id: I47d1892feacbfcf832aa32f689f173601b76c4ba
2016-02-17 15:36:18 +00:00
Alex Monk 9a1c0762cb Try to switch into the wikitext editor automatically if there is an error loading VE on action=edit
Bug: T125998
Change-Id: I2982f6e5f26086a1175b9fc8c3039a2143a44659
2016-02-13 02:56:01 +00:00
Alex Monk 1c1d018bc7 Unbreak VE
Follow-up to I13058ae1

Change-Id: Icb30f87746bea3911379fca9766877a36e8b5975
2016-02-13 00:58:42 +00:00
jenkins-bot bcae181cec Merge "Try to make MW->VE switching failures break less things" 2016-02-12 17:29:29 +00:00
Alex Monk 4a288a5866 Try to make MW->VE switching failures break less things
* Try to hide loading bar on failure
* Don't set wgAction back to 'view' if we're dropping the user back to the
  wikitext editor

Bug: T125580
Change-Id: I13058ae131a1dda3b172e78d9b143d70831c47f1
2016-02-11 02:39:06 +00:00
jenkins-bot 4a751524c4 Merge "Edit mode switch: Show popup next to VE switch button" 2016-02-10 01:51:57 +00:00
Ed Sanders 80124c88a6 Edit mode switch: Show popup next to VE switch button
Only show if the user came from VE.

Change-Id: Ic362ba534d135fca5516c8ba401f6b2a22886ff1
2016-02-10 01:36:32 +00:00
Alex Monk 863a2c2974 Don't try to tell the server to set preferences to their current values
It's rather pointless.

Change-Id: I8065af1d61108ce843c0afd2eaa0f1f9b85b6998
2016-02-10 01:04:47 +00:00
jenkins-bot d5f6c220d3 Merge "Follow-up I7e1edcf05c: Remove MonoBook z-index hack" 2016-02-09 14:28:16 +00:00
James D. Forrester a1db489d95 ve.init.mw.trackSubscriber: Sample at 6.25%
Bug: T125598
Change-Id: I1915a6456ba5dfc10e4a52df24cee2e68b27e526
2016-02-08 13:22:33 -08:00
James D. Forrester e6e492efc6 build: Bump various devDeps to latest and make pass
* grunt-contrib-jshint: 0.11.3 -> 0.12.0
  This version of the linter cleans up a number of options. 'es5' is now assumed to be
  true by default, and replaced as 'esversion'; 'latedef' is extended to also cover
  functions' defintions, disabled for us for now; 'futurehostile' is introduced to aid
  future-incompatible names for ES6+ support.

  I adjusted ve.init.mw.DesktopArticleTarget.init.js based on this, as this file is
  meant to be loaded by all JS-capable clients to determine if it is (amongst other
  things) capable of ES5, so now we assert ES3 compatibility via jshint.

* grunt-jscs: 2.5.0 -> 2.7.0
  Minor version bump that doesn't affect us.

* grunt-jsonlint: 1.0.6 -> 1.0.7
  Trivial version bump that doesn't affect us.

Change-Id: Ieb7b6748b0cecf275cfc284fc66617189372461f
2016-02-07 19:41:21 -08:00
jenkins-bot 2b01e43777 Merge "DesktopTarget: Move generic VE desktop styles into a separate module" 2016-02-08 01:59:56 +00:00
Ed Sanders 739f924e98 Follow-up I7e1edcf05c: Remove MonoBook z-index hack
The cited reasons were that the the logo and search bar
have a z-index of 3, but that doesn't matter as they are
nested in other elements with z-indexes.

Change-Id: I7ff279efe7c01ba1ffb1fa0d460d59a493ccc47a
2016-02-07 17:40:50 -08:00
Ed Sanders c51cef07b9 DesktopTarget: Move generic VE desktop styles into a separate module
Here they can be re-used by other VE desktop targets,e.g. Flow.

Change-Id: I18431ff73fc1c6ab5639a579e85b0f0cc48cb9ce
2016-02-07 17:39:57 -08:00
jenkins-bot 16c498fa97 Merge "DesktopArticleTarget#editSource: Use actionFactory to create a window with the surface" 2016-02-07 10:30:06 +00:00
Ed Sanders efd41fbc74 Remove global overlay hack now fixed in Vector
Change-Id: Ic5cfb7ae4d244799be56e12b4b0a44b6ddd00303
Depends-On: I5ebb4e59e3714dfaa3d755ecf6285009efe7b62a
2016-02-07 03:26:02 +00:00
Ed Sanders 9bf010c33c DesktopArticleTarget: Cleanup styles
* Use more specific ve-init-mw-desktopArticleTarget class
* Add comments and reorder in places

Change-Id: Ic9291d3e50304fe3a0efa7ace1ce93c7fba91d98
2016-02-06 19:26:06 -08:00
Alex Monk 138fafbbb9 DesktopArticleTarget#editSource: Use actionFactory to create a window with the surface
So the normal logic is used to close other windows etc.

Bug: T125479
Change-Id: Iee9ef7484de745f3adced28cdbcc87a0c2b597f5
2016-02-06 02:02:39 +00:00
James D. Forrester 1e0486a679 Remove all Extension:Cite code, now moved there
Depends-on: I39936ed83d5a60471a0a75da753f498e80aef234
Depends-on: Ifd853bf9f901065798bd0063aeaa786a3761aa71
Depends-on: I32c93c5118eafe5f071252290c58d3de8dacc81a
Change-Id: Iba0f25b3ebe4e5e63377da57afb760d6980f9907
2016-02-05 21:36:56 +00:00
Alex Monk 9808d04bfe Check xhr.responseText is set before trying to send it to $.byteLength
Bug: T125399
Change-Id: I09881fe8b6db7d95e32732129d043c4a13fa7a9a
2016-02-02 18:52:56 +00:00
Ed Sanders 74358498da Update VE core submodule to master (70ff8cc)
New changes:
242ab45 DesktopContext: Float the context when it goes beyond the viewport
405c44d Rename TableContext to TableLineContext
6c564be Sort messages alphabetically
70ff8cc Introduce table and table cell context

Change-Id: I4357162bc192c90f99ca0aec12eb67bf848e5504
2016-02-01 10:51:26 -08:00
Alex Monk 8cc034b9af Run VE->WTE modification checks regardless of how the user got into VE
I think this fixes a bug similar to the one described in the bug below.

Bug: T124708
Change-Id: I61558227315bec36b71dac281b8da311a3d6bb1a
2016-01-30 03:06:46 +00:00
Ed Sanders 0ed45dbf61 MWTable: use new sanitization method
This prevents tables from getting sanitized even on
VE to VE copy. Also by calling ClassAttributeNode sanitize
extra CSS classes are removed.

Bug: T97462
Bug: T125220
Depends-On: Ia3ce386b2a03bc227818b10423bca72c736c0656
Change-Id: Ifd91e00b40665b446bbdcdf8859d2bb641bc0e67
2016-01-29 10:29:19 -08:00
jenkins-bot f78dd8ad72 Merge "MWWelcomeDialog: Let the user switch editors" 2016-01-27 00:20:10 +00:00
James D. Forrester d8769edd01 MWWelcomeDialog: Let the user switch editors
Change-Id: If88942d866278f3012dae7972d464a3d2a6a4f82
2016-01-27 00:14:07 +00:00
James D. Forrester 2c76dc5b50 MWEditingTabDialog: Use 'small' size
Change-Id: Icb30d4fbea21653cf2fb6c782a4314be97a3e0a2
2016-01-26 14:51:55 -08:00
jenkins-bot 75b0a8de63 Merge "Don't try to load VE over the top of the wikitext editor we just switched to" 2016-01-26 17:01:24 +00:00
Alex Monk 589437a772 Don't try to load VE over the top of the wikitext editor we just switched to
(if we discarded changes)

Bug: T124316
Change-Id: Ic5e6ee8f4b6e75c3ae877021bcb29733b881e6d2
2016-01-26 16:49:50 +00:00
Alex Monk d7183d7e64 Check user permissions for viewsource before loading VE on-load on action=edit/submit etc.
Clicking 'View source' should probably not cause VE to load

Bug: T124650
Change-Id: I236de38b0f90f1aaa5d04b57cb7759e5951baf2b
2016-01-26 16:47:26 +00:00
Alex Monk bfa15c44a5 Check user preferences before loading VE on-load on action=edit/submit etc.
Bug: T124743
Change-Id: I2e8a19014464a2b7fb76de08676e7cb808e06956
2016-01-26 02:48:27 +00:00
jenkins-bot d29524c8b3 Merge "When loading VE from action=edit/submit, replace the title shown" 2016-01-22 20:43:02 +00:00
Alex Monk 38180b5d4d When loading VE from action=edit/submit, replace the title shown
Bug: T117643
Change-Id: Ice21389d02ea10adc668c5b0a64ba2b0b9cf5744
2016-01-22 20:27:01 +00:00
jenkins-bot ee70cc5c44 Merge "Single Edit Tab: simplify logic; make 'prefer-wt' just disabled" 2016-01-18 21:28:26 +00:00
James D. Forrester aa08d34318 Single Edit Tab: simplify logic; make 'prefer-wt' just disabled
Change-Id: I090375933656f29636c355c4d2ce358dd7f7f074
2016-01-18 11:23:59 -08:00
James D. Forrester 68ea08cd5e Drop support for adding prefix/appendix labels to edit tabs/links
Depends-On: I264599a1c4f60b37a46d49c808cf271ba0a8f882
Change-Id: Icebc378f5c00aac57ad361f8ba85da93b8178650
2016-01-18 03:06:33 +00:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
James D. Forrester 4a781a3a16 EditingTabDialog: Shorten the copy to make snappier, drop 'Edit' tab name
Change-Id: Idd5f373d9fef364318efddcc98ea2de5e91860a8
2016-01-03 13:44:54 -08:00
Alex Monk 85bb085418 DesktopArticleTarget: Preserve oldid when switching from WTE into VE
Change-Id: I8682a2a2b90ae2e42f1a8e01e16d0f9f3d66a2d5
2016-01-03 10:59:21 -08:00
jenkins-bot 26e3c0ad1d Merge "Preserve oldid when switching from VE into WTE" 2016-01-03 06:35:58 +00:00
jenkins-bot 3231220774 Merge "SET: Don't try to do any client-side section link magic if we're not supposed to." 2015-12-23 23:18:57 +00:00
Alex Monk 76cb69ecec SET: Don't try to do any client-side section link magic if we're not supposed to.
Ugh.

Bug: T121599
Change-Id: I47a93d5dbedc5ae989a2973fb793ac99edfb139a
2015-12-23 22:10:20 +00:00
Ed Sanders 2afd7c903d DesktopArticleTarget: Improve teardown sequence
* Ensure activating classes are removed by rejecting activatedDeferred
  as soon as teardown starts.
* Try to teardown surfaces is surfaces exist, not just if the target is active.
* Remove noop teardownDebugBar. The debugbar lives inside the surface now.
* Ensure progress bar is always reset, even if target setup is aborted.

Bug: T99139
Change-Id: I16a071c0d4bc8bbc6af2e03e63ee0ffc18d55c75
2015-12-23 12:13:50 +00:00
Alex Monk c10236cc58 Preserve oldid when switching from VE into WTE
Bug: T120898
Change-Id: I51774fd7ca5be7373d8aec55cb420a874bc7d531
2015-12-18 00:47:03 +00:00
jenkins-bot 607878e2ba Merge "MWTarget: Only add ve-init-mw-target-surface to the main target surface" 2015-12-16 20:06:33 +00:00
Ed Sanders a689caa762 MWTarget: Only add ve-init-mw-target-surface to the main target surface
Avoid adding it to TargetWidget surfaces.

Bug: T121450
Change-Id: I7c43b07c5bade3a778ad423e39b25616e03aa888
2015-12-16 14:36:06 +00:00
Alex Monk c99a5b627e DesktopArticleTarget: Change tab text on server side when possible
Usually. Unless you load VE, because then you might be loading on
`action=edit` in remember-last mode and therefore the tab text needs to
be updated from "Edit source" to "Edit". Or "Create source" to "Create".
Or the equivalent with 'local description' in the case of pages from
foreign file repos, etc.

Bug: T120970
Change-Id: I8f07be6c8e415b40ad134ee82d0bda1d63cc4f96
2015-12-15 10:49:45 -08:00
Alex Monk 76a12f2f9b Try to actually resolve visualeditor-editor preference setting when switching editors
Seems we need to make sure this returns before navigating to the target page.
This reverts commit 40807a0743.

Bug: T121122
Change-Id: I4edf03bc0d57b03897d9f1802eabd8f0dd9962b9
2015-12-15 17:35:22 +00:00
jenkins-bot b08c8bd682 Merge "Fix up "Simplify some SET logic"" 2015-12-15 02:56:45 +00:00
Alex Monk 39af893c75 Fix up "Simplify some SET logic"
By 'simplifying', I broke stuff.

This reverts commit b7227f96fe.

Change-Id: I46fdcf336f556680fa72df0893447b6850cc4b1d
2015-12-15 02:50:15 +00:00
jenkins-bot d3d851f394 Merge "Simplify some SET logic" 2015-12-14 21:17:15 +00:00
Alex Monk b7227f96fe Simplify some SET logic
Change-Id: Ie89260607f0253dd7d749af7426702985a0340f4
2015-12-14 21:11:15 +00:00
jenkins-bot 33cbf199f1 Merge "Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"" 2015-12-14 20:53:28 +00:00
Jforrester 40807a0743 Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"
This reverts commit 5b083a7272.

Change-Id: Ieac905b80ea219075b4de498d645f22c3e86c5ca
2015-12-14 20:46:08 +00:00
jenkins-bot d750417545 Merge "Take pageCanLoadVE into account when figuring out whether VE will load in-page or not" 2015-12-14 17:14:41 +00:00
jenkins-bot 04d8089db6 Merge "Fix setEditorPreference call" 2015-12-14 17:08:42 +00:00
Alex Monk 774034b553 Take pageCanLoadVE into account when figuring out whether VE will load in-page or not
Bug: T121342
Change-Id: I84ade6e2ab062597fbfd859a90a864c7607547da
2015-12-14 16:58:26 +00:00
Alex Monk a3148a1559 Fix setEditorPreference call
Added brokenly in I82e39752

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

Change-Id: Ic8cee9639b90cb378ce0b7e58dc04eab0ff4cbc7
2015-12-11 23:43:13 +00:00
Alex Monk 155d0240a4 Remember switching into VE from WT when discarding changes
Bug: T120966
Change-Id: I9a7b87cb2561416b72f53afa5140e9d2a4330cfe
2015-12-11 23:35:59 +00:00
Alex Monk 9e5a01aa6b Check that we really want VE before loading it for section edits
Bug: T121189
Change-Id: I34371bf78d34e9d362e9cf5c64bdd108478969b9
2015-12-11 23:19:07 +00:00
jenkins-bot e24e2ed7cf Merge "[BREAKING CHANGE] Create ve.init.mw.Target base class" 2015-12-11 18:16:22 +00:00
Ed Sanders fbb05fb8ed Use upstreamed actionGroups functionality
Depends on I272175dff3 in ve core.

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

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

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

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

Change-Id: I8498463d3131817b90fa91404289c839110bdeaa
2015-12-11 16:41:47 +00:00
Alex Monk 98a456b189 Single edit tab: Fall back to the wikitext editor when certain parameters show up
We can't handle these yet. There's also 'preview' but I think we probably
qualify as supporting that.

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

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

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

Change-Id: I645cbeb4e486aba9e734ba47d2e7c3958a694f19
2015-12-09 17:34:00 +00:00
jenkins-bot a9894809f6 Merge "DesktopArticleTarget: Handle section edit link clicks in single edit tab mode" 2015-12-09 17:16:12 +00:00
Alex Monk b877e16723 DesktopArticleTarget: Handle section edit link clicks in single edit tab mode
Bug: T58337
Change-Id: Ic4c19cdfc3cfcf33604d0c4e7780b45967cdf57d
2015-12-09 09:08:46 -08:00
Ed Sanders ae26eefb05 Fix typos
Add some common ones to typos.json

Change-Id: I3830be4949ab6a5fd998d6937ed83e9f18091c2b
2015-12-09 16:47:13 +00:00
Alex Monk 748db015b0 Single edit tab and section links
In addition to the couple of TODOs inline, we should do the following in
follow-up commits:
* Prevent FOUC due to changing things only on the client
* Make section link behaviour sensible

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

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

Change-Id: I7fb284a800927672642c59231a322982b613f16b
2015-11-17 02:23:25 +00:00
Bartosz Dziewoński 9be5c85db4 Provide a tool to insert a signature in namespaces that need it
VisualEditor is usually not enabled in talk namespaces... but
sometimes it is. And when users see the button to edit with VE,
they're going to click it and expect to be able to sign their posts.

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

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

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

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

Depends on changes in VisualEditor core:
* I89fe53890ab59d12260ea6b41de802c38c24e8b9
* I14cd7efac521687ea38580341ae08ddc522edeeb

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

Change-Id: Ia1fff16432d20fb56707c5e21c6a930d2478e311
2015-11-11 18:50:55 +00:00
jenkins-bot c815c3242d Merge "Edit mode switching: Only show WE toolbar button once module is loaded" 2015-11-11 02:21:04 +00:00
jenkins-bot 1f2905c39f Merge "DesktopTarget: Fix opacity of #siteSub and #contentSub" 2015-11-10 23:39:03 +00:00
Ed Sanders cfe3d9b561 Edit mode switching: Only show WE toolbar button once module is loaded
No point showing the icon if we don't have the functionality to
make it do anything. Also this reduces the number of RL requests
made as we never fetch OOUI separately.

Change-Id: Iac9aa6f34c485223e73981b3377c7d0cfd31dae9
2015-11-10 10:43:33 -08:00
Alex Monk 6213c23db1 Fix updating of display title upon save
Bug: T117643
Change-Id: Ibd3d4f056a2d175e52b60b6e3a4c0ece04f26f50
2015-11-10 13:50:00 +00:00
Bartosz Dziewoński 7d69e86265 ve.init.mw.DesktopArticleTarget.init: Make switching to VE for new pages work
Work around RESTBase problem that causes errors if we try to switch to
VE when the wikitext is empty. This would prevent non-power-users from
opening VE entirely.

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

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

Bug: T118088
Change-Id: If86701ed7ff4e8d6defb1c682aa9a38c211be0fa
2015-11-07 19:08:29 +00:00
jenkins-bot 69bce26579 Merge "Drop any beforeunload handlers when loading from existing wikitext" 2015-11-07 16:09:50 +00:00
Alex Monk 6247a2f430 WikiEditor integration: Fix dependencies for switch button
Change-Id: Ic8fb607e8c467e89c0b9af0a9baab84e59b19ba8
2015-11-07 04:15:14 +00:00
Alex Monk 2910cd2384 Drop any beforeunload handlers when loading from existing wikitext
Bug: T117769
Change-Id: I823737b17e5af8ed15bc2b62db61a31886e8d418
2015-11-07 03:57:19 +00:00
Alex Monk 87931fb3f2 WikiEditor integration: Only add VE switch button if VE is available
Bug: T117968
Change-Id: Ibfe73b7170083bc9ee0a0322768999c8650da4e7
2015-11-06 18:23:44 +00:00
Bartosz Dziewoński 4a1a9bbf82 ve.init.mw.Target: Update TitleBlacklist error code
The error code has changed after T115258 and is now consistently
'titleblacklist-forbidden' for all TitleBlacklist errors.

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

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

Bug: T117697
Change-Id: Ic34ef81afdde0851f4935971a808f22cdd5cde89
2015-11-04 15:31:19 +00:00
jenkins-bot 4dacc683f5 Merge "Target init: Add edit mode switch icons to VE and WE toolbars" 2015-11-04 14:14:49 +00:00
Ed Sanders b05d9fcb0e Target init: Add edit mode switch icons to VE and WE toolbars
VE already has a a switch icon in the options menu, so bring that
up to the main toolbar.

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

Bug: T49779
Change-Id: Ic1e83ea7b13c4fef68024bf05ffc244060666103
2015-11-04 14:07:41 +00:00
Alex Monk bc6fe7dc77 Set wgAction when messing with the action URL parameter
Also get rid of an unused variable.

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

Requires a relatively new version of restbase

Bug: T49779
Change-Id: I2a5294345f5e0f469c1dd1bdd29dbce211571a4e
2015-11-02 20:55:19 +00:00
Ed Sanders b222696675 DesktopTarget: Fix opacity of #siteSub and #contentSub
siteSub and contentSub are both children of bodyContent so
no need to give them opacity directly.

Bonus: Make them user-select:none to avoid confusion as they
are in the edit area.

Bug: T116755
Change-Id: Iea4c35abc1eedb892e02c54b61e40726fa2b096e
2015-10-27 14:41:45 +00:00
Krinkle 59f55fbb9b Revert "DesktopArticleTarget.init: Tolerate missing wgRelevantPageName"
Shouldn't be needed once T116693 is fixed.

This reverts commit 39bb635a60.

Change-Id: I545a9eba85f15dcae00c5f117939960acf4113d2
2015-10-27 01:07:47 +00:00