Commit graph

219 commits

Author SHA1 Message Date
Volker E f695877de7 Rename deprecated Card to current TabPanel
Renaming CardLayout to TabPanelLayout and all connected code instances.
Follow-up to Icfe1652cc038dc131b6b855ce9b45040b8ee5178

Bug: T164903
Change-Id: I9ce4e31e390522d469e126fb3a4b05787cef7fef
2017-05-10 11:46:49 -07:00
David Lynch 60866eade2 Override ui.CommentInspector so that copying from it sets text/x-wiki
Bug: T154837
Change-Id: I3413c955aa23d34683e1a028a581b1ea34d55d49
2017-01-27 01:13:41 -06:00
Thalia 43c2865f90 Update actions on live inspectors and preview dialogs
Make inspectors inheriting from MWLiveExtensionInspector
and dialogs inheriting from MWExtensionPreviewDialog
update their 'done' action every time updatePreview is
called. Since both mix in ExtensionWindow, two new methods,
updateActions and isModified are added there.

This should make it more difficult to insert an empty node
accidentally or create a transaction just by opening and
closing an inspector or dialog.

For more complicated dialogs, or inspectors or dialogs
that don't live-update, this behaviour will have to be
implemented separately.

Bug: T155330
Change-Id: Iacafa01fcd419faaec9b112c96be86693a57d561
2017-01-21 18:29:18 +00:00
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Ed Sanders 323050467f Change wikitext link inspector name to avoid conflict
This was causing the VE link inspector to fail badly if
NWE was enabled.

Bug: T153668
Change-Id: Ie665715a5f5401e59fc6468b81a4122ca5ebd5a3
2016-12-19 12:03:58 +00:00
Ed Sanders a504aba7c5 MWWikitextLinkAnnotationInspector: Select links after creation
Change-Id: If23d90dc695546e7dddb3c04637e54df47c6f528
2016-12-12 20:09:52 +00:00
Ed Sanders 9b5adb8688 Remove WikitextWindowAction, inherits from core
Depends-On: I2b14cc93bf3c855e157f0b26567337f74992fb96
Change-Id: I3e479c1441f548f62ff8a2f6e7b2ad450262921f
2016-12-02 11:50:43 -08:00
James D. Forrester a835f4f9d5 Use canonical ve.dm.TransactionBuilder.static.newFrom* methods
Change-Id: I082048a677baa2699d94e21548373952d52db61b
2016-12-01 10:43:10 -08:00
Ed Sanders e655880d14 eslint: Remove unused exception and fix documentation errors
Don't enable valid-jsdoc yet though, due to @chainable bug.

Change-Id: I4d2a6de19c72c6e4c20733446616d8046419d431
2016-10-28 12:02:36 -07:00
David Lynch d28819f795 ui.MWLinkAnnotationInspector: skip internal link checking if the value has changed
If the value has changed since the event was fired, we're operating on old
data, *and* another event will have been fired for that change anyway. So
abort this check.

Bug: T146306
Change-Id: Ia6682ec0218fd3fbc573582753d815a56963eb71
2016-09-22 11:23:48 -05:00
jenkins-bot b656f3d5f1 Merge "Use super property to call parent methods" 2016-09-01 17:04:39 +00:00
Ed Sanders 62bdaac13b Use super property to call parent methods
Change-Id: I76982b844cf2871d7583463def4393e5bdc33aa2
2016-08-23 11:56:47 -07:00
Ed Sanders 1d6746e89d Fix insertion annotation for wikitext link inspector
Change-Id: Ib769e371743438b530f150fcb8104292288c35f9
2016-08-22 10:59:55 -07:00
Ed Sanders c452e134cc Wikitext surface alpha feature
Edit wikitext with the VE interace.

Bug: T104479
Bug: T142138
Change-Id: Ic95b47e0dd378578555c4a2342ca9c87064ed1d5
2016-08-12 18:37:29 +00:00
David Lynch 53ad07ed72 MWLinkAnnotationInspector: change where auto switch to external occurs
OnInternalLinkChange happened post-validation, and received an already title-
normalized version of the href. Thus `file://` would become `:File://`. As
such, hook up to the raw internal link input change event, and judge what the
user actually entered.

