Commit graph

458 commits

Author SHA1 Message Date
David Lynch 07e4d5fd17 dm.MWTransclusionNode: remove TableCellableNode mixin
Change-Id: Ic08c7ba03ad2bee35a96a750377450475d0efeed
2017-05-19 20:55:14 +02:00
Ed Sanders 153f7b034d Allow extension nodes to convert to a specified type of dataElement
Sub-classes want to dynamically change type, e.g. inlineFoo/blockFoo,
but doing this after storeGeneratedContents invalidates the cache,
so ensure this is done as soon as the element is generated.

Bug: T151130
Change-Id: I80e2f2587cff8e9d9fe6ded5d8581263268deaa8
2017-05-19 16:08:01 +02:00
jenkins-bot cfa8de994e Merge "MWTransclusionNode: Implement MWTransclusionTableCell" 2017-05-15 18:05:01 +00:00
David Lynch 0eb6b94b4c MWTransclusionNode: Implement MWTransclusionTableCell
Back in de98382a55, references to MWTransclusionTableCell were introduced,
but weren't followed through on. So, actually add it. Have cellable
Transclusions use it as their type.

Bug: T144122
Depends-On: I054f12f4218102a12d7a9ea843f9c61e8825c52c
Change-Id: I367f878bfd1c58e20b62368cb78120604b48d791
2017-05-15 12:09:11 -05:00
jenkins-bot 75b762d5c4 Merge "Specify suggested parent node types for tables" 2017-05-04 18:50:48 +00:00
Ed Sanders 9d83efc747 Specify suggested parent node types for tables
This won't do anything useful until T164017 is resolved.

Bug: T164016
Change-Id: I39bffe2dc59a97888b81bdbe990e55ba95b0dd94
2017-05-04 14:50:49 +00:00
Ed Sanders 8e6105fec8 Allow headings in divs
Bug: T164453
Change-Id: I986b1b376a592095c94d29a102278d4fde0a621f
2017-05-04 12:43:36 +01:00
James D. Forrester 486bbd7609 Follow-up 57a06a6: Use the same attribute name on read and on write
Bug: T164054
Change-Id: I6770f6c91248fcd9ab39322413874e20a1b65552
2017-05-02 14:42:22 -07:00
Ed Sanders 7c0fc8d3b9 Fix minor lint errors and typos
* Commas that should be semicolons
* Unnecessary 'call's

Change-Id: I11a80702b5396a36e3deecc6e706a397cc354bd8
2017-04-29 12:36:17 +01:00
jenkins-bot 323f2479ea Merge "Add basic support for Parsoid HTML5 video/audio" 2017-04-28 15:26:44 +00:00
Ed Sanders 0c2bb3da9c Add basic support for Parsoid HTML5 video/audio
Change-Id: I30b787261c57e912e571170d8aa2d04726b6aa3a
2017-04-28 14:08:18 +01:00
David Lynch 88f3191926 tests: MWInternalLinkAnnotation getFragment
Also, fix docs for it. It could also return null for a missing fragment.

Change-Id: Ib6df379c5c3686a59026b6b66f26b3050ede231a
2017-04-27 11:21:58 -05:00
James D. Forrester 8fd621ad74 MWTransclusionModel: Update for change in TemplateData
Depends-On: I7905502d0c419a04e4487095214634f1513b461c
Change-Id: I97a1bfc9f9ead082a673a91b9d2053630a90309c
2017-04-24 19:13:59 +00:00
Ed Sanders f20b9b0aa0 doc: Tag mixin inheritance hacks with bug
Also mixin dm.MWResiazble to dm.MWImage (already done
in CE).

Bug: T92540
Change-Id: I32215873993a7e9a7f775ce3f39e2d378e0f31cd
2017-04-13 11:00:17 -07:00
James D. Forrester 57a06a6e75 dm.metaitems: Turn grouped metas into variadic ones
We're getting rid of meta item grouping, so we need to prepare.

