Commit graph

90 commits

Author SHA1 Message Date
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
Ed Sanders c0221066d7 Don't select contents of textarea in extension inspector
Assume this was copied over from annotation inspector
but doesn't really make sense for a large textarea.

Change-Id: If731d22d09fc4c5636301a3da3089096555a9dc1
2014-06-11 14:26:38 +01:00
Ed Sanders 55bab0d77c Fix typo in class name
Follow up to Ia10987fb which fixed some but not all the typos
and in so doing broke functionality.

Change-Id: Idce901e04f09b2b34c45081d622ee161036e6c90
2014-06-11 14:21:25 +01:00
Ed Sanders 66aa929bf2 Trim linebreaks from block level extensions and preserve
Showing the linebreaks in the textbox just encourages the user
to 'clean' them up. We should preserve their absence to prevent
dirty-diffs, and use them on new nodes.

Change-Id: Ic2827f7f56db15aa5836c6ca978350549ab0123d
2014-06-06 20:57:19 -07:00
James D. Forrester 7f5acf6abe Gallery editor: Fix 'inpsector' typo to 'inspector'
Change-Id: Ia10987fb35549e721fa0242164f99a872512e569
2014-06-03 13:24:33 -07:00
Trevor Parscal f65c3c6ef1 [BREAKING CHANGE] Update VE core submodule to master (88fe25f)
Switch to processes for windows (dialogs/inspectors)

This conversion also required the splitting of MWLinkInspector into
MWLinkNodeInspector and MWLinkAnnotationInspector.

New changes:
88fe25f [BREAKING CHANGE] Update OOjs UI to v0.1.0-pre (dd888aba5c)

Change-Id: I662d8985463c9fc881775f70aef87ebeb454a73f
2014-05-30 22:03:45 -07:00
Ed Sanders d10f27e80a Make MWGalleryInspector wider
Galleries usually have very long lines of text so make the
inspector big.

Change-Id: I69f294af9603a271b73ac1d39166fe4b492290f0
2014-05-22 18:52:27 +01:00
Trevor Parscal 62324167ff Update VE core submodule to master (a1e9df1)
Also adjust calls to InputWidget methods changed in
I324dfc2 in OOUI.

New changes:
9da32d7 Update OOjs UI to v0.1.0-pre (e6edd86d37)
b6aa671 Localisation updates from https://translatewiki.net.
1cba6e0 Update OOjs UI to v0.1.0-pre (9a6c625f5f)
94629f9 Localisation updates from https://translatewiki.net.

Change-Id: Id58d199c7ce3332a104ab2a5c395561ab94ae060
2014-05-02 15:50:32 -07:00
Ed Sanders 65d92173ea Use correct fragment in windows
In two cases we were using fragment.getSurface().getFragment() which
creates a new fragment from the current selection instead of using
the range of the original fragment.

Change-Id: Ib41efe2ceb670a125c0c306d143e56f9b9c349e7
2014-05-01 11:58:25 +01:00
Ed Sanders f0f314cbbf Remove useless overrides in HieroInpsector
Change-Id: Id13670bcfb4a3da112298a756415d5fe70af4b3b
2014-04-28 16:33:42 -07:00
Ed Sanders 9beb92a102 Delete extensions nodes which have been made empty
If they have allowedEmpty=false.

Also remove unnecessary instanceof check.

Change-Id: I388202c9da5673534486b1d9d345296feeec53c3
2014-04-25 16:13:31 -07:00
Ed Sanders be36dfca25 Use core language search dialog
Depends on I21a9d7e in core.

Change-Id: I12cacf775b490d7c676011a5a154deeefe5527c5
2014-04-23 18:43:03 -07:00
Roan Kattouw ba455643fc [BREAKING CHANGE] Update VE core to master (cb2e61b)
Update dialogs and inspectors for breaking change in VE core

New changes:
a553012 [BREAKING CHANGE] Merge dialog and inspector actions into window actions
f9a0419 Localisation updates from https://translatewiki.net.
cbe81a0 Fix path to spinner in ve.ui.SpecialCharacterInspector.css

Change-Id: Icf90ace6442364283b66b234e3c78fc65212f070
2014-04-21 15:32:59 -07:00
Ed Sanders 28bd951c90 Make Hiero node live update
Just change inheritence.

Change-Id: Id63f545d16a478e336ddeb6cc8f1a31c88ee1aaa
2014-04-17 17:59:00 -07:00
James D. Forrester e09e6c9f28 Create MWLiveExtensionInspector base class
Most of the code stolen from MWMathInspector and genericised.

Also fix issues with fragment not wrapping the new node correctly.

Bug: 58286
Bug: 58045
Change-Id: I708c4cb012becf8c493d5b65a051c0b13f7a11ac
2014-04-17 17:58:56 -07:00
Ed Sanders 29476afe83 Use forced directionality for HieroInspector
Change-Id: I2f4b15fb7bc1b3d028106e09fb5039ee5cb2987a
2014-04-17 17:03:51 -07:00
Ed Sanders 8070f48d27 Extension inspector directionality
Use a dir string instead of isLtr boolean like we do everywhere
else. Also use this.constructor.static, not this.static inside
methods.

