Commit graph

6466 commits

Author SHA1 Message Date
Translation updater bot 69957698c7 Localisation updates from https://translatewiki.net.
Change-Id: Ied0dc7cfda9706146529f47f10c089963f80e0d7
2013-12-13 20:09:48 +00:00
Moriel Schottlender 95d99192b4 Add a getDirectionFromRange Method to ve.ce.Document
getDirectionFromRange returns the direction property of the ce nodes under
that range. That method is mostly useful to recognize the overall block
direction of a selection or fragment.

The method is currently used in the following locations:
* ve.ui.Toolbar onContextChange - as a means to recognize the current context's
  block direction for the icon directionality.
* ve.ui.MWExtensionInspector - if the selection is text and not an existing node
  the input directionality adjusts to the context direction.

Bug: 57421
Change-Id: Ifc01b8e5dc0a2fe39d221e59e452c5cfad709a2d
2013-12-13 12:07:19 -08:00
jenkins-bot fc3ea799df Merge "Check values property exists before removing attribute" 2013-12-13 19:39:42 +00:00
jenkins-bot 9e9243e51f Merge "data-ve-ignore attribute for elements to be complete ignored by the converter" 2013-12-13 19:36:55 +00:00
jenkins-bot 252f25c9cd Merge "Fix hashes in MW toDomElement functions" 2013-12-13 19:36:01 +00:00
jhall c6a002110e [Browser test] Add waits for SauceLabs happiness
1) when_present waits to deal with SauceLabs sluggishness
2) Restore a "sleep" method for running test locally

Change-Id: I692befa5da607cf2468e3a56eb9b634a17f8deb2
2013-12-13 18:56:53 +00:00
David Chan 15f69cb597 ve.EventSequencer onLoop: minor consistency change
Change-Id: I2102c7eb3f8865ef403b01d8975359a4a212bf6c
2013-12-13 18:33:11 +00:00
Ed Sanders 6d65373339 data-ve-ignore attribute for elements to be complete ignored by the converter
This is for HTML we generate for the benefit of the external clipboard
(i.e. pasting into other applications).

Change-Id: I1c5ff4760f17e1981a78a0bc44f8e296454bb065
2013-12-13 17:48:06 +00:00
Ed Sanders 2843714834 Fix hashes in MW toDomElement functions
Hashes weren't using the new [ object, config ] set up so were
never matching the store. Also added a check to see if the
originalDomElements actually exists before trying to use them
(they may have been removed by a clone operation).

Change-Id: I886e369ced9a9d2e0e457ced9c21b2a7a8e55d58
2013-12-13 17:48:03 +00:00
Timo Tijhof 89ae1aa107 Update oojs to v1.0.6
Code:
 http://krinkle.github.io/oojs/releases/oojs-1.0.6.js

Release notes:
 https://github.com/wikimedia/oojs/blob/v1.0.6/History.md

Change-Id: Iaf7cd26b09d709f67f1947ebf14f751654d8b36e
2013-12-13 02:27:12 +01:00
James D. Forrester de4b7e4f0e Move "visualeditor-toolbar-insert" to ve, not ve-mw
Fix mis-placed message breaking stand-alone.

Change-Id: Ibffff67105e6877a61ba68eafc6395e598a36f82
2013-12-12 17:11:46 -08:00
Ed Sanders 74277cbde0 Check values property exists before removing attribute
Apparently the values property is optional so an
exception is thrown if it isn't set.

Bug: 58421
Change-Id: Ied2a1adb2818fb3f516c1cbde263a675ceb84446
2013-12-13 00:10:07 +00:00
jenkins-bot 18b037ba7d Merge "Add JSON->PHP conversion script for i18n" 2013-12-12 23:16:27 +00:00
Ed Sanders 5f78aa22f1 Check InternalList node exists when rendering MWReferenceList
If you've just pasted in a reference and a list the internal list
nodes may not have been rebuilt yet.

Bug: 58242
Change-Id: Ib10b81f4023194791f789f3e7dda393f2e355ea3
2013-12-12 23:02:10 +00:00
Roan Kattouw 789d187ce5 Add JSON->PHP conversion script for i18n
Apparently the .i18n.php shim is causing problems in both production
and beta labs, so for now we'll just generate the .i18n.php file
from the JSON files.

The first half of the conversion script is identical to the shim.

Change-Id: Id606584197d7efcff6fff29ea22cd35dd744b55e
2013-12-12 13:48:05 -08:00
jenkins-bot 630249b1cc Merge "[Browser test] Update Firefox + Selenium versions." 2013-12-12 21:40:42 +00:00
jhall b552171189 [Browser test] Update Firefox + Selenium versions.
Change-Id: Iea8b5dea546140da58759da2db3150f85e1a553f
2013-12-12 21:33:27 +00:00
jhall b9cd28589b [Browser test] Updates to use new Insert menu
"Insert" menu replaces "More" menu for
accessing some advanced markup features.

