Ir para o conteúdo

Módulo:Message box/doc

De Wikiversidade

Esta é a página de documentação de Módulo:Message box

Este módulo está classificado como pronto para uso geral. Ele chegou a uma forma madura e pensa-se que está livre de erros e pronta para ser usado onde é apropriado. Ele está pronto para ser mencionado nas páginas de discussão e em outros recursos da Wikiversidade como opção para novos usuários aprenderem. Para reduzir cargas nos servidores e mostrar texto estragado, ele deve ser melhorado pelo Exemplos para testes em vez de tentativas de edição a experimentar e erro.

Este é um metamódulo que implementa as predefinições de message box Erro de comando: Não existe nenhum módulo "Link de predefinição em geral"., Erro de comando: Não existe nenhum módulo "Link de predefinição em geral"., Erro de comando: Não existe nenhum módulo "Link de predefinição em geral"., Erro de comando: Não existe nenhum módulo "Link de predefinição em geral"., Erro de comando: Não existe nenhum módulo "Link de predefinição em geral"., Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". e Erro de comando: Não existe nenhum módulo "Link de predefinição em geral".. 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.

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

local messageBox = require('Módulo:Message box')

Para criar uma message box (caixa de mensagem), use a função main. 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.

local box = messageBox.main( boxType, {
    param1 = param1,
    param2 = param2,
    -- Mais parêmetros...
})

Há sete tipos de caixa disponíveis:

Tipo de caixa Predefinição Propósito
mbox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes para serem usadas em múltiplos espaços nominais
ambox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes para artigos
cmbox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes para categorias
fmbox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes de interface
imbox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes para o espaço nominal ficheiro
tmbox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". Para message boxes para páginas de discussão
ombox Erro de comando: Não existe nenhum módulo "Link de predefinição em geral". 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

[editar código]

Assim como a função main, este módulo possui funções separadas para cada tipo de caixa. Elas são acessadas ao usar o código {{#invoke:Message box|mbox|...}}, {{#invoke:Message box|ambox|...}}, 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 main.

Detalhes técnicos

[editar código]

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:

  • types - 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.
  • default - o tipo para usar caso nenhum valor foi passado ao parâmetro tipo ou se um valor inválido foi especificado.
  • showInvalidTypeError - se mostrar um erro caso o valor passado ao parâmetro tipo foi inválido.
  • allowBlankParams - 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.
  • allowSmall - se uma versão pequena da message box pode ser produzida com "pequeno=sim".
  • smallParam - um nome personalizado para o parâmetro small. Por exemplo, se definido como "esquerda" pode produzir uma message box pequena ao usar "pequeno=esquerda".
  • smallClass - a classe para usar para message boxes pequenas.
  • substCheck - se performar uma checagem de subst ou não.
  • classes - um array de classes para usar com a message box.
  • imageEmptyCell - se usar uma célula <td>...</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ã.
  • imageEmptyCellStyle - se as células de imagem vazias devem ser estilizadas.
  • imageCheckBlank - se "imagem=em branco" resulta em nenhuma imagem a ser exibida.
  • imageSmallSize - normalmente, imagens usadas em message boxes peqenas são definidas para 30x30px. Isto define um tamanho personalizado.
  • imageCellDiv - se colocar a imagem numa div para forçar um tamanho de imagem máximo.
  • useCollapsibleTextFields - se usar campos de texto que podem ser desmontados, i.e "problema", "conserto", "discussão" etc. Atualmente somente usado em ambox.
  • imageRightNone - se imagemdireita=nenhuma resulta em nenhuma imagem a ser exibida no lado direto da message box.
  • sectionDefault - o nome padrão para o parâmetro "secção". Depende de useCollapsibleTextFields.
  • allowMainspaceCategories - permitir categorização no espaço nominal principal.
  • templateCategory - o nome da the name of a category to be placed on the template page.
  • templateCategoryRequireName - se o parâmetro nome é requerido para exibir a categoria da predefinição.
  • templateErrorCategory - o nome da categoria de erro a ser usada na página da predefinição.
  • templateErrorParamsToCheck - um array de nomes de parâmetros para checar. Caso não haja algum, a templateErrorCategory é aplicada à página da predefinição.