Bug: T138956
Change-Id: I0f9f3de3b7bf6e5430e55fa69626522b0c74296a
2016-07-28 11:00:36 -05:00
David Lynch a95e6cab08 MWLinkAnnotationInspector: switch to external tab on any schema
Currently the switch only happens if it's a valid schema. Instead, switch if
any schema at all is detected, so we can tell the user it's invalid. If they
really meant to link to an internal wiki-page that just happens to start with
a "schema://", they can switch back to the internal tab to force it.

Bug: T138956
Change-Id: Icfd74157fd8439920668a417661265ddd52c9a21
2016-07-27 17:10:52 -05:00
David Lynch ef7652fdfc Move internal-link detection into the InternalLinkAnnotationWidget
If internal link detection is in the LinkAnnotationInspector, it falls down
when a valid URL which isn't also a valid page title (e.g. percent-encoded
titles) is pasted into the input. This is fixed by moving the detection to the
input's change handler before any validation can occur.

Bug: T119431
Change-Id: I1eb2040dd918fdcc22c28594b5cbad835cf384a8
2016-07-15 13:51:35 -05:00
Thalia 6fdbe9fd7e Make dialog for editing galleries
Make new graphical interface for editing existing
galleries and adding new galleries.

NB The dialog does not yet support rich text in the
image captions, nor does it provide separate fields for
e.g. link, alt text, etc. These are dependent on parsing
the text within the tag, which is yet to be implemented
by Parsoid. For now, these attributes should be
specified in wikitext in the image-specific caption
field.

Bug: T45037
Change-Id: I2b4082e991268241a15b9bbd6d85c94cdc2185f2
2016-06-07 13:53:02 +01:00
jenkins-bot a9e40b09cd Merge "Move cursor to end when switching to external" 2016-04-26 15:05:44 +00:00
Ed Sanders eb839a89a0 Move cursor to end when switching to external
Bug: T133677
Change-Id: I2694b6ddd476798b29d2aeb9d3eb4f162da49f7c
2016-04-26 14:00:48 +01:00
David Lynch 8bb1399c97 Select the label properly when converting LinkNode to LinkAnnotation
We were selecting outside the annotation, when converting a LinkNode to a
LinkAnnotation. This meant that typing would overwrite the annotation as well
as the label. Speculatively, this is probably a side-effect of recent changes
to how nails and cursor offsets interact.

Bug: T121448
Change-Id: Ib2274bc5857294c5b691b3c3567b135d68bfa596
Depends-On: I3954c7f8f8e5870b13a8f6c4f0e86fb3b20b3cd3
2016-04-25 11:56:39 -05:00
Ed Sanders c516d897d2 Remove icon properties from windows
Windows stopped supporting icons a while ago.

Change-Id: I8a63152282a5968dcd17675330e31bd1ebe4b68b
2016-03-29 12:33:42 +01:00
David Lynch d33f5969ad MWLinkAnnotationInspector: select entire link when switching tabs
Bug: T129650
Change-Id: I4ca445f2c43438c36ece23245660b63f2a48b722
2016-03-28 11:38:45 -05:00
Ed Sanders d5e594b9f6 Link inspector: Remove premature call to onLinkTypeIndexSet
This causes the inspector to take focus early (line 291) on
first load, and is not necessary as this method fires when
needed anyway.

Bug: T129228
Change-Id: Ia69f76b68e89daf5cb01449c40e71de4ec32d400
2016-03-08 16:54:09 +00:00
James D. Forrester ada58df361 build: Bump file copyright notices for 2016
Change-Id: I3c618c196e504a80ca297a4132a17f1977a24fb7
2016-01-03 14:57:25 -08:00
Ed Sanders a917871505 GalleryInspector: Use namespace id constant
Change-Id: Ia51634e84cf984d8ed4ecdab87590111bf12478f
2015-12-07 18:49:53 +00:00
David Lynch 50759e2064 When adding a label to a numbered link, force the selection
Otherwise the selection will/won't contain the opening node of the
link, depending on where in the paragraph it is. This makes the
experience of starting to type unpredictable to the user. By forcing
it to always have the contents of the node selected, typing always
just updates the label.

