More work on buttons.

This commit is contained in:
Yaro Kasear 2025-07-15 14:26:08 -05:00
parent 41bb8d5a3b
commit 71276f9f4b
5 changed files with 39 additions and 38 deletions

View file

@ -6,8 +6,8 @@
else '' }}</button> else '' }}</button>
{% if logic %} {% if logic %}
<script> <script>
document.addEventListener("DOMContentLoaded", (e) => { document.addEventListener("DOMContentLoaded", () => {
document.getElementById("{{ id }}Button").addEventListener("click", async () => { document.getElementById("{{ id }}Button").addEventListener("click", async (e) => {
{{ logic | safe }} {{ logic | safe }}
}); });
}); });

View file

@ -92,14 +92,15 @@
{{ buttons.render_button( {{ buttons.render_button(
id='save', id='save',
icon='floppy', icon='floppy',
logic=saveLogic logic=saveLogic,
style="outline-primary rounded-start"
) }} ) }}
{% if item.id != None %} {% if item.id != None %}
{{ buttons.render_button( {{ buttons.render_button(
id='delete', id='delete',
icon='trash', icon='trash',
style='danger', logic=deleteLogic,
logic=deleteLogic style="outline-danger rounded-end"
) }} ) }}
{% endif %} {% endif %}
</div> </div>

View file

@ -7,13 +7,20 @@
{% set createButtonLogic %} {% set createButtonLogic %}
window.location.href = '/{{ entry_route }}/new'; window.location.href = '/{{ entry_route }}/new';
{% endset %} {% endset %}
{% set toolbarButtons %}
<div class="btn-group">
{{ buttons.render_button(id='export', icon='box-arrow-up', style='outline-primary rounded-start') }}
{{ buttons.render_button(id='import', icon='box-arrow-in-down', style='outline-primary') }}
{{ buttons.render_button(id='create', icon='plus-lg', logic=createButtonLogic, style='outline-primary rounded-end') }}
</div>
{% endset %}
{{ toolbars.render_toolbar( {{ toolbars.render_toolbar(
'table', 'table',
left = breadcrumbs.breadcrumb_header( left = breadcrumbs.breadcrumb_header(
title=title, title=title,
breadcrumbs=breadcrumb breadcrumbs=breadcrumb
), ),
right = buttons.render_button(id='create', icon='plus-lg', logic=createButtonLogic) right = toolbarButtons
) }} ) }}
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View file

@ -57,7 +57,8 @@
right = buttons.render_button( right = buttons.render_button(
id = 'save', id = 'save',
icon = 'floppy', icon = 'floppy',
logic = saveLogic logic = saveLogic,
style = 'outline-primary'
) )
) }} ) }}
{% if not user.active %} {% if not user.active %}

View file

@ -98,13 +98,14 @@
{{ buttons.render_button( {{ buttons.render_button(
id='save', id='save',
icon='floppy', icon='floppy',
logic=saveLogic logic=saveLogic,
style='outline-primary rounded-start'
) }} ) }}
{% if log.id != None %} {% if log.id != None %}
{{ buttons.render_button( {{ buttons.render_button(
id='delete', id='delete',
icon='trash', icon='trash',
style='danger', style='outline-danger rounded-end',
logic=deleteLogic logic=deleteLogic
) }} ) }}
{% endif %} {% endif %}
@ -120,14 +121,6 @@
), ),
right=iconBar right=iconBar
) }} ) }}
{# { breadcrumbs.breadcrumb_header(
breadcrumbs=[
{'label': 'Work Log', 'url': url_for('main.list_worklog')}
],
title=title,
save_button=True,
delete_button=log.id != None
) } #}
{% if log.complete %} {% if log.complete %}
<div class="alert alert-success"> <div class="alert alert-success">
This work item is complete. You cannot make any further changes. This work item is complete. You cannot make any further changes.
@ -218,9 +211,29 @@
<label class="form-label">Updates</label> <label class="form-label">Updates</label>
</div> </div>
<div class="col"> <div class="col">
{#
<button class="btn btn-primary mb-3" id="addUpdateButton"{% if log.complete %} disabled{% endif %}> <button class="btn btn-primary mb-3" id="addUpdateButton"{% if log.complete %} disabled{% endif %}>
{{ icons.render_icon('plus-lg', 16) }} {{ icons.render_icon('plus-lg', 16) }}
</button> </button>
#}
{% set addUpdateLogic %}
function formatDate(date) {
const pad = (n) => String(n).padStart(2, '0');
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} `
+ `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
}
const template = document.getElementById("editor-template");
const newEditor = EditorWidget.createEditorWidget(template, EditorWidget.createTempId("new"), formatDate(new Date()));
const updatesContainer = document.getElementById("updates-container");
updatesContainer.appendChild(newEditor);
{% endset %}
{{ buttons.render_button(
id='addUpdate',
icon='plus-lg',
logic=addUpdateLogic
) }}
</div> </div>
</div> </div>
{% for update in log.updates %} {% for update in log.updates %}
@ -238,24 +251,3 @@
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
{% block script %}
const deleteButton = document.getElementById("deleteButton");
const addUpdateButton = document.getElementById("addUpdateButton");
function formatDate(date) {
const pad = (n) => String(n).padStart(2, '0');
return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())} `
+ `${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
}
if (addUpdateButton) {
addUpdateButton.addEventListener("click", (e) => {
const template = document.getElementById("editor-template");
const newEditor = EditorWidget.createEditorWidget(template, EditorWidget.createTempId("new"), formatDate(new Date()));
const updatesContainer = document.getElementById("updates-container");
updatesContainer.appendChild(newEditor);
});
}
{% endblock %}