accrete 0.0.104__py3-none-any.whl → 0.0.105__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- accrete/contrib/ui/__init__.py +6 -29
- accrete/contrib/ui/context.py +26 -297
- accrete/contrib/ui/filter.py +316 -324
- accrete/contrib/ui/middleware.py +44 -0
- accrete/contrib/ui/models.py +3 -0
- accrete/contrib/ui/static/bulma/README.md +4 -2
- accrete/contrib/ui/static/bulma/bulma.css +21551 -0
- accrete/contrib/ui/static/bulma/bulma.css.map +1 -0
- accrete/contrib/ui/static/bulma/bulma.scss +1 -1
- accrete/contrib/ui/static/bulma/css/bulma.css +1988 -2874
- accrete/contrib/ui/static/bulma/css/bulma.css.map +1 -1
- accrete/contrib/ui/static/bulma/css/bulma.min.css +2 -2
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css +19648 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css.map +1 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css +2 -2
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css +11136 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css.map +1 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css +2 -2
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css +11136 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css.map +1 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css +2 -2
- accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css +21550 -2
- accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css.map +1 -1
- accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.min.css +3 -0
- accrete/contrib/ui/static/bulma/package.json +12 -11
- accrete/contrib/ui/static/bulma/sass/base/animations.css +15 -0
- accrete/contrib/ui/static/bulma/sass/base/animations.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/base/generic.css +196 -0
- accrete/contrib/ui/static/bulma/sass/base/generic.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/base/minireset.css +82 -0
- accrete/contrib/ui/static/bulma/sass/base/minireset.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/base/skeleton.css +113 -0
- accrete/contrib/ui/static/bulma/sass/base/skeleton.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/base/skeleton.scss +0 -12
- accrete/contrib/ui/static/bulma/sass/components/breadcrumb.css +108 -0
- accrete/contrib/ui/static/bulma/sass/components/breadcrumb.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/card.css +130 -0
- accrete/contrib/ui/static/bulma/sass/components/card.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/dropdown.css +119 -0
- accrete/contrib/ui/static/bulma/sass/components/dropdown.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/menu.css +119 -0
- accrete/contrib/ui/static/bulma/sass/components/menu.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/message.css +191 -0
- accrete/contrib/ui/static/bulma/sass/components/message.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/modal.css +194 -0
- accrete/contrib/ui/static/bulma/sass/components/modal.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/navbar.css +768 -0
- accrete/contrib/ui/static/bulma/sass/components/navbar.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/navbar.scss +41 -30
- accrete/contrib/ui/static/bulma/sass/components/pagination.css +302 -0
- accrete/contrib/ui/static/bulma/sass/components/pagination.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/panel.css +224 -0
- accrete/contrib/ui/static/bulma/sass/components/panel.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/components/panel.scss +2 -2
- accrete/contrib/ui/static/bulma/sass/components/tabs.css +192 -0
- accrete/contrib/ui/static/bulma/sass/components/tabs.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/block.css +17 -0
- accrete/contrib/ui/static/bulma/sass/elements/block.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/box.css +43 -0
- accrete/contrib/ui/static/bulma/sass/elements/box.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/button.css +685 -0
- accrete/contrib/ui/static/bulma/sass/elements/button.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/button.scss +9 -2
- accrete/contrib/ui/static/bulma/sass/elements/content.css +208 -0
- accrete/contrib/ui/static/bulma/sass/elements/content.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/content.scss +8 -2
- accrete/contrib/ui/static/bulma/sass/elements/delete.css +60 -0
- accrete/contrib/ui/static/bulma/sass/elements/delete.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/icon.css +51 -0
- accrete/contrib/ui/static/bulma/sass/elements/icon.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/image.css +253 -0
- accrete/contrib/ui/static/bulma/sass/elements/image.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/loader.css +14 -0
- accrete/contrib/ui/static/bulma/sass/elements/loader.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/notification.css +213 -0
- accrete/contrib/ui/static/bulma/sass/elements/notification.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/progress.css +119 -0
- accrete/contrib/ui/static/bulma/sass/elements/progress.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/table.css +294 -0
- accrete/contrib/ui/static/bulma/sass/elements/table.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/tag.css +252 -0
- accrete/contrib/ui/static/bulma/sass/elements/tag.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/elements/title.css +131 -0
- accrete/contrib/ui/static/bulma/sass/elements/title.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.css +72 -0
- accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.scss +7 -3
- accrete/contrib/ui/static/bulma/sass/form/file.css +374 -0
- accrete/contrib/ui/static/bulma/sass/form/file.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/input-textarea.css +284 -0
- accrete/contrib/ui/static/bulma/sass/form/input-textarea.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/input-textarea.scss +0 -10
- accrete/contrib/ui/static/bulma/sass/form/select.css +347 -0
- accrete/contrib/ui/static/bulma/sass/form/select.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/select.scss +1 -0
- accrete/contrib/ui/static/bulma/sass/form/shared.css +48 -0
- accrete/contrib/ui/static/bulma/sass/form/shared.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/shared.scss +5 -1
- accrete/contrib/ui/static/bulma/sass/form/tools.css +356 -0
- accrete/contrib/ui/static/bulma/sass/form/tools.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/form/tools.scss +23 -12
- accrete/contrib/ui/static/bulma/sass/grid/columns-v2.css +1635 -0
- accrete/contrib/ui/static/bulma/sass/grid/columns-v2.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/grid/columns.css +1652 -0
- accrete/contrib/ui/static/bulma/sass/grid/columns.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/grid/columns.scss +109 -25
- accrete/contrib/ui/static/bulma/sass/grid/grid.css +3011 -0
- accrete/contrib/ui/static/bulma/sass/grid/grid.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/grid/grid.scss +3 -3
- accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.css +61 -0
- accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/border.css +17 -0
- accrete/contrib/ui/static/bulma/sass/helpers/border.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/color.css +5582 -0
- accrete/contrib/ui/static/bulma/sass/helpers/color.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/color.scss +166 -186
- accrete/contrib/ui/static/bulma/sass/helpers/flexbox.css +217 -0
- accrete/contrib/ui/static/bulma/sass/helpers/flexbox.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/float.css +37 -0
- accrete/contrib/ui/static/bulma/sass/helpers/float.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/gap.css +209 -0
- accrete/contrib/ui/static/bulma/sass/helpers/gap.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/other.css +34 -0
- accrete/contrib/ui/static/bulma/sass/helpers/other.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/overflow.css +65 -0
- accrete/contrib/ui/static/bulma/sass/helpers/overflow.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/position.css +45 -0
- accrete/contrib/ui/static/bulma/sass/helpers/position.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/spacing.css +489 -0
- accrete/contrib/ui/static/bulma/sass/helpers/spacing.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/typography.css +423 -0
- accrete/contrib/ui/static/bulma/sass/helpers/typography.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/helpers/visibility.css +485 -0
- accrete/contrib/ui/static/bulma/sass/helpers/visibility.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/container.scss +16 -8
- accrete/contrib/ui/static/bulma/sass/layout/footer.css +9 -0
- accrete/contrib/ui/static/bulma/sass/layout/footer.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/hero.css +534 -0
- accrete/contrib/ui/static/bulma/sass/layout/hero.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/level.css +102 -0
- accrete/contrib/ui/static/bulma/sass/layout/level.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/media.css +90 -0
- accrete/contrib/ui/static/bulma/sass/layout/media.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/section.css +23 -0
- accrete/contrib/ui/static/bulma/sass/layout/section.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/layout/section.scss +4 -0
- accrete/contrib/ui/static/bulma/sass/themes/dark.css +3 -0
- accrete/contrib/ui/static/bulma/sass/themes/dark.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/themes/light.css +3 -0
- accrete/contrib/ui/static/bulma/sass/themes/light.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/themes/light.scss +1 -0
- accrete/contrib/ui/static/bulma/sass/themes/setup.css +3 -0
- accrete/contrib/ui/static/bulma/sass/themes/setup.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/controls.css +13 -0
- accrete/contrib/ui/static/bulma/sass/utilities/controls.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/css-variables.css +3 -0
- accrete/contrib/ui/static/bulma/sass/utilities/css-variables.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/css-variables.scss +3 -2
- accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.css +3 -0
- accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/extends.css +13 -0
- accrete/contrib/ui/static/bulma/sass/utilities/extends.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/functions.scss +2 -2
- accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.css +3 -0
- accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.scss +4 -4
- accrete/contrib/ui/static/bulma/sass/utilities/mixins.css +3 -0
- accrete/contrib/ui/static/bulma/sass/utilities/mixins.css.map +1 -0
- accrete/contrib/ui/static/bulma/sass/utilities/mixins.scss +1 -1
- accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.css +19648 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.css.map +1 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.scss +2 -1
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.css +11136 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.css.map +1 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.scss +1 -1
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.css +11136 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.css.map +1 -0
- accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.scss +1 -1
- accrete/contrib/ui/static/bulma/versions/bulma-prefixed.css +21551 -0
- accrete/contrib/ui/static/bulma/versions/bulma-prefixed.css.map +1 -0
- accrete/contrib/ui/static/bulma/versions/bulma-prefixed.scss +1 -1
- accrete/contrib/ui/static/css/accrete.css +20757 -19997
- accrete/contrib/ui/static/css/accrete.css.map +1 -1
- accrete/contrib/ui/static/css/accrete.scss +185 -462
- accrete/contrib/ui/static/js/filter.js +97 -679
- accrete/contrib/ui/static/js/htmx.min.js +1 -1
- accrete/contrib/ui/templates/django/forms/widgets/date.html +5 -9
- accrete/contrib/ui/templates/django/forms/widgets/select.html +7 -5
- accrete/contrib/ui/templates/ui/content_right.html +7 -0
- accrete/contrib/ui/templates/ui/filter/filter.html +27 -0
- accrete/contrib/ui/templates/ui/filter/query_input.html +31 -0
- accrete/contrib/ui/templates/ui/filter/query_operator.html +11 -0
- accrete/contrib/ui/templates/ui/filter/query_params.html +106 -0
- accrete/contrib/ui/templates/ui/filter/query_tags.html +26 -0
- accrete/contrib/ui/templates/ui/layout.html +162 -233
- accrete/contrib/ui/templates/ui/list.html +39 -28
- accrete/contrib/ui/templates/ui/list_update.html +3 -0
- accrete/contrib/ui/templates/ui/message.html +13 -0
- accrete/contrib/ui/templates/ui/{partials/modal.html → modal.html} +9 -5
- accrete/contrib/ui/templates/ui/oob.html +3 -0
- accrete/contrib/ui/templates/ui/table.html +67 -71
- accrete/contrib/ui/templates/ui/table_row_update.html +14 -0
- accrete/contrib/ui/templates/ui/widgets/model_search_select.html +2 -2
- accrete/contrib/ui/templates/ui/widgets/model_search_select_multi.html +24 -13
- accrete/contrib/ui/templates/ui/widgets/model_search_select_options.html +1 -1
- accrete/contrib/ui/templatetags/{accrete_ui.py → ui.py} +67 -56
- accrete/contrib/ui/urls.py +3 -1
- accrete/contrib/ui/views.py +33 -3
- accrete/contrib/ui/widgets/__init__.py +1 -0
- accrete/contrib/ui/{forms/widgets.py → widgets/search_select.py} +7 -2
- accrete/contrib/user/templates/user/login.html +71 -23
- accrete/forms.py +0 -2
- accrete/managers.py +4 -4
- accrete/middleware.py +43 -66
- accrete/models.py +7 -1
- accrete/storage.py +4 -1
- accrete/tenant.py +9 -4
- accrete/utils/__init__.py +2 -0
- accrete/utils/models.py +9 -1
- accrete/utils/views.py +36 -20
- accrete/views.py +9 -5
- {accrete-0.0.104.dist-info → accrete-0.0.105.dist-info}/METADATA +3 -2
- accrete-0.0.105.dist-info/RECORD +370 -0
- {accrete-0.0.104.dist-info → accrete-0.0.105.dist-info}/WHEEL +1 -1
- accrete/contrib/ui/components/__init__.py +0 -1
- accrete/contrib/ui/components/search_select.py +0 -18
- accrete/contrib/ui/elements.py +0 -95
- accrete/contrib/ui/forms/__init__.py +0 -0
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css.map +0 -1
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css.map +0 -1
- accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css.map +0 -1
- accrete/contrib/ui/static/bulma/sass/grid/columns-v2.scss +0 -957
- accrete/contrib/ui/static/js/ui.js +0 -30
- accrete/contrib/ui/templates/ui/dashboard.html +0 -7
- accrete/contrib/ui/templates/ui/detail.html +0 -19
- accrete/contrib/ui/templates/ui/form.html +0 -21
- accrete/contrib/ui/templates/ui/partials/filter.html +0 -146
- accrete/contrib/ui/templates/ui/partials/form_errors.html +0 -34
- accrete/contrib/ui/templates/ui/partials/header.html +0 -123
- accrete/contrib/ui/templates/ui/partials/modal_form.html +0 -46
- accrete/contrib/ui/templates/ui/partials/onchange_form.html +0 -1
- accrete/contrib/ui/templates/ui/partials/pagination_detail.html +0 -23
- accrete/contrib/ui/templates/ui/partials/pagination_list.html +0 -28
- accrete/contrib/ui/templates/ui/partials/table_field_tags.html +0 -17
- accrete/contrib/ui/templates/ui/widgets/model_search_select_multi_selected_options.html +0 -3
- accrete/contrib/ui/templates/ui/widgets/model_search_select_multi_tags.html +0 -6
- accrete-0.0.104.dist-info/RECORD +0 -238
- {accrete-0.0.104.dist-info → accrete-0.0.105.dist-info}/licenses/LICENSE +0 -0
@@ -1,30 +0,0 @@
|
|
1
|
-
function setDropDown(el) {
|
2
|
-
if (el.getAttribute('data-dropdown-id')) {
|
3
|
-
el = document.getElementById(el.getAttribute('data-dropdown-id'));
|
4
|
-
|
5
|
-
}
|
6
|
-
const dropdownMenu = el.querySelector('.dropdown-menu');
|
7
|
-
document.querySelectorAll('.dropdown').forEach(dropdown => {
|
8
|
-
if (dropdown !== el) {
|
9
|
-
dropdown.classList.remove('is-active');
|
10
|
-
if (dropdown.getAttribute('data-dropdown-trigger-id')) {
|
11
|
-
document.getElementById(
|
12
|
-
dropdown.getAttribute('data-dropdown-trigger-id')
|
13
|
-
).classList.remove('is-active');
|
14
|
-
}
|
15
|
-
}
|
16
|
-
else if (dropdownMenu.contains(el)) {}
|
17
|
-
else if (dropdown === el) {
|
18
|
-
dropdown.classList.toggle('is-active');
|
19
|
-
if (dropdown.getAttribute('data-dropdown-trigger-id')) {
|
20
|
-
document.getElementById(
|
21
|
-
dropdown.getAttribute('data-dropdown-trigger-id')
|
22
|
-
).classList.toggle('is-active');
|
23
|
-
}
|
24
|
-
}
|
25
|
-
})
|
26
|
-
}
|
27
|
-
|
28
|
-
function removeModal(modalId) {
|
29
|
-
document.getElementById(modalId).remove()
|
30
|
-
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
{% extends 'ui/layout.html' %}
|
2
|
-
{% load i18n %}
|
3
|
-
{% load accrete_ui %}
|
4
|
-
|
5
|
-
{% block content %}
|
6
|
-
<div class="columns is-desktop m-0" style="gap: 8px">
|
7
|
-
<div class="column p-0 is-8-desktop">
|
8
|
-
<div class="box mt-2">
|
9
|
-
{% block detail_content %}{% endblock %}
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
<div id="info-panel" class="column pt-0 px-0">
|
13
|
-
<div id="info-panel-content" class="p-0 mt-2">
|
14
|
-
{% block info_panel %}
|
15
|
-
{% endblock %}
|
16
|
-
</div>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
{% endblock %}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
{% extends 'ui/layout.html' %}
|
2
|
-
{% load i18n %}
|
3
|
-
|
4
|
-
{% block content %}
|
5
|
-
<div class="columns is-desktop m-0" style="gap: 8px">
|
6
|
-
<div id="form-content" class="column p-0 is-8-desktop">
|
7
|
-
<div class="box mt-2">
|
8
|
-
{% if form.is_saved is False %}
|
9
|
-
{% include 'ui/partials/form_errors.html' %}
|
10
|
-
{% endif %}
|
11
|
-
{% block form %}{% endblock %}
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
<div id="info-panel" class="column pt-0 px-0">
|
15
|
-
<div id="info-panel-content" class="p-0 mt-2">
|
16
|
-
{% block info_panel %}
|
17
|
-
{% endblock %}
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
</div>
|
21
|
-
{% endblock %}
|
@@ -1,146 +0,0 @@
|
|
1
|
-
{% load i18n %}
|
2
|
-
{% load static %}
|
3
|
-
{% load cache %}
|
4
|
-
{% load accrete_ui %}
|
5
|
-
|
6
|
-
<div id="query-block" class="panel-block pt-0" style="position: relative; display: inline-block; width: 100%">
|
7
|
-
<script src="{% static "js/filter.js" %}" defer type="text/javascript"></script>
|
8
|
-
|
9
|
-
<div id="query-apply" hx-get="" hx-trigger="click" hx-replace-url="true"
|
10
|
-
hx-select-oob="#content,#list-pagination,#query-apply,#panel-actions">
|
11
|
-
</div>
|
12
|
-
|
13
|
-
<div id="query-tags" class="is-flex-direction-column is-flex-grow-1 is-multiline mb-1"
|
14
|
-
data-or-label="{% translate 'OR' %}" data-and-label="{% translate 'AND' %}" data-xor-label="{% translate 'XOR' %}">
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div class="field level is-mobile mb-1 is-flex">
|
18
|
-
<p id="query-operation" class="control" style="display: flex; flex-direction: column; align-self: flex-start">
|
19
|
-
<span class="select">
|
20
|
-
<select id="query-operation-select" aria-label="Select Operation">
|
21
|
-
<option value="&">{% translate 'AND' %}</option>
|
22
|
-
<option value="|">{% translate 'OR' %}</option>
|
23
|
-
</select>
|
24
|
-
</span>
|
25
|
-
</p>
|
26
|
-
<div id="query-notification" class="is-size-7 p-0 ml-1 is-flex-direction-column is-flex-grow-3">
|
27
|
-
<div id="query-notification-parameter" class="notification is-warning is-light has-text-centered py-2 m-0 is-hidden">
|
28
|
-
<p>{% translate 'Select a parameter' %}</p>
|
29
|
-
</div>
|
30
|
-
<p id="query-label" class="py-2 px-1 m-0" style="word-break: break-word"></p>
|
31
|
-
</div>
|
32
|
-
</div>
|
33
|
-
|
34
|
-
<div id="query-input-fieldset" class="field has-addons pt-1 mb-0 mt-1">
|
35
|
-
<p id="query-input-control" class="control is-expanded">
|
36
|
-
<input id="query-input"
|
37
|
-
type="text"
|
38
|
-
aria-label="Query Input"
|
39
|
-
class="input is-fullwidth"
|
40
|
-
placeholder="Enter a search term"
|
41
|
-
data-default-term="{{ filter.default_filter_term }}"
|
42
|
-
onkeyup="inputConfirm()"
|
43
|
-
>
|
44
|
-
</p>
|
45
|
-
<p id="query-input-select-control" class="control is-expanded is-hidden">
|
46
|
-
<span class="select is-fullwidth">
|
47
|
-
<select id="query-input-select" aria-label="query-input-select"
|
48
|
-
style="border-bottom-left-radius: var(--bulma-radius-medium); border-top-left-radius: var(--bulma-radius-medium);"
|
49
|
-
>
|
50
|
-
</select>
|
51
|
-
</span>
|
52
|
-
</p>
|
53
|
-
<p id="query-input-apply" class="control" onclick="applyInput()"><button class="button">⇒</button></p>
|
54
|
-
</div>
|
55
|
-
|
56
|
-
|
57
|
-
<div id="query-params-dropdown" class="box mt-0 mx-0 is-hidden is-fullwidth" tabindex="-1" onclick="toggleParams()">
|
58
|
-
{{ filter.to_html.params }}
|
59
|
-
</div>
|
60
|
-
|
61
|
-
<div id="list-customization" style="display: flex; flex-direction: column; flex-wrap: nowrap">
|
62
|
-
<div class="mt-2">
|
63
|
-
<div class="field has-addons">
|
64
|
-
{% if field_selection %}
|
65
|
-
<div class="control is-expanded">
|
66
|
-
<button id="list-customization-fields-trigger"
|
67
|
-
class="button dropdown-button side-panel-action-content is-fullwidth"
|
68
|
-
onclick="setDropDown(this)" data-dropdown-id="list-customization-fields"
|
69
|
-
>
|
70
|
-
<span>{% translate 'Fields' %}</span>
|
71
|
-
<span class="icon is-small">
|
72
|
-
<i class="fa fa-angle-down"></i>
|
73
|
-
</span>
|
74
|
-
</button>
|
75
|
-
</div>
|
76
|
-
{% endif %}
|
77
|
-
{% if order_selection %}
|
78
|
-
<div class="control is-expanded">
|
79
|
-
<button id="list-customization-order-trigger"
|
80
|
-
class="button dropdown-button side-panel-action-content is-fullwidth"
|
81
|
-
onclick="setDropDown(this)" data-dropdown-id="list-customization-order"
|
82
|
-
>
|
83
|
-
<span>{% translate 'Order' %}</span>
|
84
|
-
<span class="icon is-small">
|
85
|
-
<i class="fa fa-angle-down"></i>
|
86
|
-
</span>
|
87
|
-
</button>
|
88
|
-
</div>
|
89
|
-
{% endif %}
|
90
|
-
</div>
|
91
|
-
</div>
|
92
|
-
|
93
|
-
{% if field_selection %}
|
94
|
-
<div id="list-customization-fields" class="dropdown is-flex-grow-1 pt-0" role="menu" data-dropdown-trigger-id="list-customization-fields-trigger">
|
95
|
-
<div class="dropdown-menu pt-0" style="width: 100%">
|
96
|
-
<div class="dropdown-content">
|
97
|
-
<div class="dropdown-item">
|
98
|
-
<div class="field has-addons mr-1">
|
99
|
-
<p class="control is-expanded">
|
100
|
-
<input id="field-path-search-input" class="input is-small" type="text" aria-label="Query Input" oninput="filterFieldPaths()" style="height: 100%">
|
101
|
-
</p>
|
102
|
-
<p class="control">
|
103
|
-
<button id="field-path-search-reset" class="button is-small has-icon" onclick="resetFieldPaths()" style="box-shadow: none">
|
104
|
-
<span class="icon"><i class="fas fa-arrow-rotate-left"></i></span>
|
105
|
-
</button>
|
106
|
-
</p>
|
107
|
-
</div>
|
108
|
-
</div>
|
109
|
-
<div class="dropdown-item">
|
110
|
-
<div id="field-path-checkboxes" onchange="changeFieldSelection()">
|
111
|
-
{{ filter.to_html.field_paths }}
|
112
|
-
</div>
|
113
|
-
</div>
|
114
|
-
<div id="field-path-apply" hx-get="" hx-trigger="click" hx-replace-url="true"
|
115
|
-
hx-select-oob="#content,#field-path-apply,#list-pagination">
|
116
|
-
</div>
|
117
|
-
</div>
|
118
|
-
</div>
|
119
|
-
</div>
|
120
|
-
{% endif %}
|
121
|
-
|
122
|
-
{% if order_selection %}
|
123
|
-
<div id="list-customization-order" class="dropdown is-flex-grow-1 pt-0" role="menu" data-dropdown-trigger-id="list-customization-order-trigger">
|
124
|
-
<div class="dropdown-menu pt-0" style="width: 100%">
|
125
|
-
<div class="dropdown-content">
|
126
|
-
<div class="dropdown-item">
|
127
|
-
<div class="field has-addons mr-1">
|
128
|
-
<p class="control is-expanded">
|
129
|
-
<input class="input is-small" type="text" aria-label="Query Input" style="height: 100%">
|
130
|
-
</p>
|
131
|
-
<p class="control">
|
132
|
-
<button id="order-selection-reset" class="button is-small has-icon" style="box-shadow: none;">
|
133
|
-
<span class="icon"><i class="fas fa-arrow-rotate-left"></i></span>
|
134
|
-
</button>
|
135
|
-
</p>
|
136
|
-
</div>
|
137
|
-
</div>
|
138
|
-
<div id="order-path-apply" hx-get="" hx-trigger="click" hx-replace-url="true"
|
139
|
-
hx-select-oob="#content,#order-path-apply,#list-pagination">
|
140
|
-
</div>
|
141
|
-
</div>
|
142
|
-
</div>
|
143
|
-
</div>
|
144
|
-
{% endif %}
|
145
|
-
</div>
|
146
|
-
</div>
|
@@ -1,34 +0,0 @@
|
|
1
|
-
<div class="columns py-0">
|
2
|
-
<div class="column is-12">
|
3
|
-
<div class="notification is-danger is-light">
|
4
|
-
<p>{{ form.non_field_errors }}</p>
|
5
|
-
{% for inline_form in form.inline_forms %}
|
6
|
-
<p>{{ inline_form.non_field_errors }}</p>
|
7
|
-
{% endfor %}
|
8
|
-
{% if form.save_error %}
|
9
|
-
<p>{{ form.save_error|safe }}</p>
|
10
|
-
<p>Error ID: {{ form.save_error_id }}</p>
|
11
|
-
{% endif %}
|
12
|
-
{% for f in form %}
|
13
|
-
{% if f.errors %}
|
14
|
-
<label>
|
15
|
-
<span class="is-underlined">{{ f.label_tag }}</span>
|
16
|
-
<span class="is-size-7">{{ f.errors }}</span>
|
17
|
-
</label>
|
18
|
-
{% endif %}
|
19
|
-
{% endfor %}
|
20
|
-
{% for formset in form.inline_forms %}
|
21
|
-
{% for inline_form in formset %}
|
22
|
-
{% for field in inline_form %}
|
23
|
-
{% if field.errors %}
|
24
|
-
<label>
|
25
|
-
<span class="is-underlined">{{ field.label_tag }}</span>
|
26
|
-
<span class="is-size-7">{{ field.errors }}</span>
|
27
|
-
</label>
|
28
|
-
{% endif %}
|
29
|
-
{% endfor %}
|
30
|
-
{% endfor %}
|
31
|
-
{% endfor %}
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
</div>
|
@@ -1,123 +0,0 @@
|
|
1
|
-
{% load i18n %}
|
2
|
-
|
3
|
-
<div id="header" class="pt-3">
|
4
|
-
<div class="level level-is-shrinkable is-flex mb-2 pl-3 {% if detail_page %}is-mobile {% endif %}" style="align-items: start">
|
5
|
-
<div class="level-left">
|
6
|
-
<div class="level-item has-text-weight-bold">
|
7
|
-
<nav id="breadcrumbs" class="breadcrumb" aria-label="breadcrumbs" style="white-space: unset; word-break: break-word">
|
8
|
-
<ul>
|
9
|
-
{% for crumb in breadcrumbs %}
|
10
|
-
<li><a class="is-underlined" href="{{ crumb.url|default_if_none:'#' }}"
|
11
|
-
aria-current="page" hx-boost="true"
|
12
|
-
>{{ crumb.name }}</a></li>
|
13
|
-
{% endfor %}
|
14
|
-
<li class="is-active"><a id="breadcrumb-title" aria-current="page">{{ title }}</a></li>
|
15
|
-
</ul>
|
16
|
-
</nav>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
{% if list_page.paginator or detail_page %}
|
20
|
-
<div class="level-right is-mobile is-hidden-mobile is-hidden-fullhd is-align-self-flex-start px-3">
|
21
|
-
<div class="level-item">
|
22
|
-
{% if list_page.paginator %}
|
23
|
-
{% include 'ui/partials/pagination_list.html' %}
|
24
|
-
{% elif detail_page %}
|
25
|
-
{% include 'ui/partials/pagination_detail.html' %}
|
26
|
-
{% endif %}
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
{% endif %}
|
30
|
-
</div>
|
31
|
-
|
32
|
-
<div class="is-flex is-hidden-fullhd is-justify-content-space-between mb-2 {% if not filter %}mr-3{% endif %}">
|
33
|
-
<div id="header-actions" class="is-flex scroll-shadows py-1 px-1 ml-2" style="overflow-x: auto">
|
34
|
-
{% for action in actions %}
|
35
|
-
{% if action.actions %}
|
36
|
-
<button id="action-group-{{ loop.index }}" class="button" data-target="action-group-{{ loop.index }}-modal" onclick="showActions(this)">
|
37
|
-
<span>{{ action.name }}</span>
|
38
|
-
<span class="icon is-small">
|
39
|
-
<i class="fas fa-angle-down" aria-hidden="true"></i>
|
40
|
-
</span>
|
41
|
-
</button>
|
42
|
-
<div id="action-group-{{ loop.index }}-modal" class="modal">
|
43
|
-
<div class="modal-background" onclick="closeActionsModal('action-group-{{ loop.index }}-modal')"></div>
|
44
|
-
<div class="modal-card">
|
45
|
-
<header class="modal-card-head">
|
46
|
-
<p class="modal-card-title">{{ action.name }}</p>
|
47
|
-
<button class="delete" aria-label="close"
|
48
|
-
onclick="closeActionsModal('action-group-{{ loop.index }}-modal')"
|
49
|
-
></button>
|
50
|
-
</header>
|
51
|
-
<section class="modal-card-body">
|
52
|
-
{% for group_action in action.actions %}
|
53
|
-
{% if group_action.submit %}
|
54
|
-
<button class="button is-fullwidth {{ group_action.class_list|join:' ' }} mb-4"
|
55
|
-
type="submit" form={{ group_action.form_id }} value="{{ group_action.name }}"
|
56
|
-
{{ group_action.attrs_str }}
|
57
|
-
>
|
58
|
-
<div class="level side-panel-action-content"><span>{{ group_action.name }}</span>
|
59
|
-
{% if group_action.icon %}<i class="{{ group_action.icon.value }}"></i>{% endif %}
|
60
|
-
</div>
|
61
|
-
</button>
|
62
|
-
{% else %}
|
63
|
-
<a class="button is-fullwidth {{ group_action.class_list|join:' ' }} mb-4"
|
64
|
-
{% if group_action.url %}
|
65
|
-
{{ group_action.method.value }}="{{ group_action.url }}"
|
66
|
-
{% endif %}
|
67
|
-
{{ group_action.attrs_str }}
|
68
|
-
>
|
69
|
-
<div class="level side-panel-action-content">
|
70
|
-
<span>{{ group_action.name }}</span>
|
71
|
-
{% if group_action.icon %}<i class="{{ group_action.icon.value }}"></i>{% endif %}
|
72
|
-
</div>
|
73
|
-
</a>
|
74
|
-
{% endif %}
|
75
|
-
{% endfor %}
|
76
|
-
</section>
|
77
|
-
</div>
|
78
|
-
</div>
|
79
|
-
{% elif action.submit %}
|
80
|
-
<button class="button is-fullwidth mr-2 {{ action.class_list|join:' ' }}"
|
81
|
-
type="submit" form={{ action.form_id }} value="{{ action.name }}"
|
82
|
-
{{ action.attrs_str }}
|
83
|
-
>
|
84
|
-
<div class="side-panel-action-content level">
|
85
|
-
<span class="{% if action.icon_only %}is-hidden{% endif %}">{{ action.name }}</span>
|
86
|
-
{% if action.icon %}<i class="{{ action.icon.value }} ml-2"></i>{% endif %}
|
87
|
-
</div>
|
88
|
-
</button>
|
89
|
-
{% else %}
|
90
|
-
<a class="button is-fullwidth mr-2 {{ action.class_list|join:' ' }}" style="min-height: 36px;"
|
91
|
-
{% if action.url %}
|
92
|
-
{{ action.method.value }}="{{ action.url }}"
|
93
|
-
{% endif %}
|
94
|
-
{{ action.attrs_str }}
|
95
|
-
>
|
96
|
-
<div class="side-panel-action-content level">
|
97
|
-
<span class="{% if action.icon_only %}is-hidden{% endif %}">{{ action.name }}</span>
|
98
|
-
{% if action.icon %}<i class="{{ action.icon.value }}"></i>{% endif %}
|
99
|
-
</div>
|
100
|
-
</a>
|
101
|
-
{% endif %}
|
102
|
-
{% endfor %}
|
103
|
-
</div>
|
104
|
-
{% if filter %}
|
105
|
-
<div class="is-flex ml-2 py-1 pr-3">
|
106
|
-
<button id="modal-filter-button" class="button has-icon" onclick="showFilterModal()">
|
107
|
-
<i class="fa fa-filter"></i>
|
108
|
-
</button>
|
109
|
-
</div>
|
110
|
-
{% endif %}
|
111
|
-
</div>
|
112
|
-
<script>
|
113
|
-
function showActions(el) {
|
114
|
-
console.log(el)
|
115
|
-
const modal = document.getElementById(el.getAttribute('data-target'));
|
116
|
-
modal.classList.add('is-active');
|
117
|
-
}
|
118
|
-
|
119
|
-
function closeActionsModal(modalId) {
|
120
|
-
document.getElementById(modalId).classList.remove('is-active');
|
121
|
-
}
|
122
|
-
</script>
|
123
|
-
</div>
|
@@ -1,46 +0,0 @@
|
|
1
|
-
{% load i18n %}
|
2
|
-
|
3
|
-
<div id="modal-{{ form_id }}" class="modal {% block modal_form_class %}is-active{% endblock %}"
|
4
|
-
hx-swap="outerHTML"
|
5
|
-
hx-target="#modal-{{ form_id }}"
|
6
|
-
hx-on:delete="removeModal('modal-{{ form_id }}')"
|
7
|
-
{% if blocking %}
|
8
|
-
hx-indicator="#modal-{{ form_id }}-indicator"
|
9
|
-
hx-disabled-elt="#modal-{{ form_id }}-background"
|
10
|
-
{% endif %}
|
11
|
-
>
|
12
|
-
<button id="modal-{{ form_id }}-background" class="modal-background" onclick="removeModal('modal-{{ form_id }}')" style="cursor: default"></button>
|
13
|
-
<div class="modal-card">
|
14
|
-
<header class="modal-card-head">
|
15
|
-
<p class="modal-card-title">
|
16
|
-
{{ title }}
|
17
|
-
</p>
|
18
|
-
<button class="delete filter-modal-close" aria-label="close" onclick="removeModal('modal-{{ form_id }}')"></button>
|
19
|
-
</header>
|
20
|
-
<section id="modal-content" class="modal-card-body">
|
21
|
-
{% if form.is_saved is False %}
|
22
|
-
{% include 'ui/partials/form_errors.html' %}
|
23
|
-
{% endif %}
|
24
|
-
{% block modal_content %}{% endblock %}
|
25
|
-
</section>
|
26
|
-
<footer class="modal-card-foot">
|
27
|
-
{% block modal_footer %}
|
28
|
-
<div class="buttons" style="width: 100%">
|
29
|
-
{% block modal_buttons %}
|
30
|
-
<button class="button is-success" type="submit" form="{{ form_id }}">
|
31
|
-
{% translate 'Save' %}
|
32
|
-
</button>
|
33
|
-
<button class="button" onclick="removeModal('modal-{{ form_id }}')">
|
34
|
-
{% translate 'Discard' %}
|
35
|
-
</button>
|
36
|
-
{% endblock %}
|
37
|
-
</div>
|
38
|
-
{% endblock %}
|
39
|
-
</footer>
|
40
|
-
{% if blocking %}
|
41
|
-
<div id="modal-{{ form_id }}-indicator" class="htmx-indicator modal-request-overlay" style="position: absolute; inset: 0; background: rgba(47, 47, 62, 0.2)">
|
42
|
-
<progress class="progress is-success" max="100" style="position: fixed; inset: 0; min-width: 300px; max-width: 20vw; margin: auto;"></progress>
|
43
|
-
</div>
|
44
|
-
{% endif %}
|
45
|
-
</div>
|
46
|
-
</div>
|
@@ -1 +0,0 @@
|
|
1
|
-
<div hx-post="?onchange=1&{{ params }}" hx-trigger="load" hx-target="body" hx-include="#{{ form_id }}"></div>
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<div id="detail-pagination" class="field has-addons" style="width: 100%">
|
2
|
-
<p class="control">
|
3
|
-
<button class="button"
|
4
|
-
hx-get="{{ detail_page.previous_object_url }}{{pagination_param_str}}"
|
5
|
-
hx-replace-url="true"
|
6
|
-
hx-select-oob="#content,#detail-pagination,#panel-actions,#header-actions,#breadcrumbs"
|
7
|
-
><
|
8
|
-
</button>
|
9
|
-
|
10
|
-
</p>
|
11
|
-
<p class="control is-expanded">
|
12
|
-
<button class="button is-fullwidth px-1" style="white-space: normal">
|
13
|
-
<span class="{% if detail_page.total_objects > 99999 %}is-size-7{% endif %}">{{ detail_page.current_object_idx }} / {{ detail_page.total_objects }}</span>
|
14
|
-
</button>
|
15
|
-
</p>
|
16
|
-
<p class="control">
|
17
|
-
<button class="button" hx-get="{{ detail_page.next_object_url }}{{pagination_param_str}}"
|
18
|
-
hx-replace-url="true"
|
19
|
-
hx-select-oob="#content,#detail-pagination,#panel-actions,#header-actions,#breadcrumbs"
|
20
|
-
>>
|
21
|
-
</button>
|
22
|
-
</p>
|
23
|
-
</div>
|
@@ -1,28 +0,0 @@
|
|
1
|
-
{% load i18n %}
|
2
|
-
<div id="list-pagination" class="field has-addons" style="min-width: 100%; max-width: 100%">
|
3
|
-
<p class="control">
|
4
|
-
<button id="list-pagination-prev-button" class="button"
|
5
|
-
hx-get="{{ pagination_param_str }}&page={% if list_page.has_previous %}{{ list_page.previous_page_number }}{% else %}{{ list_page.paginator.num_pages }}{% endif %}"
|
6
|
-
hx-replace-url="true"
|
7
|
-
hx-select-oob="#content,#list-pagination"
|
8
|
-
>
|
9
|
-
<
|
10
|
-
</button>
|
11
|
-
</p>
|
12
|
-
<p class="control is-expanded">
|
13
|
-
<button class="button is-fullwidth px-1" style="white-space: normal">
|
14
|
-
<span class="{% if list_page.paginator.count > 9999 %}is-size-7{% endif %}" style="display: flex">
|
15
|
-
{{ list_page.start_index }}-<div id="list-pagination-end-index">{{ list_page.end_index }}</div> / {{ list_page.paginator.count }}
|
16
|
-
</span>
|
17
|
-
</button>
|
18
|
-
</p>
|
19
|
-
<p class="control">
|
20
|
-
<button id="list-pagination-next-button" class="button"
|
21
|
-
hx-get="{{ pagination_param_str }}&page={% if list_page.has_next %}{{ list_page.next_page_number }}{% else %}1{% endif %}"
|
22
|
-
hx-replace-url="true"
|
23
|
-
hx-select-oob="#content,#list-pagination"
|
24
|
-
>
|
25
|
-
>
|
26
|
-
</button>
|
27
|
-
</p>
|
28
|
-
</div>
|
@@ -1,17 +0,0 @@
|
|
1
|
-
{% load accrete_ui %}
|
2
|
-
|
3
|
-
|
4
|
-
{% with manager=obj|get_attr:field.name %}
|
5
|
-
<td style="text-align: left">
|
6
|
-
<span>
|
7
|
-
<span class="responsive-heading has-text-weight-light" style="margin-right: .2rem">{{ field.label }}:</span>
|
8
|
-
{% block td_content %}
|
9
|
-
<div class="tags">
|
10
|
-
{% for o in manager.all %}
|
11
|
-
<span class="tag">{{ o }}</span>
|
12
|
-
{% endfor %}
|
13
|
-
</div>
|
14
|
-
{% endblock %}
|
15
|
-
</span>
|
16
|
-
</td>
|
17
|
-
{% endwith %}
|