Commit graph

177 commits

Author SHA1 Message Date
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
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 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
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
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
Bartosz Dziewoński 2b1c3914ec ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP
Bug: T143279
Depends-On: Ic93d733cb9e1b1d7301f8975c68ab7ded778845a
Depends-On: I24c2819ec2adcab468f961c5c46b31c331324567 (for CA wikis)
Depends-On: I372e7bdff35400287b3d961da979d6f094d13bd9 (for CA wikis)
Change-Id: I14a1e5c9956d1b425eaacdf358db384df3be8115
2016-09-12 18:38:58 +00:00
Ed Sanders 62bdaac13b Use super property to call parent methods
Change-Id: I76982b844cf2871d7583463def4393e5bdc33aa2
2016-08-23 11:56:47 -07:00
Alex Monk 8855ebf586 Fix check for non-template-namespace transclusions
These are not just titles beginning with ':'

Change-Id: I9d7063c221561a0e582deb6944eaab6d9ab4e3f7
2016-08-05 03:25:31 +01:00
James D. Forrester d9d6a567d8 Follow-up e2f6d798: Make MWTemplateModel#addPromptedParameters work
Change-Id: I27e82aed207e1352ccb5f5a177fd53d5c1868c42
2016-06-30 16:46:38 +01:00
James D. Forrester 832118e051 MWTemplateDialog: When opening the dialog, add in any unset suggested and required parameters
Bug: T97482
Change-Id: Iaf280355f442240aba4e1f74d3ee402fc5d329b0
2016-06-08 14:19:09 +00:00
Ed Sanders 35c0a0dc69 Use cloneWithData
Change-Id: I7ffe3c7ab20d5f785a6642c8293f271f4dc08ff8
2016-05-30 21:40:07 +01:00
Ed Sanders bc3edc7712 Use insertContent with templates when range is collapsed
We may be trying to insert a block into a paragraph. fixUpInsertion
handles this, but not if use a replace transactions.

Bug: T136279
Change-Id: I1401da52676e79f38ef835a32d2c76004b75fb4e
2016-05-26 17:10:52 +01:00
Ed Sanders 61d592bab1 Workaround for T135127: Generate replace transactions in MWTransclusionModel
Change-Id: I1d202c3b2e980f1ea52ef90d028886135b0cb748
2016-05-20 10:54:56 +01:00
Ed Sanders 236e3d1241 [BREAKING CHANGE] Evalute block/inline state when inserting a transclusion node
Make some of the methods we currently use to render the node
static so we can re-use them before inserting. We do the evaluation
without inserting the node so as not to dirty the document and
transcation history.

In the unlikely case the request fails, just fallback to inline.

This only handles insertions for now as type changes on edit will be
very rare.

This changes the signature of insertTransclusionNode, which is used
in Cite and Citoid extensions.

Bug: T51784
Change-Id: Ibc2fc66e6866084b0a4deeb082c8a1ca412febb2
2016-05-16 09:19:13 +01:00
Alex Monk 978224f2ec Use widgets for wiki-page-name, wiki-user-name, wiki-template-name, boolean, URL and line template fields
* Use TitleInputWidget for wiki-page-name and wiki-template-name parameters
* Use UserInputWidget for wiki-user-name parameters
* Use a custom hacky CheckboxInputWidget child class for boolean parameters
* Borrow some ve.ui.MWExternalLinkAnnotationWidget.prototype.createInputWidget code for url parameters
* Use a TextInputWidget with multiline disabled for line parameters

Not dealt with in this commit, so fallback to existing behaviour:
* string
* number
* unknown
* content
* unbalanced-wikitext
* date
* wiki-file-name

