Commit graph

6317 commits

Author SHA1 Message Date
jenkins-bot 6c6fcf1dbd Merge "Cache multiple requests for $resizable's offset" 2013-10-22 20:30:18 +00:00
jenkins-bot a2587ce927 Merge "Recalculate $resizable offset when positioning resize label" 2013-10-22 20:28:27 +00:00
Ed Sanders c543fef85f Cache multiple requests for $resizable's offset
Both the resize handles and the size label position themselves
using $resizable's relative offset, so we can optimise by
caching that result.

Change-Id: Ic225b15cfcece8d5c2e782e1e667d854f805c6fb
2013-10-22 20:27:36 +00:00
Ed Sanders 1efa327121 Recalculate $resizable offset when positioning resize label
Because it can change. Currently the resize label is not
positioned correctly if you use three of four resize handles.

Change-Id: I1a28bc57fda1097c94047fd7690ad8d403cdd478
2013-10-22 20:23:42 +00:00
Translation updater bot 776e9d4b9c Merge "Localisation updates from http://translatewiki.net." 2013-10-22 19:25:48 +00:00
Translation updater bot bc45e38a7a Localisation updates from http://translatewiki.net.
Change-Id: I93cd3eba912f2ae9aac9e1fb45cb38ae7d775e3a
2013-10-22 19:22:15 +00:00
Trevor Parscal e41d4d470f Rename ui.Tool.static.canEditModel to isCompatibleWith
Change-Id: Ic7583f0966946c870f38a2e7ad06e558238c8794
2013-10-22 21:20:09 +02:00
Roan Kattouw 36fc3b5911 Rename oo.js to oojs.js per library name
Change-Id: I9f02a4438a18243022506b5a2fcc445af03aa945
2013-10-22 19:18:32 +00:00
Trevor Parscal fae7f130e4 Remove oo from ve.js closure
Instead use OO directly. Also remove ve.createObject, which is
unused now that ve.Registry and ve.Factory have been moved to oojs.

Change-Id: I3470b6660107ddd0bdf4a43c50d191a1bb1cc4d8
2013-10-22 19:18:27 +00:00
Trevor Parscal 26a1d8986b Remove ve.Factory and ve.Registry and use oojs instead
Change-Id: I2717300e6cc6102296a2b8d063d344fa5897c825
2013-10-22 19:15:18 +00:00
Trevor Parscal b635541de2 Remove ve.getHash and use getHash from oojs instead
Change-Id: Ib688a3ba0ab07e0d0dc328a3878440756d1103fe
2013-10-22 19:14:23 +00:00
Timo Tijhof 27078af21e Update oojs to v1.0.4
Changes since v1.0.2:
* Added oo.getHash
* Added oo.Registry
* Added oo.Factory
* Bug fixes for oo.EventEmitter

Code:
  http://trevorparscal.github.io/oojs/releases/oojs-1.0.4.js

Release notes:
  https://github.com/trevorparscal/oojs/blob/v1.0.4/History.md

Change-Id: Iafc49bd148a50b19e5e9f0a0add056ad858533de
2013-10-22 19:13:47 +00:00
Timo Tijhof 7db65f386c Rename @emits to @fires so we're forward compatible with JSDuck 5
Instead of using @emits in both, use our custom @fires in
production (JSDuck 4), and in the future it'll just naturally
use the native one.

This way we can also index oojs without issues, which seems to
have started using @fires already.

Change-Id: I7c3b56dd112626d57fa87ab995d205fb782a0149
2013-10-22 19:11:16 +00:00
jenkins-bot b017dcef30 Merge "Fix save dialog crash on load error" 2013-10-22 17:26:21 +00:00
Ed Sanders 4194a5a380 Added SVG logos in new style, rm'd old pngs
Change-Id: I1f77c645a9fc92bc2a81391107ddb3a54ef37a50
2013-10-22 18:20:32 +01:00
Trevor Parscal 6018e77d70 Use OO.EventEmitter instead of ve.EventEmitter
Change-Id: Ie35e5f51a8d3c0d7f4fa46230b7b37112df610b9
2013-10-22 16:57:33 +00:00
Roan Kattouw 9d915aca2d Fix save dialog crash on load error
If there was an error loading the HTML from Parsoid, ViewPageTarget
would try to tear down the save dialog, which caused a crash because
the save dialog doesn't exist yet at that point.

