Commit graph

4481 commits

Author SHA1 Message Date
Roan Kattouw d9fb612538 ve.ce.BranchNode: Use DOM rather than jQuery in #onSplice
Change-Id: I75337048e9ae81c95333da5c0277dbf7dc562b1c
2013-06-23 03:09:46 +00:00
Roan Kattouw 1459bb418b Use DOM methods rather than jQuery in setupSlugs()
Also use .importNode() rather than .cloneNode() so the slugs are
created in the right document.

Change-Id: Ia0b6ee5f4e4ef0fbcc9a3fe16f20587da027ae2e
2013-06-23 02:39:56 +00:00
Roan Kattouw fe5f4fdce0 getRenderedContents() optimizations
* Use plain text rather than HTML in TextNode
** Bypasses HTML parsing, and doesn't cause regeneration of nodes like
   appending to .innerHTML does
** We were only using HTML so we could use entities, so replace those
   with \uNNNN sequences
* Use native DOM functionality rather than jQuery
* Inline flushBuffer()

Change-Id: I7c6376b55cc0f1420a01a77b365b073fe1636263
2013-06-22 19:37:10 -07:00
Roan Kattouw 3a5ec39ab5 mw.ViewPageTarget: Use native .focus() rather than jQuery's .focus()
jQuery's implementation does some sort of traversal, so on large pages
it took 300-400ms just to focus the document node.

Change-Id: I0de95d8800a1aedeb19b27d204dfd8fd08cec533
2013-06-21 21:25:44 +00:00
Roan Kattouw 921a95de78 Don't build the CE tree and DOM for the internal list
This is a waste of time, because we hide it anyway. This took
quite a bit of time for long articles.

Change-Id: I1bcfd5b908c89dc2e08d5520e8870b145177ca10
2013-06-21 14:19:55 -07:00
jenkins-bot ed1c06ee6b Merge "Match MediaWiki's rendering of non-thumb/-frame block images" 2013-06-20 03:49:09 +00:00
Inez Korczyński bed2c1d00d Match MediaWiki's rendering of non-thumb/-frame block images
Change-Id: I43ad72ef2d6b650692e1a0fd4460e4dec70fde7f
2013-06-19 17:44:55 -07:00
jenkins-bot 43af678ad4 Merge "ve.ui.PanelLayout: Set default to span accross available space" 2013-06-20 00:29:42 +00:00
jenkins-bot 58c7db50e3 Merge "Always float toolbar to top of page, not last branch node" 2013-06-20 00:27:06 +00:00
Timo Tijhof 82997d73e8 ve.ui.PanelLayout: Set default to span accross available space
Without these properties set, the layout is collapsed into a 0x0px square due to the
parent having overflow-x: auto; and no width/height set.

Change-Id: I77aef8afa3327b11f453196badcdfad3f51f7c3d
2013-06-19 16:20:10 -07:00
jenkins-bot 38d6c6ba73 Merge "Add resource attribute to newly created images" 2013-06-19 22:31:20 +00:00
jenkins-bot 5cc6faaa1f Merge "(bug 49837) Handle correctly figure tags with typeof="mw:Image"" 2013-06-19 21:56:16 +00:00
Inez Korczyński 0f380f1fc5 (bug 49837) Handle correctly figure tags with typeof="mw:Image"
Change-Id: I6bc74973671e7046130278b9658bb8f6f62904a1
2013-06-19 21:15:30 +00:00
Ed Sanders 8d2ba6effe Add resource attribute to newly created images
Bug: 49596
Change-Id: Ifbde0f5a4c8eb01df7b429abbb8ab0d4431c1c6f
2013-06-19 20:47:14 +00:00
Translation updater bot 0ee7f9a5ca Localisation updates from http://translatewiki.net.
Change-Id: Ibdb1d5a893254ac66f0d940023b78a0e6dfe326c
2013-06-19 20:41:11 +00:00
jenkins-bot 3d98a73cba Merge "One method onAttributeChange in ve.ce.MWBlockImageNode is plenty" 2013-06-19 18:47:05 +00:00
jenkins-bot cd2d6d1663 Merge "Fix inconsistencies and errors with Dialog onOpen/Close" 2013-06-19 18:46:02 +00:00
Ed Sanders 0072e66183 Always float toolbar to top of page, not last branch node
The check for the toolbar not overlapping the last branch node
'fixes' an edge case where the user has scrolled too far, and
the viewport is shorter than the last branch. A more common
problem caused by this is that if the last branch is very tall
the toolbar disappears whenever you scroll past it.