Bug: T55613
Bug: T124734
Bug: T124736
Change-Id: If04944d64303d959e8dd605e75a175895932b788
Depends-On: I87699a93ca1b34c6d248456fcc060f584623d158
Depends-On: I5e97604f0fc24176d5e89899bf0505dc442a1a7e
2016-04-06 22:07:19 +01:00
Ed Sanders 1e800f2fdf MWTemplateSpecModel: Use namespace constant
Change-Id: I4404ee726550ca9aa9322720736f6f3778278df7
2016-03-01 21:41:10 +00:00
Ed Sanders cfe21d317d MWImageModel: Use clearDefaultDimensions
setDefaultDimensions( {} ) is a no-op.

Bug: T126078
Change-Id: I1ef7cae04574e2561d21d4071d19a0067d81b263
2016-02-08 12:37:26 +00:00
James D. Forrester 1e0486a679 Remove all Extension:Cite code, now moved there
Depends-on: I39936ed83d5a60471a0a75da753f498e80aef234
Depends-on: Ifd853bf9f901065798bd0063aeaa786a3761aa71
Depends-on: I32c93c5118eafe5f071252290c58d3de8dacc81a
Change-Id: Iba0f25b3ebe4e5e63377da57afb760d6980f9907
2016-02-05 21:36:56 +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 93f0e8b30c Refactor MediaResources(Provider/Queue)
Create a subclass for MediaSearch(Provider/Queue) and make the parent
class a more generic representation of API requests for media.

Change-Id: Iea8b90e829d532d210bfef3c96d6798c64e15eed
2015-12-22 14:00:10 +00:00
Ed Sanders ae26eefb05 Fix typos
Add some common ones to typos.json

Change-Id: I3830be4949ab6a5fd998d6937ed83e9f18091c2b
2015-12-09 16:47:13 +00:00
Ed Sanders 2c2f8c8a04 MediaSearch: Order search results correctly
Bug: T117036
Change-Id: Ia11f3486214425f203695a6060e304a90eba7734
2015-10-29 12:51:22 +00:00
Alex Monk 736561f3af Actually get uploader details when querying media info
Used in MWMediaDialog's buildMediaInfoPanel function

Bug: T109563
Change-Id: I398957eb0a4610379b29aac1df4234a58e845f28
2015-09-17 00:31:23 +00:00
jenkins-bot 64c73a4ac6 Merge "ve.dm.MWReferenceModel: Require parent document" 2015-08-27 15:38:01 +00:00
Roan Kattouw e4d2d4785e ve.dm.MWImageModel: Require parent document
Add a parentDoc parameter to the MWImageModel constructor and use
it to inherit language, direction and HTML document. Remove
getLang(), setLang(), getDir() and setDir() whose only purpose
was to propagate the language and direction from the parent document
in a hacky way.

Also add a parentDoc parameter to newFromImageAttributes(), replacing
the lang and dir parameters. Remove the unused and ill-conceived
caption parameter.

This causes caption documents to always have an HTML document
for URL resolution. Previously, this worked when editing existing
images because a document generated by cloneFromRange() (which
propagates the HTML document) was passed into setCaptionDocument(),
but it didn't work when creating new images.

Bug: T109599
Change-Id: Ida36862092cd779ffc2f04c0ecbc1164f8d71453
2015-08-27 00:09:21 -07:00
Roan Kattouw f11fbee278 ve.dm.MWReferenceModel: Require parent document
Add a parentDoc parameter to the MWReferenceModel constructor and use
it to inherit language, direction and HTML document. Remove
getLang(), setLang(), getDir() and setDir() whose only purpose
was to propagate the language and direction from the parent document
in a hacky way.

This causes ReferenceModel documents to always have an HTML document
for URL resolution. Previously, this worked when editing existing
references because the newFromReferenceNode() code path calls
cloneFromRange() which propagates the HTML document, but it didn't work
when creating new references.

