From 5ee12c75d28fd7d0e1eb39b496c0f33f25be9f43 Mon Sep 17 00:00:00 2001 From: Gemini Date: Thu, 2 Jul 2026 17:12:32 -0300 Subject: [PATCH] =?UTF-8?q?feat(2.0):=20remove=20a=20coluna=20de=20vari?= =?UTF-8?q?=C3=A1veis=20=E2=80=94=20vira=20autocomplete=20no=20campo=20de?= =?UTF-8?q?=20valor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Feedback de UX: com o Gerar template automático, a coluna ficava ociosa. As variáveis do GLPI agora aparecem como autocomplete (datalist) direto no campo de valor de cada linha, + um painel de referência colapsado (fechado por padrão) para descoberta em remapeamentos. Editores em largura total. Co-Authored-By: Claude Fable 5 --- templates/config_form.html.twig | 53 +++++++++++++++++---------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/templates/config_form.html.twig b/templates/config_form.html.twig index 3d17761..74ed33c 100644 --- a/templates/config_form.html.twig +++ b/templates/config_form.html.twig @@ -153,32 +153,36 @@ {{ __('Personalize o JSON enviado ao Redmine em cada operação. Sem template ativo, o plugin usa o comportamento padrão. "Gerar template" cria o ponto de partida equivalente ao padrão + campos obrigatórios descobertos no seu Redmine.', 'redmine') }} -
- {# ---- Paleta ---- #} -
-
-
- {{ __('Variáveis do GLPI — o "DE"', 'redmine') }} -
{{ __('Clique para copiar a tag. Os campos que o Redmine espera (o "PARA") estão em cada operação, à direita.', 'redmine') }}
-
-
- {% set lastgroup = '' %} - {% for v in palette_vars %} - {% if v.group != lastgroup %} - {% set lastgroup = v.group %} -
{{ v.group }}
- {% endif %} -
- {{ v.tag }} - -
- {% endfor %} -
+ {# Variáveis do GLPI como AUTOCOMPLETE nos campos de valor #} + + {% for v in palette_vars %} + + {% endfor %} + + + {# Referência opcional (colapsada) — descoberta das tags para remapeamentos #} +
+ + {{ __('Variáveis do GLPI disponíveis — o "DE" (referência; nos campos de valor há autocomplete)', 'redmine') }} + +
+
+ {% set lastgroup = '' %} + {% for v in palette_vars %} + {% if v.group != lastgroup %} + {% set lastgroup = v.group %} +
{{ v.group }}
+ {% endif %} +
+ {{ v.tag }} +
+ {% endfor %}
+
- {# ---- Editores por operação ---- #} -
+ {# ---- Editores por operação (largura total) ---- #} +
{% for op, t in templates %}
@@ -249,7 +253,6 @@
{% endfor %} -
@@ -330,7 +333,7 @@ row.className = 'd-flex gap-2 mb-1 rm-tpl-row'; row.innerHTML = '' + - '' + + '' + ''; row.querySelector('.rm-del').addEventListener('click', function () { row.remove(); }); linesBox.appendChild(row);