Commit graph

230 commits

Author SHA1 Message Date
suchetag de12c761a3 Representation of red-linked images in VE
The red-linked images in VE are now identifited as red links and image errors.
They can be changed and thereby be modified just as any other image on the editor.

Bug: T52788
Change-Id: I9cbb992c34d71b7073157fe276fee04e901845b1
2015-05-16 17:15:51 +01:00
Ed Sanders 9811bc4fd9 Don't show placeholder references in lists
Allow references to be created as placeholders and exclude
them from ReferenceListNodes and the ReferenceSearchWidget.

Bonus: Fix reference numbering when items are skipped (in
list nodes and search widget).

Change-Id: I8dc5146c21f309e89ff4ddd939f7c65a0c358378
2015-05-06 19:15:20 +01:00
Bartosz Dziewoński 7421d9673c ve.ce.MWEntityNode: Show whitespace characters, like in ve.ce.TextNode
So 	 used in page source will render the same as literal tab, etc.

(I have a hidden motivation vaguely related to T96666, but this is
probably a good idea anyway.)

Change-Id: I3d462dd4ece94a71645786fab8771788b991456a
2015-04-21 16:25:08 +02:00
Bartosz Dziewoński f64c554732 Remove ancient bad copy-paste documentation
Originally added in 1d94af144a.

Change-Id: Ia6a92bf5fa940ea54af61b333870dd7d0a65a92b
2015-04-21 16:05:44 +02:00
Roan Kattouw d554d39658 ce.MWInternalLinkAnnotation: Remove outdated ../ stripping code
Parsoid doesn't apply these prefixes any more, so this hack is
now doing more harm than good.

Bug: T96643
Change-Id: I73ecea6a87f32437d29dfdca791be3f64c7c40a4
2015-04-20 20:56:37 -07:00
Roan Kattouw 95bffa22a0 Stop using this.$
Has been a backwards-compatibility alias since OOjs UI 0.7.0.

Change-Id: I17d7c03e9d1b9fa991d88444d22abfd403269ee0
2015-04-14 02:54:01 +01:00
Ed Sanders fdcd42f73a Split AlienExtensionNode into inline and block
MWExtensionNode:
* Inherit from LeafNode at the top level. Inline and block only
  differ in CE where inline has isContent set.

MWAlienExtensionNode:
* Inhert from MW(Inline|Block)ExtensionNode respectively. Both
  mixin MWAlienExtensionNode.

Bonus:
* Bring in paragraph unwrapping on inline nodes from MWMathNode

Bug: T93712
Change-Id: Ib04234f740cf1f27c861d8b3cfeea5e323b94678
2015-04-09 16:32:02 +01:00
jenkins-bot 685e7ffacb Merge "Adding minimum width and height to MWAlienExtensionNodes" 2015-04-08 17:17:42 +00:00
Ritsyy d67543745f Adding minimum width and height to MWAlienExtensionNodes
Bug: T92868
Change-Id: I9387f17e0ff1cf88283f290488ce900418ef3150
2015-04-08 18:08:00 +01:00
Alex Monk 411a5578b5 Fix constructor name for ve.ce.MWNowikiAnnotation
Change-Id: I7d69b6f836f94a611c3fc6197035d4a793ab31d1
2015-04-06 21:47:56 +01:00
Roan Kattouw f3b7ccdefb Use ve.safeDecodeURIComponent()
Depends on Iacc50230a in VE core.

Change-Id: I7fc505c261726f8d83c86a9cc352a0bf9fcb455a
2015-03-31 22:08:46 +00:00
Ed Sanders f86b8aef74 Use new isVisible method
Also make sure only one icon is appended in the case where
$element consists of multiple siblings.

Depends on I7b4d9a54c in core.

Change-Id: I5a7985b7a2c709f079afcdfd5108d73cc7bfc688
2015-03-30 11:28:54 -07:00
Ed Sanders a1bc7aeac1 Move template icon code to setup event
We must wait until setup before we can measure this.$element.

Change-Id: If657b29e30e44af750516c20d318707293066910
2015-03-26 18:12:46 +00:00
jenkins-bot 557e0e28ad Remove use of ve.indexOf and ve.getObjectKeys
Change-Id: Icbaa729209605fca8018e4bcbbe29c9ded64e7f2
2015-03-10 17:28:00 +01:00
jenkins-bot fdfc7c6386 Merge "Remove useless ve-ce-mw*Node classes from GCN subclasses" 2015-03-10 12:50:42 +00:00
Moriel Schottlender 4fc02cea6a Use a detached icon in transclusion node
In the case the node is empty and we need an icon, use a separate
icon element that is detached and reattached as needed.

