RuneScape:Calculators/Form calculators

From the RuneScape Wiki, the wiki for all things RuneScape
Jump to: navigation, search
For example usage of this script, see /Examples. For tests, see /Tests.

Form calculators use a script that enables dynamic loading of templates into parts of a page. A configurable form is used to input parameters into the template.

Configuration[edit source]

The JS calculator's configuration section uses name = value pairs, each separated by a newline. The possible names are:

  • template - The name of the template to use on form submittal. If no namespace is provided, then the template namespace will be searched by default. If the template is in the main namespace, you must prepend a colon to the article name. This follows the same convention that's used when transcluding templates into a page.
  • form - The unique HTML ID of the element that will contain the form. Each configuration block should specify a different form ID.
  • name - The display name for the calculator. Defaults to Calculator.
  • result - The unique HTML ID of the element that will contain the parsed template.
  • suggestns - A comma-separated list of namespace IDs or names to use for autocomplete. This field applies as the default for all article parameter types used in the form, but can be overridden per parameter. By default, namespace 0 (main) is searched. See the table to the bottom for the valid namespace IDs.
  • autosubmit - Set the autosubmit status off the form, defaults to off, other acceptable values are on or disabled.
  • param - Defines a parameter to be sent to the template, in the format shown in the next section.

Parameter format[edit source]

A param line should be in the following format:

param = Param name|Label name|Default value|Param type|Param range|Toggles|Help
  • Param name - The name of the parameter as used by the template. Parameter names are case sensitive, and there can be no spaces.
  • Label name - The label used for the parameter in the form. If blank, Param name is used. Label name supports using HTML to format the labels - including simple formats like <em>, <span> and even <img />.
    • However, normal wikiscript can only be used if the config is contained within a div tag instead of a pre tag
  • Default value - The default value used to prefill the form initially.
  • Param type - The type of the parameter, used for form validation and to control the appearance of the form field. For more information on each param type see valid parameter types below. Valid values for Param type are:
    • string (default) - The input box can contain any value.
    • group - Used to group other inputs together.
    • article - Field for entering the name of an article (page) on the wiki.
    • number - Field for entering a number.
    • int - Field for entering an integer.
    • select - A dropdown list for selecting an option.
    • buttonselect - A series of buttons for selecting an option (only 1 selected at a time).
    • combobox - A combination of a select and string input. Users can input any string, and will be prompted with things from the dropdown list that start with the same characters.
    • check - A checkbox.
    • toggleswitch - Same function as checkbox but is a toggle instead.
    • togglebutton - Same function as checkbox but is a button (toggles on/off).
    • hs - A special field which attempts to lookup a player's hiscores for values to be passed into other parameters.
    • rsn - A special field for player names (when used by the calculator and not to populate another field).
    • fixed - A value that is displayed but cannot be changed by the user.
    • hidden - A value that is hidden from the user and cannot be changed (no row is created at all).
    • semihidden - A combination of fixed and hidden: value is hidden from user, and cannot be changed (by the user), however a row is generated such that another script could change it.
  • Param range - The allowed range of the parameter. The format of this field depends on the Param type chosen.
  • Toggles - The inputs or groups of inputs toggled by this widget. Applies to select, buttonselect, combobox, check, toggleswitch, togglebutton, int and number param types. Toggles are given in the format value=toggles. Note that when an option is chosen, all the groups/fields listed for other options (that aren't listed on the selected option) will be hidden.
    • Default toggles: For checkboxes, toggleswitches and togglebutton the keys are "true" and "false" (values specified in Param range cannot be used), if no key is given key is assumed to be "true". For number and int inputs available keys are any numbers or "not0" which is also used for any nonzero input (if no key is specified key is assumed to be "non0").
    • Value is the name of the option (listed in param range for the input). Multiple options can be assigned them same toggles by separating them with a comma ,.
    • Toggles are the groups or fields toggled by that option, multiple groups should be separated by a comma ,. The group or field names should be those specified in their respecitve param name.
    • Multiple toggle sets are separated by semicolons ;.
    • Examples:
      • If a select has Option 1,Option 2 for the range and Option 1=Group1,Group2;Option 2=Group2,Group3 for the toggles then when "Option 1" is selected all inputs that belong to "Group1" and "Group2" will be shown while those belonging to "Group3" will be hidden. when "Option 2" is selected all inputs that belong to "Group2" and "Group3" will be shown while those belonging to "Group1" will be hidden.
      • If a button select has Button 1,Button 2,Button 3 for the range and Button 1,Button 2=Input1 for the toggles then when "Button 1" or "Button 2" is selected the other input "Input1" will be displayed while if "Button 3" is selected it will not be.
  • Help - Help text for the form field. If text is Defaults to displaying an (i) icon that can be clicked to display the help.
    • Default display for help (if given) displays an (i) icon that when clicked shows the help text in a tooltip. To display the help inline (below the input) start the help with inline= followed by the help text. Inline is not currently available.
    • Help supports using HTML to format the help (both tooltip and inline) - including simple formats like <em>, <span> and even <img />.

The configuration section should be contained within a <div> or <pre> tag with the class jcConfig, e.g.:

<pre class="jcConfig">
  ... configuration ...
</pre>

For example configurations, see /Examples.

Valid Parameter types[edit source]

  • string (default) - The input box can contain any value.
  • group - Used to group inputs together. Items in the group are specified in Param range as a comma separated list of Param name.
    • Default value is ignored.
  • article - The input box should contain an article name. This field appears similar to the search box, with suggestions provided.
    • The namespaces used are set using the Param range as a comma separated list of namespaces or their ids. Allowable values are the id numbers or names (not case sensitive) of namespaces. Defaults to 0 (main), use all or * for all namespaces. See the table below for a list of valid namespaces and their ids.
  • number - The input box must contain a number.
    • A valid range can be specified in Param range in the format min-max,step,buttonstep. If either min or max is omitted or a range is not given, then infinity is assumed, negative numbers can also be given. The step is the step the numbers are allowed in (numbers are valid if they are a multiple of this), defaults to 0.01 (thus allows all numbers too 2 decimal places). The button step is the amount the value increases or decreases when the +/- buttons or arrow keys are pressed, defaults to 1.
  • int - The input box must contain an integer. A valid range and steps can be specified using Param range (see above).
  • select - The input is selected from a comma-separated list of values given in Param range.
  • buttonselect - The input is select of buttons from a comma-separated list of values given in Param range.
  • combobox - A combination of a select and string input. Users can input any string, and will be prompted with things from the dropdown list that start with the same characters. Like selects, the contents of the dropdown is defined as a comma-separated list of values given in Param range.
  • check - A checkbox, with values sent to the template defined by the Param range.
    • The Param range has format value if true,value if false, which defines what the form will pass to the template when ticked or not ticked. The default for this is true,false.
    • The checkbox will be checked by default if the Default value is set to true or the same as the value if true given in the Param range.
  • toggleswitch - A toggle switch, with values sent to the template defined by the Param range.
    • The Param range has format value if true,value if false, which defines what the form will pass to the template when ticked or not ticked. The default for this is true,false.
    • The toggle switch will be on by default if the Default value is set to true or the same as the value if true given in the Param range.
  • togglebutton - A button, which toggles on/off, with values sent to the template defined by the Param range.
    • The Param range has format value if true,value if false, which defines what the form will pass to the template when ticked or not ticked. The default for this is true,false.
    • The toggle button will be selected by default if the Default value is set to true or the same as the value if true given in the Param range.
  • hs - A special field which attempts to lookup a player's hiscores for values to be passed into other parameters.
    • The form will automatically try to prefill the form with the last name entered in a hs type box. If no name is found then Default value is used.
    • Param range has a format of otherparam,skill,value where otherparam is the Param name of any other parameter in the form, skill is the integer of the skill to lookup (as defined by the table to the bottom), and value is 0 for rank, 1 for level and 2 for experience (0 for rank and 1 for score in minigames). Multiple parameters can be changed by using ; - i.e. otherparam,skill,value;thirdparam,skill2,value2.
  • rsn - A special field for Runescape names, which validates them (based on character inputs).
    • The form will automatically try to prefill the form with the last name entered in a hs type box. If no name is found then Default value is used.
  • fixed - The value specified by Default value will be shown but cannot be changed in the form.
  • hidden - The value specified by Default value will be hidden in the form and cannot be changed. No row is generated for the form at all.
  • semihidden - A combination of fixed and hidden: The value specified by Default value will be hidden in the form and cannot be changed, but unlike hidden, a row is added to the form, which is hidden with CSS. This is primarily for inter-script usage (i.e. some other script sets the semihidden value to something so that it is passed to the template when submitted).

IDs[edit source]

Namespaces[edit source]

Namespace IDs
Namespace Article ID Talk ID
All *
Media -2 N/A
Special -1 N/A
(main) 0 1
User 2 3
RuneScape 4 5
File 6 7
MediaWiki 8 9
Template 10 11
Help 12 13
Category 14 15
Update 100 101
Forum 110 111
Exchange 112 113
Charm 114 115
Calculator 116 117
Map 118 119
Module 828 829

Hiscores[edit source]

Hiscore IDs
Skills
Skill ID Skill ID
Total Level.png: RS3 Inventory image of Total LevelOverall 0 Attack.png: RS3 Inventory image of AttackAttack 1
Defence.png: RS3 Inventory image of DefenceDefence 2 Strength.png: RS3 Inventory image of StrengthStrength 3
Constitution.png: RS3 Inventory image of ConstitutionConstitution 4 Ranged.png: RS3 Inventory image of RangedRanged 5
Prayer.png: RS3 Inventory image of PrayerPrayer 6 Magic.png: RS3 Inventory image of MagicMagic 7
Cooking.png: RS3 Inventory image of CookingCooking 8 Woodcutting.png: RS3 Inventory image of WoodcuttingWoodcutting 9
Fletching.png: RS3 Inventory image of FletchingFletching 10 Fishing.png: RS3 Inventory image of FishingFishing 11
Firemaking.png: RS3 Inventory image of FiremakingFiremaking 12 Crafting.png: RS3 Inventory image of CraftingCrafting 13
Smithing.png: RS3 Inventory image of SmithingSmithing 14 Mining.png: RS3 Inventory image of MiningMining 15
Herblore.png: RS3 Inventory image of HerbloreHerblore 16 Agility.png: RS3 Inventory image of AgilityAgility 17
Thieving.png: RS3 Inventory image of ThievingThieving 18 Slayer.png: RS3 Inventory image of SlayerSlayer 19
Farming.png: RS3 Inventory image of FarmingFarming 20 Runecrafting.png: RS3 Inventory image of RunecraftingRunecrafting 21
Hunter.png: RS3 Inventory image of HunterHunter 22 Construction.png: RS3 Inventory image of ConstructionConstruction 23
Summoning.png: RS3 Inventory image of SummoningSummoning 24 Dungeoneering.png: RS3 Inventory image of DungeoneeringDungeoneering 25
Divination.png: RS3 Inventory image of DivinationDivination 26 Invention Invention 27
Minigames
Minigame ID Minigame ID
Bounty Hunter.png: RS3 Inventory image of Bounty HunterBounty Hunter 28 Bounty Hunter.png: RS3 Inventory image of Bounty HunterBounty Hunter Rogue 29
Dominion Tower.png: RS3 Inventory image of Dominion TowerDominion Tower 30 Crucible.png: RS3 Inventory image of CrucibleCrucible 31
Castle Wars.png: RS3 Inventory image of Castle WarsCastle Wars 32 Barbarian Assault.png: RS3 Inventory image of Barbarian AssaultBarbarian Assault Attacker 33
Barbarian Assault.png: RS3 Inventory image of Barbarian AssaultBarbarian Assault Defender 34 Barbarian Assault.png: RS3 Inventory image of Barbarian AssaultBarbarian Assault Collector 35
Barbarian Assault.png: RS3 Inventory image of Barbarian AssaultBarbarian Assault Healer 36 Duel Arena#Tournaments.png: RS3 Inventory image of Duel Arena#TournamentsDuel Tournaments 37
Mobilising Armies.png: RS3 Inventory image of Mobilising ArmiesMobilising Armies 38 Conquest.png: RS3 Inventory image of ConquestConquest 39
Fist of Guthix.png: RS3 Inventory image of Fist of GuthixFist of Guthix 40 Gielinor Games.png: RS3 Inventory image of Gielinor GamesGG: Athletics 41
Gielinor Games/Resource Race.png: RS3 Inventory image of Gielinor Games/Resource RaceGG: Resource Race 42 The Bird and the Beast.png: RS3 Inventory image of The Bird and the BeastWE2: Armadyl contribution 43
The Bird and the Beast.png: RS3 Inventory image of The Bird and the BeastWE2: Bandos contribution 44 The Bird and the Beast.png: RS3 Inventory image of The Bird and the BeastWE2: Armadyl PvP kills 45
The Bird and the Beast.png: RS3 Inventory image of The Bird and the BeastWE2: Bandos PvP kills 46 Heist.png: RS3 Inventory image of HeistHeist: Guard Level 47
Heist.png: RS3 Inventory image of HeistHeist: Robber Level 48 Cabbage Facepunch Bonanza.png: RS3 Inventory image of Cabbage Facepunch BonanzaCFB: 5 games average 49
2015 April Fools.png: RS3 Inventory image of 2015 April FoolsAF2015: Cow Tipping 50 2015 April Fools.png: RS3 Inventory image of 2015 April FoolsAF2015: Post-miniquest rat kills 51
RuneScore.png: RS3 Inventory image of RuneScoreRuneScore 52 Sealed clue scroll (easy).png: RS3 Inventory image of Sealed clue scroll (easy)Clue scrolls (easy) 53
Sealed clue scroll (medium).png: RS3 Inventory image of Sealed clue scroll (medium)Clue scrolls (medium) 54 Sealed clue scroll (hard).png: RS3 Inventory image of Sealed clue scroll (hard)Clue scrolls (hard) 55
Sealed clue scroll (elite).png: RS3 Inventory image of Sealed clue scroll (elite)Clue scrolls (elite) 56 Sealed clue scroll (master).png: RS3 Inventory image of Sealed clue scroll (master)Clue scrolls (master) 57

License[edit source]

This script is released under the GNU General Public License. The source code is available at MediaWiki:Gadget-calc-core.js.