Bug: T114643
Depends-On: I7c46a917d9752145174919f41066b4841b203218
Change-Id: Ic1c573c2c28ced49f685ec6082506cb20d5163cd
2015-11-20 18:36:44 -06:00
Ed Sanders e1d14099e0 Image/gallery icons: Rename and use new upstream versions
Depends on oojs-ui > 0.13.2.

Change-Id: Iee4cc52b998626e829fd92346d5ee1295c08f26f
2015-11-18 01:49:31 +00:00
C. Scott Ananian 236fad19b6 Ensure magic link nodes inherit the annotations of their text
If you create an autolink in the middle of bolded text, the magic link
should also be bolded.  Similarly, if you convert a bolded simple link
to a magic link, the magic link should stay bolded.

Change-Id: I38c7f3c0c275851049088a37f3b37d815ed38e4e
2015-11-13 13:48:18 -08:00
Thalia 7731508134 Make new error element
Bug: T114754
Change-Id: I5839ba62fe4b4708ff51dc549c5294189d7f8843
2015-10-29 22:32:42 +00:00
Ed Sanders a6c4c3b3e1 Follow-up Id473b45: Call getResults on input widget
Bug: T115448
Change-Id: I8bfbb3092aa49750930c6437b0526a8b900722f1
2015-10-14 11:34:36 +00:00
Ed Sanders f1f75bf511 MWLinkAnnotationInspector: Close inspector when a search result is clicked
Change-Id: Id473b45a222d53f6bca0168dad4adf536ccdf97a
2015-10-10 15:49:45 +01:00
Ed Sanders fff96cdc8f MWLinkAnnotationInspector: Use IndexLayout for internal/external
As originally intended, but avoided because of since-fixed CSS issues.

Change-Id: I60186c8f8a13eb9a7708716329dc959e1913665d
2015-10-10 13:02:16 +01:00
jenkins-bot cd29e0376d Merge "Add error element to MWLiveExtensionInspector" 2015-10-05 22:53:20 +00:00
Ed Sanders 3f2a885e3e Ensure full error message is shown when inspector is closed
Applying staging doesn't emit an update event on the node, so
forcefully emit one with 'staged' equal to false, so the full
error is rendered (if present).

Logically depends on I8ebb26d4bc in core.

Bug: T114480
Change-Id: I7ba54b67982fc5b10839426cdc216e14c0e33c01
2015-10-05 17:15:40 +00:00
Thalia 9307fa7095 Add error element to MWLiveExtensionInspector
As part of the plan to render extension errors in the
inspector instead of the view, append an element to
contain the error. More specifically, the element is
a div that contains a LabelWidget (in which the error
message is displayed) and a ButtonWidget (to expand
and collapse the error).

Initially the error element is hidden, but if Parsoid
returns an error, the element will be shown. If the
error is longer than 1 line, it is truncated but can
be expanded. On closing the inspector, any remaining
error is collapsed and hidden.

Depends on I6002d9870d2b to work

Bug: T113172
Change-Id: Ie84130d4ac0da9a738bf98ad0a3677d47566d585
2015-10-05 00:22:22 +01:00
Thalia 34f6e11a19 Call updatePreview when closing the LiveExtensionInspector
Call updatePreview in insertOrUpdate node, when closing the
inspector. If edits have only been made to attributes that
don't affect the rendering, updatePreview will not have been
called, so the model won't have changed. Therefore
updatePreview should be called every time the inspector is
closed to make sure such edits are applied.

Bug: T113078
Change-Id: I48fb291487f76fc515f122646d205366a60dca62
2015-10-01 15:58:20 +01:00
Ed Sanders f814ea719b MWLinkAnnotationInspector: Use TitleSearchWidget instead of TitleInputWidget
Depends on I335bd912d in MediaWiki core.