Change-Id: Ia50756a19cb775be96b90e87b642eb2a38f254ce
2013-10-22 01:15:35 +02:00
Translation updater bot 760ef37e2b Localisation updates from http://translatewiki.net.
Change-Id: Icec2461d9f8fb25f7fb3378d3999f4095503c0bb
2013-10-21 19:41:55 +00:00
Roan Kattouw a34e0fd6e2 Fix typo in documentation for ve.ce.View.prototype.getModel
Change-Id: I176898bc6714bd240ca0776406d11c60f2b2fd96
2013-10-21 17:35:08 +02:00
jenkins-bot 324b04137b Merge "Add requirements to BetaFeatures hook" 2013-10-21 15:18:24 +00:00
Zeljko Filipin 421924bd69 [browser test] cursor feature was not tagged @login
Change-Id: I587ad033c93078d8e626840de3b3eedc73b83516
2013-10-21 13:04:43 +00:00
Roan Kattouw 3f5486a43f Use a sane recursion guard in ve.ui.Context.prototype.hide()
The previous recursion "guard" relied on the recursion to occur for
the function to work correctly, which was very confusing. Additionally,
it didn't actually work: if the inspector's onClose handler changed
the selection (which is common), .hide() would recurse and the recursion
guard didn't catch this (inspector wasn't undefined yet). Fortunately
all that did was call .close() on the inspector again, which was caught
by .close()'s own recursion guard.

Instead, simply use this.hiding as a recursion guard, and refactor the
function so it doesn't do two different things depending on whether it's
expecting recursion or not.

Change-Id: I09eb9229530468ee319ca53b730784a3f632375d
2013-10-21 14:10:23 +02:00
Roan Kattouw 9eac0c8c91 Followup 1878c7c5: fix check for nonexistent property .draggingAndDropping
It's always been named .relocating

Change-Id: I2fcb28cdad037880759420986d8010ee5711d691
2013-10-21 13:40:28 +02:00
jenkins-bot 8a13ed0d14 Merge "Add a node type for numbered external links" 2013-10-21 11:00:54 +00:00
Translation updater bot b2eec25d87 Localisation updates from http://translatewiki.net.
Change-Id: I8d5789a9324d2db53d6f618d7dd2d041ed73a3ac
2013-10-20 21:49:13 +00:00
Roan Kattouw d3c706ff93 Add a node type for numbered external links
Since I0f0a826c in Parsoid, numbered external links are now empty
<a rel="mw:ExtLink"></a> tags. This means we have to put in a node type
for them to prevent them from being considered empty annotations and
getting converted to alienMeta.

