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:
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:
Operador | Descriçã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 . |
containsAny | Valida 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. |
containsAll | Valida 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. |
containsOnly | Valida 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.
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?