Bug: T101169
Change-Id: I2932c9df5444d1363af5af9b438bb905ed298148
2015-09-27 14:03:52 +01:00
Ed Sanders a04d2ff52b MWLinkAnnotationInspector: Update actions when changing tabs
Change-Id: I825531683eeb8b7e21b741f1dc5d338abc9d347a
2015-09-27 14:03:29 +01:00
Ed Sanders 6ed5877c69 Update VE core submodule to master (27fc244)
New changes:
18e46b6 [BREAKING CHANGE] LinkAnnotationWidget: Abstract .text property to getTextInputWidget

Local channges:
* MWLinkAnnotationInspector: Use new getTextInputWidget method

Change-Id: Ia33797d612be7b4521e7212047a38480ee2520df
2015-09-26 12:27:56 +01:00
Ed Sanders 8815d1397f Abstract mwExtension behaviour into MWExtensionWindow
Allows us to create an MWExtensionDialog base class that shares
the logic.

Change-Id: I53c8f1713a3513d2635cfd736ec8fc3f9616d864
2015-09-05 18:18:24 +01:00
Alex Monk 7c2f6e1f5f Don't break when you cancel the link inspector
Bug: T111241
Change-Id: Iff96aa4d97fe64a2472a58b3bf782085313899c6
2015-09-02 21:30:51 +01:00
Alex Monk a02d8573b4 Fix cancelling of extension inspectors
* Don't insert/update/remove nodes on cancel in MWExtensionInspector
* Don't forget to popStaging on cancel in MWLiveExtensionInspector

Bug: T110992
Change-Id: I1e30206595e304eb502c7e745bf5e00d145d12d7
2015-09-02 02:32:11 +01:00
C. Scott Ananian 7cc23367f6 Specialized inspector for ISBN magic links
Implement a special node type, context item, and inspector for
ISBN/PMID/RFC magic links.  Add buttons to the link inspectors
to convert back and forth between "simple" links, and magic links.

Depends on I5d000d8b63dafdfe0a2753069d3f0ac5b03b8829 in Parsoid
for clean round-tripping of localized ISBN magic links.

Bug: T63558
Change-Id: Id5b7a2ae3c80b0e5eed598f0bd024d3e94f7e9aa
2015-09-01 14:25:59 -04:00
jenkins-bot a2060f57c1 Merge "MWLinkNodeInspector: Remove 'Open' button" 2015-08-21 19:30:40 +00:00
James D. Forrester 55f78fcbf6 MWLinkNodeInspector: Remove 'Open' button
You can now do this from the context menu. No need to have extra buttons, and
this makes it consistent with the MWInternal/MWExternal link inspector.

Bug: T109646
Change-Id: Ifd4b3645c66ba2f32ccee7e2848967cf5e7ec82e
2015-08-19 15:58:13 -07:00
C. Scott Ananian 2852f6368f Builder for ve.dm.MWInternalLinkAnnotation
Add ve.dm.MWInternalLinkAnnotation.static.newFromTitle to build an
appropriate internal link annotation from a mw.Title.  Tweaked some
method signatures to avoid repeated reparsing of the title text.

Also refactor ve.dm.MWInternalLinkAnnotation.static.getTargetDataFromHref
to explicitly return a boolean indicating whether the result was determined
to be an internal link.

Bug: T64816
Change-Id: I74385d7b3ede1794398dabb749185f4080509b99
2015-08-19 16:57:06 -04:00
James D. Forrester 945242a55a build: Enable jscs jsDoc rule 'checkAnnotations' and make pass
Change-Id: I76abb1eb1f3e1a2e8a4c03f577a080f4889b3a6d
2015-08-19 11:09:34 -07:00
James D. Forrester 19df1d4c8a build: Enable jscs rule 'requireVarDeclFirst' and make pass
Change-Id: Ia2f765d12bde001c329c2ff4c080a36b71de9803
2015-08-19 11:05:01 -07:00
James D. Forrester f5c6f61163 build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
Change-Id: I846d36c15e1b1f810d2ef7fd422f8412790bcb0f
2015-08-19 10:33:02 -07:00
Vikas S Yaligar d42e10cacb [BrowserTest] Added screenshots scenarios for links and categories
Also minor cleanup of rspec old "should" syntax, changed all occurences to
"expect" syntax.