Bug: 48662
Change-Id: I1c7662f2b6f1ced6f80dec16c6ed69a8cc0c06c8
2013-06-19 18:44:38 +00:00
jenkins-bot 7b0b6f2860 Merge "Ignore shortcut keys inside key press handler" 2013-06-19 18:38:52 +00:00
Ed Sanders 1469575082 Fix inconsistencies and errors with Dialog onOpen/Close
Removed inherited (and often wrong) documentation, replaced direct
usage of onApplyButtonClick with more standard onClose handling,
and one case of calling the wrong parent method.

Change-Id: I86ed16860e996b42c141a6499eefb9084d759a72
2013-06-19 18:35:45 +00:00
Inez Korczyński c632bfc65b Ignore shortcut keys inside key press handler
Bug: 49732
Bug: 49760
Bug: 49816
Change-Id: I8f814a0f369c470038896041f157b3dbd0d7f1a7
2013-06-19 17:31:45 +00:00
jenkins-bot 3cff0f37be Merge "Media content message should be in general, not experimental, code" 2013-06-19 16:06:38 +00:00
James D. Forrester 437c7cd093 Media content message should be in general, not experimental, code
Change-Id: I41f61eb9dd9dccee8bb0be3e12736b5f713dca45
2013-06-19 08:56:00 -07:00
Inez Korczyński 44c174734b One method onAttributeChange in ve.ce.MWBlockImageNode is plenty
Change-Id: Ibcf93047c93e411c6c7167720e5d92a311d647f1
2013-06-18 19:31:01 -07:00
jenkins-bot ebddcf9239 Merge "Transclusion editor template naming goodness" 2013-06-19 01:37:07 +00:00
Trevor Parscal ece74379de Transclusion editor template naming goodness
"Template" parts should be labeled with a normalized version of what you would actually write inside a set of curly brackets.

Change-Id: I4b9c541a01da86cb078d38012e5a9fead2fa233c
2013-06-18 18:33:58 -07:00
jenkins-bot 7289df9674 Merge "Make media insertion queries less horrible" 2013-06-19 01:19:43 +00:00
Trevor Parscal bf268e82a5 Make media insertion queries less horrible
Objectives:

* Clear this.titles when resetting, otherwise results are shown once and
  then blacklisted forever.
* Attach done() before always(), so done() gets called first and not
  after always() has dereferenced the request object.
* Remove use of imaginary variables like this.loading, which were never
  set, and were referencing even more imaginary methods on other imaginary
  objects like this.request.abort()...

Change-Id: Ifbe74346f68b6a91f425b56a2696fd1e46b61e02
2013-06-18 18:17:05 -07:00
Inez Korczyński a886952563 Support for editing captions of block images
Bug: 38129
Change-Id: I02207e78f5c28eaccd9bc97a48baa78280192255
2013-06-18 17:57:10 -07:00
jenkins-bot fedcf454a0 Merge "Added ve.ce.FocusableNode mixin to ve.ce.MWReferenceListNode" 2013-06-19 00:53:56 +00:00
James D. Forrester ce587e2453 Move transclusion editing from experimental to core
Change-Id: Ibd0915e367d105170e6b88e3b46c2d54659ce962
2013-06-18 17:31:30 -07:00
jenkins-bot 89cc6f21fb Merge "Add templates from toolbar" 2013-06-19 00:27:08 +00:00
jenkins-bot 3d5c6f8b0f Merge "Fix transclusion button message" 2013-06-19 00:26:29 +00:00
Trevor Parscal 4a7503ac10 Add templates from toolbar
Change-Id: I0aa21bed13d1dbc693c1db03eab903af55a1517a
2013-06-19 00:23:23 +00:00
jenkins-bot a60e469b03 Merge "Handle media select widget empty queries properly" 2013-06-19 00:18:23 +00:00
Trevor Parscal 2044a5796b Fix transclusion button message
Change-Id: I90cdb600ffb6e7d80cf6042b50ef0bf8a22c6cbd
2013-06-19 00:17:46 +00:00
Trevor Parscal a8fcfb4a14 Handle media select widget empty queries properly
If the query is cleared, we should still clear all items and abort any
loading that may be going on. We should still not try and load results
for an empty query though.

