Abrir menu principal

Mudanças

Módulo:Message box/doc

5 648 bytes adicionados, 00h18min de 15 de dezembro de 2019
Criação da Documentação do Módulo Message box.
<!-- {{High-use|139388}}
{{Used in system}} -->
{{module rating|g}}

Este é um metamódulo que implementa as predefinições de message box {{tlg|mbox}}, {{tlg|ambox}}, {{tlg|cmbox}}, {{tlg|fmbox}}, {{tlg|imbox}}, {{tlg|ombox}} e {{tlg|tmbox}}. Destina-se a ser usado a partir de módulos Lua e não deve ser usado diretamente de páginas wiki. Se quiser usar a funcionalidade deste módulo, por favor use as predefinições de message box individuais em vez disso.

== Uso ==

Para usar este módulo a partir de um outro módulo Lua, primeiro deve carregá-lo.

<syntaxhighlight lang="lua">
local messageBox = require('Módulo:Message box')
</syntaxhighlight>

Para criar uma message box (caixa de mensagem), use a função <code>main</code>. Ela leva dois parâmetros: o primeiro é o tipo da caixa (como um string), e o segundo é uma tabela que contém os parâmetros da message box.

<syntaxhighlight lang="lua">
local box = messageBox.main( boxType, {
param1 = param1,
param2 = param2,
-- Mais parêmetros...
})
</syntaxhighlight>

Há sete tipos de caixa disponíveis:

{| class="wikitable"
! Tipo de caixa !! Predefinição !! Propósito
|-
| <code>mbox</code> || {{tlg|mbox}} || Para message boxes para serem usadas em múltiplos espaços nominais
|-
| <code>ambox</code> || {{tlg|ambox}} || Para message boxes para artigos
|-
| <code>cmbox</code> || {{tlg|cmbox}} || Para message boxes para categorias
|-
| <code>fmbox</code> || {{tlg|fmbox}} || Para message boxes de interface
|-
| <code>imbox</code> || {{tlg|imbox}} || Para message boxes para o espaço nominal ficheiro
|-
| <code>tmbox</code> || {{tlg|tmbox}} || Para message boxes para páginas de discussão
|-
| <code>ombox</code> || {{tlg|ombox}} || Para message boxes noutros espaços nominais
|}

Veja a página de predefinição de cada tipo de caixa para os parâmetros disponíveis.

== Uso a partir de #invoke ==

Assim como a função <code>main</code>, este módulo possui funções separadas para cada tipo de caixa. Elas são acessadas ao usar o código <code><nowiki>{{#invoke:Message box|mbox|...}}</nowiki></code>, <code><nowiki>{{#invoke:Message box|ambox|...}}</nowiki></code>, etc. Estas irão funcionar quando chamadas de outros módulos, mas elas acessam código para processar argumentos passados desde #invoke, e, assim, chamá-las fará com que sejam menos eficientes do que chamar <code>main</code>.

== Detalhes técnicos ==

O módulo usa o mesmo código básico para cada uma das predefinições listadas acima; as diferenças entre cada uma delas são configuradas ao usar os dados em [[Módulo:Message box/configuration]]. Aqui estão as várias opções de configuração e o que significam:

* <code>types</code> - uma tabela que contém dados usados pelo parâmetro tipo da message box. As chaves da tabela são valores que podem ser passados ao parâmetro tipo, e os valores da tabela são tabelas que contêm a classe e a imagem usada por esse tipo.
* <code>default</code> - o tipo para usar caso nenhum valor foi passado ao parâmetro tipo ou se um valor inválido foi especificado.
* <code>showInvalidTypeError</code> - se mostrar um erro caso o valor passado ao parâmetro tipo foi inválido.
* <code>allowBlankParams</code> - normalmente valores em branco são retirados de parâmetros passados ao nódulo. Contudo, whitespce (espaço em branco) é preservado para os parâmetros incluídos na tabela allowBlankParams.
* <code>allowSmall</code> - se uma versão pequena da message box pode ser produzida com "pequeno=sim".
* <code>smallParam</code> - um nome personalizado para o parâmetro small. Por exemplo, se definido como "esquerda" pode produzir uma message box pequena ao usar "pequeno=esquerda".
* <code>smallClass</code> - a classe para usar para message boxes pequenas.
* <code>substCheck</code> - se performar uma checagem de subst ou não.
* <code>classes</code> - um array de classes para usar com a message box.
* <code>imageEmptyCell</code> - se usar uma célula {{tag|td}} vazia caso não haja imagem definida. É usada para preservar espaçamento para message boxes com uma largura de menos de 100% do ecrã.
* <code>imageEmptyCellStyle</code> - se as células de imagem vazias devem ser estilizadas.
* <code>imageCheckBlank</code> - se "imagem=em branco" resulta em nenhuma imagem a ser exibida.
* <code>imageSmallSize</code> - normalmente, imagens usadas em message boxes peqenas são definidas para 30x30px. Isto define um tamanho personalizado.
* <code>imageCellDiv</code> - se colocar a imagem numa div para forçar um tamanho de imagem máximo.
* <code>useCollapsibleTextFields</code> - se usar campos de texto que podem ser desmontados, i.e "problema", "conserto", "discussão" etc. Atualmente somente usado em ambox.
* <code>imageRightNone</code> - se imagemdireita=nenhuma resulta em nenhuma imagem a ser exibida no lado direto da message box.
* <code>sectionDefault</code> - o nome padrão para o parâmetro "secção". Depende de <code>useCollapsibleTextFields</code>.
* <code>allowMainspaceCategories</code> - permitir categorização no espaço nominal principal.
* <code>templateCategory</code> - o nome da the name of a category to be placed on the template page.
* <code>templateCategoryRequireName</code> - se o parâmetro <code>nome</code> é requerido para exibir a categoria da predefinição.
* <code>templateErrorCategory</code> - o nome da categoria de erro a ser usada na página da predefinição.
* <code>templateErrorParamsToCheck</code> - um array de nomes de parâmetros para checar. Caso não haja algum, a <code>templateErrorCategory</code> é aplicada à página da predefinição.