Bug: T109599
Change-Id: I5d9d34d4343be8428318fa0b795fa54c110e34f4
2015-08-26 23:48:45 -07:00
James D. Forrester 9e7041f925 build: Enable jscs jsDoc rules 'checkRedundant*' and make pass
Change-Id: I36262ee1fe6116749586014fd30df3e00733fa6c
2015-08-19 11:35:43 -07:00
James D. Forrester 00d3226be1 build: Enable jscs jsDoc rule 'checkParamNames' and make pass
Change-Id: Ifcd3f67524c32148ff3591263d6374b31ee57d3b
2015-08-19 11:33:59 -07:00
James D. Forrester 85f91f394e build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
Change-Id: I7c0fabc93834d19198caea8f5dd1834e9e473d0a
2015-08-19 11:21:01 -07: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
James D. Forrester 06cdfe7acb build: Enable jscs rule 'requireDotNotation' and make pass
Change-Id: I2586e6959c3bbc7e4204242fc65551747c0e25a9
2015-08-19 10:26:19 -07:00
Alex Monk f6195426f0 Fix foreign file repositories (e.g. InstantCommons or equivalent) support
We were checking 'local' in config to determine whether a repo was local or not,
but config.local *will be set* to undefined in cases where it isn't.

Change-Id: Ic203b6e8204b95a644672790a2836d6e4709d218
2015-08-14 20:19:01 +01:00
Ed Sanders a4b250c790 MWImageModel#insertImageNode: Separate out linmod generation
Change-Id: Idee01e2e59f2a68481476f3d784502d3ebdf015b
2015-08-03 01:11:50 +00:00
Ed Sanders 6822635158 Use new hasContent method on linear data
Change-Id: I430e628a9db30970ecdf6996bc51e7440a474077
2015-06-30 09:45:24 +01:00
jenkins-bot bb9f9f9fb4 Merge "Converting an error image (red link) from block to inline does not lose its error state" 2015-06-17 17:28:03 +00:00
suchetag f7026d5e5b Converting an error image (red link) from block to inline does not lose its error state
Bug: T101085
Change-Id: I521be8fbcbab27d712ec408ea7048dca2eaab198
2015-06-17 22:41:41 +05:30
Mark A. Hershberger 7d5e5ec9a9 MWMediaResourceProvider: Use exist instead of bool check on API values
In the MediaWiki API, booleans exist or don't exist (with an empty string),
you can't check "if (bool)..." since that will always be false.  The API has
a newer formatversion=2 that fixes this but we're not using that yet.

Also update the defaultSource placeholder to match the API response. If one
would only update defaultSource without the 'if'-fix, one can reproduce T66822
on a local wiki (JSON-P request instead of JSON).

Bug: T66822
Change-Id: I5a8ab1136325c33c62982c0869fa14ca2fb26034
2015-06-11 17:29:36 +01:00
Timo Tijhof f2875141d8 ve.dm.MWTemplateSpecModel: Account for data.maps being undefined
This new property is optional and should not be assumed to be present.
Follows-up 2ac7959849.

The constructor defaults 'maps' to an empty object, so there's no need
to add a "|| {}" in extend() or getMaps(). We merely need to make sure
we don't accidentally dereference the default in exchange for undefined.

Change-Id: Id2cb93696d12a20ee14f9d59705877dc174e6564
2015-06-02 01:48:21 +00:00
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
jenkins-bot f1a6e87bc5 Merge "Don't show placeholder references in lists" 2015-05-06 23:17:28 +00:00
James D. Forrester 38239707b0 jshint: Kill file-level globals and add "moment" to the list
Change-Id: I923ba3490f5fc9b2aaf52d10a163f75dd6401c71
2015-05-06 19:01:27 +00: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
Ed Sanders 8f012e76ce Use new createFromElement method from ModelFactory
Depends on Ia23e5d25 in core.

Change-Id: Iac6f0aaacb8404a28a41e33088fc7f519c227317
2015-03-25 18:26:56 +00:00
Alex Monk 9a0b76ac26 Handle undoing of reference group changes
By removing from and re-inserting into the InternalList when the right
attributes change, rather than trying to hack it into the model's
updateInternalItem (which won't get run on undo).

Bug: T71119
Change-Id: Iaf7a3127576b94666e05691902d2782394d24afb
2015-03-11 19:15:47 +00:00