Change-Id: I0c2dfc18d06812ed9da2f6c0056c95b7755e5afd
2015-07-18 15:39:28 +00:00
Alex Monk b8c39de8ef Bypass ve.ui.MWInternalLinkAnnotationWidget.prototype.getHref when determining text
Bug: T104838
Change-Id: I0f754c949e494744adab5f191b5e8acce0c5d0fe
2015-07-09 02:03:04 +01:00
Alex Monk a5281d01c7 Populate the internal target lookup menu when the user opens the link inspector
Instead of only having it be populated upon setup.

Bug: T97723
Change-Id: I5ead32625efa79289b38955546a5843adef13101
2015-07-02 20:37:13 +00:00
Roan Kattouw 6aac8eed78 Follow-up 8112c3ba30: fix JS error on link inspector teardown
LinkAnnotationInspector in VE core calls
this.setAnnotation( null ); on teardown, which causes
MWLinkAnnotationInspector#onInternalLinkChange to be invoked
with a null fragment.

Bug: T103176
Bug: T104231
Change-Id: Ibb50ba1696609bebdfc2857ea292ee30b6b5126a
2015-06-29 23:53:49 +00:00
Matthew Flaschen 8112c3ba30 MWLinkAnnotationInspector: Get HtmlDocument in a different way
Get the HtmlDocument in a different way that doesn't involve
ve.init.target.

For page (non-Flow) MW VE, I checked that it yields the same result.

Bug: T103176
Change-Id: I54bdf4f29f6acf4359be45b5b2ddfd23b5835c34
2015-06-25 11:08:54 -07:00
Ed Sanders 5ac580e18b Empty all inputs on link inspector teardown
The parent class only nullifies the active input, but for completeness
we should nullify both.

Change-Id: I3017ef0ca61753fefde1c23b43178d46c6308e9f
2015-06-05 16:17:29 +01:00
Ed Sanders 325c9cb521 Move cursor to end when changing link mode
Allows you to keep typing after 'http://' in Firefox

Bug: T98895
Change-Id: I785863e9a3bd3c0d548bee13ae2810eccc739a8f
2015-06-04 18:23:34 +01:00
Ed Sanders d3718edb4d Add in required calls to updateActions
Change-Id: I8c584d7bd48c957b5b07ff1bf6b52748165c18dc
2015-06-02 22:57:12 +01:00
Ed Sanders e8149e2588 Always preserve input when switch between internal/external links
Although an internal link is unlikely to be a valid external link, this
prevents an annoying experience when the user switches to external and
then back to internal while exploring features.

Change-Id: I178cf3f641db683f5dd0a49c246c204ded89760c
2015-06-02 22:03:08 +01:00
Ed Sanders 20d3526ae6 Use updateMwData when doing a live preview
Change-Id: Iadca47339c7d16034c5715677e0789de286f3ecf
2015-05-27 15:47:48 +01:00
Ed Sanders 431f2abcfd Use new selectItemByData method where possible
Change-Id: I32f213bf2977623a0bde83fb9119fda42a1e9848
2015-05-08 16:15:51 +01:00
Ed Sanders ec8a813dce Use new TabSelectWidget in link inspector
Don't use the full IndexLayout for now as it doesn't
work easily in variable height situations.

Depends on this feature being preset in MW core.

Bug: T97878
Change-Id: I5d949bf69b0721b288c37c1f12210b0265658eb5
2015-05-08 09:03:24 +00:00
Ed Sanders ff9bf1fcb3 Update VE core submodule to master (2c0224d)
New changes:
68959f2 Localisation updates from https://translatewiki.net.
2c0224d [BREAKING CHANGE] Link widget refactor
f81eefa [BREAKING CHANGE] Rename LinkInspector to LinkAnnotationInspector

Local changes:
Adjust for link inspector refactor

Create separate widgets for internal and external link
annotations. Remove annotation specific logic from link
target input widget.

