Previously, it was possible to close a dialog with active edits by
pressing the "<" button or pressing escape. A change was made to confirm
the user's intent before abandoning their changes, see Ia8935b5b1acb
This patch fixes a bug where the user's intent is always confirmed while
editing a template, even if the user has made no changes. This was
because for technical reasons we trimmed whitespace before making a
comparison with the new template case, but that caused the comparison
with the edit case to always fail because existing templates are padded
with whitespace.
This could have been solved by moving the trim operation into the new
template flow. This patch would still have been necessary to prevent
a bug if the default value had trimmable whitespace. I have opted to
keep the whitespace behaviour for edits for consistency.
Bug: T334513
Change-Id: I7b3370c86df67c36fc63a1f1d0e7004a098a1950
Map nodes with an empty body don't have a body property on their
'mw' attribute; so don't add one when checking if the node has
been modified.
Bug: T206473
Change-Id: I24fb8d5f012c417996c8d420fa25af9d13528d18
Also:
* Disconnect change event on this.input, which doesn't
get destroyed on teardown
* Add padding between attributes and this.input
* Assume the alien extensions can have a rendering when
their body is empty.
Bug: T177181
Bug: T177183
Change-Id: I2e59f8195b255f33f91901213c92ea14793635b4
Not doing this makes adding a new extension node with the exact same content
as a previously-viewed one have the Done button disabled.
Bug: T172586
Change-Id: I39105144e17135044ef644b5464b0fbfdfc019d5
Remove config option `multiline` and change to MultilineTextInputWidget as
appropriate.
Bug: T169272
Change-Id: I45565f01de76a88d64d7b0691d1e7279354f375d
Make inspectors inheriting from MWLiveExtensionInspector
and dialogs inheriting from MWExtensionPreviewDialog
update their 'done' action every time updatePreview is
called. Since both mix in ExtensionWindow, two new methods,
updateActions and isModified are added there.
This should make it more difficult to insert an empty node
accidentally or create a transaction just by opening and
closing an inspector or dialog.
For more complicated dialogs, or inspectors or dialogs
that don't live-update, this behaviour will have to be
implemented separately.
Bug: T155330
Change-Id: Iacafa01fcd419faaec9b112c96be86693a57d561
New changes:
b44ef6d [BREAKING CHANGE] Fix WhitespacePreservingTextInputWidget API
96e4034 Localisation updates from https://translatewiki.net.
Local changes:
* Use new WhitespacePreservingTextInputWidget API
Change-Id: I9920a3b5c8c3e8a241dcfdd1bde20f4ea1cf78b6
The widget attempts to load the ext.codeEditor.ace.modes module
and if it fails, will fall back to regular TextWidget behaviour.
Bug: T49742
Change-Id: Ie483f6eba25e3732a396c18decc0e1844b806b23