This allows the proper "discard changes" dialog to show.
A few more steps of the teardown now happen in the client,
but eventually in DesktopArticleTarget#teardown we check
again if we weren't on a view page and redirect (as this
is what we do after save).
Bug: T379367
Change-Id: I995649f37e5d841b6c1784a74f3bd353adfbe69f
This object just contained a pointer to the surface and dm,
and had one utility method.
Move the method to mw.editcheck, and pass around a surface model
or document model to other methods as appropriate.
Change-Id: Ie81d76dea2823b633328f982ee20027808bfc8e3
…but not when we were previously logged-in. Temporary accounts no
longer leak IP addresses, but it's still not nice to lose attribution
of edits by logged-in users.
Follow-up to 317d6dd724.
Bug: T345975
Change-Id: I24c786c0f060921f773e1d6d1c7463f1cc79aab2
A notice already appears and informs the user of the visual editor that
they're not logged in if their session has ended. Showing an additional
error dialog informing the editor of this when saving changes is not
needed.
Bug: T345975
Change-Id: I20a904dbc6d3c2f0d08e4ceea27e35ee1b65bb71
transitionend is supported by all our target browsers.
Also use requestAnimationFrame without a fallback as
this is also supported by all browsers.
Change-Id: I563cacdc8b2365ad4b69dfccb7e46a9f176dbd9b
Replace it with a hasAddedContentNeedingReference that'll need to be
kept in-sync with the internal logic in AddReferenceEditCheck while
we're tagging this.
Follow-up to d69d366469.
Bug: T367920
Change-Id: I9f4f96bf5c6c4b7b3131b1435426b2e283c9833a
The promise is supposed to return a function that can be used
to lazily generate the visual diff, not the visual diff itself.
This was broken when switching to arrow functions.
Bug: T364635
Change-Id: Ifa971333aa22af346bb62d031dc20afc8979992c
This is not great, but it's a start (and unblocks other pull-throughs).
New changes:
c401efc98 build: Replace jsduck with jsdoc for documentation
16ba162a0 JSDoc: @mixins -> @mixes
9e0a1f53b JSDoc: Fix complex return types
449b6cc0f Prefer arrow function callbacks
1539af2c8 Remove 'this' bindings in arrow functions
b760f3b14 Use arrow functions in OO.ui.Process steps
57c24109e Use arrow functions in jQuery callbacks
9622ccef9 Convert some remaining functions callbacks to arrow functions
f6c885021 Remove useless local variable
1cd800020 Clear branch node cache when rebuilding tree
Bug: T250843
Bug: T363329
Change-Id: I0f4878ca84b95e3f388b358b943f105637e455f9
This reverts commit 5a54315fc2.
Reason for revert: Merged by mistake. Probably doesn't hurt, but
doesn't help either.
Change-Id: Ic38f1f0b0628968888763f15c85ef3a2f4a9890f
Small fix to support new HTML markup for headings, which will soon be
used by Parsoid page views (T269630) and by the old parser (T13555).
This fixes two issues that were only apparent when using
`$wgVisualEditorEnableVisualSectionEditing = true`:
* When starting an edit from a section edit link, the viewport was
not scrolled to align with the clicked heading and thus didn't
provide a smooth transition into edit mode.
* If the editor was started from a section edit link, then when
leaving the editor without saving changes, the viewport would jump
to the top of the page instead of returning to the clicked heading.
This is similar to change If71d4d8292 in MobileFrontend editor.
Bug: T13555
Change-Id: I89f8abac521e635f8eaa782703bdb6f6323098b0
This causes saveWorkflowBegin/saveIntent to fire as soon as the save
button is pressed. If edit check is enabled, it will be part of the save
workflow in timings.
Mobile was already behaving this way.
Bug: T352130
Change-Id: I3942fd63057c97365d28a443bcc5ac1cd43a8ae6
In MediaWiki, OO.ui.getTeleportTarget() is overridden to return
a different element (itself attached to body), which is supposed
to be styled appropriately by skins (e.g. z-index above any
floating header, font-size same as body text, etc.).
As a result, we no longer need to do weird things with the
'vector-body' class to achieve correct font size on Vector,
and we can remove some font-size overrides for Vector and MonoBook.
Bug: T348288
Bug: T339058
Change-Id: I6329b3023573b3dcfc8f471c4693be9bb1e9e430
Was lost when we converted it from a PopupTool
in I81d217bc1ab9.
Also visualeditor-help-title is unused since that commit,
and remove debugging code.
Change-Id: Ic1d40bac8ef76fbb6f009dd8cecec8dc74c1aa4b
I apparently forgot to pass the parameter to fireHookOnPageReload()
that I introduced exactly for this purpose. As a result, the basic
post-edit popup appeared, but the temp user popup did not.
Also rearrange code so that fireHookOnPageReload() is still called if
we need to redirect to complete creation of the temp user.
Bug: T344879
Change-Id: I36c64f27d2b8866ca88642621a135e7e25a91ce1
Abortable promises are definitely among my least favorite things.
It takes all of this bookkeeping to make .abort() work consistently
(so that it always aborts a request if one is in flight, and always
causes the final promise to be rejected even if we didn't start a
request yet or it has already finished). But, if you squint and ignore
every line with the word "abort", it's like a normal promise chain.
Depends-On: Iec8a15dadd595bed0f7e54f907fbb8e192b45cf3
Bug: T331397
Change-Id: I67309c79e6d211d69630fe89cbf5402f8fbd350c