Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
MediaWiki help
Creopedia
Search
Search
Appearance
Log in
Personal tools
Log in
View source for Module:InfoboxLua/Types
Module
Discussion
English
Read
View source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
View source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
←
Module:InfoboxLua/Types
require( 'strict' ) local p = {} --- MediaWiki built-in types --- @class mw.frame @The frame object provides access to the parameters passed to a module, and to the parser. --- @field args table @A table to access arguments passed to the frame. --- @field callParserFunction function @Calls a parser function. --- @field expandTemplate function @Transcludes a template. --- @field extensionTag function @Calls a parser extension tag. --- @field getParent function @Returns the parent frame. --- @field getTitle function @Returns the title associated with the frame. --- @field newChild function @Creates a new child frame. --- @field preprocess function @Preprocesses wikitext. --- @field getArgument function @Gets an argument to the frame. --- @field newParserValue function @Returns a parser value object. --- @field newTemplateParserValue function @Returns a template parser value object. --- @field argumentPairs function @Iterates over the arguments. --- @class mw.html @Built-in Lua type for HtmlBuilder in MediaWiki. --- @field addClass function @Adds a class to the HTML element. --- @field create function @Creates a new HTML element. --- @field node function @Adds a node to the HTML element. --- @field wikitext function @Adds wikitext to the HTML element. --- @field tag function @Creates a new HTML element. --- @field attr function @Sets the attributes of the HTML element. --- @field css function @Sets the CSS properties of the HTML element. --- @field done function @Finishes the HTML element. --- Schema definitions for InfoboxLua components. --- @class DataSchemaFieldDefinition @Represents the definition of a single field within a schema. --- @field type string The expected Lua type (e.g., "string", "number", "table", "boolean"). --- @field required boolean|nil Whether the field is mandatory. Defaults to effectively false if nil. --- @field default any|nil A default value to use if the field is not present in rawData and not required. --- @alias DataSchemaDefinition table<string, DataSchemaFieldDefinition> @Represents a schema for validating data, mapping field names to their definitions. --- Component data types --- @class ImageComponentData @Represents the structure of a validated infobox image for ImageComponent. --- @field src string The source of the image. --- @field caption string|nil The caption of the image. Optional. --- @field overlay string|nil The overlay wikitext of the image. Optional. --- @field label string|nil The label text for the image. Only used for tabber. Optional. --- @field size number|nil The size of the image. Optional. --- @field class string|nil The class of the image. Optional. --- @type DataSchemaDefinition @The schema for ImageComponent data. p.ImageComponentDataSchema = { src = { type = 'string', required = true }, caption = { type = 'string', required = false, default = nil }, overlay = { type = 'string', required = false, default = nil }, label = { type = 'string', required = false, default = nil }, size = { type = 'number', required = false, default = 320 }, class = { type = 'string', required = false, default = nil } } --- @class HeaderComponentData @Represents the structure of a validated infobox header for HeaderComponent. --- @field title string The title of the header. --- @field subtitle string|nil The subtitle of the header. Optional. --- @field image ImageComponentData|string|nil The image of the header. Optional. --- @field images table<ImageComponentData>|nil The images of the header. Optional. --- @type DataSchemaDefinition @The schema for HeaderComponent data. p.HeaderComponentDataSchema = { title = { type = 'string', required = true }, subtitle = { type = 'string', required = false, default = nil }, image = { type = 'table', required = false, default = nil }, images = { type = 'table', required = false, default = nil } } --- @class SectionComponentData @Represents the structure of a validated infobox section for SectionComponent. --- @field label string|nil The label text for the section. Optional. --- @field columns number|nil The number of columns in the section. Optional. --- @field content string|nil The HTML content of the section. Optional. --- @field items table<ItemComponentData>|nil The items in the section. Optional. --- @field sections table<SectionComponentData>|nil The sections in the section. Optional. --- @field class string|nil An additional HTML class for the section's container. Optional. --- @type DataSchemaDefinition @The schema for SectionComponent data. p.SectionComponentDataSchema = { label = { type = 'string', required = false, default = nil }, columns = { type = 'number', required = false, default = 1 }, content = { type = 'string', required = false, default = nil }, items = { type = 'table', required = false, default = nil }, sections = { type = 'table', required = false, default = nil }, class = { type = 'string', required = false, default = nil } } --- @class ItemComponentData @Represents the structure of a validated infobox item for ItemComponent. --- @field content string The HTML content of the item. --- @field label string|nil The label text for the item. Optional. --- @field class string|nil An additional HTML class for the item's container. Optional. --- @type DataSchemaDefinition @The schema for ItemComponent data. p.ItemComponentDataSchema = { content = { type = 'string', required = true }, label = { type = 'string', required = false, default = nil }, class = { type = 'string', required = false, default = nil } } --- @class ItemCardComponentData @Represents the structure of a validated infobox item card for ItemCardComponent. --- @field label string|nil The label of the item card. --- @field columns number|nil The number of columns in the item card. --- @field content string|nil The HTML content of the item card. --- @field items table<ItemComponentData>|nil The items of the item card. --- @type DataSchemaDefinition @The schema for ItemCardComponent data. p.ItemCardComponentDataSchema = { label = { type = 'string', required = false, default = nil }, columns = { type = 'number', required = false, default = 1 }, content = { type = 'string', required = false, default = nil }, items = { type = 'table', required = false, default = nil } } return p
Templates used on this page:
Template:Documentation
(
view source
)
Module:InfoboxLua/Types/doc
(
view source
)
Return to
Module:InfoboxLua/Types
.