code: widget implementation, almost there
This commit is contained in:
@@ -35,12 +35,12 @@
|
||||
{% if has_permission %}
|
||||
<div id="user-tools">
|
||||
{% block welcome_msg %}
|
||||
{{ translate('Welcome,') }}
|
||||
{{ translate('Welcome,') }}
|
||||
<strong>{{ user.get_short_name or user.get_username }}</strong>.
|
||||
{% endblock %}
|
||||
{% block userlinks %}
|
||||
{% if site_url %}
|
||||
<a href="{{ site_url }}">{{ translate('View site') }}</a> /
|
||||
<a href="{{ site_url }}">{{ translate('View site') }}</a> /
|
||||
{% endif %}
|
||||
{% if user.is_active and user.is_staff %}
|
||||
{% set docsroot = url('django-admindocs-docroot') %}
|
||||
@@ -70,6 +70,12 @@
|
||||
<div class="breadcrumbs">
|
||||
<a href="{{ url( 'admin:index') }}">{{ translate('Home') }}</a>
|
||||
{% if title %} › {{ title }}{% endif %}
|
||||
<div>
|
||||
{% for x in y %}
|
||||
{% for a in b %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
</nav>
|
||||
@@ -79,7 +85,7 @@
|
||||
<div class="main" id="main">
|
||||
{% if not is_popup and is_nav_sidebar_enabled %}
|
||||
{% block nav_sidebar %}
|
||||
{% include "admin/nav_sidebar.html" %}
|
||||
{% include "admin/nav_sidebar.html" %}
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
<main id="content-start" class="content" tabindex="-1">
|
||||
|
||||
@@ -2,4 +2,9 @@
|
||||
|
||||
{% block content %}
|
||||
{% include "admin/dashboard.jinja" %}
|
||||
<div>
|
||||
Some text
|
||||
another text
|
||||
Third text
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -1,26 +1,20 @@
|
||||
{% extends base|none("admin/base.jinja") %}
|
||||
|
||||
{% macro input(name, value="", type="text") -%}
|
||||
<input type="{{ type }}" name="{{ name }}" value="{{ value }}" placeholder="">
|
||||
{%- endmacro %}
|
||||
|
||||
{% block content %}
|
||||
{% from "/admin/items/items.jinja" import field_widget %}
|
||||
<div class="ui container">
|
||||
<h1>Create {{item_model.name}} in {{item_info.name}}</h1>
|
||||
|
||||
<form action="{{item_model.add_url}}" method="POST" class="ui form">
|
||||
<!--noformat-->
|
||||
{% set fields = item_info.fields %}
|
||||
{% for field in fields %}
|
||||
{% if item %}
|
||||
{% set field_value = item.fields[field]|none("") %}
|
||||
{% else %}
|
||||
{% set field_value = "" %}
|
||||
{% endif %}
|
||||
|
||||
<div class="inline field">
|
||||
<label>{{field|capitalize}}</label>
|
||||
{{ input(field, field_value) }}
|
||||
</div>
|
||||
{% for field_name, field_defs in fields %}
|
||||
{% if item %}
|
||||
{% set field_value = item.fields[field_name]|none("") %}
|
||||
{% else %}
|
||||
{% set field_value = "" %}
|
||||
{% endif %}
|
||||
{{ field_widget(field_name, field_defs, field_value) }}
|
||||
{% endfor %}
|
||||
<button class="ui button" type="submit">Create</button>
|
||||
</form>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
{% block content %}
|
||||
|
||||
{% if item %}
|
||||
{{item.fields}}
|
||||
{{item.fields}}
|
||||
{% else %}
|
||||
No Item found.
|
||||
No Item found.
|
||||
{% endif %}
|
||||
|
||||
{% endblock content %}
|
||||
15
templates/admin/items/items.jinja
Normal file
15
templates/admin/items/items.jinja
Normal file
@@ -0,0 +1,15 @@
|
||||
<!--noformat-->
|
||||
{% macro field_widget(name, definitions, value) -%}
|
||||
{% set field = {
|
||||
'type': definitions.type,
|
||||
'name': name,
|
||||
'value': value,
|
||||
'placeholder': definitions.placeholder,
|
||||
'label': definitions.label,
|
||||
'readonly': definitions.readonly,
|
||||
'required': definitions.required,
|
||||
'options': definitions.options,
|
||||
}
|
||||
%}
|
||||
{% include definitions.widget %}
|
||||
{%- endmacro %}
|
||||
4
templates/admin/widgets/input_text.jinja
Normal file
4
templates/admin/widgets/input_text.jinja
Normal file
@@ -0,0 +1,4 @@
|
||||
<div class="inline field">
|
||||
<label>{{field.label or field.name|capitalize}}</label>
|
||||
<input type="{{ field.type|none('text') }}" name="{{ field.name }}" value="{{ field.value }}" placeholder="{{field.placeholder}}">
|
||||
</div>
|
||||
12
templates/admin/widgets/input_textarea.jinja
Normal file
12
templates/admin/widgets/input_textarea.jinja
Normal file
@@ -0,0 +1,12 @@
|
||||
<div class="inline field">
|
||||
<label>{{ field.label or field.name|capitalize }}</label>
|
||||
<!--noformat-->
|
||||
<textarea name="{{ field.name }}" {% if field.placeholder %}placeholder="{{ field.placeholder }}"{% endif %}
|
||||
{% for field_name in ['rows', 'cols', 'maxlength', 'minlength', 'wrap', 'autofocus'] %}
|
||||
{% if field_name in field.options %}{{field_name}}="{{ field.options[field_name] }}" {% endif %}
|
||||
{% endfor %}
|
||||
{% if field.required %}required{% endif %}
|
||||
{% if field.readonly %}readonly{% endif %}
|
||||
{% if "disabled" in field.options and field.options.disabled %}disabled{% endif %}
|
||||
>{{ field.value }}</textarea>
|
||||
</div>
|
||||
Reference in New Issue
Block a user