mirror of
https://github.com/eitchtee/WYGIWYH.git
synced 2026-07-11 23:32:56 +02:00
feat: first batch of work
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<div class="tw:collapse tw:collapse-arrow tw:bg-base-100 tw:border tw:border-base-300{% if div.css_class %} {{div.css_class}}{% endif %}">
|
||||
<div class="collapse collapse-arrow bg-base-100 border border-base-300{% if div.css_class %} {{div.css_class}}{% endif %}">
|
||||
<input type="radio" name="{{ div.data_parent }}" {% if div.active %}checked="checked"{% endif %} />
|
||||
<div class="tw:collapse-title tw:font-semibold">
|
||||
<div class="collapse-title font-semibold">
|
||||
{{ div.name }}
|
||||
</div>
|
||||
<div class="tw:collapse-content">
|
||||
<div class="collapse-content">
|
||||
{{ fields|safe }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<div class="tw:join tw:join-vertical tw:w-full{% if accordion.css_class %} {{accordion.css_class}}{% endif %}" id="{{ accordion.css_id }}">
|
||||
<div class="join join-vertical w-full{% if accordion.css_class %} {{accordion.css_class}}{% endif %}" id="{{ accordion.css_id }}">
|
||||
{{ content|safe }}
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{% for fieldset in form.fieldsets %}
|
||||
<fieldset class="tw:fieldset fieldset-{{ forloop.counter }} {{ fieldset.classes }}">
|
||||
<fieldset class="fieldset fieldset-{{ forloop.counter }} {{ fieldset.classes }}">
|
||||
{% if fieldset.legend %}
|
||||
<legend class="tw:fieldset-legend">{{ fieldset.legend }}</legend>
|
||||
<legend class="fieldset-legend">{{ fieldset.legend }}</legend>
|
||||
{% endif %}
|
||||
|
||||
{% if fieldset.description %}
|
||||
<p class="tw:text-sm tw:text-base-content/60">{{ fieldset.description }}</p>
|
||||
<p class="text-sm text-base-content/60">{{ fieldset.description }}</p>
|
||||
{% endif %}
|
||||
|
||||
{% for field in fieldset %}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% if form.non_field_errors %}
|
||||
<div class="tw:alert tw:alert-error">
|
||||
{% if form_error_title %}<h4 class="tw:font-bold">{{ form_error_title }}</h4>{% endif %}
|
||||
<ul class="tw:m-0 tw:list-disc tw:list-inside">
|
||||
<div class="alert alert-error">
|
||||
{% if form_error_title %}<h4 class="font-bold">{{ form_error_title }}</h4>{% endif %}
|
||||
<ul class="m-0 list-disc list-inside">
|
||||
{{ form.non_field_errors|unordered_list }}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% if formset.non_form_errors %}
|
||||
<div class="tw:alert tw:alert-error">
|
||||
{% if formset_error_title %}<h4 class="tw:font-bold">{{ formset_error_title }}</h4>{% endif %}
|
||||
<ul class="tw:m-0 tw:list-disc tw:list-inside">
|
||||
<div class="alert alert-error">
|
||||
{% if formset_error_title %}<h4 class="font-bold">{{ formset_error_title }}</h4>{% endif %}
|
||||
<ul class="m-0 list-disc list-inside">
|
||||
{{ formset.non_form_errors|unordered_list }}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
{{ field }}
|
||||
{% else %}
|
||||
{% if field|is_checkbox and tag != "td" %}
|
||||
<div class="tw:mb-3">
|
||||
<div class="">
|
||||
{% if label_class %}
|
||||
<div class="{{ field_class }}">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="{% if field|is_checkbox and form_show_labels %}tw:form-control{% else %}tw:mb-3{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<{% if tag %}{{ tag }}{% else %}fieldset{% endif %} id="div_{{ field.auto_id }}" class="{% if field|is_checkbox and form_show_labels %}form-control{% else %}fieldset{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
{% if field.label and not field|is_checkbox and form_show_labels %}
|
||||
{% if field.use_fieldset %}<fieldset class="tw:fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>{% endif %}
|
||||
{% if field.use_fieldset %}<fieldset class="fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>{% endif %}
|
||||
<{% if field.use_fieldset %}legend{% else %}label{% endif %}
|
||||
{% if field.id_for_label %}for="{{ field.id_for_label }}"{% endif %} class="tw:label{% if label_class %} {{ label_class }}{% endif %}{% if field.field.required %} requiredField{% endif %}">
|
||||
{% if field.id_for_label %}for="{{ field.id_for_label }}"{% endif %} class="fieldset-legend{% if label_class %} {{ label_class }}{% endif %}{% if field.field.required %} requiredField{% endif %}">
|
||||
{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
|
||||
</{% if field.use_fieldset %}legend{% else %}label{% endif %}>
|
||||
{% endif %}
|
||||
@@ -25,11 +25,11 @@
|
||||
{% if not field|is_checkboxselectmultiple and not field|is_radioselect %}
|
||||
{% if field|is_checkbox and form_show_labels %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:checkbox tw:checkbox-error' %}
|
||||
{% crispy_field field 'class' 'checkbox checkbox-error' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:checkbox' %}
|
||||
{% crispy_field field 'class' 'checkbox' %}
|
||||
{% endif %}
|
||||
<label for="{{ field.id_for_label }}" class="tw:label{% if field.field.required %} requiredField{% endif %}">
|
||||
<label for="{{ field.id_for_label }}" class="label{% if field.field.required %} requiredField{% endif %}">
|
||||
{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
|
||||
</label>
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
@@ -39,20 +39,20 @@
|
||||
{% include 'crispy-daisyui/layout/field_file.html' %}
|
||||
{% elif field|is_select %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:select-error tw:w-full' %}
|
||||
{% crispy_field field 'class' 'select-error input-error w-full' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:w-full' %}
|
||||
{% crispy_field field 'class' '' %}
|
||||
{% endif %}
|
||||
{% elif field|is_checkbox %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:checkbox tw:checkbox-error' %}
|
||||
{% crispy_field field 'class' 'checkbox checkbox-error w-full' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:checkbox' %}
|
||||
{% crispy_field field 'class' 'checkbox w-full' %}
|
||||
{% endif %}
|
||||
{% elif field.errors %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered tw:input-error tw:w-full' %}
|
||||
{% crispy_field field 'class' 'input input-error w-full' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered tw:w-full' %}
|
||||
{% crispy_field field 'class' 'input w-full' %}
|
||||
{% endif %}
|
||||
{% if not field|is_file %}
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
@@ -61,7 +61,7 @@
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if field.use_fieldset and field.label and form_show_labels %}</fieldset>{% endif %}
|
||||
</{% if tag %}{{ tag }}{% else %}div{% endif %}>
|
||||
</{% if tag %}{{ tag }}{% else %}fieldset{% endif %}>
|
||||
{% if field|is_checkbox and tag != "td" %}
|
||||
{% if label_class %}
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% if inputs %}
|
||||
<div class="tw:mb-3">
|
||||
<div class="">
|
||||
{% if label_class %}
|
||||
<div class="aab {{ label_class }}"></div>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="tw:alert {{ alert.css_class }}" role="alert"{% if alert.css_id %} id="{{ alert.css_id }}"{% endif %}>
|
||||
<div class="alert {{ alert.css_class }}" role="alert"{% if alert.css_id %} id="{{ alert.css_id }}"{% endif %}>
|
||||
{{ content|safe }}
|
||||
{% if dismiss %}<button type="button" class="tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost" data-bs-dismiss="alert" aria-label="Close">✕</button>{% endif %}
|
||||
{% if dismiss %}<button type="button" class="btn btn-sm btn-circle btn-ghost" data-bs-dismiss="alert" aria-label="Close">✕</button>{% endif %}
|
||||
</div>
|
||||
@@ -2,7 +2,7 @@
|
||||
name="{% if input.name|wordcount > 1 %}{{ input.name|slugify }}{% else %}{{ input.name }}{% endif %}"
|
||||
value="{{ input.value }}"
|
||||
{% if input.input_type != "hidden" %}
|
||||
class="tw:btn {{ input.field_classes }}"
|
||||
class="btn {{ input.field_classes }}"
|
||||
id="{% if input.id %}{{ input.id }}{% else %}{{ input.input_type }}-id-{{ input.name|slugify }}{% endif %}"
|
||||
{% endif %}
|
||||
{{ input.flat_attrs }}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<button class="tw:btn" {{ button.flat_attrs }}>{{ button.content|safe }}</button>
|
||||
<button class="btn" {{ button.flat_attrs }}>{{ button.content|safe }}</button>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div {% if buttonholder.css_id %}id="{{ buttonholder.css_id }}"{% endif %}
|
||||
class="tw:flex tw:gap-2{% if buttonholder.css_class %} {{ buttonholder.css_class }}{% endif %}">
|
||||
class="flex gap-2{% if buttonholder.css_class %} {{ buttonholder.css_class }}{% endif %}">
|
||||
{{ fields_output|safe }}
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<div id="div_{{ field.auto_id }}" class="tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<div id="div_{{ field.auto_id }}" class="{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
|
||||
{% if field.label %}
|
||||
<fieldset class="tw:fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>
|
||||
<legend for="{{ field.id_for_label }}" class="tw:fieldset-legend {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<fieldset class="fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>
|
||||
<legend for="{{ field.id_for_label }}" class="fieldset-legend {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
|
||||
</legend>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %}
|
||||
class="tw:col-span-12 {{ div.css_class|default:'' }}" {{ div.flat_attrs }}>
|
||||
class="{% if 'col' in div.css_class %}{{ div.css_class|default:'' }}{% else %}md:col-span-6 {{ div.css_class|default:'' }}{% endif %}" {{ div.flat_attrs }}>
|
||||
{{ fields|safe }}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{% if form_show_errors and field.errors %}
|
||||
{% if field.errors.field_id %}
|
||||
{# Django 5.2+ #}
|
||||
<div id="{{field.errors.field_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.errors.field_id}}_error" class="text-error text-sm mt-1">
|
||||
{% else %}
|
||||
<div id="{{field.auto_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.auto_id}}_error" class="text-error text-sm mt-1">
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<span id="error_{{ forloop.counter }}_{{ field.auto_id }}"><strong>{{ error }}</strong></span>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{% if form_show_errors and field.errors %}
|
||||
{% if field.errors.field_id %}
|
||||
{# Django 5.2+ #}
|
||||
<div id="{{field.errors.field_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.errors.field_id}}_error" class="text-error text-sm mt-1">
|
||||
{% else %}
|
||||
<div id="{{field.auto_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.auto_id}}_error" class="text-error text-sm mt-1">
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<p id="error_{{ forloop.counter }}_{{ field.auto_id }}"><strong>{{ error }}</strong></p>
|
||||
|
||||
@@ -2,25 +2,25 @@
|
||||
|
||||
{% for widget in field.subwidgets %}
|
||||
{% if widget.data.is_initial %}
|
||||
<div class="tw:join tw:mb-2 tw:w-full">
|
||||
<span class="tw:btn tw:btn-disabled tw:join-item">{{ widget.data.initial_text }}</span>
|
||||
<div class="tw:input tw:input-bordered tw:join-item tw:flex tw:items-center tw:flex-grow">
|
||||
<span class="tw:break-all tw:flex-grow">
|
||||
<a href="{{ field.value.url }}" class="tw:link">{{ field.value.name }}</a>
|
||||
<div class="join mb-2">
|
||||
<span class="btn btn-disabled join-item">{{ widget.data.initial_text }}</span>
|
||||
<div class="input join-item flex items-center flex-grow">
|
||||
<span class="break-all flex-grow">
|
||||
<a href="{{ field.value.url }}" class="link">{{ field.value.name }}</a>
|
||||
</span>
|
||||
{% if not widget.data.required %}
|
||||
<span class="tw:ml-2">
|
||||
<label class="tw:label tw:cursor-pointer tw:gap-2">
|
||||
<input type="checkbox" name="{{ widget.data.checkbox_name }}" id="{{ widget.data.checkbox_id }}" class="tw:checkbox"{% if field.field.disabled %} disabled{% endif %} >
|
||||
<span class="tw:label-text">{{ widget.data.clear_checkbox_label }}</span>
|
||||
<span class="ml-2">
|
||||
<label class="label cursor-pointer gap-2">
|
||||
<span class="label-text">{{ widget.data.clear_checkbox_label }}</span>
|
||||
<input type="checkbox" name="{{ widget.data.checkbox_name }}" id="{{ widget.data.checkbox_id }}" class="checkbox"{% if field.field.disabled %} disabled{% endif %}>
|
||||
</label>
|
||||
</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div{% if field.errors %} class="tw:input-error"{%endif%}>
|
||||
<input type="{{ widget.data.type }}" name="{{ widget.data.name }}" class="tw:file-input tw:file-input-bordered tw:w-full{% if widget.data.attrs.class %} {{ widget.data.attrs.class }}{% endif %}{% if field.errors %} tw:input-error{%endif%}"{% if field.field.disabled %} disabled{% endif %}{% for name, value in widget.data.attrs.items %}{% if value is not False and name != 'class' %} {{ name }}{% if value is not True %}="{{ value|stringformat:'s' }}"{% endif %}{% endif %}{% endfor %}>
|
||||
<div class="fieldset">
|
||||
<input type="{{ widget.data.type }}" name="{{ widget.data.name }}" class="file-input {% if widget.data.attrs.class %} {{ widget.data.attrs.class }}{% endif %}{% if field.errors %} file-input-error{% endif %}"{% if field.field.disabled %} disabled{% endif %}{% for name, value in widget.data.attrs.items %}{% if value is not False and name != 'class' %} {{ name }}{% if value is not True %}="{{ value|stringformat:'s' }}"{% endif %}{% endif %}{% endfor %}>
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
{% load crispy_forms_field %}
|
||||
|
||||
<div{% if div.css_id %} id="{{ div.css_id }}"{% endif %} class="tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}{% if div.css_class %} {{ div.css_class }}{% endif %}" {{ div.flat_attrs }}>
|
||||
<div{% if div.css_id %} id="{{ div.css_id }}"{% endif %} class="{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}{% if div.css_class %} {{ div.css_class }}{% endif %}" {{ div.flat_attrs }}>
|
||||
{% if field.label and form_show_labels %}
|
||||
<label for="{{ field.id_for_label }}" class="tw:label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="tw:label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
<label for="{{ field.id_for_label }}" class="label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
<div{% if field_class %} class="{{ field_class }}"{% endif %}>
|
||||
<div class="tw:join tw:w-full{% if input_size %} {{ input_size }}{% endif %}">
|
||||
<div class="join {% if input_size %} {{ input_size }}{% endif %}">
|
||||
{% if field|is_select %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:select-error tw:join-item tw:flex-grow' %}
|
||||
{% crispy_field field 'class' 'select-error join-item flex-grow' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:join-item tw:flex-grow' %}
|
||||
{% crispy_field field 'class' 'join-item flex-grow' %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered tw:input-error tw:join-item tw:flex-grow' %}
|
||||
{% crispy_field field 'class' 'input input-bordered input-error join-item flex-grow' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered tw:join-item tw:flex-grow' %}
|
||||
{% crispy_field field 'class' 'input input-bordered join-item flex-grow' %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{{ buttons|safe }}
|
||||
</div>
|
||||
{% if field.errors.field_id %}
|
||||
{# Django 5.2+ #}
|
||||
<div id="{{field.errors.field_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.errors.field_id}}_error" class="text-error text-sm mt-1">
|
||||
{% else %}
|
||||
<div id="{{field.auto_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<div id="{{field.auto_id}}_error" class="text-error text-sm mt-1">
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<p id="error_{{ forloop.counter }}_{{ field.auto_id }}"><small><strong>{{ error }}</strong></small></p>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<fieldset {% if fieldset.css_id %}id="{{ fieldset.css_id }}"{% endif %}
|
||||
class="tw:fieldset{% if fieldset.css_class %} {{ fieldset.css_class }}{% endif %}"
|
||||
{{ fieldset.flat_attrs }}>
|
||||
{% if legend %}<legend class="tw:fieldset-legend">{{ legend|safe }}</legend>{% endif %}
|
||||
{{ fields|safe }}
|
||||
</fieldset>
|
||||
<fieldset {% if fieldset.css_id %}id="{{ fieldset.css_id }}"{% endif %}
|
||||
{% if fieldset.css_class or form_style %}class="{{ fieldset.css_class }} {{ form_style }}"{% endif %}
|
||||
{{ fieldset.flat_attrs|safe }}>
|
||||
{% if legend %}<legend class="block text-gray-700 font-bold mb-2">{{ legend|safe }}</legend>{% endif %}
|
||||
{{ fields|safe }}
|
||||
</fieldset>
|
||||
@@ -3,23 +3,15 @@
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="fieldset{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
|
||||
<label class="tw:input tw:input-bordered tw:flex tw:items-center tw:gap-2" {% if field.id_for_label %}for="{{ field.id_for_label }}"{% endif %}{% if label_class %} {{ label_class }}{% endif %}>
|
||||
{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
|
||||
{% if field|is_select %}
|
||||
{%if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:select-error tw:grow' 'placeholder' field.name %}
|
||||
<label class="input input-bordered flex items-center gap-2{% if field.errors %} input-error{% endif %}" {% if field.id_for_label %}for="{{ field.id_for_label }}"{% endif %}>
|
||||
<span class="label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
{% if field|is_select %}
|
||||
{% crispy_field field 'class' 'grow' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:grow' 'placeholder' field.name %}
|
||||
{% crispy_field field 'class' 'grow' %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:grow' 'placeholder' field.name %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:grow' 'placeholder' field.name %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</label>
|
||||
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<div
|
||||
{% if formactions.flat_attrs %}{{ formactions.flat_attrs }}{% endif %}
|
||||
class="tw:mb-3 tw:flex tw:gap-2 {{ formactions.css_class|default:'' }} {{ field_class }}"
|
||||
class="flex gap-2 {{ formactions.css_class|default:'' }} {{ field_class }}"
|
||||
{% if formactions.id %} id="{{ formactions.id }}"{% endif %}>
|
||||
{% if label_class %}
|
||||
<div class="aab {{ label_class }}"></div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{% if field.help_text %}
|
||||
{% if help_text_inline %}
|
||||
<span id="{{ field.auto_id }}_helptext" class="tw:text-sm tw:text-base-content/60">{{ field.help_text|safe}}</span>
|
||||
<span id="{{ field.auto_id }}_helptext" class="text-sm text-base-content/60">{{ field.help_text|safe}}</span>
|
||||
{% else %}
|
||||
<div {% if field.auto_id %}id="{{ field.auto_id }}_helptext" {% endif %}class="tw:text-sm tw:text-base-content/60 tw:mt-1">{{ field.help_text|safe }}</div>
|
||||
<div {% if field.auto_id %}id="{{ field.auto_id }}_helptext" {% endif %}class="text-sm text-base-content/60 mt-1">{{ field.help_text|safe }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{% if help_text_inline and not error_text_inline %}
|
||||
{% include 'bootstrap5/layout/help_text.html' %}
|
||||
{% include 'crispy-daisyui/layout/help_text.html' %}
|
||||
{% endif %}
|
||||
|
||||
{% if error_text_inline %}
|
||||
{% include 'bootstrap5/layout/field_errors.html' %}
|
||||
{% include 'crispy-daisyui/layout/field_errors.html' %}
|
||||
{% else %}
|
||||
{% include 'bootstrap5/layout/field_errors_block.html' %}
|
||||
{% include 'crispy-daisyui/layout/field_errors_block.html' %}
|
||||
{% endif %}
|
||||
|
||||
{% if not help_text_inline %}
|
||||
{% include 'bootstrap5/layout/help_text.html' %}
|
||||
{% include 'crispy-daisyui/layout/help_text.html' %}
|
||||
{% endif %}
|
||||
|
||||
@@ -4,21 +4,21 @@
|
||||
{{ field }}
|
||||
{% else %}
|
||||
{% if field|is_checkbox %}
|
||||
<div id="div_{{ field.auto_id }}" class="tw:form-control tw:inline-flex{% if wrapper_class %} {{ wrapper_class }}{% endif %}">
|
||||
<label class="tw:label tw:cursor-pointer tw:gap-2">
|
||||
{% crispy_field field 'class' 'tw:checkbox' %}
|
||||
<span class="tw:label-text">{{ field.label }}</span>
|
||||
<div id="div_{{ field.auto_id }}" class="form-control inline-flex{% if wrapper_class %} {{ wrapper_class }}{% endif %}">
|
||||
<label class="label cursor-pointer gap-2">
|
||||
{% crispy_field field 'class' 'checkbox' %}
|
||||
<span class="label-text">{{ field.label }}</span>
|
||||
</label>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="div_{{ field.auto_id }}"{% if wrapper_class %} class="{{ wrapper_class }}"{% endif %}>
|
||||
<label for="{{ field.id_for_label }}" class="tw:sr-only">
|
||||
<label for="{{ field.id_for_label }}" class="sr-only">
|
||||
{{ field.label }}
|
||||
</label>
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered tw:input-error' 'placeholder' field.label %}
|
||||
{% crispy_field field 'class' 'input input-bordered input-error' 'placeholder' field.label %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:input tw:input-bordered' 'placeholder' field.label %}
|
||||
{% crispy_field field 'class' 'input input-bordered' 'placeholder' field.label %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<div id="{{ modal.css_id }}" class="tw:modal {{ modal.css_class }}" {{ modal.flat_attrs }}>
|
||||
<div class="tw:modal-box" role="document">
|
||||
<div id="{{ modal.css_id }}" class="modal {{ modal.css_class }}" {{ modal.flat_attrs }}>
|
||||
<div class="modal-box" role="document">
|
||||
<form method="dialog">
|
||||
<button class="tw:btn tw:btn-sm tw:btn-circle tw:btn-ghost tw:absolute tw:right-2 tw:top-2" aria-label="Close">✕</button>
|
||||
<button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2" aria-label="Close">✕</button>
|
||||
</form>
|
||||
<h3 class="tw:font-bold tw:text-lg {{ modal.title_class }}" id="{{ modal.title_id }}-label">{{ modal.title }}</h3>
|
||||
<div class="tw:py-4">
|
||||
<h3 class="font-bold text-lg {{ modal.title_class }}" id="{{ modal.title_id }}-label">{{ modal.title }}</h3>
|
||||
<div class="py-4">
|
||||
{{ fields }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{% else %}
|
||||
|
||||
{% if field.label %}
|
||||
<label for="{{ field.id_for_label }}" class="tw:label{% if labelclass %} {{ labelclass }}{% endif %}">
|
||||
<label for="{{ field.id_for_label }}" class="label{% if labelclass %} {{ labelclass }}{% endif %}">
|
||||
{% endif %}
|
||||
|
||||
{% if field|is_checkbox %}
|
||||
@@ -13,7 +13,7 @@
|
||||
{% endif %}
|
||||
|
||||
{% if field.label %}
|
||||
<span class="tw:label-text">{{ field.label }}</span>
|
||||
<span class="label-text">{{ field.label }}</span>
|
||||
{% endif %}
|
||||
|
||||
{% if not field|is_checkbox %}
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<div id="div_{{ field.auto_id }}" class="tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if form_group_wrapper_class %} {{ form_group_wrapper_class }}{% endif %}{% if form_show_errors and field.errors %} tw:has-error{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<div id="div_{{ field.auto_id }}" class="{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if form_group_wrapper_class %} {{ form_group_wrapper_class }}{% endif %}{% if form_show_errors and field.errors %} has-error{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
|
||||
{% if field.label and form_show_labels %}
|
||||
<label for="{{ field.id_for_label }}" class="tw:label{{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="tw:label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
<label for="{{ field.id_for_label }}" class="label{{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
<div {% if field_class %}class="{{ field_class }}"{% endif %}>
|
||||
<label class="tw:input tw:input-bordered tw:flex tw:items-center tw:gap-2{% if input_size %} {{ input_size }}{% endif %}{% if field.errors %} tw:input-error{% endif %}">
|
||||
<label class="input input-bordered flex items-center gap-2{% if input_size %} {{ input_size }}{% endif %}{% if field.errors %} input-error{% endif %}">
|
||||
{# prepend #}
|
||||
{% if crispy_prepended_text %}
|
||||
<span>{{ crispy_prepended_text }}</span>
|
||||
@@ -21,14 +21,14 @@
|
||||
{# input #}
|
||||
{% if field|is_select %}
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:select-error tw:w-full' %}
|
||||
{% crispy_field field 'class' 'select-error' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:select tw:select-bordered tw:w-full' %}
|
||||
{% crispy_field field 'class' '' %}
|
||||
{% endif %}
|
||||
{% elif field.errors %}
|
||||
{% crispy_field field 'class' 'tw:grow' %}
|
||||
{% crispy_field field 'class' 'grow' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:grow' %}
|
||||
{% crispy_field field 'class' 'grow' %}
|
||||
{% endif %}
|
||||
|
||||
{# append #}
|
||||
|
||||
@@ -4,17 +4,15 @@
|
||||
<div {% if field_class %}class="{{ field_class }}"{% endif %}{% if flat_attrs %} {{ flat_attrs }}{% endif %}>
|
||||
|
||||
{% for group, options, index in field|optgroups %}
|
||||
{% if group %}<strong class="tw:font-bold tw:mb-2 tw:block">{{ group }}</strong>{% endif %}
|
||||
{% if group %}<strong class="font-bold mb-2 block">{{ group }}</strong>{% endif %}
|
||||
{% for option in options %}
|
||||
<div class="tw:form-control{% if inline_class %} tw:inline-flex{% endif %}">
|
||||
<label class="tw:label tw:cursor-pointer{% if inline_class %} tw:inline-flex{% endif %}">
|
||||
<input type="{{option.type}}" class="{% if option.type == 'radio' %}tw:radio{% else %}tw:checkbox{% endif %}{% if field.errors %} tw:{% if option.type == 'radio' %}radio{% else %}checkbox{% endif %}-error{% endif %} tw:me-2" name="{{ field.html_name }}" value="{{ option.value|unlocalize }}" {% include "crispy-daisyui/layout/attrs.html" with widget=option %}>
|
||||
<span class="tw:label-text">{{ option.label|unlocalize }}</span>
|
||||
</label>
|
||||
<label class="label cursor-pointer{% if inline_class %} inline-flex{% endif %}">
|
||||
<span class="label-text">{{ option.label|unlocalize }}</span>
|
||||
<input type="{{option.type}}" class="{% if option.type == 'radio' %}radio{% else %}checkbox{% endif %}{% if field.errors %} {% if option.type == 'radio' %}radio{% else %}checkbox{% endif %}-error{% endif %}" name="{{ field.html_name }}" value="{{ option.value|unlocalize }}" {% include "crispy-daisyui/layout/attrs.html" with widget=option %}>
|
||||
</label>
|
||||
{% if field.errors and forloop.last and not inline_class and forloop.parentloop.last %}
|
||||
{% include 'crispy-daisyui/layout/field_errors_block.html' %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
@@ -22,13 +20,13 @@
|
||||
{% if field.errors and inline_class %}
|
||||
{% if field.errors.field_id %}
|
||||
{# Django 5.2+ #}
|
||||
<div id="{{field.errors.field_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<label id="{{field.errors.field_id}}_error" for="{{ field.auto_id }}" class="label">
|
||||
{% else %}
|
||||
<div id="{{field.auto_id}}_error" class="tw:text-error tw:text-sm tw:mt-1">
|
||||
<label id="{{field.auto_id}}_error" for="{{ field.auto_id }}" class="label">
|
||||
{% endif %}
|
||||
{% for error in field.errors %}
|
||||
<p id="error_{{ forloop.counter }}_{{ field.auto_id }}"><strong>{{ error }}</strong></p>
|
||||
<span id="error_{{ forloop.counter }}_{{ field.auto_id }}" class="label-text-alt text-error">{{ error }}</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</label>
|
||||
{% endif %}
|
||||
{% include 'crispy-daisyui/layout/help_text.html' %}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<div id="div_{{ field.auto_id }}" class="tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<div id="div_{{ field.auto_id }}" class="{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
|
||||
{% if field.label %}
|
||||
<fieldset class="tw:fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>
|
||||
<legend for="{{ field.id_for_label }}" class="tw:fieldset-legend {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<fieldset class="fieldset"{% if field.aria_describedby %} aria-describedby="{{ field.aria_describedby }}"{% endif %}>
|
||||
<legend for="{{ field.id_for_label }}" class="fieldset-legend {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}
|
||||
</legend>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="tw:grid tw:grid-cols-12 tw:gap-4 {{ div.css_class|default:'' }}" {{ div.flat_attrs }}>
|
||||
<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="grid grid-cols-12 gap-4 {{ div.css_class|default:'' }}" {{ div.flat_attrs }}>
|
||||
{{ fields|safe }}
|
||||
</div>
|
||||
|
||||
@@ -3,17 +3,15 @@
|
||||
{% if field.is_hidden %}
|
||||
{{ field }}
|
||||
{% else %}
|
||||
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="tw:form-control tw:mb-3{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<div class="{{ field_class }}">
|
||||
<{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" class="form-control{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<label class="label cursor-pointer justify-start gap-2">
|
||||
<span class="label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
{% if field.errors %}
|
||||
{% crispy_field field 'class' 'tw:toggle tw:toggle-error' 'role' 'switch' %}
|
||||
{% crispy_field field 'class' 'toggle toggle-error' 'role' 'switch' %}
|
||||
{% else %}
|
||||
{% crispy_field field 'class' 'tw:toggle' 'role' 'switch' %}
|
||||
{% crispy_field field 'class' 'toggle' 'role' 'switch' %}
|
||||
{% endif %}
|
||||
<label for="{{ field.id_for_label }}" class="tw:label{% if field.field.required %} requiredField{% endif %}">
|
||||
{{ field.label }}
|
||||
</label>
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
</div>
|
||||
</label>
|
||||
{% include 'crispy-daisyui/layout/help_text_and_errors.html' %}
|
||||
</{% if tag %}{{ tag }}{% else %}div{% endif %}>
|
||||
{% endif %}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<input type="radio" name="{{ link.css_id }}_tabs" role="tab" class="tw:tab{% if 'active' in link.css_class %} tw:tab-active{% endif %}" aria-label="{{ link.name|capfirst }}{% if tab.errors %}!{% endif %}" {% if 'active' in link.css_class %}checked="checked"{% endif %} />
|
||||
<input type="radio" name="{{ link.css_id }}_tabs" role="tab" class="tab{% if 'active' in link.css_class %} tab-active{% endif %}" aria-label="{{ link.name|capfirst }}{% if tab.errors %}!{% endif %}" {% if 'active' in link.css_class %}checked="checked"{% endif %} />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<div role="tablist" class="tw:tabs tw:tabs-lifted{% if tabs.css_class %} {{ tabs.css_class }}{% endif %}"{% if tabs.css_id %} id="{{ tabs.css_id }}"{% endif %}>
|
||||
<div role="tablist" class="tabs tabs-lifted{% if tabs.css_class %} {{ tabs.css_class }}{% endif %}"{% if tabs.css_id %} id="{{ tabs.css_id }}"{% endif %}>
|
||||
{{ links|safe }}
|
||||
{{ content|safe }}
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{% load crispy_forms_field %}
|
||||
|
||||
|
||||
<div id="div_{{ field.auto_id }}" class="tw:mb-3{% if form_show_errors and field.errors %} tw:error{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<label class="tw:label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="tw:label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
<div id="div_{{ field.auto_id }}" class="{% if form_show_errors and field.errors %} error{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}">
|
||||
<label class="label {{ label_class }}{% if field.field.required %} requiredField{% endif %}">
|
||||
<span class="label-text">{{ field.label }}{% if field.field.required %}<span class="asteriskField">*</span>{% endif %}</span>
|
||||
</label>
|
||||
<div class="{{ field_class }}">
|
||||
{% crispy_field field 'disabled' 'disabled' %}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
{{ formset.management_form|crispy }}
|
||||
</div>
|
||||
|
||||
<table{% if form_id %} id="{{ form_id }}_table"{% endif%} class="tw:table tw:table-zebra tw:table-sm">
|
||||
<table{% if form_id %} id="{{ form_id }}_table"{% endif%} class="table table-zebra table-sm">
|
||||
<thead>
|
||||
{% if formset.readonly and not formset.queryset.exists %}
|
||||
{% else %}
|
||||
@@ -31,7 +31,7 @@
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr class="tw:hidden empty-form">
|
||||
<tr class="hidden empty-form">
|
||||
{% for field in formset.empty_form %}
|
||||
{% include 'crispy-daisyui/field.html' with tag="td" form_show_labels=False %}
|
||||
{% endfor %}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{% include 'crispy-daisyui/uni_form.html' %}
|
||||
{% endwith %}
|
||||
{% for form in formset %}
|
||||
<div class="tw:mb-4">
|
||||
<div class="mb-4">
|
||||
{% include 'crispy-daisyui/uni_form.html' %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
{% endfor %}
|
||||
|
||||
{% if inputs %}
|
||||
<div class="tw:flex tw:gap-2 tw:mt-4">
|
||||
<div class="flex gap-2 mt-4">
|
||||
{% for input in inputs %}
|
||||
{% include "crispy-daisyui/layout/baseinput.html" %}
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user