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
A dependent and dependee properties should only update one another
once in the model, and the UI should be responsible for resetting
the input when it is toggled.
Bug: T92558
Change-Id: I944aaf9c44d0f305a34458f0b8009a98c9570661
The deprecated property allows for either a boolean or text, so we
should allow the user to insert guidance text in case that property
is true. To achieve that, the model also defines 'textValue' for
boolean properties with text representation so an internal property can
be set to hold that value and inputs can be automatically built from the
property structure.
Bug: T90734
Change-Id: Iadc6abdcc0cf2721a311cf43847b306cb269b5e8
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
Following up on I2bc79421be330, the condition was always true in
case the first one wasn't. This is just a beautification fixup.
Change-Id: I7463207f02de2116b96173d88199d46ce70ca174
Make sure that paramOrder is initialized as an array even if the
params property of the TemplateData object is empty.
Bug: T91470
Change-Id: I2bc79421be33053e7e21170528fbbd1c01eaf4bb
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
For values like 'deprecated', 'suggested' and 'required' make sure
that if they are marked as 'false' they are deleted from the result
string. If the original TemplateData already had either one of
those parameters marked as false don't delete so to avoid dirty
diffs.
Bug: T90283
Change-Id: I34c81d45e3967ce5398691d97d1a15908b8a2e57
Due to a bug, new parameters could not be added unless they were
previously deleted. This commit fixes that bug.
Change-Id: I3784d1b3d650893f26abb63994d13c08b148075b
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
If no parameters are defined in the TemplateData, have the table
display a specific message noting that.
Bug: T53429
Change-Id: I3c9ae31ef9eafab7f94325fcd58e14a3e45c9818
Have the parameter order in the display table appear according to
the paramOrder setting. If the setting isn't explicitly set in the
TemplateData string, the parameters will be in order of appearance.
Change-Id: Ibbd5a7b28f722c51788b9ed0f5ac577902ce4b7a