Commit graph

7 commits

Author SHA1 Message Date
Moriel Schottlender 3820295f23 Reorganize api calls and add sourceHandler and error message
Add a sourceHandler that deals with all source-related actions
like fetching template source and validating the existing
TemplateData string.

Also add a MessageDialog warning the user in case the TemplateData
is invalid. In this case, the user will be given the option either
to correct the JSON by hand or to start the editor to replace the
existing TemplateData with a new one.

Bug: T91730
Bug: T91325
Change-Id: I4e6d04f02565a02d8dcf5c70a575ab6433caa27f
2015-03-18 18:21:02 +00:00
Bartosz Dziewoński a3ddde4a8f Don't flicker "Manage TemplateData" button's disabledness state
The code would call .setDisabled( true ), fire off an API request, and
then always call .setDisabled( false ) when the request finished,
regardless of the response.

Bug: T91324
Change-Id: Iee440a1fca966e0c66669ee5e78b6f5ab8f7f8d6
2015-03-07 20:20:32 +01:00
Timo Tijhof 3ecbaefef1 Document code with JSDuck
Change-Id: Ieb812a2fb85135f6db18a9a02c94efd83695a19e
2015-03-06 17:56:30 -08:00
Moriel Schottlender 3cc6afaa75 Use wikitext instead of page prop when checking for existing TemplateData
On the edit page, we show the user a message if a related page
(parent of /doc page, or vice versa) already has templatedata.

This check was wrongly detecting that the parent page has templatedata
when editing '/doc'. The check shouldn't use the 'templatedata' API
since that also includes transcluded templatedata.

Look in the wikitext content instead.

Change-Id: I9788e2beb0809ac3e676a90cd0dfe519c005afc9
2015-03-02 22:52:48 +00:00
Moriel Schottlender d59d517339 Warn if a TemplateData block already exists in related page
Check if there already is a TemplateData block in a related
page and warn the user if that is the case. Related pages are
either the /doc page or, if we are already in a /doc page, its
immediate parent.

Bug: T74062
Change-Id: I83212f14ecd2dcc18970d21ad0d833b461405390
2015-02-18 17:56:13 -08:00
Moriel Schottlender e6e728b58e Change global class variables to mw.TemplateData
Nest all classes for the templatedata dialog in mw.TemplateData
namespace.

Change-Id: Ib514378c9fbc0fb993b3cbc2fa48ced920167226
2015-02-18 17:47:08 -08:00
Moriel Schottlender df59f0179a Eventify TemplateDataGenerator and use oojs-ui
Change the ui/data behavior to work with oojs and event emitters,
and replace the gui from jquery ui to oojs-ui.

Changes made:
* Recreate the templatedata editor with oojs and ooui.
* Create a standalone templatedata model with internal validation.
* Allow the user to insert language-specific strings:
  * Allow adding arbitrary languages and values
  * Normalize output between language object and 'simple' string
  * Add new language code by searching for its name or code
* Import parameters from template code
  * If the template is in subpage and there is no code in the
    current page, the code will request the contents of the parent
    page.

Change-Id: I985ea03dfee58984ec22ec9a157a00968bfca878
2014-12-22 12:58:37 -05:00