Commit graph

2226 commits

Author SHA1 Message Date
Ed Sanders bf4faa9f77 Fix logic for populating reference content
Force clearing of mwData.body if setContents is unset, and clear
mwOriginal when cloning.

Change-Id: I3150b5da7b50e14f400602c5842994e242ad182a
2013-06-28 00:04:26 +01:00
Roan Kattouw c219771a34 Fix bug where the floating toolbar was on top of the save dialog
The save dialog has z-index: 3;, which succeeds in overlaying it on the
toolbar in its normal position, but fails once the toolbar starts
floating, because the floating toolbar has z-index: 100;

In practice this meant that if you were scrolled down and the toolbar
was floating, you could open the save dialog just fine, but you
couldn't close it because its controls were below rather than on top of
the toolbar.

Hacked around this by detecting the floating-ness in the toolbarPosition
handler and setting a class on the toolbar tracker accordingly.
There may be a more elegant way to fix this; an actual UI engineer
should figure that out, not me :)

Bug: 50324
Change-Id: I8c6ab1026705d00baa20f115255d0d7e74ee72bf
2013-06-27 22:45:50 +00:00
Ed Sanders 138a4ba1d2 Fix getClonedElement
Change-Id: I019d1a5bd753ac5be7bda459ad85354265a55e3d
2013-06-27 23:45:09 +01:00
jenkins-bot da866e1c33 Merge "Invoke getClonedElement() on each element on copy" 2013-06-27 22:31:39 +00:00
Roan Kattouw 52f4711f4a Fix treatment of elements in addAnnotationsToData()
It should skip annotating elements, but doesn't.

Change-Id: I28fa83832748eb76fa9238e52074bb785ab1cf49
2013-06-27 22:25:54 +00:00
jenkins-bot 01e1cb1e71 Merge "Fix escapeParams in transclusions to not escape other transclusions" 2013-06-27 21:30:06 +00:00
jenkins-bot 4362869de4 Merge changes I45028ed2,I934888ce
* changes:
  If cursor is obscured by toolbar, on keypress scroll to cursor.
  Don't advance cursor when adding new line at start of node
2013-06-27 21:23:39 +00:00
Roan Kattouw c3340e273c Invoke getClonedElement() on each element on copy
This ensures that attributes and properties that are supposed to be
stripped on copypaste are actually stripped.

Bug: 49307
Change-Id: I8c90f4a0b33acba6eea3180cc077f8dc440e6e7b
2013-06-27 14:20:53 -07:00
Rob Moen 1b9c077b83 If cursor is obscured by toolbar, on keypress scroll to cursor.
Bug: 48735
Change-Id: I45028ed2f13148332518badd5f4647d4d652884e
2013-06-27 14:09:22 -07:00
jenkins-bot 7d9d8e677d Merge "mw.ViewPageTarget: Performance improvements for section edit links" 2013-06-27 20:36:08 +00:00
Ed Sanders d17dc86f51 Fix escapeParams in transclusions to not escape other transclusions
Use a stack counter to work out if we are inside a another template
call.

