Commit graph

183 commits

Author SHA1 Message Date
Ed Sanders 3970288c8c Make ArticleTarget#goToHeading work at all times
Was previously written to work on initialise when the surface
isn't focused. If the surface is focused, run immediately.

Change-Id: Ie7accd63a4ca3e18448914d34609fe0418f15b4e
2016-08-05 14:00:41 -07:00
Timo Tijhof c2897b5a92 mw.ArticleTarget: Fix FancyCaptcha reload button
Follows-up 843620632a in ConfirmEdit which now expects a specific class
on one of the image parent elements.

Without this the refresh link is broken as fancyCapatcha.js is
unable to find the image otherwise.

Change-Id: Iad7c8e8c77f58092ca4dbb5cbb3527cacff10f03
2016-08-04 15:40:41 -07: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
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
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 349b1f5e57 Add WTE welcome dialog
Bug: T133800
Change-Id: I6eb43274e22f647958c3ab1b6d5c12b3dbea388e
2016-05-10 23:28:21 +00:00
jenkins-bot 80636c235e Merge "Add a popup after switching into VE from WTE" 2016-04-25 22:42:55 +00: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
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
Roan Kattouw 8e69dfa3b8 ArticleTarget: Correct comment explaining where setAssumeExistence( false ); is called
Change-Id: Ib883ea1fe57fe6cb3e182965a18eb3fb50246178
2016-04-02 20:28:44 +03: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
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
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
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
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 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
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
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
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
Ed Sanders d94d98ebfe ArticleTarget: Update documentation
'onReady' no longer exists

Change-Id: I6fbcf619ba471f69380a64ba02994bd6ef0ca246
2016-03-01 22:03:07 +00:00
jenkins-bot e39d8a744b Merge "Show welcome dialog on mobile too" 2016-02-29 03:02:03 +00:00
Alex Monk ced27f348f Show welcome dialog on mobile too
Bug: T112599
Change-Id: Ie04aab468c80dabc84e1386e7529138e1101450e
2016-02-25 22:03:00 +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
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 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
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08: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
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
Renamed from modules/ve-mw/init/ve.init.mw.Target.js (Browse further)