Merged:
* ve.dm.MWIndexMetaItem
  from ve.dm.MWIndexDisableMetaItem and ve.dm.MWIndexForceMetaItem
* ve.dm.MWNewSectionEditMetaItem
  from ve.dm.MWNewSectionEditDisableMetaItem and ve.dm.MWNewSectionEditForceMetaItem
* ve.dm.MWTOCMetaItem
  from ve.dm.MWTOCDisableMetaItem and ve.dm.MWTOCForceMetaItem

These three now inherit from ve.dm.MWFlaggedMetaItem to avoid code duplication.

Change-Id: Ic8a9cdb1226dccac2c27e7f4b965c1590a7387c0
2017-04-11 11:13:18 -07:00
David Lynch d5ac18a466 LinkCache: don't treat a link with a fragment as a selflink
This matches the rendered output for the page.

Bug: T162669
Change-Id: I1ea0ab37a2751c0b4669da8a23adf0ce271facea
2017-04-11 12:19:01 -05:00
Ed Sanders 55368c1170 VisualDiff: Ignore changes to originalMw
Can happen when switching edit modes.

Also fix typo in describeChanges.

Change-Id: I2c02adc34aef975b9f6f902a74907d24b7edc54a
2017-04-10 21:22:16 +01:00
Ed Sanders d50f49de82 MWExtension describeChanges: Actually return value of parent
Bug: T161357
Change-Id: I7a81ab68dc2f632bd6f380caafef2cba326ad0ef
2017-04-03 22:57:49 +02:00
jenkins-bot 34fa4dcda6 Merge "Use original title or normalized title when inserting link text" 2017-03-24 22:27:33 +00:00
Ed Sanders 738d3aff47 Use original title or normalized title when inserting link text
Original title will preserve the case of what the user entered
into the inspector. Noramlized title will remove any unwanted
leading colons from file/category links.

Bug: T118408
Bug: T124410
Bug: T160977
Change-Id: I92ffc19eab4eead0d124e84afc1e5a0a3e535867
2017-03-24 22:16:31 +00:00
James D. Forrester c70526f0a2 ve.dm.MWImageNode#describeChanges: Ignore borderImage noise from the model
Also follow-up 335b56728a by adding the visualeditor-changedesc-align
i18n which was missed.

Change-Id: I801f66c0028f71cf2cdbcb8f1675ba1f5a3cde31
2017-03-22 17:28:41 -07:00
Ed Sanders 9cd8faea8b VisualDiff: Add custom messages for change descriptions
Bug: T151403
Change-Id: I469a3c7897f2417c1850364f65da51c0deca2386
2017-03-16 14:36:09 -07:00
Bartosz Dziewoński 49f603c703 Update <pre> support for Parsoid changes
After 79ccfb9372cb57afa569036ef39ead13abfba673, MediaWiki's `<pre>`
tags get rendered as `<pre typeof="mw:Extension/pre">` in Parsoid HTML.
MediaWiki's indent-pre syntax (block indented by a single space) is
still rendered as `<pre>` in Parsoid HTML, however.

Indent-pre is still handled by MWPreformattedNode (no changes).
Introducing MWPreNode, which will handle `<pre>` extension tags,
and MWPreDialog to change its contents (and allow converting
to MWPreformattedNode).

Pieces copied from MWGalleryNode, MWLinkNodeInspector, CommentInspector.

Possible future improvements:
* Add a specific icon for MWPreContextItem
* Avoid API roundtrips for rendering (but rendering wikitext <pre>
  is not as simple as it looks)
* Consider a way to insert these other than '<pre' sequence

Bug: T159900
Change-Id: I5bc4ea6e5d893736f65ef0dd43b08c18cb1a1e85
2017-03-14 14:08:50 -07:00
James D. Forrester 6fd475e8ec MWWikitextSurfaceFragment#convertFromSource: Don't make an invalid doc
Though neat, this hack to get the internal list doesn't seem to be used
and creates an invalid document (just an internal list with no content,
so the internal list is at the start and the default selection position
is inside it). Instead, use the ve.dm.Document.static.newBlankDocument()
utility function that was made for this use case.