Change-Id: I054c3fe7ac9c61fbc3302471abd58cab89fed5a4
2015-05-08 09:56:11 +01:00
jenkins-bot 17b160b125 Merge "Remove obsolete comment; this functionality is now in place" 2015-04-15 00:52:31 +00: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
Matthew Flaschen fee6681049 Remove obsolete comment; this functionality is now in place
Change-Id: I2752c69e871965ac408aaa70eb268e129b587013
2015-04-13 19:11:34 -04: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
Ed Sanders ed4278912c [BREAKING CHANGE] Make MWExtensionInspector inherit from NodeInspector
Also fix up logic duplicated between ExtensionInspector
and LiveExtensionInspector.

BREAKING CHANGE:
* nodeModel property no longer exists, use NodeInspector's modelClasses
  property, which is an array.

Bug: T93592
Change-Id: Ib0131c9485a903d73b770090bf8a938056782ba3
2015-04-08 20:51:20 +00:00
Ed Sanders 06ad00bf71 Simplify context item for MWAlienExtensionNodes
Just show the name of extension. 'MediaWiki extension' is meaningless
to most people.

Change-Id: I64dc4914874b3fb3f807d7e0155ad31f2a8e703e
2015-03-27 19:05:26 +00:00
Ed Sanders 2e654c01f0 Parent constructor simplification
Change-Id: I93be028cb76d7586c5bb56eb0b63c87d99413683
2015-03-27 18:56:16 +00:00
Bartosz Dziewoński e75774f667 Remove unused ve.ui.*Inspector.static.removable = false;
Nothing seems to refer to this anywhere.

Change-Id: I3c1c5f16a897377a2d2f8345758fb6e67ba69ccb
2015-03-12 19:31:46 +01:00
Bartosz Dziewoński 345879b277 ve.ui.MWLinkNodeInspector: Restore action buttons
Bug: T92525
Change-Id: Id305268b76cce4e56f0e98a9d7ac4e6c571470d2
2015-03-12 19:31:01 +01:00
James D. Forrester 2f8b3e0d96 build: Bump copyright notices to 2015
Change-Id: Ie92dab7411116d3410195c3fb0a3513c664c0c30
2015-01-12 20:34:19 -08:00
Ed Sanders 9a3c03b553 Fix teardown order of MWAlienExtensionsInspector
Local teardown process was jumping to the front of the queue
resulting in the attributeInputs being emptied before they
were read in updateMwData.

Bug: T85818
Change-Id: I24cb490996048e514895c359dedf5945acdecb0a
2015-01-05 17:58:31 +00:00
Ed Sanders 06bccbe986 MWLiveExtensionInspector: Move event unbinding to teardown process
Change-Id: I6fae2ca3e1bc02b8edb707b4248b884a9f022c3f
2014-11-12 19:33:24 +00:00
James D. Forrester 7149cc5279 MWLinkNodeInspector: Provide an open button here too
Also add validation now that we need it for the open button.

Bug: 71904
Change-Id: I50515671bb3ff08da8dc6c247c9959c27957c867
2014-10-21 20:00:27 -07:00
suchetag 0bb6d3b333 Getting rid of ve.splitClusters in ve-mw
Bug: 57628
Change-Id: I28cb52bd2af564f208b9414154977c351f5c3fcb
2014-10-08 08:09:19 +00:00
Ed Sanders 1af18c3c12 Update VE core submodule to master (984b57a)
New changes:
6bbcd6a Localisation updates from https://translatewiki.net.
b8d8a5b [BREAKING CHANGE] The Great Selection Rewrite of 2014

Local changes:
Update to use new selection/range API

Change-Id: I5480d5c77d599c93c2d374fac88bb2fdb68b0024
2014-10-07 21:39:33 +02:00
Bartosz Dziewoński 5849e7b8f8 ve.ui.MWLiveExtensionInspector: Fix comment typo
Change-Id: I6e35a5006364ba44de2804e6cd6cd79d6b73c0c3
2014-09-23 23:54:33 +02:00
Bartosz Dziewoński 8e84d75383 Make it possible to create autonumbered external links from link inspector
Inserting a new external link from the link inspector when nothing is
selected (collapsed selection) will now produce an autonumbered external
link ('link/mwNumberedExternal' node, corresponding to wikitext
"[http://example.com]"). It used to produce annotated link text
('link/mwExternal' annotation, corresponding to wikitext
"[http://example.com http://example.com]" or "http://example.com").