Change-Id: I5bcbe531cb1db1a4ac25ed4a2f462dde08513b7b
2015-03-09 12:05:32 -07:00
Moriel Schottlender be965d1c4f Follow-up I11b9f0ab: Only make icon on transclusions that require it
When deciding to add an icon to a transclusion (specifically, when
it is hidden) do so only if it is justified. Otherwise the
node becomes the icon even when it has information in it, which,
starting from the latest OOjs UI change, also has specific (small)
sizing.

Change-Id: I521c92fc645a392077e6cc90f55557c4cea3cb11
2015-03-09 17:54:55 +00:00
Roan Kattouw 6648f94982 Remove useless ve-ce-mw*Node classes from GCN subclasses
Since GCN aggressively modifies this.$element, these classes
didn't survive for very long, and they weren't being used
anyway.

Change-Id: I6e9827499374941fbded983956c57cc250d957c8
2015-03-09 12:05:30 +01:00
James D. Forrester 19eacc8fe1 Follow-up I11b9f0ab: Make the MWTransclusionNode icon a fixed size
Change-Id: Ib4fd9abbd36c59c5bc5e0b5378793f9d57c0568f
2015-03-05 23:48:04 +00:00
Moriel Schottlender 2ae9fa6b29 Add an icon to hidden templates
Check if, after being fully rendered, a template is effectively
empty. If it is, add an icon and style to it so it displays for
the user and is clickable.

Bug: T51806
Change-Id: I11b9f0aba3398a3deb3e755051366e174a28e586
2015-03-04 10:30:50 -08:00
Alex Monk 8e48f94580 Use mw.Api to run requests rather than our own stuff in ve.init.mw.Target
Bug: T58659
Bug: T89435
Change-Id: I18162f04c50f48606378aed62ee99fccdc3159f6
2015-02-25 01:57:22 +00:00
Roan Kattouw ee886cd8f8 ce.MWTransclusionNode: Protect against race condition in GCN rendering
If an MWTransclusionNode is inserted, then immediately modified,
a race condition can occur where the GCN rendering arrives for the old
node, which is already detached and doesn't have a ModelHtmlDocument
any more. Protect against this happening so we don't cause a JS error
by passing null for the document parameter to ve.resolveUrl()

Change-Id: I1964baa3a9b294b130620e9b34a695584fc55143
2015-02-16 19:21:00 -08:00
Moriel Schottlender 8a53b2cd07 Use css class instead of jquery show/hide
Replace instances of .show() and .hide() with ooui 'hidden' class
to make performance better.

Related ooui change: Ibf7c99aa4aad

Bug: T87420
Bug: T88736
Change-Id: I3af8a322e88b7ba3364f350819d6dbcdc8b13270
2015-02-06 11:03:59 -08:00
James D. Forrester bed038b509 build: Bump devDependencies to latest
Updates:
* grunt-contrib-csslint  0.3.1  ->  0.4.0
* grunt-contrib-jslint   0.10.0 -> 0.11.0
* grunt-jscs             0.8.1  ->  1.2.0

For jscs, leaving requireSpacesInsideArrayBrackets to avoid headaches for now.

Change-Id: I62d34444edbba65c8bd22d2fa5e50e16cabb0042
2015-02-02 14:30:39 -08:00
Ed Sanders f4bb7de786 Only re-render if the images is larger than the last rendering
Means we don't make unnecessary requests to the image API
and make the server side image resizer do extra work.

Bug: T88248
Change-Id: I20e1d37c913522eafc45a9a2e263051322b9b083
2015-02-01 13:07:48 -08:00
Roan Kattouw 154d2cb118 ce.MWReferencesListNode: Remove unnecessary .show() call
ce.InternalItem used to .hide() its .$element, but it doesn't
do this any more, so we don't need to counteract this with
.show() any more either.

Bug: T87160
Change-Id: Ic367508d821cc5c65678d4c878edc84911fd8178
2015-01-23 15:08:50 -08:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Roan Kattouw f71054d67d Work around $.parseHTML( '' ) returning null
$.parseHTML() always returns an array, except in this one case,
so checking .length of the return value almost always works except
when it blows up in your face.

