New changes:
29331acd8 lib: Update jQuery.i18n to 1.0.5
9bb7abf84 libs/CLDRPluralRuleParser/README.md: Drop `x` flag from file
Change-Id: I7d6446bd3a4a87b77a8569d8279b3fc984b1529c
While all of the following are valid in the model:
1. <mwBlockImage></mwBlockImage>
Image with no caption. Must use the media dialog to insert one.
2. <mwBlockImage><mwImageCaption></mwImageCaption></mwBlockImage>
Image with empty caption. There is a slug to insert a paragraph.
3. <mwBlockImage><mwImageCaption><paragraph></paragraph></mwImageCaption></mwBlockImage>
Image with caption with empty paragraph. Nice and intuitive!
(Same for <mwGalleryImage> / <mwGalleryImageCaption>.)
The third option is the most convenient for the user. We should always
generate that when converting documents from HTML and from the editing
tools (MWGalleryDialog, MWMediaDialog/MWImageModel).
Previously, the editing tools generated option 2 if no caption text
was entered, and the converter generated option 2 if there was no
caption node or if it was empty. Curiously, option 1 was never used.
Wikitext for manual testing:
```
[[File:Foo.png|thumb]]
[[File:Foo.png|thumb|]]
[[File:Foo.png|thumb|Caption]]
<gallery mode="packed">
File:Foo.png
File:Foo.png|
File:Foo.png|Caption
</gallery>
```
Bug: T200387
Change-Id: Ie82fb339f6bd8ae1b289235bf5402490722d9a7c
New changes:
9aecc6946 Add CheckList type
be0469524 Allow cursoring between active nodes
954b21f33 Localisation updates from https://translatewiki.net.
38e1e7667 Do not try searching outside of valid range when using regex
deec79971 ve.dm.TransactionProcessor: Fix edge case handling, avoid ES6 methods
Bug: T196521
Bug: T200455
Bug: T200525
Change-Id: Ie87e19d13c68425f5d46bd1be5121c9169c2ebf4
New changes:
3e46076f7 Localisation updates from https://translatewiki.net.
8ea59e50d ce.Surface: Debounce position events
17e3d3aa0 Amend `border-radius` to conform to Apex theme standard
c573f3513 docs: Replace fake ellipses with real ones (or in one case, a vertical one)
a4e24a992 Make mode for getting document data without metadata
Bug: T199298
Bug: T200429
Change-Id: I36dad61ed614f007b16d7e9f47fcbfd02347f239
* 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