Bug: 49854
Change-Id: Ic0b97520b1696c3cf292111c7052502d5ccad648
2013-06-27 21:19:51 +01:00
Timo Tijhof e3cdfaa9fe mw.ViewPageTarget: Performance improvements for section edit links
Follows-up I4b9c47fd65a700a:
* Remove unused closingBracketSymbol.
* Moving veSectionEditUri and sectionEditUri inline as it is
  only used once. This will allow it to be easily dereferenced
  (instead of likely staying in memory due to being claimed by
  remaining closures "expand" and "expandSoon" which will
  continue to claim and enjoy access to this scope.
  Also changed it to use the attr() callback so that we
  don't access `$editLink.attr( 'href' )` twice.
* Add various comments explaining this non-obvious approach.
  Though it makes sense (eventually) and more elaborate details
  are in the original commitmsg, that is no excuse for a 100 line
  function without a single comment, especially with all these
  things going on.
* Use "shrink" instead of "contract" (seems more common in
  context of web UI elements and less ambgiuous in English).
* Remove redundant toString in `new mw.Uri( veEditUri )`.
  Aside from redundant, it also had more overhead (serialising
  uri object to string and re-parsing). It revoked its ability
  to make an efficient clone by taking the mw.Uri object as input
  as opposed to having to parse it again. mw.Uri#clone does the
  same internally.
* Avoid variable names like $this, that or self. Using a more
  descriptive name instead.
* Re-use $closingBracket instead of using last() 3 times which
  makes 3 clones of the jQuery object with the same last element
  in it.
* Refactor odd swapping of closingBracket-hide and
  middleBracket-clone-show.
  It now keeps the original opening/edit/closing in tact and adds
  devider/hidden/edit-source/outerClosing at the end.

Change-Id: I5f093f2927b769fed0c6d1a40f99e73f9b653b9a
2013-06-27 13:11:38 -07:00
Rob Moen 4f773438fb Don't advance cursor when adding new line at start of node
Bug: 48735
Change-Id: I934888ce727258cf3feb3e28d822e507554da701
2013-06-27 12:03:43 -07:00
jenkins-bot afe99d400a Merge "Fix comparison of MW internal links" 2013-06-27 17:30:00 +00:00
jenkins-bot 370caaf1ef Merge "Separate out MW specific converter tests" 2013-06-27 17:28:14 +00:00
Ed Sanders 14fa3b0999 Fix comparison of MW internal links
We need to normalise titles so 'user:foo_bar' == 'User:Foo bar', and
we also need to some HTML attribute removal as links from Parsoid
will have href and rel set (again, this should be fixed in by Parsoid
when the do the merging at their end).

Bug: 49985
Change-Id: I5fb5bfc69c344ca4ce4803d7b6116074648a8d7e
2013-06-27 17:43:34 +01:00
Ed Sanders d1aca4503e Separate out MW specific converter tests
They are only run in the MW test runner, where the MW dependencies
are available. Create a ve.test namespace for storing shared
test runners.

Change-Id: I079cb18b1c73614d25a12c5d6afcf0700469e52e
2013-06-27 17:10:25 +01:00
jenkins-bot 73e460c5bb Merge "ve.ui.ViewRegistry annihilation" 2013-06-27 01:51:53 +00:00
Trevor Parscal 6b5310c562 ve.ui.ViewRegistry annihilation
Objectives:
* Associate models with tools, rather than dialogs and inspectors
* Move tool/model association utilities to ve.ui.ToolFactory
* Obliterate the view registry

Notes:

The only special case for leaving modelClasses definitions in place is
for the linkInspector. It uses these for selection expansion.
Because tools can now override the static canEditModel method, we can
dynamically evaluate a model, rather than be restricted to only
comparing classes. This will be useful for disabling editors for models
that are for some reason incomplete or otherwise broken and cannot be
safely edited.

Change-Id: I7adf254990112d90f1f808593a9111afc7a116b5
2013-06-26 16:52:10 -07:00
Roan Kattouw cfc65ae9e5 Followup to 39fdb135f8: not everyone has a Mac, so check e.ctrlKey too
Bug: 49993
Change-Id: I5245ab19ae16b79d2c562c05b94649a58e04a4fd
2013-06-26 16:35:18 -07:00
Christian Williams eee17a8f09 Fix overlay for Monobook
Because of the z-indexes of major elements of the mono book
skin, and because the overlay containers are appended to the
body, the overlays can't be positioned between the surface and
the toolbar. Before this fix, the overlays are appearing beneath
the surface. This fix will retain proper positioning of the overlays
between the surface and the toolbar for Vector, and will overlay
everything in Monobook.

Later, we will have the overlay container more tightly integrated
with the surface to avoid this stacking problem.

Change-Id: Ibb1553099cc1e35e6a0928a99b584885508ca5b6
2013-06-26 16:10:56 -07:00
jenkins-bot e2099e5a01 Merge "ve.isInstanceOfAny utility function" 2013-06-26 22:01:48 +00:00
Trevor Parscal 1fcba7335f ve.isInstanceOfAny utility function
Convenient way to check if an object is an instance of one or more classes.

This should probably be moved to oo.js.

Change-Id: I2be55d9501cf62fde006281f1cf4813095b39b41
2013-06-26 14:49:04 -07:00
jenkins-bot 1a0fe26819 Merge "mw.ViewPageTarget: Don't handle edt tab clicks from special mouse buttons" 2013-06-26 21:09:36 +00:00
Timo Tijhof 39fdb135f8 mw.ViewPageTarget: Don't handle edt tab clicks from special mouse buttons
Regular mouse button click is normalised to which=1 by jQuery.

Change-Id: I08a711d8251613144ba6b463d4d240aedd98bb2a
2013-06-26 13:56:25 -07:00
jenkins-bot 3b0d5734fb Merge "Remove the preference to use the wikitext editor for editing sections" 2013-06-26 20:48:49 +00:00
jenkins-bot d323477b21 Merge "Show "edit source" section edit links in addition to VE ones" 2013-06-26 20:43:03 +00:00
jenkins-bot e83cb3f2b5 Merge "Position toolbar if loading with non-zero scroll offset" 2013-06-26 20:17:17 +00:00
MatmaRex 7a2811b6de Remove the preference to use the wikitext editor for editing sections
No longer useful now that I4b9c47fd exposes both ways of section
editing.

Change-Id: I93958413b4b6ad870306d9f06f540cdde47f7499
2013-06-26 19:25:29 +00:00
James D. Forrester eafe5d844c Discourage (ab)use of H1s, and relabel them
Re-label the headings in the MWFormatDropdownTool with MW-specific
headings per bug 43334, reduce the size of the dropdown's contents a
little to make the headings less vibrant, and move the H1 option to the
end of the list to further discourage its use.

Note that there are some issues with the underlying structure here and our
ability to split the repos into VE-core and VE-MW will need this to be
refactored.

Bug: 43334
Change-Id: I5a58b4dcebd6ceae0ffcd24f663429f25bdc3db9
2013-06-26 19:19:51 +00:00
Trevor Parscal c1ea21739f Show "edit source" section edit links in addition to VE ones
Objective:

* Provide quick access to section edit links for both source and visual
  editing

Story:

After using this prototype of my mockup, I realized how bad my mockup
was. Hooray for prototyping!

The issues were twofold:

1. Adding down-arrows to the edit links made the page look worse, and
was sure to incite rage and panic throughout the community.
2. The menu was just too heavy. Matmarex made an observation early on
after seeing it, that it wasn't very "Vector", and while I agreed, at
the time I didn't have any better ideas.

Thank you to Matma Rex for prototyping this feature. Aparently there was
also a previous attempt (I13bbb9549). We appreciate your help.

The new design is simple.

* Section edit links look normal
* On hover or focus, the edit source link also appears next to it

To make the two links look separate, we needed a divider. To make the
divider look good we needed to add space around it. To balance the
space, we needed to add space to the brackets. To avoid changing the
view, we needed to only add space to the brackets on hover. To avoid
the text moving around, we needed to make the brackets move away from
the text, rather than the text move away from the brackets. To make
this change smooth, we needed to use transitions. To make the links not
force the heading to wrap in one state but not the other, we needed to
reserve the space, using visibility rather than display. To reserve the
space we had to use closing brackets as spacers, hiding/showing one of
them on mouse enter/leave and leaving the other always hidden. To avoid
the right bracket from getting clipped by the edge of the screen when in
expanded mode, we needed to add a bit of padding to the right side of the
section edit link top level span. To prevent the extra links from
flashing as you move your mouse down the page, we needed to wait 100ms
before showing or hiding them due to mouse enter/leave.

We use negative margins to move the brackets. Animation implemented
using CSS transitions. We bring the pipe divider in from the core
'pipe-separator' message.

To style the brackets independently we needed to wrap them in spans and
add classes to them. Change Id27555c6 in core will make the wrapping
unnecessary, but the two should still get along just fine.

Interestingly, we needed to @noflip the bracket styles because CSS
Janus flipping is triggered on UI language, but the brackets need to be
styled according to the content language.

Changes:

ve.init.mw.ViewPageTarget.css
* Add styles for extra section edit link components

ve.init.mw.ViewPageTarget.js
* Add edit source link, and make it visible when the mouse is over the
heading or either section edit link is focused

*.php
* Links to new messages

Bug: 48429
Change-Id: I4b9c47fd65a700a81c880144247fec524edff7e5
2013-06-26 12:13:44 -07:00
jenkins-bot 85b3808c9f Merge "Expand recursive call protection in ve.ui.Window#close" 2013-06-26 16:18:28 +00:00
jenkins-bot 1a8d06988e Merge "Preserve scroll position after dialog close" 2013-06-26 15:30:11 +00:00
Ed Sanders 45e9ca181e Prevent overlapping link annotations
Use the 'all' mode of SurfaceFragment#getAnnotations to correctly
handle the selections which include linked and non-linked text
in the LinkInspector.

Bug: 50208
Change-Id: I1cab7f3cc4fc9589eced01ad38c59fe5b9622a57
2013-06-26 16:20:51 +01:00
Ed Sanders 4e728ebf26 Expand recursive call protection in ve.ui.Window#close
Focussing the view leads to another call of 'close' which
must be protected against.

Bug: 50140
Change-Id: I8c68468a95cddbc7efb222cf3a1f9868b2949285
2013-06-26 14:00:32 +01:00
Ed Sanders bc04b08892 Position toolbar if loading with non-zero scroll offset
The scroll event doesn't fire if the page is already scrolled
when ve is loaded.

Change-Id: I5b5a2dff2055d9ff1a8b2a2e0016a3fe7aaf22fb
2013-06-26 13:16:20 +01:00
Ed Sanders 10948ba91f Preserve scroll position after dialog close
Bug: 49977
Change-Id: I8cc12ba7845eebc6199fbcd2d355bf0d5f38264b
2013-06-26 13:03:59 +01:00
jenkins-bot 01a0ae93b9 Merge "Fix callout position when popup widget has been moved" 2013-06-26 11:07:40 +00:00
jenkins-bot ac8d5eccb2 Merge "Fix reserialization of mw-data.body.html" 2013-06-26 11:04:43 +00:00
jenkins-bot 9b5c0b825d Merge "Set href attribute of newly inserted image to image title" 2013-06-26 02:42:01 +00:00
jenkins-bot a7844ec34a Merge changes Icbf9ac6c,I1e7a1e67
* changes:
  Prevent visual effect on disabled toolbar buttons
  Remove use of filter property for CSS opacity
2013-06-26 02:37:14 +00:00
Roan Kattouw 92ffa0739d Fix reserialization of mw-data.body.html
This bug caused all references containing complex content (e.g. links
or templates) to be dirty-DOMed and reformatted by Parsoid.

ve.dm.MWReferenceNode.js:
* Parse the original body.html and check if it's semantically equal to
  the new value. If so, don't set it.

ve.dm.Converter.js:
* .normalize() the converter output to remove empty text nodes and
  merge adjacent text nodes

ve.dm.example.js:
* Update reused reference test to have body.html absent, not empty
* Add a link to one of the reference tests so this bug is triggered
** The link's attributes are ordered specifically so that toDomElements
   will reorder them, at least in Chrome (may behave differently in
   other browsers)
** This test fails without this fix in place

Change-Id: Idc091a14422fbb117a3d06fc6bb9497768086fc3
2013-06-25 19:24:18 -07:00
jenkins-bot 0332f1569f Merge "Reposition phantoms on init" 2013-06-26 01:40:18 +00:00
Christian Williams 867ec44a9f Reposition phantoms on init
When the toolbar animates, the position of the surface changes.
ProtectedNode now listens for the toolbarPosition event and
repositions the phantoms.

I also tried moving the localOverlay to be a sibling of the surface
(instead of child of body), but the same problems persisted.

Bug: 49853

Change-Id: I8ae1c8f66c6083b4ffee7107a78a298126e1064c
2013-06-26 00:59:46 +00:00
jenkins-bot 00b72ea0b6 Merge "Don't depend on iframe load events" 2013-06-26 00:26:57 +00:00
jenkins-bot f050ef954f Merge "Fix z-index of local overlay" 2013-06-26 00:02:09 +00:00
Christian Williams a7f471e6e7 Fix z-index of local overlay
Local overlay z-index is positioning overlay items (phantoms, etc)
above the floated toolbar. The overlay container is a sibling to the
toolbar's parent and is later in the DOM. z-indexing is
unnecessary and has been removed.

Bug: 50096
Change-Id: Ib46f66b1d1bea36d761f793e9966e09db6e675ca
2013-06-26 00:00:27 +00:00
Rob Moen 8e8584cc9e Prevent visual effect on disabled toolbar buttons
Bug: 33113
Change-Id: Icbf9ac6cff5e3f914268fe14d1b430609dedd49e
2013-06-25 16:58:14 -07:00
Trevor Parscal c2196b1fe7 Remove use of filter property for CSS opacity
Was used for IE8 support, no longer needed.

Change-Id: I1e7a1e676022dd7607c808bd44848cbf22a9e958
2013-06-25 16:44:06 -07:00
Trevor Parscal e962373e83 Don't depend on iframe load events
It was discovered that nested iframes inside firefox do not fire load
events: http://osdir.com/ml/dev-apps-firefox/2010-03/msg00134.html

Since we no longer care when the iframe is loaded, changing the frame
onLoad method name to load and manually calling it was sufficient.

Bug: 50115

Change-Id: I65c0c404a2a384566701b1c6b1bb978e0b99c90d
2013-06-25 23:12:58 +00:00
jenkins-bot 2b7e47b8ab Merge "Don't drop annotated comments in wrappers" 2013-06-25 22:54:42 +00:00
jenkins-bot 324e7558c9 Merge "Revert "ve.dm.Transaction: Implement newFromDocumentInsertion"" 2013-06-25 22:14:15 +00:00
Inez Korczyński 537e431466 Set href attribute of newly inserted image to image title
I'm not sure if that's the long term solution, however for now it fixes bug 49844 and bug 49848.

Change-Id: I75dbbfdd248a6f5696252ef3a2d7ca6ede0fa156
2013-06-25 15:09:09 -07:00
Catrope 721f8e0443 Revert "ve.dm.Transaction: Implement newFromDocumentInsertion"
Broke reference insertion because it removed
newFromNodeReplacement(), which is still in use.

This reverts commit 1765e39b40

Change-Id: I043997715474ad4850329ff903eb7a8c61c8b453
2013-06-25 22:08:37 +00:00
Roan Kattouw f9e698db22 Don't drop annotated comments in wrappers
HTML like <td><span>Foo<!--bar--></span></td> would lose the comment
when converting to linmod, and so we'd drop the comment when converting
back to HTML.

This happened because we were queueing up meta items to possibly move
them and their whitespace out of the wrapper paragraph even if we were
inside of an annotation and there was no way we could move things out
at all. The fix is simply to detect these case and not queue up meta
items in that case.

[12:11]	marktraceur	Let the comments hit the floor, let the comments hit the floor
[12:11]	marktraceur	(to the tune of the Drowning Pool "Let the Bodies Hit the Floor")

Bug: 50071
Change-Id: I5a844e2e0655bc1db152b3805718324ca0bb04df
2013-06-25 12:38:17 -07:00
Ed Sanders 6b5ed9c711 Fix callout position when popup widget has been moved
We calculate an overlap offset for when the popup widget has been moved
to avoid going out of the viewport, but that offset is only applied to the
body and not the callout.

Change-Id: Ib9d08d60ccfa6562378640c526faf1e8363abbba
2013-06-25 11:07:44 -07:00
Ed Sanders 29d61dbea4 Only use HTML attributes when comparing annotations for serialisation
The UI still needs a simplified version of annotation comparison
so it can clear/set annotations, whereas for serailisation we need
to compare selected HTML attributes (and once Parsoid is fixed,
compare all attributes).

Change-Id: I1a5521a3f51ea373a21cfbc9a007a2381c12f4fe
2013-06-25 17:57:08 +01:00
Inez Korczyński d31918d145 Proper handling for block level frameless images
Change-Id: Idd438dd256e1877ee7c18b8286a2c32fe2326f23
2013-06-24 17:47:03 -07:00
Inez Korczyński 58d752331e Do not add empty <figcaption> to <figure> tag
Change-Id: I7527f88e05318bfa6f0dbd5663294e7f0dd31a3e
2013-06-24 17:22:03 -07:00
jenkins-bot 12bd0ab325 Merge "Don't set rel="mw:thumb" on the <a> inside a block image" 2013-06-25 00:05:25 +00:00
jenkins-bot 3e6db2cb19 Merge "Use this.$$ for $relocatableMarker" 2013-06-25 00:03:42 +00:00
Roan Kattouw c48af4de1f Don't set rel="mw:thumb" on the <a> inside a block image
Causes DOM diffs

Change-Id: I54bd90cfcbdff4baa06f67cbeb2865dca357be19
2013-06-24 17:02:54 -07:00
jenkins-bot 1a8bb8c6ab Merge "(bug 50113) Do not display captions for block images which are neither frame nor thumb" 2013-06-24 23:57:28 +00:00
jenkins-bot eea2f640d7 Merge "Preserve the class attribute for block images" 2013-06-24 23:51:51 +00:00
jenkins-bot 904cdbbb79 Merge "Preserve the <a> inside of a reference <span>" 2013-06-24 23:46:17 +00:00
Roan Kattouw eafbac3412 Preserve the <a> inside of a reference <span>
This was a big gaping DOM diff that's been in there since the beginning,
but which we only found today.

Change-Id: Ie4e791b212ddd3210bc1d5c11308452bb57ae3ce
2013-06-24 16:20:45 -07:00
Inez Korczyński 4ddf123b7c (bug 50113) Do not display captions for block images which are neither frame nor thumb
There is still a problem that those images would get inspector for opening media edit dialog
displayed, and that dialog let's edit caption, which does not make sense in this case, however
that should be a separated bug.

Change-Id: I24491979bc7a27d2380924e48cb677b01e9f8f9b
2013-06-24 15:40:30 -07:00
jenkins-bot 0c13ca6780 Merge "Don't put slugs after internal nodes." 2013-06-24 22:22:17 +00:00
Rob Moen 8f005fa1ae Don't put slugs after internal nodes.
Bug: 50132
Change-Id: I3818ebe9816e7d781233f087b15694bf7ba12965
2013-06-24 15:20:08 -07:00
jenkins-bot 809579a4e4 Merge "Clean up static stuff in dm.GeneratedContentNode" 2013-06-24 21:52:08 +00:00
Roan Kattouw e9395273de Clean up static stuff in dm.GeneratedContentNode
Remove enableAboutGrouping from GCNode and move it to the subclasses
so we can have GCNodes without grouping.

Having matchTagNames there doesn't make sense now that GCNode is a
mixin rather than a base class.

Also removed unused .static.generatedContent property.

Change-Id: I2b5350e70b7829cf009c752d066919e5a3593db0
2013-06-24 21:50:38 +00:00
jenkins-bot 0c094837fb Merge "Place cursor at start of paragraph, not heading, when section-editing" 2013-06-24 21:30:18 +00:00
jenkins-bot 488664e3d2 Merge "Scroll to correct offset after using a section edit link" 2013-06-24 21:29:31 +00:00
Ed Sanders 138b9365c2 Place cursor at start of paragraph, not heading, when section-editing
Also checks for subheadings, i.e. we keep moving forward one sibling
as long as the next sibling is a heading of higher order than the
previous one. If the heading is of the same or lower order then we
assume there is an empty section, so we just stop.

Bug: 49563
Change-Id: I6fcc463aeeae40278f5caf04ae251c8ecfe65472
2013-06-24 22:27:01 +01:00
Ed Sanders 983847bfbc Setup section edit links again after page save
Bug: 49620
Change-Id: Idf938c0dc8535c30ce63a05d56abeee210a67380
2013-06-24 22:22:54 +01:00
Roan Kattouw 5212505648 Preserve the class attribute for block images
Build the new set of classes as an array (avoiding the leading space),
and only set it if it differs from what was there before. This avoids
reordering the class attribute.

Change-Id: I863ec8de2e7637f76690c4e0b7db5e153fb7e408
2013-06-24 12:34:15 -07:00
Ed Sanders 1889495aa2 Scroll to correct offset after using a section edit link
Needs to wait 200ms so it account for toolbar height.

Bug: 49563
Change-Id: I3a57e64f54289a3263814b4fbfe00c63de4a490b
2013-06-24 19:52:24 +01:00
Roan Kattouw 89c45edda1 Use this.$$ for $relocatableMarker
Change-Id: I39d4b8bc4f7c88068ad7e290130389f6c532743d
2013-06-24 11:01:14 -07:00
Ed Sanders 2352613b66 Code style fix: (X) -> ( X )
Change-Id: I7f3ac95621f70d9a89e70e9a51905673240cb51f
2013-06-24 18:51:59 +01:00
jenkins-bot 4c792ba385 Merge "Implement triple click functionality" 2013-06-24 16:04:59 +00:00
jenkins-bot 281f91d581 Merge "Store original DOM elements of transclusions" 2013-06-24 16:02:32 +00:00
Ed Sanders 7cc8e495aa Store original DOM elements of transclusions
Prevents changing of DOM attributes on unmodified transclusions
as they can clash in the store.

Also use 'original' over 'orig' consistently.

Bug: 50079
Change-Id: Ib13bb206c49b1f5b186e40632a5c109def0f042e
2013-06-24 15:50:52 +00:00
jenkins-bot 1176f69887 Merge "ve.dm.Transaction: Implement newFromDocumentInsertion" 2013-06-24 14:22:08 +00:00
Ed Sanders 89e1bd1a51 Implement triple click functionality
On detecting a triple click the nearest non-content node
is selected.

Bug: 38011
Change-Id: Ic80d24581535766714d80104222924f7a0d20f1a
2013-06-24 12:10:13 +01:00
jenkins-bot 37f11e03e2 Merge "Clean up inconsistent variables in ReferenceNode/TransclusionNode" 2013-06-24 02:40:52 +00:00
Timo Tijhof c4f1b5eaf4 Clean up inconsistent variables in ReferenceNode/TransclusionNode
Made them match the local variable names in MWRefereneListNode.

Change-Id: Id314779323c3a7347cfcd6f40b0e2b63e4d9b0c5
2013-06-23 19:17:29 -07:00
Roan Kattouw 0bf155bb36 Fix empty inspector popout bug in Firefox
Due to some sort of mysterious race condition (probably deferred reflow)
calling this.$menu.show() set style="" rather than style="display:block;"
because Firefox believed the parent was still hidden.

Work around this by removing display:none; from the context's CSS rules.
We don't need it because we always manually .hide() these things anyway.

Bug: 50073
Change-Id: I29e210aba9a6265d8364ff8ae49408cb4c2428b9
2013-06-23 19:12:13 -07:00
jenkins-bot cf062adbfc Merge "Pass full data (including meta) to converter in references" 2013-06-24 02:07:01 +00:00
jenkins-bot e8dabd8f37 Merge "Preserve data-mw verbatim if unchanged" 2013-06-24 02:05:44 +00:00
Ed Sanders b963747a45 Pass full data (including meta) to converter in references
Previously we were just passing a slice of the visible data, instead
of using getFullData.

Bug: 50059
Change-Id: I3bbea49132ef4a720a147ba9b170c39a0c00f711
2013-06-24 02:04:57 +00:00
Roan Kattouw 5a70aa5685 Preserve data-mw verbatim if unchanged
Previously we would reserialize the JSON blob in data-mw even if we
didn't change it, which potentially reordered keys and caused a DOM
diff.

Bug: 50066
Change-Id: If0a5bcc67d3a172de0e8839cfda11efacfbf36ff
2013-06-23 19:02:54 -07:00
jenkins-bot 2502f2e3ac Merge "mw.ViewPageTarget: Blacklist IE9/IE10 until blocking issues are resolved" 2013-06-24 01:31:43 +00:00
jenkins-bot a8590c8ba2 Merge "Allow metadata to be annotated" 2013-06-24 01:13:27 +00:00
jenkins-bot 0a0265cb77 Merge "ve.dm.MWTemplateSpecModel: Expand parameter aliases" 2013-06-24 01:02:56 +00:00
Timo Tijhof 947da63502 mw.ViewPageTarget: Clear slide history when closing the save dialog
Bug: 49481
Change-Id: I297a7d1458e5a1c33b9dcb85272fe5f40893dd88
2013-06-23 17:35:04 -07:00
Timo Tijhof 49179c7c31 ve.dm.MWTemplateSpecModel: Expand parameter aliases
We were previously ignoring this data leading to situations
where a template that can be invoked like {{foo|1=bar}} and
{{foo|thing=bar}} (where the template data documents param
thing with alias '1') will show up in the editor with no
parameter information or label for the 1= call, but will show
up for the thing= call.

Now they are properly aliases so both will appear the same
in the editor dialog.

Bug: 49838
Change-Id: I37ec0e152df905844ac58ed1834fca29dccb4eec
2013-06-23 17:25:52 -07:00
Timo Tijhof ef6fae606f mw.ViewPageTarget: Blacklist IE9/IE10 until blocking issues are resolved
Bug: 49187
Change-Id: I2ee2e33c89cac58863c9911fc3ad250c72a46206
2013-06-23 17:04:44 -07:00
Ed Sanders 4bcc07b120 Allow metadata to be annotated
To prevent dirty diffs when inline metadata appears inside annotations.

Bug: 50060
Change-Id: I40da3d5e8e987571195142304b1a853e177e36ff
2013-06-23 18:48:32 +01:00
jenkins-bot dbabfe5514 Merge "Restore selection after dialog close" 2013-06-23 05:49:24 +00:00
jenkins-bot d22053c017 Merge "Resize focus highlights on generated content update" 2013-06-23 05:48:45 +00:00