* When ve.ui.MWLinkAnnotationInspector is being initialized,
internal and external annotation inspectors are hardcoded to
new ve.ui.MWInternalLinkAnnotationWidget and
new ve.ui.MWExternalLinkAnnotationWidget. Make this creation
more flexible by creating these inspectors through a method,
which inheriting classes can override.
* In ve.ui.MWLinkAnnotationInspector.getAnnotationFromFragment,
factor out the creation of link annotations, so overriding
classes have the ability to provide different internal and
external annotations.
* In newFromTitle, static method of MWInternalLinkAnnotation,
creation of `element` isn't flexible for reusability with
slight changes to attributes passed to the constructor. By
factoring out the creation of attributes, inheriting classes
can reuse the existing structure and alter the attributes if
needed.
Bug: T195064
Change-Id: I2037464a7be77783837e9810691c8e372c8197c6
New changes:
c60028546 Remove legacy transaction builder comment
d51e5e39e Localisation updates from https://translatewiki.net.
71aa3d159 Update files generated with new l10n language 'tw'
1681bb2f4 Rebaser: Fix changeName handling
44c2d0c71 Remove duplicate apex styles from rebaser demo
87918b3d2 Use opacity for comment annotation background
dd219f941 'pad' -> 'collabpad' logo
c7c75351d Remove extra whitespace
13356ebb6 Move 'canBeActive' to NailedAnnotation
3c660a12a ve.dm.Document: Make getNodesByType build the tree if needed
4c51ee9ec Localisation updates from https://translatewiki.net.
741f6d933 Fix rebaser documentation
6afdf63d0 Further rebaser documentation fixes
740285b11 rebaser: Prevent no-op changes from being sent
Change-Id: I8e5a1b27d5cba7630f71ddeb1af338cbbe6ae0db
New changes:
35eaf8209 Move annotation nail functionality to a mixin
d2a120e66 Rebaser: Create a multi-user flag on the surface model
Change-Id: Iffad3c90a9b8ac08f646721bfdbc0503cea2890b
This is similar to the hack in ve.ui.MWMetaDialog, except uglier :(
We already explicitly focus the right field in the ready process.
I am not really sure why the focus change causes the issue, but
preventing it definitely fixes it. It would make sense if we changed
the value of the field after focussing it (as setValue() restores the
validity flag cleared by onFocus()), but we don't seem to do it.
Bug: T199838
Change-Id: Ia602551ee0b0885cefbd4cb2fc00d569ff42da67
New changes:
cd6932096 Fix rebaser dependecies
bdcbf8f81 Rebaser: make the server synchronous again
52e6873b1 Cleanup rebaser
31ef4c5ec Handle authentication and reconnection
22d6feea3 Squash Changes to use fewer transactions
4d93f0819 Fix confusion between #getSetupProcess and #getReadyProcess
8d0ab0587 Localisation updates from https://translatewiki.net.
Bug: T185745
Bug: T185944
Bug: T188026
Change-Id: Ie33d3dd4746c9c91fe676f140f416af72ac218b0
Replicate the EditPage#showIntro segment which shows a warning and the
deletion log if attempting to recreate an already-deleted page.
Bug: T199087
Change-Id: I3c680e712c010dc614710b3aa9f41c8ec17999a7
The #getReadyProcess method should be used pretty much only to focus
a field inside the dialog after it is opened. It runs after the window
opening animation finishes, so if you add stuff to the window here,
that will be visibly delayed.
The #getSetupProcess method should be used pretty much for everything
else that depends on the opening `data`. It runs before the window
opening animation, so if you add stuff to the window here, it will be
visible while animating it.
Bug: T185944
Change-Id: I71ea5b6e1e1947c1cf8fd749100e854953a8ef3c
The linkCache fetch can push the categories out of order unless everything is
already in cache. As such, remember the initial order and enforce it after the
promises have resolved.
Bug: T197759
Change-Id: I9ea8d5e642f62c96475d0713f2c79258abb33b19
I.e. don't sort them, because they're provided in source order and that's all
we need.
Bug: T197759
Change-Id: I3b9508ff49233ccfbeba1d111a6df9f29f0fc318