Depends on two commits in VisualEditor/VisualEditor:
* Icc2e368a to insert unannotated content from the inspector.
* I40cd4d5a to insert non-text content from the inspector.

Bug: 51309
Change-Id: Ie4a633ed42907551337a62d96d0abd59e208d49d
2014-09-05 16:48:55 -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
James D. Forrester 67f304a414 Update VE core submodule to master (c4ce5ee)
New changes:
c4ce5ee Update OOjs UI to v0.1.0-pre (466a8762ac)

Update changes:
* Remove manager arugment from window constructors
* Use this.$content instead of this.frame.$content
* Use this.getDir() instead of this.frame.getDir()
* this.loading is now a promise, not a boolean

Change-Id: Ia83449a60078dd24ea4f976221c0859e5a121279
2014-08-20 18:42:52 -07:00
Ed Sanders 03231e5a1c Fix teardown of live extension nodes
* Separate teardown into (insertOrUpdate|remove)Node
* Override insertOrUpdate completely to avoid generating
  extra transactions. Surface#applyStaging creates all the
  transactions we need.
* Override remove to popStaging before calling parent.
* Fix isEmpty check to use getInnerValue (ignoring whitepsace)

Change-Id: I903302af178d6f923de00aff9c58e5330d682813
2014-08-15 17:40:25 +01:00
Bartosz Dziewoński ede9dfcbb1 Rename MWLinkInspector → MWLinkAnnotationInspector to match file name
There is a MWLinkNodeInspector too, renaming the class instead of the
file to avoid name confusion.

Change-Id: Idaa26503ecd9b0fd0903937bb209397672138054
2014-08-13 16:20:15 +00:00
Ed Sanders daf79d9984 Use whitespace preserving text input in extension inspector
Depends on I019b37dc1 in core.

Change-Id: I4e0424b01b10910ad3e05bd9d41776059e1e9653
2014-07-31 00:01:05 +00:00
Roan Kattouw 71dd2bf852 Actually document .static.nodeModel in MWExtensionInspector
Undocument abstract static properties are bad.

Change-Id: Iae19fb83840fe7edaaaa5e80dff092064dc76361
2014-07-23 13:49:39 -07:00
jenkins-bot 55dcb46311 Merge "MWLinkNodeInspector: Actually preserve annotations when converting to link annotation" 2014-07-23 00:44:43 +00:00
James D. Forrester c2f37a0450 test: Move mw into the global list of globals for VE-MW
Silly to have 38 MW-specific files needing to declare that they're using mw.

Change-Id: I97891ed922fe0c37d8c96425a4d23bd15098438b
2014-07-19 17:42:45 +00:00
jenkins-bot 1c099f4184 Merge "Always initialize data before use" 2014-07-16 00:52:09 +00:00
Bartosz Dziewoński 5ed43c266a MWLinkNodeInspector: Actually preserve annotations when converting to link annotation
This was implemented, but didn't work because the node was removed
before its annotations were copied.

Also fixed:
* Don't do an unnecessary transaction to change attributes of a node
  we're going to remove anyway.
