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.
Files changed (248) hide show
  1. accrete/contrib/ui/__init__.py +6 -29
  2. accrete/contrib/ui/context.py +26 -297
  3. accrete/contrib/ui/filter.py +316 -324
  4. accrete/contrib/ui/middleware.py +44 -0
  5. accrete/contrib/ui/models.py +3 -0
  6. accrete/contrib/ui/static/bulma/README.md +4 -2
  7. accrete/contrib/ui/static/bulma/bulma.css +21551 -0
  8. accrete/contrib/ui/static/bulma/bulma.css.map +1 -0
  9. accrete/contrib/ui/static/bulma/bulma.scss +1 -1
  10. accrete/contrib/ui/static/bulma/css/bulma.css +1988 -2874
  11. accrete/contrib/ui/static/bulma/css/bulma.css.map +1 -1
  12. accrete/contrib/ui/static/bulma/css/bulma.min.css +2 -2
  13. accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css +19648 -0
  14. accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.css.map +1 -0
  15. accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css +2 -2
  16. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css +11136 -0
  17. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.css.map +1 -0
  18. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css +2 -2
  19. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css +11136 -0
  20. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.css.map +1 -0
  21. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css +2 -2
  22. accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css +21550 -2
  23. accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.css.map +1 -1
  24. accrete/contrib/ui/static/bulma/css/versions/bulma-prefixed.min.min.css +3 -0
  25. accrete/contrib/ui/static/bulma/package.json +12 -11
  26. accrete/contrib/ui/static/bulma/sass/base/animations.css +15 -0
  27. accrete/contrib/ui/static/bulma/sass/base/animations.css.map +1 -0
  28. accrete/contrib/ui/static/bulma/sass/base/generic.css +196 -0
  29. accrete/contrib/ui/static/bulma/sass/base/generic.css.map +1 -0
  30. accrete/contrib/ui/static/bulma/sass/base/minireset.css +82 -0
  31. accrete/contrib/ui/static/bulma/sass/base/minireset.css.map +1 -0
  32. accrete/contrib/ui/static/bulma/sass/base/skeleton.css +113 -0
  33. accrete/contrib/ui/static/bulma/sass/base/skeleton.css.map +1 -0
  34. accrete/contrib/ui/static/bulma/sass/base/skeleton.scss +0 -12
  35. accrete/contrib/ui/static/bulma/sass/components/breadcrumb.css +108 -0
  36. accrete/contrib/ui/static/bulma/sass/components/breadcrumb.css.map +1 -0
  37. accrete/contrib/ui/static/bulma/sass/components/card.css +130 -0
  38. accrete/contrib/ui/static/bulma/sass/components/card.css.map +1 -0
  39. accrete/contrib/ui/static/bulma/sass/components/dropdown.css +119 -0
  40. accrete/contrib/ui/static/bulma/sass/components/dropdown.css.map +1 -0
  41. accrete/contrib/ui/static/bulma/sass/components/menu.css +119 -0
  42. accrete/contrib/ui/static/bulma/sass/components/menu.css.map +1 -0
  43. accrete/contrib/ui/static/bulma/sass/components/message.css +191 -0
  44. accrete/contrib/ui/static/bulma/sass/components/message.css.map +1 -0
  45. accrete/contrib/ui/static/bulma/sass/components/modal.css +194 -0
  46. accrete/contrib/ui/static/bulma/sass/components/modal.css.map +1 -0
  47. accrete/contrib/ui/static/bulma/sass/components/navbar.css +768 -0
  48. accrete/contrib/ui/static/bulma/sass/components/navbar.css.map +1 -0
  49. accrete/contrib/ui/static/bulma/sass/components/navbar.scss +41 -30
  50. accrete/contrib/ui/static/bulma/sass/components/pagination.css +302 -0
  51. accrete/contrib/ui/static/bulma/sass/components/pagination.css.map +1 -0
  52. accrete/contrib/ui/static/bulma/sass/components/panel.css +224 -0
  53. accrete/contrib/ui/static/bulma/sass/components/panel.css.map +1 -0
  54. accrete/contrib/ui/static/bulma/sass/components/panel.scss +2 -2
  55. accrete/contrib/ui/static/bulma/sass/components/tabs.css +192 -0
  56. accrete/contrib/ui/static/bulma/sass/components/tabs.css.map +1 -0
  57. accrete/contrib/ui/static/bulma/sass/elements/block.css +17 -0
  58. accrete/contrib/ui/static/bulma/sass/elements/block.css.map +1 -0
  59. accrete/contrib/ui/static/bulma/sass/elements/box.css +43 -0
  60. accrete/contrib/ui/static/bulma/sass/elements/box.css.map +1 -0
  61. accrete/contrib/ui/static/bulma/sass/elements/button.css +685 -0
  62. accrete/contrib/ui/static/bulma/sass/elements/button.css.map +1 -0
  63. accrete/contrib/ui/static/bulma/sass/elements/button.scss +9 -2
  64. accrete/contrib/ui/static/bulma/sass/elements/content.css +208 -0
  65. accrete/contrib/ui/static/bulma/sass/elements/content.css.map +1 -0
  66. accrete/contrib/ui/static/bulma/sass/elements/content.scss +8 -2
  67. accrete/contrib/ui/static/bulma/sass/elements/delete.css +60 -0
  68. accrete/contrib/ui/static/bulma/sass/elements/delete.css.map +1 -0
  69. accrete/contrib/ui/static/bulma/sass/elements/icon.css +51 -0
  70. accrete/contrib/ui/static/bulma/sass/elements/icon.css.map +1 -0
  71. accrete/contrib/ui/static/bulma/sass/elements/image.css +253 -0
  72. accrete/contrib/ui/static/bulma/sass/elements/image.css.map +1 -0
  73. accrete/contrib/ui/static/bulma/sass/elements/loader.css +14 -0
  74. accrete/contrib/ui/static/bulma/sass/elements/loader.css.map +1 -0
  75. accrete/contrib/ui/static/bulma/sass/elements/notification.css +213 -0
  76. accrete/contrib/ui/static/bulma/sass/elements/notification.css.map +1 -0
  77. accrete/contrib/ui/static/bulma/sass/elements/progress.css +119 -0
  78. accrete/contrib/ui/static/bulma/sass/elements/progress.css.map +1 -0
  79. accrete/contrib/ui/static/bulma/sass/elements/table.css +294 -0
  80. accrete/contrib/ui/static/bulma/sass/elements/table.css.map +1 -0
  81. accrete/contrib/ui/static/bulma/sass/elements/tag.css +252 -0
  82. accrete/contrib/ui/static/bulma/sass/elements/tag.css.map +1 -0
  83. accrete/contrib/ui/static/bulma/sass/elements/title.css +131 -0
  84. accrete/contrib/ui/static/bulma/sass/elements/title.css.map +1 -0
  85. accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.css +72 -0
  86. accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.css.map +1 -0
  87. accrete/contrib/ui/static/bulma/sass/form/checkbox-radio.scss +7 -3
  88. accrete/contrib/ui/static/bulma/sass/form/file.css +374 -0
  89. accrete/contrib/ui/static/bulma/sass/form/file.css.map +1 -0
  90. accrete/contrib/ui/static/bulma/sass/form/input-textarea.css +284 -0
  91. accrete/contrib/ui/static/bulma/sass/form/input-textarea.css.map +1 -0
  92. accrete/contrib/ui/static/bulma/sass/form/input-textarea.scss +0 -10
  93. accrete/contrib/ui/static/bulma/sass/form/select.css +347 -0
  94. accrete/contrib/ui/static/bulma/sass/form/select.css.map +1 -0
  95. accrete/contrib/ui/static/bulma/sass/form/select.scss +1 -0
  96. accrete/contrib/ui/static/bulma/sass/form/shared.css +48 -0
  97. accrete/contrib/ui/static/bulma/sass/form/shared.css.map +1 -0
  98. accrete/contrib/ui/static/bulma/sass/form/shared.scss +5 -1
  99. accrete/contrib/ui/static/bulma/sass/form/tools.css +356 -0
  100. accrete/contrib/ui/static/bulma/sass/form/tools.css.map +1 -0
  101. accrete/contrib/ui/static/bulma/sass/form/tools.scss +23 -12
  102. accrete/contrib/ui/static/bulma/sass/grid/columns-v2.css +1635 -0
  103. accrete/contrib/ui/static/bulma/sass/grid/columns-v2.css.map +1 -0
  104. accrete/contrib/ui/static/bulma/sass/grid/columns.css +1652 -0
  105. accrete/contrib/ui/static/bulma/sass/grid/columns.css.map +1 -0
  106. accrete/contrib/ui/static/bulma/sass/grid/columns.scss +109 -25
  107. accrete/contrib/ui/static/bulma/sass/grid/grid.css +3011 -0
  108. accrete/contrib/ui/static/bulma/sass/grid/grid.css.map +1 -0
  109. accrete/contrib/ui/static/bulma/sass/grid/grid.scss +3 -3
  110. accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.css +61 -0
  111. accrete/contrib/ui/static/bulma/sass/helpers/aspect-ratio.css.map +1 -0
  112. accrete/contrib/ui/static/bulma/sass/helpers/border.css +17 -0
  113. accrete/contrib/ui/static/bulma/sass/helpers/border.css.map +1 -0
  114. accrete/contrib/ui/static/bulma/sass/helpers/color.css +5582 -0
  115. accrete/contrib/ui/static/bulma/sass/helpers/color.css.map +1 -0
  116. accrete/contrib/ui/static/bulma/sass/helpers/color.scss +166 -186
  117. accrete/contrib/ui/static/bulma/sass/helpers/flexbox.css +217 -0
  118. accrete/contrib/ui/static/bulma/sass/helpers/flexbox.css.map +1 -0
  119. accrete/contrib/ui/static/bulma/sass/helpers/float.css +37 -0
  120. accrete/contrib/ui/static/bulma/sass/helpers/float.css.map +1 -0
  121. accrete/contrib/ui/static/bulma/sass/helpers/gap.css +209 -0
  122. accrete/contrib/ui/static/bulma/sass/helpers/gap.css.map +1 -0
  123. accrete/contrib/ui/static/bulma/sass/helpers/other.css +34 -0
  124. accrete/contrib/ui/static/bulma/sass/helpers/other.css.map +1 -0
  125. accrete/contrib/ui/static/bulma/sass/helpers/overflow.css +65 -0
  126. accrete/contrib/ui/static/bulma/sass/helpers/overflow.css.map +1 -0
  127. accrete/contrib/ui/static/bulma/sass/helpers/position.css +45 -0
  128. accrete/contrib/ui/static/bulma/sass/helpers/position.css.map +1 -0
  129. accrete/contrib/ui/static/bulma/sass/helpers/spacing.css +489 -0
  130. accrete/contrib/ui/static/bulma/sass/helpers/spacing.css.map +1 -0
  131. accrete/contrib/ui/static/bulma/sass/helpers/typography.css +423 -0
  132. accrete/contrib/ui/static/bulma/sass/helpers/typography.css.map +1 -0
  133. accrete/contrib/ui/static/bulma/sass/helpers/visibility.css +485 -0
  134. accrete/contrib/ui/static/bulma/sass/helpers/visibility.css.map +1 -0
  135. accrete/contrib/ui/static/bulma/sass/layout/container.scss +16 -8
  136. accrete/contrib/ui/static/bulma/sass/layout/footer.css +9 -0
  137. accrete/contrib/ui/static/bulma/sass/layout/footer.css.map +1 -0
  138. accrete/contrib/ui/static/bulma/sass/layout/hero.css +534 -0
  139. accrete/contrib/ui/static/bulma/sass/layout/hero.css.map +1 -0
  140. accrete/contrib/ui/static/bulma/sass/layout/level.css +102 -0
  141. accrete/contrib/ui/static/bulma/sass/layout/level.css.map +1 -0
  142. accrete/contrib/ui/static/bulma/sass/layout/media.css +90 -0
  143. accrete/contrib/ui/static/bulma/sass/layout/media.css.map +1 -0
  144. accrete/contrib/ui/static/bulma/sass/layout/section.css +23 -0
  145. accrete/contrib/ui/static/bulma/sass/layout/section.css.map +1 -0
  146. accrete/contrib/ui/static/bulma/sass/layout/section.scss +4 -0
  147. accrete/contrib/ui/static/bulma/sass/themes/dark.css +3 -0
  148. accrete/contrib/ui/static/bulma/sass/themes/dark.css.map +1 -0
  149. accrete/contrib/ui/static/bulma/sass/themes/light.css +3 -0
  150. accrete/contrib/ui/static/bulma/sass/themes/light.css.map +1 -0
  151. accrete/contrib/ui/static/bulma/sass/themes/light.scss +1 -0
  152. accrete/contrib/ui/static/bulma/sass/themes/setup.css +3 -0
  153. accrete/contrib/ui/static/bulma/sass/themes/setup.css.map +1 -0
  154. accrete/contrib/ui/static/bulma/sass/utilities/controls.css +13 -0
  155. accrete/contrib/ui/static/bulma/sass/utilities/controls.css.map +1 -0
  156. accrete/contrib/ui/static/bulma/sass/utilities/css-variables.css +3 -0
  157. accrete/contrib/ui/static/bulma/sass/utilities/css-variables.css.map +1 -0
  158. accrete/contrib/ui/static/bulma/sass/utilities/css-variables.scss +3 -2
  159. accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.css +3 -0
  160. accrete/contrib/ui/static/bulma/sass/utilities/derived-variables.css.map +1 -0
  161. accrete/contrib/ui/static/bulma/sass/utilities/extends.css +13 -0
  162. accrete/contrib/ui/static/bulma/sass/utilities/extends.css.map +1 -0
  163. accrete/contrib/ui/static/bulma/sass/utilities/functions.scss +2 -2
  164. accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.css +3 -0
  165. accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.css.map +1 -0
  166. accrete/contrib/ui/static/bulma/sass/utilities/initial-variables.scss +4 -4
  167. accrete/contrib/ui/static/bulma/sass/utilities/mixins.css +3 -0
  168. accrete/contrib/ui/static/bulma/sass/utilities/mixins.css.map +1 -0
  169. accrete/contrib/ui/static/bulma/sass/utilities/mixins.scss +1 -1
  170. accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.css +19648 -0
  171. accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.css.map +1 -0
  172. accrete/contrib/ui/static/bulma/versions/bulma-no-dark-mode.scss +2 -1
  173. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.css +11136 -0
  174. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.css.map +1 -0
  175. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers-prefixed.scss +1 -1
  176. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.css +11136 -0
  177. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.css.map +1 -0
  178. accrete/contrib/ui/static/bulma/versions/bulma-no-helpers.scss +1 -1
  179. accrete/contrib/ui/static/bulma/versions/bulma-prefixed.css +21551 -0
  180. accrete/contrib/ui/static/bulma/versions/bulma-prefixed.css.map +1 -0
  181. accrete/contrib/ui/static/bulma/versions/bulma-prefixed.scss +1 -1
  182. accrete/contrib/ui/static/css/accrete.css +20757 -19997
  183. accrete/contrib/ui/static/css/accrete.css.map +1 -1
  184. accrete/contrib/ui/static/css/accrete.scss +185 -462
  185. accrete/contrib/ui/static/js/filter.js +97 -679
  186. accrete/contrib/ui/static/js/htmx.min.js +1 -1
  187. accrete/contrib/ui/templates/django/forms/widgets/date.html +5 -9
  188. accrete/contrib/ui/templates/django/forms/widgets/select.html +7 -5
  189. accrete/contrib/ui/templates/ui/content_right.html +7 -0
  190. accrete/contrib/ui/templates/ui/filter/filter.html +27 -0
  191. accrete/contrib/ui/templates/ui/filter/query_input.html +31 -0
  192. accrete/contrib/ui/templates/ui/filter/query_operator.html +11 -0
  193. accrete/contrib/ui/templates/ui/filter/query_params.html +106 -0
  194. accrete/contrib/ui/templates/ui/filter/query_tags.html +26 -0
  195. accrete/contrib/ui/templates/ui/layout.html +162 -233
  196. accrete/contrib/ui/templates/ui/list.html +39 -28
  197. accrete/contrib/ui/templates/ui/list_update.html +3 -0
  198. accrete/contrib/ui/templates/ui/message.html +13 -0
  199. accrete/contrib/ui/templates/ui/{partials/modal.html → modal.html} +9 -5
  200. accrete/contrib/ui/templates/ui/oob.html +3 -0
  201. accrete/contrib/ui/templates/ui/table.html +67 -71
  202. accrete/contrib/ui/templates/ui/table_row_update.html +14 -0
  203. accrete/contrib/ui/templates/ui/widgets/model_search_select.html +2 -2
  204. accrete/contrib/ui/templates/ui/widgets/model_search_select_multi.html +24 -13
  205. accrete/contrib/ui/templates/ui/widgets/model_search_select_options.html +1 -1
  206. accrete/contrib/ui/templatetags/{accrete_ui.py → ui.py} +67 -56
  207. accrete/contrib/ui/urls.py +3 -1
  208. accrete/contrib/ui/views.py +33 -3
  209. accrete/contrib/ui/widgets/__init__.py +1 -0
  210. accrete/contrib/ui/{forms/widgets.py → widgets/search_select.py} +7 -2
  211. accrete/contrib/user/templates/user/login.html +71 -23
  212. accrete/forms.py +0 -2
  213. accrete/managers.py +4 -4
  214. accrete/middleware.py +43 -66
  215. accrete/models.py +7 -1
  216. accrete/storage.py +4 -1
  217. accrete/tenant.py +9 -4
  218. accrete/utils/__init__.py +2 -0
  219. accrete/utils/models.py +9 -1
  220. accrete/utils/views.py +36 -20
  221. accrete/views.py +9 -5
  222. {accrete-0.0.104.dist-info → accrete-0.0.105.dist-info}/METADATA +3 -2
  223. accrete-0.0.105.dist-info/RECORD +370 -0
  224. {accrete-0.0.104.dist-info → accrete-0.0.105.dist-info}/WHEEL +1 -1
  225. accrete/contrib/ui/components/__init__.py +0 -1
  226. accrete/contrib/ui/components/search_select.py +0 -18
  227. accrete/contrib/ui/elements.py +0 -95
  228. accrete/contrib/ui/forms/__init__.py +0 -0
  229. accrete/contrib/ui/static/bulma/css/versions/bulma-no-dark-mode.min.css.map +0 -1
  230. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers-prefixed.min.css.map +0 -1
  231. accrete/contrib/ui/static/bulma/css/versions/bulma-no-helpers.min.css.map +0 -1
  232. accrete/contrib/ui/static/bulma/sass/grid/columns-v2.scss +0 -957
  233. accrete/contrib/ui/static/js/ui.js +0 -30
  234. accrete/contrib/ui/templates/ui/dashboard.html +0 -7
  235. accrete/contrib/ui/templates/ui/detail.html +0 -19
  236. accrete/contrib/ui/templates/ui/form.html +0 -21
  237. accrete/contrib/ui/templates/ui/partials/filter.html +0 -146
  238. accrete/contrib/ui/templates/ui/partials/form_errors.html +0 -34
  239. accrete/contrib/ui/templates/ui/partials/header.html +0 -123
  240. accrete/contrib/ui/templates/ui/partials/modal_form.html +0 -46
  241. accrete/contrib/ui/templates/ui/partials/onchange_form.html +0 -1
  242. accrete/contrib/ui/templates/ui/partials/pagination_detail.html +0 -23
  243. accrete/contrib/ui/templates/ui/partials/pagination_list.html +0 -28
  244. accrete/contrib/ui/templates/ui/partials/table_field_tags.html +0 -17
  245. accrete/contrib/ui/templates/ui/widgets/model_search_select_multi_selected_options.html +0 -3
  246. accrete/contrib/ui/templates/ui/widgets/model_search_select_multi_tags.html +0 -6
  247. accrete-0.0.104.dist-info/RECORD +0 -238
  248. {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,7 +0,0 @@
1
- {% extends 'ui/layout.html' %}
2
-
3
- {% block header %}
4
- <div class="is-hidden-fullhd">
5
- {% include 'ui/partials/header.html' %}
6
- </div>
7
- {% endblock %}
@@ -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">&#x21D2;</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 %}
@@ -1,3 +0,0 @@
1
- {% for obj in selected %}
2
- <option selected value="{{ obj.pk }}"></option>
3
- {% endfor %}
@@ -1,6 +0,0 @@
1
- {% for obj in selected %}
2
- <span class="tag" style="white-space: normal; height: fit-content">
3
- {{ obj }}
4
- <button class="delete is-small" type="button" data-value="{{ obj.pk }}"></button>
5
- </span>
6
- {% endfor %}