Bureaucrats, Moderators (CommentStreams), Interface administrators, Push subscription managers, Suppressors, Administrators
4,571
edits
No edit summary |
|||
Line 19: | Line 19: | ||
|- | |- | ||
| <code>autocapitalize='' value''</code> | | <code>autocapitalize='' value''</code> | ||
| <!--T:336--> the | | <!--T:336--> the [https://developer.mozilla.org/docs/Web/HTML/Global_attributes/autocapitalize autocapitalize]</> parameter in the corresponding HTML tag to whatever value is set for this parameter; examples include <code>on</code>, <code>off</code>, <code>sentences</code></>, etc. | ||
|} | |} | ||
Line 44: | Line 44: | ||
| <code>editor=<!--T:282--> ''editor type''</code> | | <code>editor=<!--T:282--> ''editor type''</code> | ||
| <!--T:15--> Adds a JavaScript-based editor to the textarea to make editing its contents more user-friendly. The following values are supported: | | <!--T:15--> Adds a JavaScript-based editor to the textarea to make editing its contents more user-friendly. The following values are supported: | ||
:* <code>wikieditor</code> - <!--T:16--> uses the | :* <code>wikieditor</code> - <!--T:16--> uses the {{ll|Extension:WikiEditor|WikiEditor}}</> extension, which must be installed. <!--T:17--> Unfortunately, only one input within the form can have WikiEditor associated with it, due to a limitation in the WikiEditor extension. <!--T:18--> If you want to add any additional {{ll|Extension:WikiEditor/Toolbar_customization|custom toolbars}}</> to WikiEditor, you will need to add them in the JavaScript to <code>('#free_text').wikiEditor</code></>, just as they exist for < name=3><code>('#wpTextbox1').wikiEditor</code></>. | ||
::<!--T:330--> Note that there was a change to the WikiEditor code in the version that corresponds to MediaWiki version 1.34 that broke this functionality. <!--T:331--> It was restored in the 1.36 version of WikiEditor, with a corresponding change in version 5.1 of Page Forms. <!--T:332--> If you are using a version somewhere in the middle for WikiEditor, and you don't want to upgrade MediaWiki, you can manually apply the necessary change to the code, which can be found [< | ::<!--T:330--> Note that there was a change to the WikiEditor code in the version that corresponds to MediaWiki version 1.34 that broke this functionality. <!--T:331--> It was restored in the 1.36 version of WikiEditor, with a corresponding change in version 5.1 of Page Forms. <!--T:332--> If you are using a version somewhere in the middle for WikiEditor, and you don't want to upgrade MediaWiki, you can manually apply the necessary change to the code, which can be found [< name="url">https://github.com/Nikerabbit/mediawiki-extensions-WikiEditor/commit/9a1188d0850418d8ae64bd06b7f39d9a8cbf127f</> here]. <!--T:333--> You should also upgrade to version 5.1 or later of Page Forms if you are using an older versions; or you can apply the Page Forms patch [< name="url">https://github.com/Nikerabbit/mediawiki-extensions-PageForms/commit/41e69bbe6928ac2a85aae6a23c7be009511fcbcb</> here]. | ||
:* <code>tinymce</code> - <!--T:19--> uses the | :* <code>tinymce</code> - <!--T:19--> uses the {{ll|Extension:TinyMCE|TinyMCE}}</> extension, which must be installed. <!--T:334--> This does not work with multiple-instance templates. | ||
:* <code>visualeditor</code> - <!--T:20--> uses the | :* <code>visualeditor</code> - <!--T:20--> uses the {{ll|Extension:VisualEditor|VisualEditor}}</> extension, which must be installed. Another extension, {{ll|Extension:VEForAll|VEForAll}}</>, must also be installed. <!--T:24--> If you would like the toolbar to show up at the top of the edit field rather than at the bottom (default) you will also have to add <code>|class=toolbarOnTop</code></> | ||
|- | |- | ||
| <code>max height=<!--T:283--> ''maximum height''</code> | | <code>max height=<!--T:283--> ''maximum height''</code> | ||
| <!--T:21--> If VisualEditor is being used, specifies a maximum height (in pixels) for the textarea, since VE uses autogrow. <!--T:329--> The default value for this is set by the variable | | <!--T:21--> If VisualEditor is being used, specifies a maximum height (in pixels) for the textarea, since VE uses autogrow. <!--T:329--> The default value for this is set by the variable <code>$wgPageFormsVisualEditorMaxHeight</code></>, which by default is {{formatnum:400}}</>. | ||
|- | |- | ||
| <code>placeholder=<!--T:284--> ''placeholder text''</code> | | <code>placeholder=<!--T:284--> ''placeholder text''</code> | ||
Line 65: | Line 65: | ||
The "combobox" input type provides a [[w:Combo box|combo box]] interface: an input that functions like a regular autocomplete field, but has an additional down-arrow icon, like that of a dropdown, to let the user see all the available values at once. | The "combobox" input type provides a [[w:Combo box|combo box]] interface: an input that functions like a regular autocomplete field, but has an additional down-arrow icon, like that of a dropdown, to let the user see all the available values at once. | ||
It is implemented using the {{ll|OOUI}}</ | It is implemented using the {{ll|OOUI}}</> library. | ||
''Special parameters:'' | ''Special parameters:'' | ||
Line 88: | Line 88: | ||
<!--T:38--> This input type "tokenizes" the values in the field, i.e puts a block around each value to make it a single unit instead of just a string of characters. | <!--T:38--> This input type "tokenizes" the values in the field, i.e puts a block around each value to make it a single unit instead of just a string of characters. | ||
<!--T:39--> These "tokens" can then also be rearranged. | <!--T:39--> These "tokens" can then also be rearranged. | ||
<!--T:40--> This input is implemented using the [< | <!--T:40--> This input is implemented using the [< name=url>https://select2.github.io/</> Select2] JavaScript library. | ||
Line 111: | Line 111: | ||
<!--T:47--> By default, "tokens" appears as a single-row input, then expands vertically if necessary as more values are added. | <!--T:47--> By default, "tokens" appears as a single-row input, then expands vertically if necessary as more values are added. | ||
<!--T:48--> In some cases, you may want this input to appear taller than one row when it starts out, to make it clearer to users that it will expand. | <!--T:48--> In some cases, you may want this input to appear taller than one row when it starts out, to make it clearer to users that it will expand. | ||
<!--T:49--> To do that for a single input, add a | <!--T:49--> To do that for a single input, add a <code>class</code></> parameter to the field tag, like "<code>|class=''ClassName''</code></>", then add something like the following to < name=3>MediaWiki:Common.css</>: | ||
<syntaxhighlight lang="css"> | <syntaxhighlight lang="css"> | ||
Line 121: | Line 121: | ||
<!--T:50--> | <!--T:50--> | ||
If you want this to apply to all "tokens" inputs in the wiki, add something like this to | If you want this to apply to all "tokens" inputs in the wiki, add something like this to MediaWiki:Common.css</> instead: | ||
Line 144: | Line 144: | ||
<!--T:57--> The "checkboxes" input displays checkboxes to let the user choose any number of values. | <!--T:57--> The "checkboxes" input displays checkboxes to let the user choose any number of values. | ||
<!--T:58--> If there are more than a certain number of checkboxes, "Select all" and "Select none" links will automatically appear above the set of checkboxes, allowing users to automatically check all or none of them. | <!--T:58--> If there are more than a certain number of checkboxes, "Select all" and "Select none" links will automatically appear above the set of checkboxes, allowing users to automatically check all or none of them. | ||
<!--T:59--> This number is dictated by the variable | <!--T:59--> This number is dictated by the variable <code>$wgPageFormsCheckboxesSelectAllMinimum</code></>, which by default is < name=3>{{formatnum:10}}</>, though it can be changed in LocalSettings.php</>. | ||
Line 160: | Line 160: | ||
===listbox=== | ===listbox=== | ||
<!--T:63--> The "listbox" input corresponds to the HTML | <!--T:63--> The "listbox" input corresponds to the HTML <select></> tag, with the "multiple" attribute added. | ||
<!--T:64--> It shows a vertical list of options, where the user can select any number of values. | <!--T:64--> It shows a vertical list of options, where the user can select any number of values. | ||
Line 179: | Line 179: | ||
<!--T:69--> How does this input know whether it can hold one or multiple values, and should thus display radiobuttons vs. checkboxes? It checks whether the field in the template is defined as holding a list of values (using #arraymap) or not. | <!--T:69--> How does this input know whether it can hold one or multiple values, and should thus display radiobuttons vs. checkboxes? It checks whether the field in the template is defined as holding a list of values (using #arraymap) or not. | ||
<!--T:70--> This check is not perfect, though. | <!--T:70--> This check is not perfect, though. | ||
<!--T:71--> If the tree input is showing radiobuttons instead of checkboxes, you just need to add the parameter " | <!--T:71--> If the tree input is showing radiobuttons instead of checkboxes, you just need to add the parameter "|list</>" to the field tag in the form definition, to establish that this is a list. | ||
Line 216: | Line 216: | ||
<!--T:82--> | <!--T:82--> | ||
You can see a sample form that uses this input type [< | You can see a sample form that uses this input type [< name=url>http://discoursedb.org/wiki/Form:Category_input_test</> here]. | ||
====For category names==== <!--T:83--> | ====For category names==== <!--T:83--> | ||
Line 224: | Line 224: | ||
<!--T:85--> | <!--T:85--> | ||
If the field specifies multiple categories, and the template uses | If the field specifies multiple categories, and the template uses #arraymap</> to do it, the call to #arraymap</> should look something like: | ||
Line 231: | Line 231: | ||
<!--T:86--> | <!--T:86--> | ||
...in other words, you need to specify the final "delimiter" parameter for | ...in other words, you need to specify the final "delimiter" parameter for #arraymap</>, and make it a space, blank or something similar, to avoid printing commas between the category tags. | ||
Line 245: | Line 245: | ||
{| class="wikitable" | {| class="wikitable" | ||
| <code>label=</code> | | <code>label=</code> | ||
| <!--T:89--> specifies a "label" for this checkbox, which would go into a | | <!--T:89--> specifies a "label" for this checkbox, which would go into a {{tag|label|open}}</> tag. | ||
|} | |} | ||
Line 257: | Line 257: | ||
<!--T:91--> | <!--T:91--> | ||
The " | The "datetime</>" input is similar to the "date</>" input, but includes additional entries for hours, minutes, seconds and AM/PM. | ||
<!--T:92--> | <!--T:92--> | ||
Line 271: | Line 271: | ||
<!--T:108--> | <!--T:108--> | ||
" | "year</>" is a simple text input that is used to get a year-only value for a date field. | ||
===datepicker=== | ===datepicker=== | ||
[[File:PF OOUI datepicker.png|thumb|<!--T:94--> A datepicker input with calendar opened]] | [[File:PF OOUI datepicker.png|thumb|<!--T:94--> A datepicker input with calendar opened]] | ||
<!--T:95--> " | <!--T:95--> "datepicker</>" lets the user pick a date with the help of a JavaScript-based popup calendar. | ||
''Special parameters:'' | ''Special parameters:'' | ||
Line 282: | Line 282: | ||
{| class="wikitable" | {| class="wikitable" | ||
| <code>date format=</code> | | <code>date format=</code> | ||
| <!--T:317--> sets a custom date format, used only for the input field. <!--T:318--> An example would be | | <!--T:317--> sets a custom date format, used only for the input field. <!--T:318--> An example would be <code>DD-MM-YYYY</code></>. | ||
|- | |- | ||
| <code>first date=</code> | | <code>first date=</code> | ||
Line 292: | Line 292: | ||
<!--T:321--> The starting day of the week (e.g., Saturday, Sunday or Monday) is set based on the language of the wiki; it unfortunately cannot be set independently of the language. | <!--T:321--> The starting day of the week (e.g., Saturday, Sunday or Monday) is set based on the language of the wiki; it unfortunately cannot be set independently of the language. | ||
<!--T:322--> If your wiki is in English and you would like weeks in the calendar input to start on Monday instead of Sunday (which is the default), you can do that by setting your wiki's language to be " | <!--T:322--> If your wiki is in English and you would like weeks in the calendar input to start on Monday instead of Sunday (which is the default), you can do that by setting your wiki's language to be "en-gb</>" instead of "en</>". | ||
===datetimepicker=== | ===datetimepicker=== | ||
<!--T:97--> " | <!--T:97--> "datetimepicker</>" is a JavaScript-based input type very similar to "datepicker</>", but it includes popups for selecting both the date and time. | ||
<!--T:98--> It defaults to <code>yyyy/mm/dd hh:mm</code>. | <!--T:98--> It defaults to <code>yyyy/mm/dd hh:mm</code>. | ||
<!--T:99--> Its set of parameters includes all of those " | <!--T:99--> Its set of parameters includes all of those "datepicker</>" as well as the following: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 313: | Line 313: | ||
<!--T:103--> | <!--T:103--> | ||
The " | The "rating</>" input type displays a set of stars to let the user enter a rating. | ||
<!--T:104--> | <!--T:104--> | ||
Line 332: | Line 332: | ||
{{anchor|googlemaps|leaflet|openlayers}} | {{anchor|googlemaps|leaflet|openlayers}} | ||
===googlemaps, leaflet, openlayers=== | ===googlemaps, leaflet, openlayers=== | ||
The " | The "googlemaps</>", "leaflet</>" and "< name=3>openlayers</>" input types let you display a map to get a coordinate value, using the < name=4>Google Maps</>, < name=5>Leaflet</> or < name=6>OpenLayers</> services, respectively. | ||
If you are using the "googlemaps" input, you may need to get a [< | If you are using the "googlemaps" input, you may need to get a [< name=url>https://developers.google.com/maps/</> Google Maps API key], then set it in LocalSettings.php</> via the <code>$wgPageFormsGoogleMapsKey</code></> setting, for the input to display. | ||
You can also optionally set these parameters for these input types: | You can also optionally set these parameters for these input types: | ||
Line 345: | Line 345: | ||
| <code>width=</code> | | <code>width=</code> | ||
| <!--T:138--> sets the width, in pixels, of the map. | | <!--T:138--> sets the width, in pixels, of the map. | ||
{{Note|1=<!--T:323--> Both | {{Note|1=<!--T:323--> Both height</> and width</> are needed together to set the dimension.}} | ||
|- | |- | ||
| <code>starting bounds=</code> | | <code>starting bounds=</code> | ||
Line 364: | Line 364: | ||
<!--T:143--> But if the form already contains one or more fields to enter the address, then the user may have to enter it twice - once to actually store the data, and the second to locate the coordinates. | <!--T:143--> But if the form already contains one or more fields to enter the address, then the user may have to enter it twice - once to actually store the data, and the second to locate the coordinates. | ||
<!--T:144--> To avoid users having to do this double work, you can have the address field(s) feed their values directly to the map when locating the point. | <!--T:144--> To avoid users having to do this double work, you can have the address field(s) feed their values directly to the map when locating the point. | ||
<!--T:145--> You can do that using the "feeds to map=" parameter - look for "feeds to map" [[ | <!--T:145--> You can do that using the "feeds to map=" parameter - look for "feeds to map" [[Extension:Page_Forms/Defining_forms#.27field.27_tag</>|here]]. | ||
<!--T:146--> All of these formats, by default, rely on external JavaScript code. | <!--T:146--> All of these formats, by default, rely on external JavaScript code. | ||
<!--T:148--> However, you can have the "openlayers" format use local JavaScript code instead, by just installing the [[ | <!--T:148--> However, you can have the "openlayers" format use local JavaScript code instead, by just installing the [[Special:MyLanguage/Extension:OpenLayers</>|OpenLayers]] extension. | ||
Line 373: | Line 373: | ||
<!--T:109--> Note that these input types all send your wiki's data (that is, the data contained in the query results) to external services. | <!--T:109--> Note that these input types all send your wiki's data (that is, the data contained in the query results) to external services. | ||
<!--T:110--> They are the only part of the Page Forms code that sends data externally, other than [[ | <!--T:110--> They are the only part of the Page Forms code that sends data externally, other than [[Special:MyLanguage/Extension:Page_Forms/Input_types#Autocompleting_on_outside_values</>|autocompleting on outside values]], though that one requires additional configuration to run. | ||
<!--T:111--> If you have a private wiki and are very concerned about no data getting out, you may want to add the following to | <!--T:111--> If you have a private wiki and are very concerned about no data getting out, you may want to add the following to LocalSettings.php</>: | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
Line 386: | Line 386: | ||
===regexp=== | ===regexp=== | ||
<!--T:113--> The " | <!--T:113--> The "regexp</>" input type is not a true input type, but rather the ability to display another input (most often "text") with additional, regular-expression-based validation. | ||
<!--T:114--> See [[ | <!--T:114--> See [[Special:MyLanguage/Extension:Page Forms/Input types/Regexp</>|here]] for a more detailed explanation of this input type and its parameters. |