MWNumberedExternalLinkNode is protected and focusable to avoid making
the link text (which isn't editable) clickable. It isn't inspectable
yet, we need to work on that.

Bug: 53505
Change-Id: I83f69695f3974089e51a84e799f31ab6ed879e05
2013-10-18 22:31:45 +02:00
Translation updater bot a531b39698 Localisation updates from http://translatewiki.net.
Change-Id: I4bf14a6a85bf34125b4982578d476a2a0cf7f5d7
2013-10-18 19:25:56 +00:00
Trevor Parscal efafed3231 Remove ve.{inheritClass,mixinClass} and use OO instead
Change-Id: I8df9226a358a76b661eab6e967ff0d63d361f691
2013-10-18 18:58:08 +02:00
jenkins-bot 40a8e9ef12 Merge "Document constructor params for dm.MWMathNode and dm.MWExtensionNode" 2013-10-18 12:52:19 +00:00
Timo Tijhof 832f8e1e11 Document constructor params for dm.MWMathNode and dm.MWExtensionNode
Follows-up Ib909c5fb02.

Change-Id: Ia3dfbabc8dde9f1e65e8fbb0e4d67f868031247a
2013-10-18 12:44:50 +00:00
Tongbo Sui 838eddaedb Expand highlighting support for syntaxhighlight module
Part of the ongoing effort to expand the amount of languages that can be
highlighted by syntaxhighlight module to match that of SyntaxHighlight
GeSHi extension.
The module now separates language names with their file names.

Change-Id: Iaf907ebeadc9432719a45f4e9e8d580bb32ca668
2013-10-17 22:42:52 -04:00
cmcmahon 828747f0f0 [Browser tests] identifier for anonymous warning changed for test2
Change-Id: Idfdd6db441205280373f8d24bf0a693b46eed1af
2013-10-18 01:31:47 +00:00
jenkins-bot b76f85c240 Merge "Split out popup functionality from ve.ui.PopupButtonWidget to ve.ui.PopuppableElement" 2013-10-17 22:15:41 +00:00
Translation updater bot b705f4c10d Merge "Localisation updates from http://translatewiki.net." 2013-10-17 19:36:00 +00:00
Translation updater bot c1e34465e2 Localisation updates from http://translatewiki.net.
Change-Id: I199fc47c1034f877d4f8777569d867024d59261f
2013-10-17 19:35:10 +00:00
jenkins-bot 5dd44dab93 Merge "Rename performance.parsoid.domLoad to performance.domLoad" 2013-10-17 19:30:58 +00:00
jenkins-bot 8b3de827cb Merge "Use .done()/.fail() instead of 'success'/'error'" 2013-10-17 17:21:47 +00:00
Trevor Parscal 81bbba4932 Split out popup functionality from ve.ui.PopupButtonWidget to ve.ui.PopuppableElement
Change-Id: I522d852d81d9674723a3262da3f030417f4fc3be
2013-10-17 10:21:03 -07:00
jenkins-bot 107689087a Merge "Followup 8a4058584: use a single media source for rerendering images" 2013-10-17 17:20:13 +00:00
jenkins-bot d7b1cd9b4f Merge "Follow-up 8dfbc5baa: Really don't select unselectable items" 2013-10-17 17:16:03 +00:00
Zeljko Filipin a3ae0478ed [browser test] Updated Ruby gems
Change-Id: I78cbac61ca534957a39474a82306aaa954ab9de1
2013-10-17 16:19:03 +00:00
Roan Kattouw 4721367b61 Follow-up 8dfbc5baa: Really don't select unselectable items
SelectWidget would refuse to select unselectable items on mousedown or
mousemove, but would happily do so on mouseup. This meant unselectable
items weren't actually unselectable.

This broke the link inspector: if you clicked on the text
"External link", for instance (a ui.MenuSectionItemWidget), that "item"
would be selected, the link target input would be cleared, if you exited
the link inspector in any way the link would be unlinked, and any new
link inspector you opened would have a completely non-functional dropdown.

Change-Id: I7faa3d23b51b9cb93e68414584b9f433ea1f656a
2013-10-17 14:26:48 +00:00
Roan Kattouw 8fccb53afc Make category suggestions dropdown appear below the input box
Right now it's anchored to the bottom left of the category widget as a
whole, even if the text box is pushed farther to the right by existing
categories.

Change-Id: I7f2ca12b82d17c27fb3b87cb819a2a99a9fed108
2013-10-17 15:52:55 +02:00
Roan Kattouw 660e7c664a Don't corrupt categories/langlinks with new types
Parsoid changed these types from mw:WikiLink/{Category,Language}
to mw:PageProp/{Category,Language} in I0f0a826c. We had previously
added support for them in 4d91e4ed but code overwrote the new types
with the old ones on the way out, triggering the DOM corruption warning.

Change-Id: I768ec2ffd623e5a01f18959277786697603a97f0
2013-10-17 15:48:37 +02:00
Roan Kattouw f81de3e1e9 Initialize the save dialog correctly even if the sanity check failed
A very weird if statement caused pretty much all logic for displaying
the 'save' panel to be skipped if the sanity check had failed. The
result was that all buttons were displayed at the bottom of the
save dialog, even those that don't make sense in that context.

Change-Id: I628ebc05830fb25d67ff181852a1e56f0e25dee9
2013-10-17 15:29:03 +02:00
Roan Kattouw d3cd404877 Use .done()/.fail() instead of 'success'/'error'
'success' and 'error' are deprecated.

Also make all generateContents() promises abortable.

Change-Id: I8f95e9386f7749e635ce3715389896a0ccdb7523
2013-10-17 14:03:37 +02:00
Roan Kattouw 7035c8de01 Followup 8a4058584: use a single media source for rerendering images
The code asked all media sources for a rerender and used whichever one
came in first, which meant that it might potentially render the wrong
image, or reject the promise if one source served an error response
before a good response from another source arrived.

Also reject the promise if we can't find an image source in the response.

Change-Id: I6b516ad41b8a9e2abd440625bb76f3e1abb54520
2013-10-17 14:02:51 +02:00
Roan Kattouw fb4dcf3030 Followup c41f96c: doc parameter in ve.dm.InternalList constructor is not optional, remove check
Change-Id: I2d699483330d84647cb256272535dde6b8f2437c
2013-10-17 13:17:33 +02:00
jenkins-bot 7ffc900a7f Merge "Show a label with the current dimensions while resizing" 2013-10-17 10:57:34 +00:00
Trevor Parscal 580c5be915 Use CSS for handling empty labels
Objective:
* Use CSS to control the styling of empty labels

Changes:

ve.ui.LabeledElement.js
* Remove emptyHtml static property
* Add/remove ve-ui-labeledElement-empty class when setting label

ve.ui.ToolGroup.css
* Hide empty labels inside popup tool group handles

ve.ui.Widget.css
* Hide empty labels inside icon button widgets

ve.ui.Toolbar.js
* Only apply default catch-all tool group properties if they were previously undefined

ve.ui.IconButtonWidget.js
* Remove emptyHtml static property

Change-Id: Icd3f772942e74b547e926829c181e914182feb75
2013-10-16 17:41:53 -07:00