Commit graph

214 commits

Author SHA1 Message Date
Moriel Schottlender 5de265eab4 Add <noinclude> tags to new <templatedata> strings
If the template is not in a subpage, all new <templatedata> strings
will be wrapped with <noinclude>.

This will not happen to existing <templatedata> strings, since there
is no way of knowing if existing strings are already inside a
<noinclude> chunk - especially if those tags also include a bit of
other text. This will be applied for all new templatedata tags that
are inserted in the main template page.

Bug: 69149
Change-Id: I083a76858513760910973cd788687822fda0e879
2014-10-09 18:15:55 -04:00
James D. Forrester f7706868f3 Let help link target be locally over-ridden; default to the MW help page
Bug: 67621
Change-Id: Ic205a8bd51516d3fa580955b310014e4fe30ec6d
2014-09-25 11:05:39 -07:00
Moriel Schottlender 4f3e647758 Implement new 'autovalue' parameter property
Add an 'autovalue' parameter property to the TemplateData spec. And
implement it in the validation for the API and in the editor.

Also added tests to make sure all parameter attributes preserve
their values before and after parsing, including the 'autovalue'
parameter.

Bug: 51428
Change-Id: Iffb376a804d39388d2b5b6ea3583ef2a292eea41
2014-09-19 16:36:29 -07:00
Moriel Schottlender b313bbe485 Refactor TemplateData Editor
Refactor and rewrite the templatedata editor to make it more flexible and
adaptable to new types. Separating the model from the gui, and adding new and
improved unit tests.

Also added features:
* Map depracated param types into current types.
* Retrieve template code from top template page if we are in a subpage.
* Mark parameters that do not appear in the template code.
* Add parameter types and a more flexible way to add and adjust the types.
* Add a link to TemplateData documentation from the main edit page.
* Add support for paramOrder; order the parameters according to the given array.
* Make the template parameter table sortable so users can change the paraOrder.

Bug: 59745
Bug: 65951
Bug: 66920
Bug: 67310
Bug: 67621
Change-Id: I65a76c2b772ef76c5dbbe71dd433c881c097b202
2014-08-30 15:18:05 -07:00
Moriel Schottlender 9a7f8de499 Block object descriptions from edit
Some descriptions allow for language objects. For the moment, these
should be blocked for editing so the original JSON string won't be
corrupted. The current fix blocks any input that is not a string
or an expected array in aliases as uneditable.

Bug: 60089
Change-Id: I9b13e2f3cfd805d382564e270484557567932a0f
2014-06-04 17:37:02 -07:00
James D. Forrester 64a39ae460 Add a grunt checker for jshint, jscs, csslint, and banana and pass them
There was a pre-existing jshint config (.jshintrc) file that this upgrades based
on the equivalent files for VisualEditor and OOjs UI.

Change-Id: I3ecb0e65cc7ff090b7457be895917fbd8b8afd18
2014-06-03 20:16:18 -07:00
James D. Forrester 3f05967d94 Add 'date' type support for ISO 8601 date-times
Change-Id: Ida5b09fb763bef12f92cf687b5170b5f5b5840a2
2014-05-23 18:50:00 -07:00
James D. Forrester b50d5d1a6b Fix name of file GUI message (…-modal-… not …-model-…)
Bug: 65545
Change-Id: I7084b1738ff5e880c104aace3425114258e87bca
2014-05-20 12:51:56 -07:00
James D. Forrester fb34a07c02 Add a wiki-file-name type for file names
Bug: 52652
Change-Id: Ibe8d143abbb607eb71549536aaac6555528813cc
2014-04-28 13:21:53 -07:00
Ltrlg 6a014700da Do not add 'required' if not set and false wanted
The 'required' property of a 'Param' is optional and defaults to false.
Thus there is no reason for adding it when it was not set and the user wants it to be false.

Bug: 61761
Change-Id: I2b2fae5d2d8b1dac2ad2e1a965d9ba5bd7372eef
2014-03-07 23:19:52 +00:00
Moriel Schottlender b22c73fc2d Prevent the dialog from applying changes on bad input
Make sure the dialog does not change the json string if the
editor form contains any errors.

Change-Id: Ib4d36f70e1f9d5b34605b4e54fd12b6e2405c37a
2014-01-20 06:22:42 -05:00
Moriel Schottlender f9bc87e2b8 Adjusting error message for invalid inputs
The invalid characters ('|', '=', and '}}') will be displayed through
individual parameters, for consistency, and to avoid parsing problems
in translatewiki.

Change-Id: Ic87541419aab5664f3530209e1ad8689deec33a5
2014-01-18 12:57:35 -05:00
Moriel Schottlender 3dfa316fad Make {{ a parameter in the error message in the editor dialog
Translatewiki warns of an unbalanced parenthesis problem in the
translation string. Turning the {{ into a parameter solves this issue.

Change-Id: I2fd69b3e901175dad22d285aa2373916acd4f208
2014-01-18 00:09:29 -05:00
Moriel Schottlender 8c27921232 Implement edit interface for TemplateData documentation
This adds a TemplateData manager to the edit page in the Template
namespace.

If a <templatedata> tag already exists, the tool will parse it and
display it in a visual interface that the user can then manipulate in
their own language. If there is no <templatedata> tag, the dialog will
appear empty and allow users to add and tweak their desired template
parameter data.

The tool also allows rudimentary parameter import, which picks up the
parameters from a current template into the GUI to make the user's life
easier when producing TemplateData.

The template documentation editor feature is off by default. To enable it
use $wgTemplateDataUseGUI = true in LocalSettings.

Bug: 50436
Change-Id: I863a8199c0b08cc52b320ed00dcba912dd2aeefc
2014-01-14 18:39:20 -08:00