* Apply the same link href fixups when converting as when not
  (previously, changing the href to 'example.com' and clicking "Add
  label" would break the link in interesting ways).
* Do a single transaction from replacement instead of removal+insertion
  when possible.

Bug: 67377
Change-Id: I0318ae62c799300fb7696506a9736b839e2c8578
2014-07-16 00:50:23 +02:00
Trevor Parscal f30336bc2e Always initialize data before use
LinkNodeInspector was broken when you clicked away/pressed escape, because data was not set.

Normalizing on data being initialized at the top of get*Process methods if used.

Change-Id: I89728ac558545a6f2c325014b6f457ec6bef17b8
2014-07-15 15:49:51 -07:00
jenkins-bot a5e1cfcf78 Merge "ve.ui.MWExtensionInspector: Prevent from setting impossible content" 2014-07-15 22:09:06 +00:00
James D. Forrester fbdff76263 Update VE core submodule to master (f2277ea)
New changes:
56de6f5 Localisation updates from https://translatewiki.net.
f8bda64 Widgetise demo menu
6ac48d8 Localisation updates from https://translatewiki.net.
365e131 builderloader: Omit value for boolean "disabled" attribute per HTML5
706e4b3 Prevent double counting of DM nodes in getNodeAndOffset
b141a7d Update OOjs UI to v0.1.0-pre (d2451ac748)
c5b3921 Localisation updates from https://translatewiki.net.
1606983 Update reference to ConfirmationDialog to use MessageDialog

Deletions:
* Styles for ve.ui.MWBetaWelcomeDialog - not needed anymore because
  OO.ui.MessageDialog provides them
* Styles for ve.ui.MWGalleryInspector - not needed anymore because
  ve.ui.MWExtensionInspector provides part of them and the rest are being
  replaced by programatic sizing

Modifications:
* ve.ui.MWLinkTargetInputWidget - Added support for validation and href
  getter
* Split message between tool and dialog title for ve.ui.MWEditModeTool
  and ve.ui.MWWikitextSwitchConfirmDialog

General changes:
* Updated inheritance.
* Added manager param to constructors of dialogs and inspectors.
* Updated use of show/hide with toggle.
* Added meaningful descriptions of dialog and inspector classes.
* Configured dialog and inspector sizes statically.
* Configured dialog action buttons statically.
* Interfaced with OO.ui.ActionSet to control action buttons.
* Moved applyChanges code into getActionProcess methods.
* Always using .next in setup/ready process getters and .first in
  hold/teardown process getters.

Change-Id: Ia74732e6e32c0808eee021f0a26225b9e6c3f971
2014-07-14 23:24:45 +00:00
Alex Monk 51142e8b11 Replace ve.bind( fn, ... ) calls with fn.bind( ... )
Bug: 62762
Change-Id: I1a7fc7f27fa737d17f5c6b3d084ef4a35e4bebc0
2014-07-10 13:54:07 +00:00
Bartosz Dziewoński bba6ac20bd ve.ui.MWExtensionInspector: Prevent from setting impossible content
XML-like tags in wikitext are not actually XML and don't expect
their contents to be escaped. This means that (usually) it is not
possible for a tag '<foo>…</foo>' to contain the string '</foo>'
(see bug 57429 comment 4 for details).

Prevent the user from doing that by escaping the first angle bracket
'<' to '&lt;' in such inputs when the inspector closes.

Bug: 57429
Change-Id: Ia566452ae0ffc9caa3ea48a52e5b8032c33fc9c8
2014-07-04 18:09:04 +02:00
Timo Tijhof 19afd65a08 build: Update jscs and use new "wikimedia" preset
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).

Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
2014-06-26 17:00:15 +00:00
Ed Sanders 840264e85d Remove Hiero extension code from VisualEditor extension
It doesn't belong here.

To be added in the wikihiero extension in If55af2ad.

Change-Id: Id8b026ac07cfb31e4c25f81fb67f531448454ee0
2014-06-23 09:18:42 +02:00
Ed Sanders c0bd7487f5 Fix selection after inserting nodes
Some surface fragment methods return a clone, so make sure
that is written back to this.fragment in dialogs, as this.fragment.select()
is called on teardown.

Functionally depends on If26cc0a2d in core.

Bug: 65706
Bug: 65716
Change-Id: Ia552b2a4c4c59ffc308a4acdecac78a7803a1c1f
2014-06-18 22:45:52 +00:00
Ed Sanders 26535382e5 Remove setValue call from live extension setup
It's already done by the parent, and done in a more complex manner
(with whitespace preservation) which this destroys.

Change-Id: I0385abe4093223b1804b11d77222cf8212a6360f
2014-06-11 20:30:47 +01:00
jenkins-bot 4ba3268498 Merge "Don't select contents of textarea in extension inspector" 2014-06-11 17:46:48 +00:00