Filed upsteam as https://github.com/jquery/jquery/issues/1997

Bug: T86056
Change-Id: If133a9df4d573b41b0ecb5bde47b3e6ada053921
2015-01-07 21:02:17 +01:00
Timo Tijhof 2b7ae8c175 Remove use of bind() for inline functions
Follows-up b0e8900, 447e8de, d3f26e65.

Contrary to binding a reference, this-overiddes for inline
functions gets messy and fragile. There's also a minor
performance overhead that can be avoided. No separation of
concerns, eiter, as the object is held by the closure.

Also:
* Remove left-over instances of @method.
* Remove redundant '0' argument to setTimeout.
* Use null instead of $ for apply() on static methods like $.when.
* Use .empty().append() instead of .html(). Does the same but
  without additional overhead and without confusion association
  with "html" which isn't used (it doesn't serialise and re-parse
  or clone, it just appends when given one or more nodes).

Change-Id: I797a3667c67d52568150be9be5d043d149f22077
2014-12-16 23:27:53 +00:00
Roan Kattouw 29995d806b Remove IEHacks.css in favor of .ve-init-target-ie class
Move reference style hack to MWReferenceNode.css, and move
heading style hack to ve.init.mw.Target.css

Change-Id: Icbd53f8df998c9f7bcc701b7c29dc226dfc5c05f
2014-12-08 15:45:23 -08:00
Alex Monk a7b9b89479 Fix href parsing in transclusion nodes when on alternative (e.g. mobile) domains/paths
Use model HTMLDocument when parsing transclusion nodes and their link hrefs

As well as mobile, this also covers the issue I found in /w/index.php?veaction=edit

See also T76374

Bug: T76379
Change-Id: I07c9ba0adbcee32f7eb2ca280d3a1d46e963d28f
2014-12-05 22:23:09 +00:00
Alex Monk c2ed5201e5 Handle encoding of links in transclusion nodes properly when determining existence
Bug: T75823
Change-Id: I9398e4e1657b218043658d83b13c3dc78ffa8ff1
2014-12-02 01:09:12 +00:00
Ed Sanders 7abbea1c19 Use super to call parent constructors
Change-Id: I5f911fc35c420cd7980bc1fbaecf3b685596c7a8
2014-11-20 13:58:27 +00:00
James D. Forrester 7317114187 Update VE core submodule to master (029fc7e)
New changes:
029fc7e Update OOjs UI to v0.1.0-pre (1fa4eb7a73)

Update changes:
Changes were generated by running this script:
https://gist.github.com/trevorparscal/265f1b8c854190637a1e

File changes:

Scripts (modules/ve-mw/ui/widgets)
- ve.ui.MWInternalLinkMenuItemWidget.js → ve.ui.MWInternalLinkMenuOptionWidget.js
- ve.ui.MWLinkMenuItemWidget.js → ve.ui.MWLinkMenuOptionWidget.js

File content changes:

Scripts (*.js)
- MWInternalLinkMenuItemWidget → MWInternalLinkMenuOptionWidget
- MWLinkMenuItemWidget → MWLinkMenuOptionWidget
- ContextMenuWidget → ContextSelectWidget
- ContextItemWidget → ContextOptionWidget
- TextInputMenuWidget → TextInputMenuSelectWidget
- MenuWidget → MenuSelectWidget
- MenuItemWidget → MenuOptionWidget
- MenuSectionItemWidget → MenuSectionOptionWidget
- OutlineWidget → OutlineSelectWidget
- OutlineItemWidget → OutlineOptionWidget

Styles (*.less)
- contextMenuWidget → contextSelectWidget
- contextItemWidget → contextOptionWidget
- textInputMenuWidget → textInputMenuSelectWidget
- menuWidget → menuSelectWidget
- menuItemWidget → menuOptionWidget
- menuSectionItemWidget → menuSectionOptionWidget
- outlineWidget → outlineSelectWidget
- outlineItemWidget → outlineOptionWidget

