web interface for table_definition improved
This commit is contained in:
@@ -63,7 +63,7 @@
|
||||
<h2>Add a column</h2>
|
||||
<div class="form-grid">
|
||||
<label>Column name
|
||||
<input name="column_name_input" value="{{ page.draft.column_name_input }}" placeholder="number">
|
||||
<input name="column_name_input" value="{{ page.draft.columns.name_input }}" placeholder="number">
|
||||
</label>
|
||||
<label>Column type
|
||||
<select name="column_type_input" hx-post="/admin/tables/builder" hx-trigger="change"
|
||||
@@ -71,56 +71,69 @@
|
||||
hx-vals='{"action": "refresh"}'>
|
||||
<option value="">Choose a type</option>
|
||||
{% for column_type in column_types %}
|
||||
<option value="{{ column_type }}" {% if page.draft.column_type_input == *column_type %}selected{% endif %}>{{ column_type }}</option>
|
||||
<option value="{{ column_type }}" {% if page.draft.columns.type_input == *column_type %}selected{% endif %}>{{ column_type }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
|
||||
{% if page.draft.show_temporal_type() %}
|
||||
{% if page.draft.columns.show_temporal_type() %}
|
||||
<label>Temporal type
|
||||
<select name="temporal_type_input">
|
||||
<option value="">Choose a temporal type</option>
|
||||
{% for temporal_type in temporal_types %}
|
||||
<option value="{{ temporal_type }}" {% if page.draft.temporal_type_input == *temporal_type %}selected{% endif %}>{{ temporal_type }}</option>
|
||||
<option value="{{ temporal_type }}" {% if page.draft.columns.temporal_type_input == *temporal_type %}selected{% endif %}>{{ temporal_type }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
{% if page.draft.show_gtin_type() %}
|
||||
{% if page.draft.columns.show_gtin_type() %}
|
||||
<label>GTIN type
|
||||
<select name="gtin_type_input">
|
||||
<option value="">Choose a GTIN length</option>
|
||||
{% for gtin_type in gtin_types %}
|
||||
<option value="{{ gtin_type }}" {% if page.draft.gtin_type_input == *gtin_type %}selected{% endif %}>GTIN-{{ gtin_type }}</option>
|
||||
<option value="{{ gtin_type }}" {% if page.draft.columns.gtin_type_input == *gtin_type %}selected{% endif %}>GTIN-{{ gtin_type }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
{% if page.draft.show_money_options() %}
|
||||
{% if page.draft.columns.show_decimal_arguments() %}
|
||||
<label>Precision
|
||||
<input name="decimal_precision_input" value="{{ page.draft.columns.decimal_precision_input }}"
|
||||
inputmode="numeric" placeholder="12">
|
||||
<small>Total digits stored, at least 1.</small>
|
||||
</label>
|
||||
<label>Scale
|
||||
<input name="decimal_scale_input" value="{{ page.draft.columns.decimal_scale_input }}"
|
||||
inputmode="numeric" placeholder="3">
|
||||
<small>Digits after the point, no more than the precision.</small>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
{% if page.draft.columns.show_money_options() %}
|
||||
<label>Currency
|
||||
<input name="column_currency_input" value="{{ page.draft.column_currency_input }}" list="currency-codes"
|
||||
<input name="column_currency_input" value="{{ page.draft.columns.currency_input }}" list="currency-codes"
|
||||
maxlength="3" placeholder="EUR">
|
||||
</label>
|
||||
<label>Rounding
|
||||
<select name="column_rounding_input">
|
||||
<option value="none" {% if page.draft.column_rounding_input != "half-up" %}selected{% endif %}>none</option>
|
||||
<option value="half-up" {% if page.draft.column_rounding_input == "half-up" %}selected{% endif %}>half-up</option>
|
||||
<option value="none" {% if page.draft.columns.rounding_input != "half-up" %}selected{% endif %}>none</option>
|
||||
<option value="half-up" {% if page.draft.columns.rounding_input == "half-up" %}selected{% endif %}>half-up</option>
|
||||
</select>
|
||||
</label>
|
||||
{% endif %}
|
||||
|
||||
<label>Indexing
|
||||
<select name="column_indexing_input">
|
||||
<option value="no" {% if page.draft.column_indexing_input != "yes" %}selected{% endif %}>no</option>
|
||||
<option value="yes" {% if page.draft.column_indexing_input == "yes" %}selected{% endif %}>yes</option>
|
||||
<option value="no" {% if page.draft.columns.indexing_input != "yes" %}selected{% endif %}>no</option>
|
||||
<option value="yes" {% if page.draft.columns.indexing_input == "yes" %}selected{% endif %}>yes</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>Quantity ledger
|
||||
<select name="column_quantity_ledger_input">
|
||||
<option value="no" {% if page.draft.column_quantity_ledger_input != "yes" %}selected{% endif %}>no</option>
|
||||
<option value="yes" {% if page.draft.column_quantity_ledger_input == "yes" %}selected{% endif %}>yes</option>
|
||||
<option value="no" {% if page.draft.columns.quantity_ledger_input != "yes" %}selected{% endif %}>no</option>
|
||||
<option value="yes" {% if page.draft.columns.quantity_ledger_input == "yes" %}selected{% endif %}>yes</option>
|
||||
</select>
|
||||
<small>INT, BIGINT, DECIMAL or MONEY only.</small>
|
||||
</label>
|
||||
@@ -130,14 +143,14 @@
|
||||
</section>
|
||||
|
||||
<section class="builder-section">
|
||||
<h2>Columns <span class="count">{{ page.draft.columns.len() }}</span></h2>
|
||||
<h2>Columns <span class="count">{{ page.draft.columns.added.len() }}</span></h2>
|
||||
{% if page.draft.columns.is_empty() %}
|
||||
<p class="hint">No columns yet. Describe one above and press <em>Add column</em>.</p>
|
||||
{% else %}
|
||||
<table class="builder-table">
|
||||
<thead><tr><th>Name</th><th>Type</th><th>Indexed</th><th>Options</th><th></th></tr></thead>
|
||||
<tbody>
|
||||
{% for column in page.draft.columns %}
|
||||
{% for column in page.draft.columns.added %}
|
||||
<tr>
|
||||
<td><code>{{ column.name }}</code></td>
|
||||
<td>{{ column.data_type }}</td>
|
||||
@@ -164,7 +177,7 @@
|
||||
{% endif %}
|
||||
|
||||
{# The draft itself: one set of fields per column, in order. #}
|
||||
{% for column in page.draft.columns %}
|
||||
{% for column in page.draft.columns.added %}
|
||||
<input type="hidden" name="column_names" value="{{ column.name }}">
|
||||
<input type="hidden" name="column_types" value="{{ column.data_type }}">
|
||||
<input type="hidden" name="column_indexed" value="{% if column.indexed %}yes{% else %}no{% endif %}">
|
||||
|
||||
Reference in New Issue
Block a user