Pular para o conteúdo principal

render-templates

Nesta seção você encontra: Referência de um Hook Declarativo do tipo render-templates.


Um Hook Declarativo do tipo render-templates pode ser usado para executar a geração condicional de arquivos. Ao usar um Hook Declarativo desse tipo, associado à uma condição, você pode controlar se algum arquivo será ou não gerado de acordo com uma condição. Confira um exemplo de utilização:

name: Declarative Hooks Plugin example
description: My Plugin with Declarative Hooks
types:
- app
spec:
inputs:
- label: first input
type: text
name: first_input
hooks:
- type: render-templates
trigger: after-render
path: templates-java
condition:
variable: language
operator: "=="
value: java
- type: render-templates
trigger: after-render
path: templates-kotlin
condition:
variable: language
operator: "=="
value: kotlin

No caso acima, quando o input language foi preenchido com o valor java, ele gerou os arquivos que estão na pasta templates-java. Se o input é preenchido com o valor kotlin, ele gera os arquivos que estão na pasta templates-kotlin.

Ações Disponíveis

trigger:

Campo para definir gatilhos que informam o momento em que a geração de arquivos deve ocorrer.

before-input: Executa o Hook Declarativo antes de receber os parâmetros de entrada da pessoa usuária.

trigger: before-input

before-render: Executa o Hook Declarativo antes do Plugin gerar ou atualizar arquivos no projeto.

trigger: before-render

after-render: Executa o Hook Declarativo depois que o Plugin gerar ou atualizar arquivos no projeto.

trigger: after-render

condition:

Atenção!

O diretório condicional precisa estar fora da pasta 'templates'.

Campo que determina uma condição para executar o Hook Declarativo.

variable: Variável utilizada na condição. A variável é definida pelos inputs e computed-inputs de um Plugin. Confira mais detalhes na seção inputs em arquivos yaml.

operator: Operador condicional utilizado na operação entre variable e value. Os operadores são:

OperadorDescrição
"=="Valida se os valores são iguais.
"!="Valida se os valores são diferentes.
">"Valida se a variável é maior ao valor.
"<"Valida se a variável é menor ao valor.
">="Valida se a variável é maior ou igual ao valor.
"<="Valida se a variável é menor ou igual ao valor.
containsAnyValida se a variável do tipo lista contém qualquer um dos valores contidos em **value**. Se **value** não for do tipo lista, considera-se uma lista onde **value** é o único elemento. Se **value** é uma lista vazia, **false** (falso) é retornado.
containsAllValida se a variável do tipo lista contém todos os valores contidos em **value**. Se **value** não for do tipo lista, considera-se uma lista onde **value** é o único elemento. Se **value** é uma lista vazia, **true** (verdadeiro) é retornado.
containsOnlyValida se a variável do tipo lista é uma permutação dos itens de **value**. Se **value** não for do tipo lista, considera-se uma lista onde **value** é o único elemento.

value:
Valor de referência para o operador checar a condicional.

Cuidado!

Você deve usar aspas duplas para os seguintes operadores: "==", "!=", ">", ">=", "<", "<=".

Exemplos

  • containsAny
# Operator containsAny
- label: Should appear if field 4 contains any value item1
type: text
name: contains_any_operator_test_1
default: ok
condition:
variable: field_4
operator: containsAny
value: item1
- label: Should appear if field 4 contains any value item1, item2
type: text
name: contains_any_operator_test_2
default: ok
condition:
variable: field_4
operator: containsAny
value: [item1, item2]
  • containsAll
  # Operator containsAll
- label: Should appear if field 4 contains all values item1, item2
type: text
name: contains_all_operator_test_1
default: ok
condition:
variable: field_4
operator: containsAll
value: [item1, item2]

Esta página foi útil?