Change-Id: Ifded7f9e17923dbb56a722b7424ccd2854194c21
2014-11-19 17:04:26 -08:00
James D. Forrester cfb20ef8a1 ve.ce.MWTransclusionNode: Replace last use of ', ' in VE-MW with <comma-seperator>
Bug: 66894
Change-Id: Idd6d02e35b9aa0db5f71c75adb0a0400cc31c83a
2014-11-19 11:19:50 +00:00
Ed Sanders ef38ce8c8c Move addClass calls to setup in GeneratedContentNodes
Ensures classes persist on content update.

Change-Id: I4828ad3208351e4b00e0be1f905b7eafd5e5e93b
2014-11-12 22:52:59 +00:00
Ed Sanders e0981a327f Create mwTables with wikitable attribute by default
Change-Id: I094b1823248e16dd3b9a0a10ba13104f14798621
2014-10-29 12:52:24 -07:00
Roan Kattouw 36060a2782 Apply pre-save transform to template previews
Because autoValues often involve {{subst:}}

Bug: 71157
Change-Id: I2787f2595f8c4b8838a3e9ac9ba898af0b43b58e
2014-10-22 15:47:51 -07:00
Roan Kattouw 4bc24e795d Open the linkNode inspector when pressing Ctrl+K on a link node
* Introduced MWLinkAction which opens the right link inspector
  based on what is selected.
* Added MWLinkInspectorTool overriding core's 'link' tool that
  executes MWLinkAction
* Removed MWLinkNodeInspectorTool and linkNode command,
  they're unneeded now

Bug: 72150
Change-Id: I03bd6ab1f67f31a6e6cb717cf4298e80e64637b7
2014-10-21 19:47:42 -07:00
Alex Monk 55164d4027 Don't try to check page existence of external links in transclusion nodes
Only internal links

See bug 71900 comment 1

Change-Id: I35c9bea4c3735bdcdf8e4eda4f2a24567596e639
2014-10-17 19:49:32 +01:00
Alex Monk 8f7713e796 Apply link styling logic to transclusion nodes
Only template nodes for now. Not sure what we can do about generated content nodes in general...

Bug: 65353
Change-Id: I848f36764b446ed30c74c0e641d0973008f6880b
2014-10-08 15:03:40 +01:00
Alex Monk ef1cebd111 Use mw.Title#getRelativeText to deal with titles relative to specific namespaces
Added in MW core in Ie554adef, was backported to 1.24.

Change-Id: Iedc0319042529d41d29846d1734b5481850e9552
2014-09-26 02:47:18 +00:00
Roan Kattouw cf1a889ac8 Update VE core submodule to master (5f4b740)
New changes:
a047e72 [BREAKING CHANGE] Create ve.dm.Focusable and store focusable flag there

Local changes:
* Add new ve.dm.FocusableNode mixin where required

Change-Id: Ie9ee2de05acfe3c4c62c4864e65bd20397d6a069
2014-09-16 18:45:22 -07:00
James D. Forrester a232147b11 Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
Change-Id: I75ac4b378ef485feead9d0eff34ed7877b94b5d0
2014-08-22 13:50:48 -07:00
jenkins-bot 9bd21b6a30 Merge "Remove div-wrapping of block images" 2014-08-21 20:31:26 +00:00
jenkins-bot 80cab577c7 Merge "Remove span-wrapping of link='' images" 2014-08-21 20:31:24 +00:00
James D. Forrester 5148a0836a Rename "reference list" to "references list" internally
That's what we call them in human-speak, and it makes sense to have them align.

Bug: 49923
Change-Id: I8dcfba249fb9ea13c2b4052e98a4d253c302b1ba
2014-08-20 18:26:54 -07:00
James D. Forrester 53dd7de095 Drop references to magnify-clip-{ltr,rtl}.png file
This is now embedded via CSS in MediaWiki core's Linker as of 1.24wmf18.

Change-Id: Ib095740611de3f84f1aad229939b92d788b537c2
2014-08-19 17:18:18 -07:00
Ed Sanders 5fd7df9787 Remove div-wrapping of block images
This hack is no longer neccessary now that we no longer
use shields.

Change-Id: If8fbd23ce9ac16bf5f52dc754e04f0a100f374fd
2014-08-19 13:08:47 +01:00
Ed Sanders a22aeafc06 Remove span-wrapping of link='' images
This hack is no longer neccessary now that we no longer
use shields.

Change-Id: I2194b16273b1ebe6e8d9360957cc7eab856dae13
2014-08-19 13:08:47 +01:00