Symptoms:
* When adding a transclusion part that already exists, if the item is
being moved to the right it will inserted at a position one place too
far
Diagnoses:
* When an index is provided with an item in a queue given to
TransclusionModel's process method, the part is automatically removed,
but the index, if given, is never adjusted accordingly
Prognosis:
* Cautiously optimistic
Treatment:
* Decrement the insertion index, if given and after the existing index
Change-Id: If321df8f63dae07c76663e76e14864e2f4518920
* Use correct class name for setUpToolbar() in MobileViewTarget
* Move shared setUpToolbar() code into ve.init.mw.Target
* Fix iconModuleStyles documentation, remove leading space
Change-Id: Icf5ed36fd817837c0434db8202bef8a78e6cb898
The selector is too weak and results in the toolbar being placed
in positions it shouldn't be! Whoopsy!
Change-Id: I63540130e4de01f9326fe110d606985fea70b644
This reverts commit 8e8525dea9.
This change seems to have broken all of the VisualEditor browser tests, similar to our first attempt at solving the same problem - not good :(
Change-Id: I5fa70a1164ebe8de1ecc37f72ba7ceffdc31e7bd
The toolbar in very desktop vector skin specific
In mobile we want to have more control over the toolbar,
and its placement.
* Thus make setUpToolbar abstract
And move the function to ViewPageTarget
* Introduce ve.init.mw.Target.static.iconModuleStyles to
allow the use of different icons
* Update the mobile toolbar to only have B and I tools
Change-Id: I4c72b4b9128b3a74de8b8b5bce7664fbb315216b
* Fix broken @extends (doesn't take value in curly braces, was
being parsed as literal text part of the class description).
Change-Id: I087df6df5e7b81314c90a79087e669c93032e80f
Symptoms:
* When adding a template with required parameters, the last parameter
is initially focused
* Parameters and parts appear out of order, and adding/remove/moving
them shows them in almost random placement
Diagnoses:
* Parameters are auto-focused when added, and parameters are auto-added
in forward order
* TransclusionModel's process method had a bug in which the code to
derive an offset from the item being removed would not be reachable
due to an inverted logic statement
Prognosis:
* Fatal, with a 10% chance of survival
Treatment:
* Set focus on the first parameter after auto-adding required
parameters to a template
* Invert the logic in TransclusionModel's process method, so that if
the index IS undefined we will proceed to define it
Change-Id: I299053b63045ec933747831f1b4aa63493760f8b
The jqXHR parameter is optional, so handle the case where it's null
gracefully.
Also fix the documentation for this method, it was full of lies.
Change-Id: I6ab799846a4d4b0d10cc5fd4d8c47264b1845bdf
wgSVGMaxSize sets the maximum size for the shortest edge of a
vector image. Pass this through to MWImageNodes.
Change-Id: I6410e7cda137cf4828d12280cb1e5cfc27805859
Implement new logic in ve.Scalable from I5b4f0f91b.
Also update VE core submodule to master (57ed8d3).
New changes:
59a0afe The great image scaling rewrite of 2014
Change-Id: I24a2976036310d3814cc7d1853a68745e0499bd5
As other widgets may be interested in the image info, this should
be part of the DM node, which the media edit dialog then fetches
and uses to populate the MediaSizeWidget.
Other fixes:
* Remove spinner, not really necessary as the orignal size button is
disabled if the orignal dimensions aren't set.
* Don't wait until image info call to resolve to initialise size
widget values. These should always be available instantly from the
attributes.
Depends on I9530ed4257e88b in core.
Change-Id: I394f49941b621059bc08c8a8f79471b2fe16c7d8
Parsoid doesn't care about the transclusion contents and it can
cause bugs if not removed properly. Remove the about group attribute
as that was for Parsoid's benefit.
Depends on Ib29972472d in core.
Bug: 60897
Change-Id: I907b2113c257baff5c022ff0749dca9dbb1fba5f
Technically these are possible to render (although there's currently
a Parsoid bug preventing it) but really references should just contain
one single paragraph.
Change-Id: I405d75a0935d3f4610e10b942b48fa0fa2679a20
Extend default paste rules to prevent lists/tables/references/headings
as applicable.
Also update submodule to master (76ff210).
New changes:
f1a927f Internal paste rules and type conversions
Bug: 59603
Change-Id: I952f98477219a55d25a2bd817344bde58a4862d4
When $wgDebugToolbar is enabled, a debuginfo key is always returned from the
API.
Unfortunately that broke the ve.isArray check on the result, breaking the
opensearch calls by the linker.
Change-Id: I907ef6fc2589581cf7333af3968b63b483af65a9
This reverts commit 9a20fc03b7.
This change appears to have completely broken the VisualEditor browser tests :(
Change-Id: Ia2753f0718ccc5ac5ce7b726bd89040171feae7c
The setup method just assumed this.node was of the right type, and
would just crash if it wasn't. You could select an image, open the
gallery inspector, and it would happily try to inspect it until
crashing because there was no .mw.extsrc attribute.
Bug: 60502
Change-Id: Idf0e9cf7ccaa37e607374ced150db732926a19f8
I told James this wasn't needed, but I was wrong. It is null in
the parent class, and DOM throws on document.createElement(null).
Bug: 60307
Change-Id: Iff8fda9acf9f37e537d7d6cf6106a801d6b71338
getAnnotationFromText was renamed to getAnnotationFromFragment,
update MWLinkInspector for this.
Bug: 60374
Bug: 60378
Change-Id: I202a2777f0202dcf42c5968daf8bdf5583b0a11b
In HD mode, the left margin was 0.25em off.
In narrow mode, the margins were completely wrong.
Bug: 51000
Change-Id: I7fd9cbc925b828fd780adb9ab2c71bcf15dc7284
* Remove the this.mediaSize custom store object and replace
with a hash function and the document's IV store.
* Remove this.inputs/this.fieldsets namespaces.
* Calculate this.filename as soon as this.mediaNode is set.
* Rename getMediaSize to getOriginalDimensions
Change-Id: I2030aade5d96555451f6a390d0aa3d44b860841f
* Reduce duplication by calling #removePart (equal, line by line)
* Reset `remove` at the start of each iteration, it was leaking
through to future iterations.
* Minor simplification in property access.
Change-Id: Ie0a83d582804bc50131ca5a8da36b0605dd4a6c3
mw.Uri will just be using window.document, which may have
a different base.
Depends on I86fe6c2f41e549 in core.
Bug: 58136
Change-Id: I320d5d477d97ebf25963ab2dc429931bc871dd17
Adding the ability to edit image size in the media edit dialog.
The size is now a separate widget.
The following changes were made:
* The dialog was changed to a booklet with 'general settings' and
'advanced settings', in preparation for other edit features.
* The original image maximum size is fetched from the API and cached.
* Maximum size is limited to the image's original maximum size.
* Aspect ratio is kept when changing height or width, using original
image size to preserve a sane ratio through the MediaSizeWidget.
* If an error is found in the size, the image will retain its previously
set dimensions.
Depends on MediaSizeWidget: I3d0f9348a52
Bug: 38129
Change-Id: I2946fb21c46ce05583b219f665ef68928188899e
This will make generating live previews possible.
Changes:
* Add change events to template model.
* Set up connect/disconnect.
Also:
* Add missing fallback for getParameterLabel (Param#label is
optional per the TemplateData spec).
* Implement getWikitext, to be used by the UI dialog later
to create a preview from the wikitext.
* Correctly mark ve.dm.MWTransclusionNode#escapeParameter as
being a static method.
Change-Id: Ie306ed03babf11568e954b1813ce5324f57d7f0e
Also update for indicator changes in Iaf7726150
New changes:
f981943 Fix toolbar indicators in demo
e849941 Update OOjs UI to v0.1.0-pre (11632fcada)
Change-Id: I16c38259ccedbfba8260f8a508b572cee6389517
* Add ULS, which was removed from VE core
* Add experimental mwlanguage module which adds ULS integration
* Hook in ULS to the existing language widget
Also update VE core submodule with changes:
* 1e92abe Generic language inspector
Bug: 47759
Change-Id: I325a4dcc316d0334fadfcaa46ad3acd45c6bf84b
New changes:
* e7e2833 - Update uses of Push/IconButtonWidget to ButtonWidget
* d9d9eb5 - Update OOjs UI to v0.1.0-pre (d9bab13)
* d9bab13 - The Great Button Refactor of 2014
* 22b93ef - Update OOjs UI build (88b2871)
* 88b2871 - Fix png transparency on required.png
* 670c468 - Add i18n
Also:
* Update uses of Push/IconButtonWidget to ButtonWidget as there
is a breaking change in new OOjs UI version.
This was separated from commit I325a4dcc316d0.
Change-Id: I82220d15221c52be03feafcfc85c2bd6c12ba462
When running in the context of MediaWiki, VisualEditor should tee its event
stream to MediaWiki's main event bus, mw.track(), so that MediaWiki event
subscribers have a unified interface for subscribing to events. Each
VisualEditor event topic is prefixed with 've.'
To test this patch, you can use this snippet:
mw.trackSubscribe( 've', function ( topic, data ) {
console.log( this, topic, data );
} );
Change-Id: I6b3f10b0dd0aa7fa47c3b35e2fc554622960ce52
For block images, show the bottom left/right anchor if the image
is right/left aligned, and both if it is centred.
For inline images, show the bottom right anchor unless the page is
RTL.
Change-Id: Icb5b74b954493257c517a5fbac5f0a0a457c544c