snapshot: refine builder field rules and conditional summaries
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
{% extends 'workflows/base_shell.html' %}
|
||||
{% load static i18n %}
|
||||
{% get_current_language as CURRENT_LANGUAGE %}
|
||||
|
||||
{% block title %}{% trans "Form Builder" %}{% endblock %}
|
||||
|
||||
@@ -33,6 +34,26 @@
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
<div class="builder-sidebar-card builder-sidebar-context">
|
||||
<span class="builder-sidebar-eyebrow">{% trans "Aktive Ansicht" %}</span>
|
||||
<div class="builder-context-stack">
|
||||
<div class="builder-context-row">
|
||||
<span class="builder-context-label">{% trans "Workflow" %}</span>
|
||||
<strong>{{ active_form_type_label }}</strong>
|
||||
</div>
|
||||
<div class="builder-context-row">
|
||||
<span class="builder-context-label">{% trans "Modul" %}</span>
|
||||
<strong>{{ active_module_label }}</strong>
|
||||
</div>
|
||||
{% if active_focus_label %}
|
||||
<div class="builder-context-row">
|
||||
<span class="builder-context-label">{% trans "Fokus" %}</span>
|
||||
<strong>{{ active_focus_label }}</strong>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="builder-sidebar-card builder-sidebar-stats">
|
||||
<div class="builder-side-stat">
|
||||
<strong>{{ builder_summary.configurable_field_count }}</strong>
|
||||
@@ -57,6 +78,12 @@
|
||||
<p class="builder-hero-sub">{% trans "Steuern Sie Struktur, Regeln und Inhalte Ihrer Standard-Workflows an einem Ort." %}</p>
|
||||
</div>
|
||||
<div class="builder-hero-actions">
|
||||
<form method="post" action="{% url 'set_language' %}" class="builder-lang-switch">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="next" value="{{ request.get_full_path }}" />
|
||||
<button class="builder-lang-btn {% if CURRENT_LANGUAGE == 'de' %}active{% endif %}" type="submit" name="language" value="de">DE</button>
|
||||
<button class="builder-lang-btn {% if CURRENT_LANGUAGE == 'en' %}active{% endif %}" type="submit" name="language" value="en">EN</button>
|
||||
</form>
|
||||
{% for key, label in form_types %}
|
||||
<a
|
||||
class="tab {% if form_type == key %}active{% endif %}"
|
||||
@@ -69,6 +96,28 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="builder-toolbar" aria-label="{% trans 'Arbeitskontext' %}">
|
||||
<div class="builder-toolbar-main">
|
||||
<span class="builder-toolbar-chip">
|
||||
<span class="builder-toolbar-chip-label">{% trans "Workflow" %}</span>
|
||||
<strong>{{ active_form_type_label }}</strong>
|
||||
</span>
|
||||
<span class="builder-toolbar-chip">
|
||||
<span class="builder-toolbar-chip-label">{% trans "Modul" %}</span>
|
||||
<strong>{{ active_module_label }}</strong>
|
||||
</span>
|
||||
{% if active_focus_label %}
|
||||
<span class="builder-toolbar-chip">
|
||||
<span class="builder-toolbar-chip-label">{% trans "Aktiv" %}</span>
|
||||
<strong>{{ active_focus_label }}</strong>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="builder-toolbar-note">
|
||||
{% trans "Arbeiten Sie jeweils nur in einem Bereich und speichern Sie Änderungen abschnittsweise." %}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{% include 'workflows/includes/messages.html' %}
|
||||
|
||||
<div id="status-message" class="status" aria-live="polite"></div>
|
||||
@@ -281,6 +330,7 @@
|
||||
<div class="field-rule-main">
|
||||
<input type="hidden" name="field_rule_ids" value="{{ item.id }}" />
|
||||
<strong>{{ item.label }}</strong>
|
||||
<div class="field-rule-summary">{{ item.summary }}</div>
|
||||
<div class="field-rule-meta">
|
||||
<span class="entity-meta">{{ item.field_name }}</span>
|
||||
<div class="field-rule-status field-rule-status-inline">
|
||||
@@ -357,11 +407,20 @@
|
||||
<section class="conditional-rule-card">
|
||||
<div class="conditional-rule-head">
|
||||
<div class="conditional-rule-head-main">
|
||||
<span class="conditional-rule-eyebrow">{% trans "Sichtbarkeit" %}</span>
|
||||
<h3>{{ item.title }}</h3>
|
||||
{% if item.description %}
|
||||
<p class="mini">{{ item.description }}</p>
|
||||
{% endif %}
|
||||
<div class="conditional-rule-title-row">
|
||||
<span class="conditional-rule-eyebrow">{% trans "Sichtbarkeit" %}</span>
|
||||
<h3>{{ item.title }}</h3>
|
||||
</div>
|
||||
<div class="conditional-rule-target-inline">
|
||||
<span class="conditional-target-label">{% trans "Steuert" %}</span>
|
||||
<div class="conditional-target-chips">
|
||||
{% for field_name in item.target_fields %}
|
||||
<span class="preview-chip">{{ field_name }}</span>
|
||||
{% empty %}
|
||||
<span class="mini">{% trans "Keine Ziel-Felder." %}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<label class="conditional-toggle">
|
||||
<span>{% trans "Aktiv" %}</span>
|
||||
@@ -371,33 +430,14 @@
|
||||
<div class="conditional-meta-grid">
|
||||
<div class="conditional-rule-summary">
|
||||
<span class="conditional-summary-prefix">{% trans "Sichtbar, wenn" %}</span>
|
||||
<div class="conditional-summary-chips">
|
||||
{% with first_clause=item.clauses.0 second_clause=item.clauses.1 %}
|
||||
{% if first_clause.field %}
|
||||
<span class="preview-chip">{{ first_clause.field }}</span>
|
||||
<span class="preview-chip">{{ first_clause.operator }}</span>
|
||||
{% if first_clause.value %}<span class="preview-chip">{{ first_clause.value }}</span>{% endif %}
|
||||
{% else %}
|
||||
<span class="preview-chip">{% trans "Keine Bedingung" %}</span>
|
||||
{% endif %}
|
||||
{% if second_clause.field %}
|
||||
<span class="preview-chip">{% trans "und" %}</span>
|
||||
<span class="preview-chip">{{ second_clause.field }}</span>
|
||||
<span class="preview-chip">{{ second_clause.operator }}</span>
|
||||
{% if second_clause.value %}<span class="preview-chip">{{ second_clause.value }}</span>{% endif %}
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
</div>
|
||||
<div class="conditional-summary-text">{{ item.summary }}</div>
|
||||
</div>
|
||||
<div class="conditional-targets">
|
||||
<span class="conditional-target-label">{% trans "Steuert" %}</span>
|
||||
<div class="conditional-target-chips">
|
||||
{% for field_name in item.target_fields %}
|
||||
<span class="preview-chip">{{ field_name }}</span>
|
||||
{% empty %}
|
||||
<span class="mini">{% trans "Keine Ziel-Felder." %}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="conditional-rule-state">
|
||||
<span class="conditional-summary-prefix">{% trans "Status" %}</span>
|
||||
<strong>{% if item.is_active %}{% trans "Aktiv" %}{% else %}{% trans "Inaktiv" %}{% endif %}</strong>
|
||||
{% if item.description %}
|
||||
<span class="mini">{{ item.description }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="conditional-sentence-builder">
|
||||
|
||||
Reference in New Issue
Block a user