Change-Id: I57635b54f3a5b2b72f754747bdb836fe1bfda5ec
2013-12-12 21:32:42 +00:00
Translation updater bot ae5b16e981 Localisation updates from https://translatewiki.net.
Change-Id: If498cb7858a02cdc647d26251f35625c93e158e0
2013-12-12 21:17:06 +00:00
jenkins-bot da14b51b7e Merge "Use the same new toolbar for media and reference dialogs" 2013-12-12 19:32:22 +00:00
jenkins-bot a8b8c47c97 Merge "Update jquery.i18n to 255b10492507f78acd547cfab71eef403018d76f" 2013-12-12 19:26:30 +00:00
James D. Forrester 00088bbf05 Use the same new toolbar for media and reference dialogs
With blocks comment out where they're not wanted.

Bonus: Actually make the pasteSpecial command available in these
contexts.

Bug: 58404
Change-Id: Ic77c252ddc9ae54019b2d86ee5f8a6f4febf4292
2013-12-12 19:22:50 +00:00
Moriel Schottlender e3308b0bd9 Direction adjustment to <figure> styling
Adding @noflip to align-left and align-right in the <figure> css styling
rules and removing the need to resize the Branch Node div element on center.

Change-Id: Iec6e589ba9ecdf32c1a0934b9eb05ee3fd42af66
2013-12-12 19:15:53 +00:00
Roan Kattouw 18e243bea4 Update jquery.i18n to 255b10492507f78acd547cfab71eef403018d76f
From 255b104925

Change-Id: I77398f35c9f5465ba6fd224f35b6a863269a7d38
2013-12-12 11:13:18 -08:00
jenkins-bot 46c708df2f Merge "Make commands aware of their symbolic names" 2013-12-12 18:48:07 +00:00
jenkins-bot cf03ad7616 Merge "Render CE MWBlockImageNodes as styled <figure>s" 2013-12-12 18:47:12 +00:00
jenkins-bot aad149fa43 Merge "Add getDomSubtreeFromModel to converter API" 2013-12-12 17:41:00 +00:00
jenkins-bot 67bd5488da Merge "Rename getDataFromDom to getDataFromDomSubtree" 2013-12-12 17:37:04 +00:00
jhall d35cc1e573 [Browser test] Update to use new text styling menu
Also removed some duplicated code and
added test cases for bold and italic styling.

Change-Id: I181c208dd1165ea52bd4c49eb00c2eaae41ef05f
2013-12-12 10:37:48 -05:00
Ed Sanders 92dab00f60 Add getDomSubtreeFromModel to converter API
This means we no longer have to inject the store/internalList etc.
state into the converter manually before generating DOM.

Change-Id: I9d1f5f2592a7c5bf4ad404416b79ad65afd83b9c
2013-12-12 14:37:18 +00:00
Ed Sanders 1e83bd03b3 Rename getDataFromDom to getDataFromDomSubtree
To match its inverse getDomSubtreeFromData, and to make clear
that the input can be any subtree, not just a full document.

Change-Id: I4853bb6def0059eda43f86f0dcb6dd44309dc35d
2013-12-12 11:58:41 +00:00
Roan Kattouw 4c98f753a0 makeStaticLoader: Update fake standalone init module
* Don't add ext.visualEditor.base to it, and strip of ve-mw stuff
** .base doesn't contain ve-mw stuff any more, so no stripping needed
** Instead of appending .base, just load .base and create a
   separate fake module for Standalone init.

* Don't manually register .sa files
** Instead use ext.visualEditor.standalone, it's right there.
** Add missing CSS file to .standalone.

* Documented the purpose of 'Dependencies' and removed scripts
  from that fake module that don't fall under that rationale and
  instead add them as regular modules (rangy, unicodejs).

* Removed weird 'jquery' dependency in 'ext.visualEditor.core'
  module. This is strongly recommended against, and might
  actually cause jQuery to be reloaded due to outstanding bugs
  in core with the state machine in the startup queue (jquery, mediawiki).

* Unlist unused 'jquery.client' dependency in makeStaticLoader.
  As per the module definitions in VisualEditor.php, this is
  only used by the .mediawiki module. Grepped modules/ve/ and
  found 0 uses.

* Update dependency order to roughly match the dependency tree
  as it is specified in ResourceLoader (e.g. rangy is for .core,
  not .base).

* Keep fake modules out of ResourceLoader.

Change-Id: I2a31543e5ad2fc39f5980fea855172108eda4428
2013-12-12 03:34:42 +01:00
jenkins-bot 1d9c82d7f5 Merge "Add a note to the top of the i18n shim explaining what it is" 2013-12-12 02:04:47 +00:00
James D. Forrester 560f8642ed Add a note to the top of the i18n shim explaining what it is
Change-Id: I07a6abf0d85e4ec692bb25414d65c226977b69f7
2013-12-11 18:02:19 -08:00
Roan Kattouw e754b07539 Rebuild static loaders
Had apparently gotten out of sync