Fixes Ie0525628.

Bug: 64072
Change-Id: I5321b71a446802d89ca86d55a0bff855b69825eb
2014-04-17 22:00:36 +00:00
James D. Forrester 0e4676e6a9 Allow MWExtensionInspector to be set to forced LTR status
This is used in e.g. the formula editor and it's potentially useful.

Change-Id: Ie05256285e517c2d0d464822befbf81f2d9209e3
2014-04-16 18:34:26 -07:00
Ed Sanders 0e51180709 Update VE core submodule to master (55a5cdc): use new ve.ui.Dialogs and ve.ui.Inspectors
Move various bits of code from initialize to setup as required.

MWDialog is now useless so use ve.ui.Dialog directly.

New changes:
0b2d03f [BREAKING CHANGE] Pass fragments, not surfaces, to windows (reprise)
0101ac4 Update OOjs UI to v0.1.0-pre (ac6848398c)

Change-Id: I0fae3e5ff2bd0da5b74c244af226b07b1f5883bd
2014-04-09 20:28:30 -07:00
James D. Forrester 95dee3ceee Fix copyright year range for fourteen files not updated to 2011-2014
Change-Id: Ibef2bf965dbd970b235a57058bcb3922a8777aa2
2014-03-24 18:36:51 -07:00
jenkins-bot 0c8cb151fb Merge "Remove the math inspector code" 2014-03-20 05:34:31 +00:00
Roan Kattouw 0304b89db9 Add lookupTitle attribute
This is the normalized title without the fragment, which is what
should be used for existence check purposes. Also add a test for
an internal link to a page's section.

Change-Id: I0e04f64c1bebeff84a0c17ef9b6c8dc06876f769
2014-03-19 19:34:19 -07:00
James D. Forrester aea64bf2df Remove the math inspector code
Moved to the Math extension in I8e582ee6deadc2750

Change-Id: Iab0c56246626de1e0f6ab770e777c0a28756fa75
2014-03-19 19:27:25 -07:00
Trevor Parscal 2a08584e8c Update constructors of inspectors and dialogs as per changes in I345d6e6
This is harmless since the values were being passed through anyway.

Change-Id: Ie81afa6b5929047b624b4376f7d70db7a7d675a4
2014-03-05 17:07:20 -08:00
Roan Kattouw 5a4eea63a5 Give MWAlienExtensionInspector its title back
It was falling back to the default ve.ui.Inspector title
message, which doesn't exist. The message was right there in
the i18n file, it just wasn't being used.

Change-Id: I0676829d5787fa0f1d7ed7481b1dc55437237dd4
2014-02-19 19:44:26 -08:00
Ed Sanders 089dc68085 Allow editing of attributes of MW extensions
To begin just render the existing attributes as a form. Later
we may want the ability to add/remove attributes.

Change-Id: Ib443498bdae5d362b198c60f0c23d864dca1b6b6
2014-02-20 03:37:46 +00:00
Trevor Parscal eca0a08ad9 (Stand back again) Even moar label manias! (label refactoring) + VE core update
Update VE core submodule to master (84ced37) and update calling code
for changes in OOUI.

Depends on Ic967b88d55daf48d365487e17f76488b3f02c60f and Ib599b9bd5028e2df084fcc3da657aeb7f1569d2a

New changes:
94f03c3 Undefined variables first in selectNodes
62b5648 Localisation updates from https://translatewiki.net.
10c5a18 Don't descend into handlesOwnChildren nodes in selectNodes
4ed2432 Update jquery.client to MW's master (45192156d7)
d7e24b8 Localisation updates from https://translatewiki.net.
babb9da Localisation updates from https://translatewiki.net.
4639d18 Localisation updates from https://translatewiki.net.
a561537 Localisation updates from https://translatewiki.net.
8f7053a Localisation updates from https://translatewiki.net.
7112cc2 Update OOjs UI to v0.1.0-pre (a290673bbd)

Change-Id: Ie7d58472619509782f23a7dedc1ec27c3dcc7543
2014-02-12 14:05:23 -08:00
Ed Sanders 0d0b7b2e46 Always show 'File:' in content language for gallery placeholder
Requires extending placeholder text to use a getter, rather than
a simple message name.

Change-Id: I712aae40bf89fc14fb03530b2a1c2bdf183ab19d
2014-02-06 04:15:11 +00:00
Ed Sanders 406e54036d Don't allow extensions to have no content by default
Change-Id: I5788de6d39aedb1f40842fa1e218374e330c9f6c
2014-02-06 04:14:58 +00:00
James D. Forrester 87dd841150 Add placeholder for gallery editor
Change-Id: Id351cea8614282924eb9b1644693f7cd71fd9fa4
2014-02-03 14:05:49 -08:00