Bug: T153509
Change-Id: Iba5931cb5e3f939a803c1d59fa0d8f30a0513f84
2017-03-02 05:43:03 +00:00
Bartosz Dziewoński 461f99e9da Document usages of ve.dm.Node.static.suggestedParentNodeTypes
Ed told me this.

Change-Id: I5e3160d3e5c38f9babc133db8977a6e6b8bbd610
2017-03-02 00:11:54 +01:00
Ed Sanders 501d0c94d2 Cache generated content request when inserting templates
We request the generated content of a template to determine
if it will be block or inline. This is the same request as
the view makes later to show the rendering, so we should cache
this repsonse.

Bug: T156698
Change-Id: I0ffd36ccd0aa821aa44d99328f2e3a2abc23dc0f
2017-02-22 04:00:38 +00:00
Ed Sanders 9337e6ecbd Tables: Add support for editing mw-collapsible/mw-collapsed
We don't support editing <div>s right now (as they're BranchNodes) nor
<span>s (as they're annotations), but most of those are inside templates
and so not editable in VE anyway.

Bug: T157989
Change-Id: I647b2a544fd16952696d0de8d07cb72189b27ecb
2017-02-16 17:21:44 +01:00
Ed Sanders f2cf73eaaf Define default HTML types for extension nodes
Use span/div for inline/block nodes respectively.

Bug: T157389
Change-Id: I4c501a6af88a490eec83af26adaa515a2b1d18d1
2017-02-07 20:12:39 +00:00
jenkins-bot 50e7fd0653 Merge "Fix MWInternalLinkAnnotation.getTargetDataFromHref's behaviour with URLs containing query parts" 2017-01-05 15:08:33 +00:00
James D. Forrester 122f49b2dd build: Bump file copyright notices for 2017
Change-Id: I3c20809e71cc0da58123e1b5f29c4f3aac945496
2017-01-03 08:58:33 -08:00
Alex Monk 4c061de2e0 Fix MWInternalLinkAnnotation.getTargetDataFromHref's behaviour with URLs containing query parts
ve.dm.MWInternalLinkAnnotation.static.getTargetDataFromHref(
	'http://mediawiki.krenair.dev/mediawiki_dev/wiki/Main_Page?veaction=editsource',
	ve.init.target.surface.model.documentModel.htmlDocument
)

Wrong, current result:
Object {
	title: "Main Page?veaction=editsource",
	rawTitle: "Main_Page?veaction=editsource",
	hrefPrefix: "",
	isInternal: true
}

New result:
Object {
	title: "http://mediawiki.krenair.dev/mediawiki dev/wiki/Main Page?veaction=editsource",
	rawTitle: "http://mediawiki.krenair.dev/mediawiki_dev/wiki/Main_Page?veaction=editsource",
	hrefPrefix: "",
	isInternal: false
}

Change-Id: I3d6d7fcfeb0d8354623026c831605c7633c3e11a
2016-12-24 20:12:44 +01:00
Ed Sanders 854256bb8e Use deep clone for empty convertFromSource
Bug: T153254
Change-Id: I0dc6be0d20020e3fb385c9d065f9395dbda5a6b6
2016-12-14 22:09:25 +00:00
Alex Monk c843824c97 Batch gallery imageinfo requests via ImageInfoCache subclass
Also get rid of .join( '|' ) for API request parameters per Bartosz

Bug: T147067
Change-Id: If4444cca300d65e28d6fb9003fcac5e076a5129a
2016-12-06 22:10:19 +00:00
Ed Sanders f01d617c53 Bypass API call when wikitext is empty string
Change-Id: Ie0cedfaae286f73e73bcde7bfca3cb2ae6197924
2016-12-03 17:44:04 +00:00
Ed Sanders c97e0b58d4 NWE: Disable progress bar when pre-parsing for WindowAction's
The progress bar dialogs interfere with the life cycle
of the window you are trying to open. Just disable these
progress bars for now to avoid catastrophic behaviour.

Change-Id: I77c8ae67a2d502bbd189836deb320cd55c3cb11a
2016-12-03 17:20:24 +00:00
Ed Sanders 9ceb13ce60 Update VE core submodule to master (5be61ce)
New changes:
860954b [BREAKING CHANGE] Parse selection before applying source tools

Local changes:
Implement convertFromSource/convertToSource in WikitextSurfaceFragment

Depends-On: Iaa41c49e2f8e28af28a8a64cb6915f705fa35e8c
Change-Id: I746619d442fb565cd582cb09de3126526c73c333
2016-12-03 03:43:59 +00: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 2ee9e62a4d Use upstream media search widget from core
Bug: T140166
Depends-On: If53ef7f4b62c7a5d4da565c14dd2a353778694e5
Change-Id: I28845e9c143e78d3a377f067606c62da212e3bf1
2016-11-29 17:19:14 +00:00
jenkins-bot c62e71f44d Merge "ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP" 2016-11-02 20:07:06 +00:00
Ed Sanders dc0c751100 Ensure max size in not enforced for vectors
Otherwise they can't be scaled up. Also move svgMaxSize code
to comment as it isn't used yet.

Change-Id: I7af2bc91524e832555b66f090a671672cd14f294
2016-11-02 18:12:02 +00: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
James D. Forrester 36befda61c build: Replace jscs and jshint with eslint
It's new, it's fresh, it's amazing, it's here.

Change-Id: I5dc784411f704685ed5cc763a2b2b1c5d3e5a610
2016-10-28 18:33:15 +00:00
Kunal Mehta 090b8ad5c7 Don't hardcode magic link URLs
These are actually configurable via MediaWiki messages, so use those
instead of hardcoding the default URLs.

Change-Id: Ie66a1b53f9c011947fe9e8db198a5904373f3192
2016-10-15 16:02:35 -07:00
Ed Sanders 3d39b80991 Fix detection of headings in NWE format menu
Use regex to include match any character after '='.

Bug: T147585
Change-Id: I22228bedf497613506a676eca465d3bc7bc5fe67
2016-10-08 20:53:58 +00:00
Ed Sanders a9233045c7 Detect format in wikitext
Logically depends on I575d92c4fa.

Should really use a registry, and also doesn't update when
format is changed by deleting text, but is an improvement
for now.

Bug: T147218
Change-Id: I0cb87dbad2ab4269c4f89bdff8a4ccd9b35c8635
2016-10-04 11:04:54 -07:00
jenkins-bot c1cb6edf83 Merge "Don't try to add suggested/required parameters already set under alias names" 2016-10-04 15:49:27 +00:00
Alex Monk e3a387b517 Don't try to add suggested/required parameters already set under alias names
Bug: T143650
Change-Id: I6d5ed2903a468205760f715b9bb36a40bdef926a
2016-10-03 17:57:55 +01:00
Bartosz Dziewoński 107faee6da ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP
Requires MediaWiki core change
Ic93d733cb9e1b1d7301f8975c68ab7ded778845a.

On wikis with CentralAuth installed, also requires
I24c2819ec2adcab468f961c5c46b31c331324567 and
I372e7bdff35400287b3d961da979d6f094d13bd9.

Bug: T143279
Change-Id: Id60bb3cde7e2032846da9606aefb00ea805f2ecd
2016-09-26 18:57:16 +00:00
jenkins-bot 8375c57a6c Merge "Revert "ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP"" 2016-09-26 18:55:13 +00:00
Bartosz Dziewoński 1d8032db1c Revert "ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP"
The change was merged without the necessary dependencies.
This reverts commit 2b1c3914ec.

Bug: T143279
Bug: T146661
Change-Id: I5ce945f6167c9db5d5f03c824dee3d89cd0931a8
2016-09-26 18:49:00 +00:00