Change-Id: Ib2d576ec5b5db2fe6fec468fd053dfc8a029747a
2013-12-12 01:32:33 +00:00
Roan Kattouw 31471233c4 Support modules registered from hooks in makeStaticLoader
Change-Id: I7205a1a07f0127dc91cfa159d2a8b4de92192188
2013-12-12 01:31:53 +00:00
Roan Kattouw b46a9ca70c Rename misspelled variable $parsedMesssages
Change-Id: Idc2e9ccf5960807242305c43b8acb28b7fb64073
2013-12-12 01:30:58 +00:00
Roan Kattouw 3955ceeafa Combine ResourceLoader::register() calls
Build an array of modules to register, then call register() once.

Change-Id: I2040ff12e2660260698bca783a7be50308687011
2013-12-12 00:59:38 +00:00
jenkins-bot 29f047ea89 Merge "Fix issues with copy-pasting MWTransclusionNodes" 2013-12-12 00:45:28 +00:00
jenkins-bot 9a68595f71 Merge "Add recursion to removeHtmlAttribute" 2013-12-12 00:44:29 +00:00
Ed Sanders f0e9ec7922 Fix issues with copy-pasting MWTransclusionNodes
ve.dm.MWTransclusionNode
* Implement getClonedElement to remove originalDomElements
  and originalMw. We don't want to put these in the clipboard
  as there is no guarantee they are the rendering of the current
  set of parameters (a refresh may be in progress) and they may
  confuse the converter on the way back in.
  Remove about attribute to prevent about grouping of duplicated
  nodes.
* Set an extra attribute to flag that the outputted DOM doesn't
  have any generated content attached to it that can be stored
  on load.
* Check for said attribute in toDataElement and skip the
  storeGeneratedContents step. This will trigger an async update
  of the generated contents on paste.

ve.ce.Surface
* Call cloneElements before writing to pasteTarget so data in external
  clipboard is stripped of generated contents.

ve.dm.Node
* Only strip data-parsoid as other attributes may be meaningful.

ve.dm.mwExample, ve.dm.Node.test
* Update tests

Bug: 58241
Change-Id: I3e15cc97e94747647078204a0b398e6ac3ec6382
2013-12-12 00:02:11 +00:00
Ed Sanders ba2636c787 Add recursion to removeHtmlAttribute
This is pretty straightforward because the htmlAttributes data
structure is so simple...

Change-Id: Ie46fcc0715c4aecb984e73dc81a5297673f2c3ea
2013-12-12 00:02:11 +00:00
Moriel Schottlender f1123f87f5 Render CE MWBlockImageNodes as styled <figure>s
This change is meant to transform the current block image node rendering
in ContentEditable from the nested <div> structure to a <figure> tag more
closely matching Parsoid's output, with CSS to style it the same. This is
mostly so we can work with and display attribute changes, like 'type' and
'alignment', without constantly destroying and rebuilding nested <div>
structures.

This change also includes all the attribute changes that will be called
when the media edit dialog changes image type, alignment, size, etc.

Node: The mw-classes 'thumb', 'thumbinner' and 'thumbcaption' are
preserved in the structure of the <figure> but CSS designers should note
these styles are no longer necessarily attached to <div> elements.

Bug: 53436
Change-Id: I40065acd9fd59d30f94b5336736d4986e8de15aa
2013-12-11 15:54:55 -08:00
James D. Forrester bd94ff92bb Initial re-styling of the toolbar
Move all text styles, and the remove styles button, into a new 'list' toolbar
group, using the text-styles icon. Less-used text styles (strikethrough, code
and underline) are demoted, with remove styles at the end, and bold and italic
promoted.

Now re-label the "More" catch-all to now be "Insert", which is what's left.

Change-Id: I66a1bba347ea64e540106b1090995b3117a8b1b2
2013-12-11 23:41:12 +00:00
Kyle Florence 638e4f65b6 Make commands aware of their symbolic names
This introduces a small reorginization of how commands are registered so
that they are associated with their corresponding symbolic names.
This change is mainly to aid with event tracking, but it might be
generally useful for other things as well.

Change-Id: I2ccf4522f786a54c1f5395008b7b0333a1fa6072
2013-12-11 15:34:20 -08:00
jenkins-bot 1fb7446738 Merge "Re-label the formula inspector to not be LaTeX" 2013-12-11 23:12:01 +00:00
jenkins-bot 9489984127 Merge "Strip empty spans after style attributes have been removed" 2013-12-11 23:11:00 +00:00
Ed Sanders dc5269f249 Strip empty spans after style attributes have been removed
We already do this for removeHtmlAttributes mode.

Add tests in ElementLinearData and ce.Surface. Get rid of unused
clipboardHtml param in ce.Surface tests as it is unused and replace
with clipboardKey flag which tests the VE->VE paste path.

Change-Id: I0cd82a37d6e765ecab489dc22f642ebbcfbb5387
2013-12-11 23:01:23 +00:00
jenkins-bot 67dad75ddd Merge "Format MW example HTML" 2013-12-11 22:28:31 +00:00
jenkins-bot 5009eaed5b Merge "Move removeHtmlAttribute into ve.dm.Model" 2013-12-11 22:27:20 +00:00