| newProperty | | title | "New property" |
|---|
| x-value-converter | "newPropertyMeta" |
|---|
| type | "object" |
|---|
| required | |
|---|
| properties | | name | | title | "name" |
|---|
| type | "string" |
|---|
| minLength | 1 |
|---|
|
|---|
| type | | title | "type" |
|---|
| type | "string" |
|---|
| enum | | "string" |
| "integer" |
| "number" |
| "boolean" |
| "object" |
| "array" |
| "null" |
| "multiple" |
| "survey" |
|
|---|
|
|---|
|
|---|
|
|---|
| controlConfig | | x-message | | label | "Reference: [https://doc.wikimedia.org/mediawiki-core/1.39.5/js/#!/api/OO.ui.FieldLayout OO.ui.FieldLayout]" |
|---|
| x-label-format | "wikitext" |
|---|
|
|---|
| type | "object" |
|---|
| properties | | align | | type | "string" |
|---|
| description | "Text to insert" |
|---|
| enum | | "left" |
| "right" |
| "top" |
| "inline" |
|
|---|
|
|---|
| classes | | type | "array" |
|---|
| description | "The names of the CSS classes to apply to the element" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
| items | |
|---|
|
|---|
| help | | type | "string" |
|---|
| description | "Help text. When help text is specified and helpInline is false, a "help" icon will appear in the upper-right corner of the rendered field; clicking it will display the text in a popup. If helpInline is true, then a subtle description will be shown after the label." |
|---|
|
|---|
| helpInline | | type | "boolean" |
|---|
| description | "Whether or not the help should be inline, or shown when the "help" icon is clicked" |
|---|
|
|---|
| id | | type | "string" |
|---|
| description | "The HTML id attribute used in the rendered tag" |
|---|
|
|---|
| invisibleLabel | | type | "boolean" |
|---|
| description | "Whether the label should be visually hidden (but still accessible to screen-readers)" |
|---|
|
|---|
| label | | type | "string" |
|---|
| description | "The label text" |
|---|
|
|---|
| x-label-template | | type | "string" |
|---|
| description | "label template (overrides label, usually used in conjunction with x-watch)" |
|---|
|
|---|
| text | | type | "string" |
|---|
| description | "Text to insert" |
|---|
|
|---|
| title | | type | "string" |
|---|
| description | "The title text" |
|---|
|
|---|
|
|---|
|
|---|
| uiSchemaItem | | description | "Defines a UI schema configuration for adding dynamic properties to objects." |
|---|
| type | "object" |
|---|
| required | |
|---|
| properties | | label | | type | "string" |
|---|
| description | "Display label for the property" |
|---|
| minLength | 1 |
|---|
| examples | |
|---|
|
|---|
| schema | | oneOf | | type | "string" |
|---|
| title | "reference" |
|---|
| description | "Internal or external reference to the JSON schema definition" |
|---|
| examples | | "JsonSchema:SchemaBuilder/Field" |
| "#/definitions/UISchema" |
|
|---|
|
| $ref | "#/definitions/typedSchema/object" |
|---|
| title | "schema" |
|---|
| tyoe | "object" |
|---|
| description | "Inline schema" |
|---|
|
|
|---|
|
|---|
| popup_size | | title | "popup size" |
|---|
| type | "string" |
|---|
| default | "medium" |
|---|
| enum | |
|---|
|
|---|
|
|---|
|
|---|
| baseProperties | | @comment | "Base JSON Schema keywords common to all schema types (excluding multiple-related keywords)" |
|---|
| type | "object" |
|---|
| x-default-properties | | "type" |
| "title" |
| "description" |
| "x-required" |
|
|---|
| properties | | const | | description | "The value must be equal to this constant" |
|---|
|
|---|
| type | | type | "string" |
|---|
| description | "JSON Schema primitive type (string, number, integer, boolean, object, array, null)" |
|---|
|
|---|
| title | | type | "string" |
|---|
| description | "Field title" |
|---|
|
|---|
| x-title-format | | type | "string" |
|---|
| description | "title format" |
|---|
| enum | |
|---|
|
|---|
| description | | type | "string" |
|---|
| x-format | "textarea" |
|---|
| description | "Description or help text for the field" |
|---|
|
|---|
| x-description-format | | type | "string" |
|---|
| description | "description format" |
|---|
| enum | |
|---|
|
|---|
| x-title-template | | type | "string" |
|---|
| x-format | "text" |
|---|
| description | "title template (overrides title, usually used in conjunction with x-watch)" |
|---|
|
|---|
| x-description-template | | type | "string" |
|---|
| x-format | "textarea" |
|---|
| description | "description template (overrides description, usually used in conjunction with x-watch)" |
|---|
|
|---|
| $comment | | type | "string" |
|---|
| description | "Developer comment - ignored by validation, for documentation purposes" |
|---|
| x-format | "textarea" |
|---|
|
|---|
| $ref | | x-message | | label | "Reference to another schema (eg. #definitions/subschema, or JsonSchema:SubSchema, or JsonSchema:SubSchema#definitions/sub-subschema)" |
|---|
| type | "warning" |
|---|
|
|---|
| format | "uri-reference" |
|---|
| type | "string" |
|---|
| description | "Reference to another schema definition" |
|---|
|
|---|
| contentEncoding | | type | "string" |
|---|
| description | "Encoding method for string content (e.g., 'base64', 'binary')" |
|---|
|
|---|
| contentMediaType | | type | "string" |
|---|
| description | "MIME type of string content (e.g., 'image/png', 'application/json')" |
|---|
|
|---|
| deprecated | | type | "boolean" |
|---|
| description | "Field is deprecated - show warning to users" |
|---|
|
|---|
| enum | | description | "The value must be one of these specified values" |
|---|
| type | "array" |
|---|
|
|---|
| examples | | type | "array" |
|---|
| description | "Example values demonstrating valid input (not validation keywords)" |
|---|
| items | |
|---|
|
|---|
| readOnly | | type | "boolean" |
|---|
| description | "Field is read-only and cannot be modified" |
|---|
|
|---|
| writeOnly | | type | "boolean" |
|---|
| description | "Field can be written but not read (e.g., password fields)" |
|---|
|
|---|
| x-runtime-only | | type | "boolean" |
|---|
| description | "Field only used at runtime (e.g., pagename formula)" |
|---|
|
|---|
| x-watch | | description | "Watched fields for reactive updates. Can be an array of fields, or key/value pairs mapping alias to field name." |
|---|
| oneOf | | type | "array" |
|---|
| items | |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
|
| type | "object" |
|---|
| additionalProperties | |
|---|
|
|
|---|
|
|---|
| x-hidden | | type | |
|---|
| description | "Hide the field from the form UI. Only use the 'DependencyCondition' schema if the visibility should be determined by the actual schema at runtime" |
|---|
| oneOf | |
| type | "object" |
|---|
| $ref | "JsonSchema:SchemaBuilder/DependenciesHidden" |
|---|
|
|
|---|
|
|---|
| x-compact | | type | "boolean" |
|---|
| description | "Hide title, description and error holder, disable border and padding" |
|---|
|
|---|
| x-no-title | | type | "boolean" |
|---|
| description | "Hide title" |
|---|
|
|---|
| x-no-description | | type | "boolean" |
|---|
| description | "Hide description" |
|---|
|
|---|
| x-css-class | | type | "string" |
|---|
| description | "Custom CSS class name to apply to the container" |
|---|
|
|---|
| x-css-inline | | type | "string" |
|---|
| description | "Inline css to apply to the container" |
|---|
|
|---|
| x-dependency | | $ref | "JsonSchema:SchemaBuilder/Dependencies" |
|---|
| description | "Conditional display logic - field only shown when dependencies are met" |
|---|
|
|---|
| x-show | | type | "boolean" |
|---|
| description | "Property will be always visible" |
|---|
|
|---|
| x-required | | type | "boolean" |
|---|
| x-runtime-only | true |
|---|
| x-show | true |
|---|
| description | "Set the property as required (it will be handled within the "required" property in the parent schema)" |
|---|
|
|---|
| x-padding | | type | "boolean" |
|---|
| description | "Force padding to the container" |
|---|
|
|---|
| x-border | | type | "boolean" |
|---|
| description | "Force border to the container" |
|---|
|
|---|
| x-create-only | | type | "boolean" |
|---|
| description | "Property only rendered when creating the form data" |
|---|
|
|---|
| x-render-template | | type | "string" |
|---|
| description | "Template name to be used by the parser function <code>jsonformsrender</code> instead of the computed name" |
|---|
| x-description-format | "wikitext" |
|---|
| x-input | "mw.widgets.TitleInputWidget" |
|---|
| x-input-config | |
|---|
|
|---|
| x-data | | type | "object" |
|---|
| description | "Data object to be used in conjunction with converters or enum providers" |
|---|
| additionalProperties | true |
|---|
|
|---|
| allOf | | description | "Schema must be valid against all of the subschemas (logical AND)" |
|---|
| type | "array" |
|---|
| items | | $ref | "#/definitions/schema" |
|---|
|
|---|
| x-layout | "tabs_" |
|---|
|
|---|
| oneOf | | description | "Schema must be valid against exactly one of the subschemas (logical XOR)" |
|---|
| type | "array" |
|---|
| items | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| anyOf | | description | "Schema must be valid against at least one of the subschemas (logical OR)" |
|---|
| type | "array" |
|---|
| items | | $ref | "#/definitions/schema" |
|---|
|
|---|
| x-layout | "tabs_" |
|---|
|
|---|
| not | | $ref | "#/definitions/schema" |
|---|
| description | "Schema must NOT be valid against the given schema" |
|---|
|
|---|
| if | | $ref | "#/definitions/schema" |
|---|
| description | "Conditional validation: if this schema validates, then 'then' must validate" |
|---|
|
|---|
| then | | $ref | "#/definitions/schema" |
|---|
| description | "Conditional validation: must validate when 'if' validates" |
|---|
|
|---|
| else | | $ref | "#/definitions/schema" |
|---|
| description | "Conditional validation: must validate when 'if' does NOT validate" |
|---|
|
|---|
|
|---|
| required | |
|---|
|
|---|
| multiple | | description | "Schema for logical combinations (oneOf, anyOf, allOf, not, if/then/else)." |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
| type | "object" |
|---|
| properties | | type | | type | "array" |
|---|
| items | | type | "string" |
|---|
| enum | | "string" |
| "integer" |
| "boolean" |
| "number" |
| "object" |
| "array" |
|
|---|
| x-input-config | |
|---|
|
|---|
|
|---|
|
|---|
|
|
|---|
| properties | | properties | | title | "Properties" |
|---|
| type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| x-additional-properties-ui | | label | "New property" |
|---|
| schema | "#/definitions/newProperty" |
|---|
| popup_size | "medium" |
|---|
|
|
|---|
| additionalProperties | true |
|---|
| description | "User-defined properties with their schemas" |
|---|
|
|---|
| definitions | | type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| description | "Reusable schema definitions (alias of $defs)" |
|---|
|
|---|
| $defs | | type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| description | "Reusable schema definitions (alias of definitions)" |
|---|
|
|---|
| links | | type | "array" |
|---|
| x-layout | "tabs_" |
|---|
| description | "see [https://json-schema.org/draft-06/draft-wright-json-schema-hyperschema-01 draft-wright-json-schema-hyperschema-01]" |
|---|
| x-description-format | "wikitext" |
|---|
| items | | type | "object" |
|---|
| properties | | rel | | type | "string" |
|---|
| description | "Link relation type" |
|---|
|
|---|
| href | | type | "string" |
|---|
| description | "URI template for the link" |
|---|
|
|---|
| x-destroy-values-on-switch | | type | "boolean" |
|---|
| default | false |
|---|
| description | "Destroy value on switch" |
|---|
|
|---|
| x-no-validate | | type | "boolean" |
|---|
| default | false |
|---|
| description | "No validate" |
|---|
|
|---|
|
|---|
|
|---|
|
|---|
| x-switch | | type | "string" |
|---|
| description | "Widget for switch" |
|---|
| enum | | "OO.ui.ButtonMenuSelectWidget" |
| "OO.ui.ButtonSelectWidget" |
| "OO.ui.RadioSelectInputWidget" |
| "OO.ui.DropdownInputWidget" |
|
|---|
| default | "OO.ui.ButtonSelectWidget" |
|---|
|
|---|
| x-switch-config | | type | "object" |
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-switch" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-switch}}" |
|---|
|
|
|---|
|
|---|
|
|---|
|
|---|
| string | | description | "JSON Schema string type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "string" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "string" |
|---|
| description | "Default string value when not provided" |
|---|
|
|---|
| enum | | type | "array" |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
| x-input-config | |
|---|
|
|---|
| description | "String must be one of the specified values" |
|---|
|
|---|
| x-enum-titles | | type | "array" |
|---|
| description | "Display labels for enum values. Must be the same length as enum array." |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
|
|---|
|
|---|
| x-enum-titles-format | | type | "string" |
|---|
| description | "description format" |
|---|
| enum | |
|---|
|
|---|
| x-enum-template | | $ref | "JsonSchema:SchemaBuilder/EnumTemplate" |
|---|
| description | "Dynamic source for enum using templates" |
|---|
|
|---|
| x-enum-provider | | type | "string" |
|---|
| description | "Name of the enum provider to be used in selects. When not a built-in function, must be declared in [[MediaWiki:JsonFormsOptions]] and provide at least a "source" method" |
|---|
| x-description-format | "wikitext" |
|---|
| x-input | "OO.ui.ComboBoxInputWidget" |
|---|
| enum | | "uGroups" |
| "slotRoles" |
| "jsonSlots" |
| "contentModels" |
| "jsonSchemas" |
|
|---|
|
|---|
| maxLength | | minimum | 0 |
|---|
| type | "integer" |
|---|
| description | "Maximum string length allowed" |
|---|
|
|---|
| minLength | | minimum | 0 |
|---|
| type | "integer" |
|---|
| description | "Minimum string length required" |
|---|
|
|---|
| pattern | | format | "regex" |
|---|
| type | "string" |
|---|
| description | "Regular expression pattern that the string must match" |
|---|
|
|---|
| x-pattern-message | | x-format | "textarea" |
|---|
| type | "string" |
|---|
| description | "User-friendly error message to show when pattern validation fails" |
|---|
|
|---|
| x-template | | type | "string" |
|---|
| description | "Template string for generating dynamic values (e.g., '{{field1}}-{{field2}}')" |
|---|
|
|---|
|
|---|
|
|---|
| stringOptions | | description | "UI configuration options specific to string-type fields" |
|---|
| type | "object" |
|---|
| if | | properties | | format | | enum | | "date-time" |
| "time" |
| "date" |
| "email" |
| "idn-email" |
| "hostname" |
| "idn-hostname" |
| "ipv4" |
| "ipv6" |
| "uri" |
| "uri-reference" |
| "iri" |
| "uri-template" |
| "json-pointer" |
| "relative-json-pointer" |
| "regex" |
|
|---|
|
|---|
|
|---|
| required | |
|---|
|
|---|
| then | |
|---|
| properties | | x-format-type | | type | "string" |
|---|
| enum | |
|---|
| default | "custom" |
|---|
| x-runtime-only | true |
|---|
| description | "Selects whether to use standard JSON Schema formats or custom formats" |
|---|
|
|---|
| format | | type | "string" |
|---|
| default | "" |
|---|
| enum | | "date-time" |
| "time" |
| "date" |
| "email" |
| "idn-email" |
| "hostname" |
| "idn-hostname" |
| "ipv4" |
| "ipv6" |
| "uri" |
| "uri-reference" |
| "iri" |
| "uri-template" |
| "json-pointer" |
| "relative-json-pointer" |
| "regex" |
|
|---|
| x-dependency | |
|---|
| description | "Standard JSON Schema format validation" |
|---|
|
|---|
| x-format | | type | "string" |
|---|
| default | "text" |
|---|
| enum | | "autocomplete" |
| "color" |
| "json" |
| "hidden" |
| "file" |
| "html" |
| "markdown" |
| "month" |
| "pagename" |
| "rating" |
| "tel" |
| "text" |
| "textarea" |
| "user" |
| "url" |
| "uuid" |
| "wikitext" |
|
|---|
| x-dependency | |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input | | x-watch | |
|---|
| x-enum-provider | "metaSchemaFormatToInput" |
|---|
| enum_ | | "autocomplete" |
| "ColorPicker" |
| "intl-tel-input" |
| "JsonEditor" |
| "JsonForms" |
| "LookupElement" |
| "month" |
| "mw.widgets.DateInputWidget" |
| "mw.widgets.DateTimeInputWidget" |
| "mw.widgets.TitleInputWidget" |
| "mw.widgets.UserInputWidget" |
| "OO.ui.ButtonSelectWidget" |
| "OO.ui.ComboBoxInputWidget" |
| "OO.ui.DropdownInputWidget" |
| "OO.ui.MultilineTextInputWidget" |
| "OO.ui.TextInputWidget" |
| "OO.ui.RadioSelectInputWidget" |
| "RatingWidget" |
| "uuid" |
| "VisualEditor" |
| "WikiEditor" |
|
|---|
| x-dependency | | or | | and | |
| path | "x-format" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
| and | |
| path | "format" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|
|---|
|
|---|
| type | "string" |
|---|
| default | "OO.ui.TextInputWidget" |
|---|
| description | "Widget type for string input." |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| @comment | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Options' config is determined by the selected input. Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the string field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
| x-autocomplete-provider | | type | "string" |
|---|
| description | "Autocomplete configuration for text inputs" |
|---|
| x-dependency | | or | | path | "x-input" |
|---|
| op | "matches" |
|---|
| value | "LookupElement" |
|---|
|
| path | "x-input" |
|---|
| op | "matches" |
|---|
| value | "Autocomplete" |
|---|
|
|
|---|
|
|---|
|
|---|
| x-value-formula | | type | "string" |
|---|
| description | "Post-process value after form submission. Use <value> to print the input value. Can contain wikitext." |
|---|
|
|---|
|
|---|
|
|---|
| stringOptionsMultiselect | | description | "UI configuration options specific to string-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format-type | | type | "string" |
|---|
| enum | |
|---|
| default | "custom" |
|---|
| x-runtime-only | true |
|---|
| description | "Selects whether to use standard JSON Schema formats or custom formats" |
|---|
|
|---|
| x-format | | type | "string" |
|---|
| enum | | "text" |
| "title" |
| "user" |
| "category" |
|
|---|
| default | "text" |
|---|
|
|---|
| x-input | | x-watch | |
|---|
| x-enum-provider | "metaSchemaArrayFormatToInput" |
|---|
| enum_ | | "ButtonMultiselectWidget" |
| "GroupMultiSelectWidget" |
| "mw.widgets.CategoryMultiselectWidget" |
| "mw.widgets.TitlesMultiselectWidget" |
| "mw.widgets.UsersMultiselectWidget" |
| "OO.ui.CheckboxMultiselectInputWidget" |
| "OO.ui.MenuTagMultiselectWidget" |
| "OO.ui.TagMultiselectWidget" |
|
|---|
| default | "OO.ui.TagMultiselectWidget" |
|---|
| type | "string" |
|---|
| description | "Widget type for string input." |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the string field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
| x-autocomplete-provider | | type | "string" |
|---|
| description | "Autocomplete configuration for text inputs" |
|---|
| x-dependency | | or | | path | "x-input" |
|---|
| op | "matches" |
|---|
| value | "LookupElement" |
|---|
|
| path | "x-input" |
|---|
| op | "matches" |
|---|
| value | "autocomplete" |
|---|
|
|
|---|
|
|---|
|
|---|
|
|---|
|
|---|
| number | | description | "JSON Schema number type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "number" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "number" |
|---|
| description | "Default number value when not provided" |
|---|
|
|---|
| enum | | type | "array" |
|---|
| items | | type | "number" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
| x-input-config | | inputPosition | "outline" |
|---|
| x-type | "number" |
|---|
|
|---|
|
|---|
| description | "Number must be one of the specified values" |
|---|
|
|---|
| exclusiveMaximum | | type | "number" |
|---|
| description | "Number must be strictly less than this value" |
|---|
|
|---|
| exclusiveMinimum | | type | "number" |
|---|
| description | "Number must be strictly greater than this value" |
|---|
|
|---|
| maximum | | type | "number" |
|---|
| description | "Number must be less than or equal to this value" |
|---|
|
|---|
| minimum | | type | "number" |
|---|
| description | "Number must be greater than or equal to this value" |
|---|
|
|---|
| multipleOf | | type | "number" |
|---|
| description | "Number must be a multiple of this number" |
|---|
|
|---|
|
|---|
|
|---|
| numberOptions | | description | "UI configuration options specific to number-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format | | type | "string" |
|---|
| enum | |
|---|
| default | "number" |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input | | enum | | "OO.ui.NumberInputWidget" |
| "RangeWidget" |
|
|---|
| type | "string" |
|---|
| x-dependency | |
|---|
| description | "Widget type for number input" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the number field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
|
|---|
|
|---|
| numberOptionsMultiselect | | description | "UI configuration options specific to number-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format | | type | "string" |
|---|
| enum | |
|---|
| default | "number" |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input | | enum | | "OO.ui.TagMultiselectWidget" |
|
|---|
| type | "string" |
|---|
| x-dependency | |
|---|
| description | "Widget type for number input" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the number field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
|
|---|
|
|---|
| integer | | description | "JSON Schema integer type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "integer" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "integer" |
|---|
| description | "Default integer value when not provided" |
|---|
|
|---|
| enum | | type | "array" |
|---|
| items | | type | "integer" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
| x-input-config | | inputPosition | "outline" |
|---|
| x-type | "integer" |
|---|
|
|---|
|
|---|
| description | "Integer must be one of the specified values" |
|---|
|
|---|
| exclusiveMaximum | | type | "number" |
|---|
| description | "Integer must be strictly less than this value" |
|---|
|
|---|
| exclusiveMinimum | | type | "number" |
|---|
| description | "Integer must be strictly greater than this value" |
|---|
|
|---|
| maximum | | type | "number" |
|---|
| description | "Integer must be less than or equal to this value" |
|---|
|
|---|
| minimum | | type | "number" |
|---|
| description | "Integer must be greater than or equal to this value" |
|---|
|
|---|
| multipleOf | | type | "number" |
|---|
| description | "Integer must be a multiple of this number" |
|---|
|
|---|
|
|---|
|
|---|
| integerOptions | | description | "UI configuration options specific to integer-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format | | type | "string" |
|---|
| enum | | "number" |
| "range" |
| "rating" |
|
|---|
| default | "number" |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input | | x-watch | |
|---|
| x-enum-provider | "metaSchemaIntegerFormatToInput" |
|---|
| enum_ | | "OO.ui.NumberInputWidget" |
| "RangeWidget" |
| "RatingWidget" |
|
|---|
| type | "string" |
|---|
| x-dependency | |
|---|
| description | "Widget type for integer input" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the input field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
|
|---|
|
|---|
| integerOptionsMultiselect | | description | "UI configuration options specific to integer-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format | | type | "string" |
|---|
| enum | |
|---|
| default | "number" |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input | | enum | | "OO.ui.TagMultiselectWidget" |
|
|---|
| type | "string" |
|---|
| x-dependency | |
|---|
| description | "Widget type for integer input" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the input field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
|
|---|
|
|---|
| boolean | | description | "JSON Schema boolean type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "boolean" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "boolean" |
|---|
| description | "Default boolean value when not provided" |
|---|
|
|---|
| enum | | type | "array" |
|---|
| items | |
|---|
| description | "Boolean must be one of the specified values" |
|---|
|
|---|
|
|---|
|
|---|
| booleanOptions | | description | "UI configuration options specific to boolean-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-input | | enum | | "OO.ui.CheckboxInputWidget" |
| "OO.ui.ToggleSwitchWidget" |
|
|---|
| default | "OO.ui.ToggleSwitchWidget" |
|---|
| type | "string" |
|---|
| description | "Widget type for boolean input" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | | and | |
| path | "x-input" |
|---|
| op | "!=" |
|---|
| value | "" |
|---|
|
|
|---|
|
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-watch | "x-input" |
|---|
| x-message | | x-label-template | "Using options from <a target="blank" href="{{replace wgArticlePath '$1' 'JsonSchema:SchemaBuilder/InputOptions'}}">JsonSchema:SchemaBuilder/InputOptions</a> (#/definitions/{{x-input}})" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/{{x-input}}" |
|---|
|
|
|---|
|
|---|
| x-control-config | | type | "object" |
|---|
| description | "Additional control configuration for the boolean field" |
|---|
| $ref | "#/definitions/controlConfig" |
|---|
|
|---|
|
|---|
|
|---|
| null | | description | "JSON Schema null type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "null" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "null" |
|---|
| description | "Default null value when not provided" |
|---|
|
|---|
|
|---|
|
|---|
| nullOptions | | description | "UI configuration options for null-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-format | | type | "string" |
|---|
| enum | |
|---|
| default | "null" |
|---|
| description | "Custom format type" |
|---|
|
|---|
| x-input-config | | type | "object" |
|---|
| x-dependency | |
|---|
| description | "Configuration options passed to the selected input widget" |
|---|
| x-message | | label | "Using options from [[JsonSchema:SchemaBuilder/InputOptions]] (#/definitions/button)" |
|---|
| x-label-format | "wikitext" |
|---|
|
|---|
| links | | rel | "describedBy" |
|---|
| href | "JsonSchema:SchemaBuilder/InputOptions#/definitions/button" |
|---|
|
|
|---|
|
|---|
| x-button-action | | type | "string" |
|---|
| description | "action name registered in form options -> callbacks -> button" |
|---|
|
|---|
| x-message | | type | "object" |
|---|
| description | "Contextual message to display with the object field" |
|---|
| properties | | type | | type | "string" |
|---|
| enum | | "notice" |
| "error" |
| "warning" |
| "success" |
|
|---|
| description | "Message severity level" |
|---|
|
|---|
| label | | type | "string" |
|---|
| x-format | "textarea" |
|---|
| description | "Message text content" |
|---|
|
|---|
| x-label-format | | type | "string" |
|---|
| description | "label format" |
|---|
| enum | |
|---|
|
|---|
| icon | | type | "string" |
|---|
| description | "OOUI icon name to display ([https://doc.wikimedia.org/oojs-ui/master/demos/?page=icons&theme=wikimediaui&direction=ltr&platform=desktop see here])" |
|---|
| x-description-format | "wikitext" |
|---|
|
|---|
| inline | | type | "boolean" |
|---|
| description | "Display message inline within the field" |
|---|
|
|---|
|
|---|
|
|---|
|
|---|
|
|---|
| array | | description | "JSON Schema array type definition" |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "array" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "array" |
|---|
| description | "Default value for the array when not provided" |
|---|
|
|---|
| additionalItems | | $ref | "#/definitions/schema" |
|---|
| description | "Schema for additional items beyond those defined in prefixItems" |
|---|
|
|---|
| contains | | $ref | "#/definitions/schema" |
|---|
| description | "Schema that at least one item in the array must satisfy" |
|---|
|
|---|
| maxContains | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Maximum number of items that can satisfy the 'contains' schema" |
|---|
|
|---|
| maxItems | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Maximum number of items allowed in the array" |
|---|
|
|---|
| minContains | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Minimum number of items that must satisfy the 'contains' schema" |
|---|
|
|---|
| minItems | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Minimum number of items required in the array" |
|---|
|
|---|
| prefixItems | | type | "array" |
|---|
| items | | $ref | "#/definitions/schema" |
|---|
|
|---|
| x-layout | "tabs_" |
|---|
| description | "Positional validation for the beginning of the array" |
|---|
|
|---|
| unevaluatedItems | | $ref | "#/definitions/schema" |
|---|
| description | "Schema for items not evaluated by prefixItems or items" |
|---|
|
|---|
| uniqueItems | | type | "boolean" |
|---|
| description | "All items in the array must be unique" |
|---|
|
|---|
|
|---|
|
|---|
| arrayOptions | | description | "UI configuration options specific to array-type fields" |
|---|
| x-default-properties | |
|---|
| type | "object" |
|---|
| properties | | x-layout | | type | "string" |
|---|
| enum | | "default" |
| "multiselect" |
| "booklet" |
| "tabs" |
| "table" |
| "tuple" |
|
|---|
| default | "default" |
|---|
| description | "" |
|---|
| x-show | true |
|---|
|
|---|
| x-layout-config | | type | "object" |
|---|
| description | "Additional configuration for the selected layout" |
|---|
|
|---|
| items | | x-watch | "x-layout" |
|---|
| links | | rel | "describedBy" |
|---|
| href | "#/definitions/ArrayItems-{{x-layout}}" |
|---|
|
|
|---|
|
|---|
| x-collapsible | | type | "boolean" |
|---|
| description | "Determine whether this object should be displayed as a collapsed element" |
|---|
|
|---|
| x-collapsible-config | | type | "object" |
|---|
| properties | | collapsed | |
|---|
| label | | type | "string" |
|---|
| description | "Override schema title or key" |
|---|
|
|---|
| icon | | type | "string" |
|---|
| description | "OOUI icon name to display ([https://doc.wikimedia.org/oojs-ui/master/demos/?page=icons&theme=wikimediaui&direction=ltr&platform=desktop see here])" |
|---|
| x-description-format | "wikitext" |
|---|
|
|---|
|
|---|
|
|---|
|
|---|
|
|---|
| survey | | description | "JSON Schema object type definition" |
|---|
| x-default-properties | |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
| $ref | "JsonSchema:SurveyBuilderLinear" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "object" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
|
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
|
|---|
| object | | description | "JSON Schema object type definition" |
|---|
| x-default-properties | |
|---|
| type | "object" |
|---|
| allOf | | $ref | "#/definitions/baseProperties" |
|---|
|
|
|---|
| properties | | type | | enum | |
|---|
| const | "object" |
|---|
| x-format | "hidden" |
|---|
| description | "JSON Schema primitive type" |
|---|
|
|---|
| default | | type | "object" |
|---|
| description | "Default object value when not provided" |
|---|
|
|---|
| additionalProperties | | type | "boolean" |
|---|
| description | "Whether properties not defined in 'properties' are allowed" |
|---|
|
|---|
| x-default-properties | | type | "array" |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
|
|---|
| description | "List of property names that should be included by default" |
|---|
|
|---|
| x-ui-name | | type | "string" |
|---|
| description | "Name of the UI schema to display from x-additional-properties-ui list" |
|---|
|
|---|
| definitions | | type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| description | "Reusable schema definitions (alias of $defs)" |
|---|
|
|---|
| $defs | | type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| description | "Reusable schema definitions (alias of definitions)" |
|---|
|
|---|
| maxProperties | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Maximum number of properties allowed" |
|---|
|
|---|
| minProperties | | type | "integer" |
|---|
| minimum | 0 |
|---|
| description | "Minimum number of properties required" |
|---|
|
|---|
| patternProperties | | type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| description | "Property validation where property names must match regex patterns" |
|---|
|
|---|
| properties | | x-toolbar | "button" |
|---|
| title | "Properties" |
|---|
| type | "object" |
|---|
| patternProperties | | .* | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|---|
| x-additional-properties-ui | | label | "New property" |
|---|
| schema | "#/definitions/newProperty" |
|---|
| popup_size | "medium" |
|---|
|
|
|---|
| additionalProperties | true |
|---|
| description | "User-defined properties with their schemas" |
|---|
| x-additional-properties-ui_ | | label | "field" |
|---|
| schema | "JsonSchema:SchemaBuilder/Field" |
|---|
|
| label | "subitem" |
|---|
| schema | "JsonSchema:SchemaBuilder/Subitem" |
|---|
|
| label | "geolocation" |
|---|
| schema | "JsonSchema:SchemaBuilder/Geolocation" |
|---|
|
| label | "survey" |
|---|
| schema | "JsonSchema:SchemaBuilder/Survey" |
|---|
|
|
|---|
|
|---|
| propertyNames | | $ref | "#/definitions/schema" |
|---|
| description | "Schema for validating property names" |
|---|
|
|---|
| required | | type | "array" |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
|
|---|
| x-hidden | true |
|---|
| uniqueItems | true |
|---|
| readOnly | true |
|---|
| description | "List of property names that must be present" |
|---|
|
|---|
| x-group-properties | | type | "object" |
|---|
| description | "Add properties representing group names. Only works in conjunction with tabs or booklet layouts." |
|---|
| additionalProperties | | title | "Properties" |
|---|
| type | "array" |
|---|
| description | "Add properties for each group" |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.MenuTagMultiselectWidget" |
|---|
| x-enum-provider | "sameLevelProperties" |
|---|
|
|---|
|
|---|
|
|---|
| x-value-converter | | type | "string" |
|---|
| description | "A value converter defined as [[MediaWiki:JsonFormsOptions]]'s callback to convert forth and back the value" |
|---|
| x-description-format | "wikitext" |
|---|
|
|---|
|
|---|
| required | |
|---|
|
|---|
| objectOptions | | description | "UI configuration options specific to object-type fields" |
|---|
| type | "object" |
|---|
| properties | | x-layout | | type | "string" |
|---|
| enum | | "default" |
| "tabs" |
| "booklet" |
| "horizontal" |
| "paged" |
| "splitter" |
|
|---|
| description | "Layout style for object properties" |
|---|
| x-show | true |
|---|
|
|---|
| x-layout-config | | type | "object" |
|---|
| description | "Additional configuration for the selected layout" |
|---|
|
|---|
| x-collapsible | | type | "boolean" |
|---|
| description | "Determine whether this object should be displayed as a collapsed element" |
|---|
|
|---|
| x-collapsible-config | | type | "object" |
|---|
| properties | | collapsed | |
|---|
| label | | type | "string" |
|---|
| description | "Override schema title or key" |
|---|
|
|---|
| icon | | type | "string" |
|---|
| description | "OOUI icon name to display ([https://doc.wikimedia.org/oojs-ui/master/demos/?page=icons&theme=wikimediaui&direction=ltr&platform=desktop see here])" |
|---|
| x-description-format | "wikitext" |
|---|
|
|---|
|
|---|
|
|---|
| x-message | | type | "object" |
|---|
| description | "Contextual message to display with the object field" |
|---|
| properties | | type | | type | "string" |
|---|
| enum | | "notice" |
| "error" |
| "warning" |
| "success" |
|
|---|
| description | "Message severity level" |
|---|
|
|---|
| label | | type | "string" |
|---|
| x-format | "textarea" |
|---|
| description | "Message text content" |
|---|
|
|---|
| x-label-format | | type | "string" |
|---|
| description | "label format" |
|---|
| enum | |
|---|
|
|---|
| icon | | type | "string" |
|---|
| description | "OOUI icon name to display ([https://doc.wikimedia.org/oojs-ui/master/demos/?page=icons&theme=wikimediaui&direction=ltr&platform=desktop see here])" |
|---|
| x-description-format | "wikitext" |
|---|
|
|---|
| inline | | type | "boolean" |
|---|
| description | "Display message inline within the field" |
|---|
|
|---|
|
|---|
|
|---|
| x-additional-properties-ui | | title | "UI Schema Configuration" |
|---|
| description | "Defines available UI schemas for dynamically adding properties" |
|---|
| oneOf | | title | "Single UI Schema" |
|---|
| $ref | "#/definitions/uiSchemaItem" |
|---|
|
| title | "Multiple UI Schemas" |
|---|
| type | "array" |
|---|
| items | | $ref | "#/definitions/uiSchemaItem" |
|---|
|
|---|
| minItems | 1 |
|---|
| uniqueItems | true |
|---|
|
|
|---|
|
|---|
| x-hidden-properties | | type | "array" |
|---|
| items | | type | "string" |
|---|
| x-input | "OO.ui.TagMultiselectWidget" |
|---|
| x-input-config | |
|---|
|
|---|
| description | "Hidden properties: they can also be properties not declared in the schema but allowed by "patternProperties" or "additionalProperties"" |
|---|
|
|---|
|
|---|
| required | |
|---|
|
|---|
| rootOptions | | description | "Root-level configuration. Additional object properties can be added via the button "Additional items" and additional primitive properties can be added by the buttons at the bottom." |
|---|
| type | "object" |
|---|
| properties | | x-name | | type | "string" |
|---|
| title | "name" |
|---|
| description | "Unique identifier for this schema definition" |
|---|
| minLength | 1 |
|---|
| x-runtime-only | true |
|---|
|
|---|
| $schema | | format | "uri" |
|---|
| type | "string" |
|---|
| description | "JSON Schema dialect URI (e.g., https://json-schema.org/draft-07/schema)" |
|---|
|
|---|
| $id | | format | "uri" |
|---|
| type | "string" |
|---|
| description | "Unique identifier URI for this schema" |
|---|
| x-watch | "x-name" |
|---|
| x-template | "{{wgServer}}{{replace wgArticlePath '$1' 'JsonSchema:'}}{{replace x-name ' ' '_'}}" |
|---|
|
|---|
| x-layout | | type | "string" |
|---|
| description | "Controls how the form fields are arranged in the UI" |
|---|
| enum | | "default" |
| "paged" |
| "tabs" |
| "booklet" |
| "horizontal" |
| "splitter" |
|
|---|
| x-show | true |
|---|
|
|---|
| x-required | |
|---|
|
|---|
| required | |
|---|
|
|---|
| rootOptionsArray | | description | "Root-level configuration for array or multiple schema. Additional object properties can be added via the button "Additional items" and additional primitive properties can be added by the buttons at the bottom." |
|---|
| type | "object" |
|---|
| properties | | x-name | | type | "string" |
|---|
| title | "name" |
|---|
| description | "Unique identifier for this schema definition" |
|---|
| minLength | 1 |
|---|
| x-runtime-only | true |
|---|
|
|---|
| $schema | | format | "uri" |
|---|
| type | "string" |
|---|
| description | "JSON Schema dialect URI (e.g., https://json-schema.org/draft-07/schema)" |
|---|
|
|---|
| $id | | format | "uri" |
|---|
| type | "string" |
|---|
| description | "Unique identifier URI for this schema" |
|---|
| x-watch | "x-name" |
|---|
| x-template | "{{wgServer}}{{replace wgArticlePath '$1' 'JsonSchema:'}}{{replace x-name ' ' '_'}}" |
|---|
|
|---|
| x-required | |
|---|
|
|---|
| required | |
|---|
|
|---|
| schema | | @comment | "Complete JSON Schema type selector. Supports all JSON Schema primitives plus logical combinations (multiple)." |
|---|
| x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "String" |
|---|
| $ref | "#/definitions/typedSchema/string" |
|---|
|
| title | "Number" |
|---|
| $ref | "#/definitions/typedSchema/number" |
|---|
|
| title | "Integer" |
|---|
| $ref | "#/definitions/typedSchema/integer" |
|---|
|
| title | "Boolean" |
|---|
| $ref | "#/definitions/typedSchema/boolean" |
|---|
|
| title | "Null" |
|---|
| $ref | "#/definitions/typedSchema/null" |
|---|
|
| title | "Array" |
|---|
| $ref | "#/definitions/typedSchema/array" |
|---|
|
| title | "Object" |
|---|
| $ref | "#/definitions/typedSchema/object" |
|---|
|
| title | "Multiple" |
|---|
| $ref | "#/definitions/typedSchema/multiple" |
|---|
|
|
|---|
|
|---|
| ArrayItems-default | | @comment | "Complete JSON Schema type selector. Supports all JSON Schema primitives plus logical combinations (multiple)." |
|---|
| default | |
|---|
| x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "String" |
|---|
| $ref | "#/definitions/typedSchema/string" |
|---|
|
| title | "Number" |
|---|
| $ref | "#/definitions/typedSchema/number" |
|---|
|
| title | "Integer" |
|---|
| $ref | "#/definitions/typedSchema/integer" |
|---|
|
| title | "Boolean" |
|---|
| $ref | "#/definitions/typedSchema/boolean" |
|---|
|
| title | "Null" |
|---|
| $ref | "#/definitions/typedSchema/null" |
|---|
|
| title | "Array" |
|---|
| $ref | "#/definitions/typedSchema/array" |
|---|
|
| title | "Object" |
|---|
| $ref | "#/definitions/typedSchema/object" |
|---|
|
| title | "Multiple" |
|---|
| $ref | "#/definitions/typedSchema/multiple" |
|---|
|
|
|---|
|
|---|
| ArrayItems-multiselect | | @comment | "Complete JSON Schema type selector. Supports all JSON Schema primitives plus logical combinations (multiple)." |
|---|
| default | |
|---|
| x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "String" |
|---|
| $ref | "#/definitions/typedSchema/stringMultiselect" |
|---|
|
| title | "Number" |
|---|
| $ref | "#/definitions/typedSchema/numberMultiselect" |
|---|
|
| title | "Integer" |
|---|
| $ref | "#/definitions/typedSchema/integerMultiselect" |
|---|
|
|
|---|
|
|---|
| ArrayItems-booklet | | x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "Object" |
|---|
| $ref | "#/definitions/typedSchema/object" |
|---|
|
| title | "Multiple" |
|---|
| $ref | "#/definitions/typedSchema/multiple" |
|---|
|
|
|---|
|
|---|
| ArrayItems-tuple | | allOf | | title | "tuple" |
|---|
| type | "array" |
|---|
| items | | $ref | "#/definitions/schema" |
|---|
|
|---|
|
|
|---|
|
|---|
| ArrayItems-tabs | | x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "Object" |
|---|
| $ref | "#/definitions/typedSchema/object" |
|---|
|
| title | "Multiple" |
|---|
| $ref | "#/definitions/typedSchema/multiple" |
|---|
|
|
|---|
|
|---|
| ArrayItems-table | | allOf | | title | "Object" |
|---|
| $ref | "#/definitions/typedSchema/object" |
|---|
|
|
|---|
|
|---|
| typedSchema | | description | "Container for all primitive type schemas with their options" |
|---|
| string | | allOf | | $ref | "#/definitions/string" |
|---|
|
| $ref | "#/definitions/stringOptions" |
|---|
|
|
|---|
|
|---|
| number | | allOf | | $ref | "#/definitions/number" |
|---|
|
| $ref | "#/definitions/numberOptions" |
|---|
|
|
|---|
|
|---|
| integer | | allOf | | $ref | "#/definitions/integer" |
|---|
|
| $ref | "#/definitions/integerOptions" |
|---|
|
|
|---|
|
|---|
| boolean | | allOf | | $ref | "#/definitions/boolean" |
|---|
|
| $ref | "#/definitions/booleanOptions" |
|---|
|
|
|---|
|
|---|
| stringMultiselect | | allOf | | $ref | "#/definitions/string" |
|---|
|
| $ref | "#/definitions/stringOptionsMultiselect" |
|---|
|
|
|---|
|
|---|
| numberMultiselect | | allOf | | $ref | "#/definitions/number" |
|---|
|
| $ref | "#/definitions/numberOptionsMultiselect" |
|---|
|
|
|---|
|
|---|
| integerMultiselect | | allOf | | $ref | "#/definitions/integer" |
|---|
|
| $ref | "#/definitions/integerOptionsMultiselect" |
|---|
|
|
|---|
|
|---|
| null | | allOf | |
| $ref | "#/definitions/nullOptions" |
|---|
|
|
|---|
|
|---|
| array | | allOf | | $ref | "#/definitions/array" |
|---|
|
| $ref | "#/definitions/arrayOptions" |
|---|
|
|
|---|
|
|---|
| object | | allOf | | $ref | "#/definitions/object" |
|---|
|
| $ref | "#/definitions/objectOptions" |
|---|
|
|
|---|
|
|---|
| multiple | | allOf | | $ref | "#/definitions/multiple" |
|---|
|
|
|---|
|
|---|
|
|---|
| schemaRoot | | description | "Root schema selector - determines the top-level structure." |
|---|
| default | |
|---|
| x-switch | "OO.ui.ButtonMenuSelectWidget" |
|---|
| x-switch-config | | icon | "menu" |
|---|
| label | "switch type" |
|---|
| flags | |
|---|
|
|---|
| oneOf | | title | "Object" |
|---|
| allOf | | $ref | "#/definitions/typedSchema/object" |
|---|
|
| $ref | "#/definitions/rootOptions" |
|---|
|
|
|---|
|
| title | "Array" |
|---|
| allOf | | $ref | "#/definitions/typedSchema/array" |
|---|
|
| $ref | "#/definitions/rootOptionsArray" |
|---|
|
|
|---|
|
| title | "Multiple" |
|---|
| allOf | | $ref | "#/definitions/typedSchema/multiple" |
|---|
|
| $ref | "#/definitions/rootOptionsArray" |
|---|
|
|
|---|
|
|
|---|
|
|---|