Change-Id: If23c6e0469247b1c1c47ab85b9a5a010e8a4fe26
2013-06-18 17:11:38 -07:00
Roan Kattouw c027b43d04 Improve template title normalization logic
Only remove the namespace prefix if it's in the template namespace,
and prepend a colon for main namespace titles.

Change-Id: Ie910bae172274e36c7c9a675a631a0876ff13ed1
2013-06-18 17:09:46 -07:00
Trevor Parscal 1ee10790e9 Don't show Template: in the outline for template items
1. It's redundant and ugly.
2. We already have an icon.
3. It's unnatural for anyone used to working with templates.

Change-Id: I821e124158a14679e411324620dc9d7c40252383
2013-06-18 23:49:14 +00:00
Trevor Parscal 23b2da91fd Template and content adding
Objectives:

* Allow adding content or templates within a transclusion
* Add template placeholder to model and view which resolves to nothing
  when saving (thus disappearing if not resolved)

Changes:

*.php
* Add links to new messages and files

ve.ui.OutlineControlsWidget.js
* Organize controls into "adders" and "movers"

ve.ui.Widget.css
* Add styles for adders/movers sections of outline controls
* Make adders appear on hover to reduce clutter

ve.ui.Icons-*.css
* Add icon for "add item"

ve.ui.Dialog.css
* Add styles for add template fieldsets
* Make placeholder items in the outline italic

ve.ui.PagedDialog.js
* Pass adders config to outline controls

ve.ui.MWTransclusionDialog.js
* Add support for adding content and templates

ve.dm.MWTransclusionModel.js
* Add addPlaceholder method

ve.dm.MWTemplatePlaceholderModel.js
* New class, pretty much an empty part
* Using this makes the UI much easier to work with - no need to special
  case the outline control for new items
* Because it's not supported specifically in
  ve.dm.MWTransclusionModel.getPlainObject, it produces nothing and goes
  away naturally on apply

Change-Id: I3478560fb53ba2ccd3fb26bafb6a61e6415565eb
2013-06-18 23:37:44 +00:00
Roan Kattouw dfbd870e16 Fix copyDomElement issues
* Fix bug in MWTransclusionNode sometimes passing a NodeList rather
  than an array (caused an error because NodeLists can't be .map()ped)
* Use copyDomElements in ce.AlienNode as well

Change-Id: I11c6483d3c062047be80f75a3fac03f13bff9662
2013-06-18 23:37:09 +00:00
jenkins-bot 60da007ab9 Merge "Copy DOM elements properly, into the correct document" 2013-06-18 22:52:14 +00:00
Roan Kattouw dc798befcf Copy DOM elements properly, into the correct document
* Provide a utility for copying an array of DOM elements into a
  different document
* Copy the DOM elements returned in toDomElements(), otherwise weird
  issues arise when the same data is converted to DOM twice

Change-Id: Ie927420624f0d4af0692e18d1bc6f952c8013d61
2013-06-18 15:40:33 -07:00
Trevor Parscal c4791ceeae Make MWTransclusionModel#addTemplate take target object instead string
Change-Id: I6067e9de7d6029c36938b2758dffe4afdb0bf2ad
2013-06-18 15:19:10 -07:00
Trevor Parscal 0410b936e4 MWTransclusionModel: Make #getPartById support a param model id
Change-Id: Ia2829ef2c24f63ce46e05790aa089fca563bc563
2013-06-18 15:08:44 -07:00
Trevor Parscal 7c171ae0a5 Whitespace cleanup
Change-Id: I49417b95a6c4c2538715e09b74ed3607f6741c3a
2013-06-18 21:53:03 +00:00
Trevor Parscal e8d8308d9a dialog: Remove background color body
This was causing strange rendering problems, and it's really not even
needed.

Change-Id: I130e9e5c5f2c5ab99b5245de6c0243e9be9cf558
2013-06-18 21:52:43 +00:00
jenkins-bot 9ba2bab2de Merge "ve.ui.IconButtonWidget: Extend css transition from 100ms to 200ms" 2013-06-18 21:48:41 +00:00
jenkins-bot 61879a93ed Merge "ve.ui.LookupInputWidget: Hide lookup input widget menu when empty" 2013-06-18 21:46:39 +00:00
Trevor Parscal 00d5c41e02 ve.ui.IconButtonWidget: Extend css transition from 100ms to 200ms
Makes make it look nicer.

Change-Id: Ib7c1021a31f607b6e697f16fe797358c0167acee
2013-06-18 21:45:33 +00:00