django-smartbase-admin 0.2.86__py3-none-any.whl → 0.2.88__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.
@@ -467,4 +467,30 @@
467
467
  .dropdown-menu {
468
468
  @apply py-0;
469
469
  }
470
+
471
+ .sticky-table-head,
472
+ .sticky-table-col {
473
+ position: sticky !important;
474
+ right: 0;
475
+ z-index: 1;
476
+ @apply overflow-hidden !border-l-0 pl-8;
477
+ &:before {
478
+ content: '';
479
+ box-shadow: 0 0 8px 0 rgba(17, 24, 39, 0.16);
480
+ @apply absolute inset-0 transition-colors ml-8;
481
+ }
482
+ }
483
+
484
+ .sticky-table-head {
485
+ @apply bg-transparent !important;
486
+ &:before {
487
+ @apply bg-dark-50;
488
+ }
489
+ }
490
+
491
+ .sticky-table-col {
492
+ &:before {
493
+ @apply bg-light;
494
+ }
495
+ }
470
496
  }
@@ -9,6 +9,7 @@
9
9
  min-width: 100%;
10
10
  @apply h-full;
11
11
  > .djn-thead {
12
+ @apply bg-dark-50;
12
13
  th {
13
14
  @apply p-8 h-48;
14
15
  @apply transition-colors;
@@ -126,7 +126,7 @@ export class SelectionModule extends SBAdminTableModule {
126
126
  getUrlParams() {
127
127
  const params = {}
128
128
  const selectionData = {}
129
- const selectedArray = Array.from(this.tableSelectedRows)
129
+ const selectedArray = this.table.constants.SELECT_ALL_KEYWORD === this.tableSelectedRows ? this.tableSelectedRows : Array.from(this.tableSelectedRows)
130
130
  const deselectedArray = Array.from(this.tableDeselectedRows)
131
131
  if (selectedArray.length > 0) {
132
132
  selectionData[this.table.constants.SELECTED_ROWS_KWARG_NAME] = selectedArray
@@ -1,7 +1,7 @@
1
1
  {% load widget_tweaks %}
2
2
  {% if inline_admin_formset.formset.can_delete %}
3
3
  {% if inline_admin_form.original %}
4
- <td class="w-40">
4
+ <td class="w-40{% if sticky %} sticky-table-col{% endif %}">
5
5
  <div class="relative min-h-40 flex items-center delete djn-delete-handler {{ inline_admin_formset.handler_classes|join:" " }}">
6
6
  {% render_field inline_admin_form.deletion_field.field class="checkbox checkbox-delete" %}
7
7
  <label for="{{ inline_admin_form.deletion_field.field.auto_id }}">
@@ -12,10 +12,9 @@
12
12
  </div>
13
13
  </td>
14
14
  {% else %}
15
- <td class="delete w-40">
16
- <a
17
- class="flex-center h-40 inline-deletelink djn-remove-handler {{ inline_admin_formset.handler_classes|join:" " }}"
18
- href="javascript:void(0)">
15
+ <td class="delete w-40{% if sticky %} sticky-table-col{% endif %}">
16
+ <a class="flex-center h-40 inline-deletelink djn-remove-handler {{ inline_admin_formset.handler_classes|join:" " }}"
17
+ href="javascript:void(0)">
19
18
  <svg class="w-20 h-20 text-dark-300 hover:text-dark-400">
20
19
  <use xlink:href="#Delete"></use>
21
20
  </svg>
@@ -52,7 +52,7 @@
52
52
  <th class="original{% if sortable_field_name %} is-sortable{% endif %}"></th>
53
53
  {% endif %}
54
54
  {% for field in inline_admin_formset.fields %}
55
- {% if not field.widget.is_hidden %}
55
+ {% if not field.widget.is_hidden and not field|is_row_class_field %}
56
56
  <th class="djn-th
57
57
  {{ field.label|lower|slugify }}{% if field.required %} required{% endif %}">
58
58
  <div class="flex items-center">
@@ -70,8 +70,11 @@
70
70
  </th>
71
71
  {% endif %}
72
72
  {% endfor %}
73
- {% if inline_admin_formset.formset.can_delete %}
74
- <th class="djn-th" style="min-width: 54px; width: 54px;"></th>{% endif %}
73
+ {% block table_inline_delete_table_head %}
74
+ {% if inline_admin_formset.formset.can_delete %}
75
+ <th class="djn-th sticky-table-head" style="min-width: 54px; width: 54px;"></th>
76
+ {% endif %}
77
+ {% endblock %}
75
78
  </tr>
76
79
  </thead>
77
80
 
@@ -100,7 +103,7 @@
100
103
  </td>
101
104
  </tr>
102
105
  {% endif %}
103
- <tr class="djn-tr form-row{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}">
106
+ <tr class="djn-tr form-row{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %} {% get_row_class inline_admin_form %}">
104
107
  <td class="original{% if inline_admin_formset.opts.sortable_field_name %} is-sortable{% endif %}" style="{% if not context_data.is_sortable_active %}display: none;{% endif %}">
105
108
  {% if inline_admin_formset.opts.sortable_field_name %}
106
109
  <div class="djn-drag-handler">
@@ -145,7 +148,7 @@
145
148
  {% for fieldset in inline_admin_form %}
146
149
  {% for line in fieldset %}
147
150
  {% for field in line %}
148
- {% if not field.field.is_hidden %}
151
+ {% if not field.field.is_hidden and not field.field|is_row_class_field %}
149
152
  <td class="djn-td field-{{ field.field.name }}">
150
153
  {% if field.is_readonly %}
151
154
  <div class="px-10 py-8">
@@ -163,7 +166,7 @@
163
166
  {% endfor %}
164
167
  {% endfor %}
165
168
  {% block table_inline_delete_button %}
166
- {% include "sb_admin/includes/table_inline_delete_button.html" %}
169
+ {% include "sb_admin/includes/table_inline_delete_button.html" with sticky=True %}
167
170
  {% endblock %}
168
171
  </tr>
169
172
  {% block table_inline_after_line %}{% endblock %}
@@ -183,6 +186,21 @@
183
186
  {% endblock %}
184
187
  </table>
185
188
 
189
+ {% block table_script %}
190
+ <script>
191
+ {# move all non initial lines to the top of the table to maintain original order #}
192
+ {# this should happen only during validation error #}
193
+ (function(){
194
+ const group = document.getElementById('{{ inline_admin_formset.formset.prefix }}-group');
195
+ const table = group.querySelector('.djn-table');
196
+ const bodies_to_move = Array.from(group.querySelectorAll('.djn-tbody[data-is-initial="false"]'));
197
+ if(bodies_to_move) {
198
+ table.prepend(...bodies_to_move.reverse());
199
+ }
200
+ }());
201
+ </script>
202
+ {% endblock %}
203
+
186
204
  </fieldset>
187
205
  </div>
188
206
 
@@ -2,12 +2,15 @@ import json
2
2
 
3
3
  from django import template
4
4
  from django.contrib.admin.templatetags.admin_modify import submit_row
5
+ from django.contrib.admin.utils import lookup_field
6
+ from django.core.exceptions import ObjectDoesNotExist
5
7
  from django.core.serializers.json import DjangoJSONEncoder
6
8
  from django.template.defaultfilters import json_script
7
9
  from django.utils.safestring import mark_safe
8
10
  from django.utils.text import get_text_list
9
11
  from django.utils.translation import gettext
10
12
 
13
+ from django_smartbase_admin.engine.const import ROW_CLASS_FIELD
11
14
  from django_smartbase_admin.templatetags.base import InclusionSBAdminNode
12
15
 
13
16
  register = template.Library()
@@ -220,3 +223,19 @@ def call_method(obj, method_name, *args):
220
223
  if method:
221
224
  return method(*args)
222
225
  return False
226
+
227
+
228
+ @register.simple_tag
229
+ def get_row_class(inline_admin_form):
230
+ try:
231
+ f, attr, value = lookup_field(
232
+ ROW_CLASS_FIELD, inline_admin_form.original, inline_admin_form.model_admin
233
+ )
234
+ except (AttributeError, ValueError, ObjectDoesNotExist):
235
+ return ""
236
+ return value
237
+
238
+
239
+ @register.filter
240
+ def is_row_class_field(field):
241
+ return isinstance(field, dict) and field["name"] == ROW_CLASS_FIELD
@@ -161,7 +161,7 @@ class ModelTranslationView(SBAdminView, SBAdminBaseListView):
161
161
  annotate=Case(
162
162
  When(
163
163
  **{
164
- f"{annotate_name}_count": F(
164
+ f"{annotate_name}_count__gte": F(
165
165
  f"{main_lang_annotate_name}_count"
166
166
  ),
167
167
  "then": Value(self.TRANSLATION_TRANSLATED),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-smartbase-admin
3
- Version: 0.2.86
3
+ Version: 0.2.88
4
4
  Summary:
5
5
  Author: SmartBase
6
6
  Author-email: info@smartbase.sk
@@ -3,7 +3,7 @@ django_smartbase_admin/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
3
3
  django_smartbase_admin/actions/admin_action_list.py,sha256=A-nQiP_iMaH8GPrfd3rtQPdil59WIuzzghfh36wcKhE,19621
4
4
  django_smartbase_admin/actions/advanced_filters.py,sha256=Vm8b6TAwNehR8INjolFG7pEYL4ADO7XUiVOWpb0btM0,13481
5
5
  django_smartbase_admin/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- django_smartbase_admin/admin/admin_base.py,sha256=_OdllV6oDvrqKyXDbAAM0GJVROjncwfpnpvC5_9LJtQ,41019
6
+ django_smartbase_admin/admin/admin_base.py,sha256=Wfog5Nc2IBIRcGzWH70xNhT0EJKrnU60-CHt8LhFxMQ,41557
7
7
  django_smartbase_admin/admin/site.py,sha256=VrJBhwgZsLa2GohvjnNL7m4dVR3S4Ou1V1UzfE1qOoQ,6577
8
8
  django_smartbase_admin/admin/widgets.py,sha256=CaQVLfiSLrZ9GyVSoEl6sxqulaYu_3AAR3ntCipb4zw,19270
9
9
  django_smartbase_admin/apps.py,sha256=C1wT1YUEZNKcUJfpD01nIZEFgYEsuav52WFKvEURRDU,545
@@ -14,7 +14,7 @@ django_smartbase_admin/engine/admin_base_view.py,sha256=8Pd5a2F0PX5euZkVCeWbcF9J
14
14
  django_smartbase_admin/engine/admin_entrypoint_view.py,sha256=jfMfcYPfdre2abHfC4KIxaP_epJFuCeTcujGhGd4Tl4,624
15
15
  django_smartbase_admin/engine/admin_view.py,sha256=9wGffahDR3IYmhL9ZbX8uitwGdXdw5DIL5GnWBawmJM,4238
16
16
  django_smartbase_admin/engine/configuration.py,sha256=P3iSiPm9QBl9etTDJIWzo7DzOBCryGwWtbF288PEtus,8120
17
- django_smartbase_admin/engine/const.py,sha256=vU_XMy76BYiw1tu88lw8UDGk-cW5oo62gh9mT36_2tk,2437
17
+ django_smartbase_admin/engine/const.py,sha256=0-MZFCce8UnTHaL6tkezMXUf4S2ZoSc5HRGi-T7KcHU,2479
18
18
  django_smartbase_admin/engine/dashboard.py,sha256=wrvX0GI-SII2pG0DX8Kvy4JFaM6h8e6R7KSCFddFC64,23642
19
19
  django_smartbase_admin/engine/fake_inline.py,sha256=9C2_mltg2P9-xa3vuoo5X_RcFaCRpKGNSy7t1_iiasE,5802
20
20
  django_smartbase_admin/engine/field.py,sha256=BD_W0ekE5tQJxUGpUA8bo4ZyFk0u2F_6UTPH4drj0JU,10286
@@ -22,7 +22,7 @@ django_smartbase_admin/engine/field_formatter.py,sha256=eHbXEBwG8jBc9zKpDQ4T64N5
22
22
  django_smartbase_admin/engine/filter_widgets.py,sha256=dA5tUQ3d6STmMhMWj0pYH_G1tl0eYX3ZuDQ8b7qHLrE,23767
23
23
  django_smartbase_admin/engine/global_filter_form.py,sha256=jlj6e9VYWDPyUNjcgj3gTIkCZXO01NZOWAeU3jFtkoA,249
24
24
  django_smartbase_admin/engine/menu_item.py,sha256=rMJFG5xm1T0wF8lUmiAZHzKtt9C0LdbpRFvaP0PlngM,2936
25
- django_smartbase_admin/engine/modal_view.py,sha256=6eAmncDV9UzTWemWFQXZpVCIixWo5gWvNZGnK4mw4FM,2251
25
+ django_smartbase_admin/engine/modal_view.py,sha256=Qzx9kd9shoqCYes_lYkAvX1ItVL41oi2vORUrYUkZkE,2269
26
26
  django_smartbase_admin/engine/request.py,sha256=sFjxgmzGXUeCD3hEx-Eu-ebgF8CnrBJDH2e8LF1ieRg,2615
27
27
  django_smartbase_admin/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  django_smartbase_admin/integration/django_cms.py,sha256=asLVmQUDHulGEpkqp5cUv6-aTcZPoeOllPE1_AIWUqM,1062
@@ -64,9 +64,9 @@ django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt,sha256=m7M__mzL
64
64
  django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js,sha256=glK-x4oxSAHqiabqXmNFE3FRtzMbpg7TgZiKcPle9_o,1745
65
65
  django_smartbase_admin/static/sb_admin/dist/main.js,sha256=KE89F9ooogNznFS2CmMQmYRgcI_wCHLV3mROX2AuCXo,376482
66
66
  django_smartbase_admin/static/sb_admin/dist/main.js.LICENSE.txt,sha256=Z8-1IrzhOFV3eE_WGR7SRfbzN9GRXsvfiU7_E_BkX-k,5600
67
- django_smartbase_admin/static/sb_admin/dist/main_style.css,sha256=vxveIgHSkp04cuW4sOJU5oHHWA045zH8J8DCecsowN8,152808
67
+ django_smartbase_admin/static/sb_admin/dist/main_style.css,sha256=0K-kR2kjelOl06qjCVTpPNsh2h2GuxF1gAxpk6gjC6I,153544
68
68
  django_smartbase_admin/static/sb_admin/dist/main_style.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
- django_smartbase_admin/static/sb_admin/dist/table.js,sha256=PTj9emhMzAb1kCdjZKnSrH-6xbciFbJLLnm62ywAOJ0,589726
69
+ django_smartbase_admin/static/sb_admin/dist/table.js,sha256=7Tp0N_NO2oTonXPlXG3DUkgHe_VFoXDVwKkJ8PloLYo,589814
70
70
  django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt,sha256=WOKSfEow5EUe0a78P0kcxdWcrQlqn2n6H8idNZqHVDk,462
71
71
  django_smartbase_admin/static/sb_admin/dist/translations.js,sha256=5PRY3zmbnQ9pH-FtNHmsZ5xmYLPOQiO_hR3CBxHIAIo,567
72
72
  django_smartbase_admin/static/sb_admin/favicon/android-chrome-192x192.png,sha256=Og0qXawivKxQWmPPU6dkkGjO0txd-yDXXfemTWXCBDY,18172
@@ -141,6 +141,8 @@ django_smartbase_admin/static/sb_admin/images/flags/cu.png,sha256=mfmMFh1Nw8zk-k
141
141
  django_smartbase_admin/static/sb_admin/images/flags/cv.png,sha256=gbF2i66ivSSvgxDMsSOripwikQtXleZaD5RygqdoY9c,594
142
142
  django_smartbase_admin/static/sb_admin/images/flags/cy.png,sha256=bXbN8m3XjeGL40GIQGJsvJLuR7voAYJmeUESQv1nTvU,688
143
143
  django_smartbase_admin/static/sb_admin/images/flags/cz.png,sha256=fMtlUo9dBJKWCXMI7RTjqgH8KJC6Ao5A2zaFr4DpAt4,463
144
+ django_smartbase_admin/static/sb_admin/images/flags/de-at.png,sha256=zeO7t2I6I7nWcz5jQAOfJv2Fp6lVMKiBjTh8liblIgc,308
145
+ django_smartbase_admin/static/sb_admin/images/flags/de-ch.png,sha256=L6YI0crifNuug_ZOjSmxebgK2J7qD9aAUOByS5qNSxg,313
144
146
  django_smartbase_admin/static/sb_admin/images/flags/de.png,sha256=NI6UkFhoBxNTlJLhZCO4GUN04Ba9cmgBACzHkOtxOjY,278
145
147
  django_smartbase_admin/static/sb_admin/images/flags/dj.png,sha256=d5Xxw1aRX3YwZYl2g_xUcEgs5DZHfizvJVIOUkSaMbc,583
146
148
  django_smartbase_admin/static/sb_admin/images/flags/dk.png,sha256=xdX-2480u6lDt4HWqp02inu0C-8WO4YbuOU9JHuUeF4,327
@@ -476,10 +478,10 @@ django_smartbase_admin/static/sb_admin/sprites/sb_admin/Zoom-out.svg,sha256=nx0h
476
478
  django_smartbase_admin/static/sb_admin/src/css/_base.css,sha256=qSRrfDVGWPYW0ZT0R5dHj2GHfYnOVj7xvdl3qDAFP-c,1840
477
479
  django_smartbase_admin/static/sb_admin/src/css/_choices.css,sha256=HgS0F_NQw_FS94nTAaSrxnCZkSH2ODWylKUH8LrtZxo,1889
478
480
  django_smartbase_admin/static/sb_admin/src/css/_colors.css,sha256=jaEB18XoAeY_I6-FO5b7njsP7BQSUixzH7ClATQBvH0,2825
479
- django_smartbase_admin/static/sb_admin/src/css/_components.css,sha256=yqkCga3LcUHZuf--bgNa-ANfuSrz1INbyaKHt96SRxM,11246
481
+ django_smartbase_admin/static/sb_admin/src/css/_components.css,sha256=s7JoCoEB-Tr4EWtLKOh6KMRwVYbLRgj5at0lFretrRE,11820
480
482
  django_smartbase_admin/static/sb_admin/src/css/_datepicker.css,sha256=5Ja6uuXLr60oHNp6PDQPec2pznqG9syzYVPSKgCAC2s,14025
481
483
  django_smartbase_admin/static/sb_admin/src/css/_filer.css,sha256=9VaLI4A4HuxNqyJv3q9o61Ils2hf7JymgjSp_C-fTnY,1629
482
- django_smartbase_admin/static/sb_admin/src/css/_inlines.css,sha256=8M0aFUpE5TfSI8ZTcOX0h78Ge894Dr3S71I82WUBPFo,3994
484
+ django_smartbase_admin/static/sb_admin/src/css/_inlines.css,sha256=wLouBJa_qEgLan44zonOqFITWRpDUKD3loqZpATpUj8,4021
483
485
  django_smartbase_admin/static/sb_admin/src/css/_nouislider.css,sha256=y3wmnyoPFkIKiwn9tzRTWGlIFhopgt4OulOf7__e-3k,5587
484
486
  django_smartbase_admin/static/sb_admin/src/css/_tabulator.css,sha256=zwUoDtTS6XScAfKhFGgcH5DsVHhTa7hU87dxh2tIeDo,18374
485
487
  django_smartbase_admin/static/sb_admin/src/css/_tailwind_base.css,sha256=GGQZxH5G0WiJdP5tHUaI1yNPF5AROgwekzUmtSLJoEw,58
@@ -516,7 +518,7 @@ django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js,sha
516
518
  django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js,sha256=9ZfnZXvaTOphhRU0B7H0rsghUBWzTOSyVK1FZIj6bIE,573
517
519
  django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js,sha256=zT2CYKfMSd0903ASUzIbT8HwTkF6id3w4j5IJpwONp8,2888
518
520
  django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js,sha256=X0FQykK63v8vcE3-qZhkWZA2ajp8QTCLFv0PvkeLVvY,7694
519
- django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js,sha256=1uVEpcESF7e-b2-GkKayXip4W00OO1leEK01e1G-hNI,6466
521
+ django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js,sha256=yOGCkB4fN5Cz8ntxMBgeuVnrv1TTMLf1j8YQTMgpc-Y,6560
520
522
  django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js,sha256=67OJV8l_i7f2Ptm_G76Ri7AWyEfZ8B5BjiztLP819DM,11250
521
523
  django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js,sha256=ZdirU9jt_aE_vkVXxMytZ3AaC0q6r57ECijdhV6j3-M,3393
522
524
  django_smartbase_admin/static/sb_admin/src/js/translations.js,sha256=GEizlr_D5yDj00i7jKENkWfDr6gZcg4RQ1Nek22WP4g,954
@@ -589,9 +591,9 @@ django_smartbase_admin/templates/sb_admin/includes/loading_absolute.html,sha256=
589
591
  django_smartbase_admin/templates/sb_admin/includes/notifications.html,sha256=wEEcrcdX3Wrlz-tVCJouiUFSZV_vVEqrc5opV_nifAw,783
590
592
  django_smartbase_admin/templates/sb_admin/includes/readonly_boolean_field.html,sha256=sCU7DKBeWVD7ILcOAd20APS3gTBLBwXJpDjzTETwp5M,412
591
593
  django_smartbase_admin/templates/sb_admin/includes/readonly_field.html,sha256=uGysgcSJJRIwG-AW9Vtfysulz4HOKUNH9Wx0f8sZkuE,291
592
- django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html,sha256=pgXePfkFu71wquoKGs-q-TQbuUuLqNEh5-MOINPp39o,1109
594
+ django_smartbase_admin/templates/sb_admin/includes/table_inline_delete_button.html,sha256=aAkU6-T3tUrgshrZxny5QSqFUxPI59EKynxfKOMShNc,1170
593
595
  django_smartbase_admin/templates/sb_admin/inlines/stacked_inline.html,sha256=L9PkC38cdgvB7YGeJhECmOalZQYtYMBdKUxNCUKScZM,7703
594
- django_smartbase_admin/templates/sb_admin/inlines/table_inline.html,sha256=WxdbhtKrJOjbvHTC7vKmm5pILVGqXlJxO_n3sroZMZI,14816
596
+ django_smartbase_admin/templates/sb_admin/inlines/table_inline.html,sha256=qSc-Z0A6uYeWyieqG8UiLtaHm6ub58fKy1FYtdfMQxw,16125
595
597
  django_smartbase_admin/templates/sb_admin/inlines/table_inline_paginated.html,sha256=2I59KWM_7yvchNjlIWHaHklrklnNsJBwaLlp9mZUYfQ,3046
596
598
  django_smartbase_admin/templates/sb_admin/integrations/cms/page_list.html,sha256=juoU5UaqPozIgRX5EJyWpm2-mb1hqM2pfBoePZ1Vs-I,18190
597
599
  django_smartbase_admin/templates/sb_admin/integrations/cms/translations_status_row.html,sha256=Ppm6oEmNZkZC_XV5QNFbgccsBumB6LVy1e0Vk8dPMCM,308
@@ -657,15 +659,15 @@ django_smartbase_admin/templates/sb_admin/widgets/toggle.html,sha256=z7E1re0gy2A
657
659
  django_smartbase_admin/templates/sb_admin/widgets/url.html,sha256=piw2218tiWPfOwncIvSGAW14Gc5FIzkL_YllirK4yTs,160
658
660
  django_smartbase_admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
659
661
  django_smartbase_admin/templatetags/base.py,sha256=XF1wUQxUjULXfdlV-PeHvITfbw65LTHjlDzRikJa_F4,1520
660
- django_smartbase_admin/templatetags/sb_admin_tags.py,sha256=FozRhcHjPxFFnJUb1zYWVI97eJg7up3b7qBtr14wUX0,7616
662
+ django_smartbase_admin/templatetags/sb_admin_tags.py,sha256=rvJufjS0mhGj6Wl6P-iEoWGVx_dt96BZuZo1XzUZmIU,8210
661
663
  django_smartbase_admin/urls.py,sha256=Bjdewssljt0LIefjixBem9JN0kkghPvmrIETj3GdXbY,17
662
664
  django_smartbase_admin/utils.py,sha256=0SUIA-n6XiPeDH7PvdekV1xIKwUjvyPxaBPEKsZKXyM,2775
663
665
  django_smartbase_admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
664
666
  django_smartbase_admin/views/dashboard_view.py,sha256=vtz5emYTQ5WDFeLA8HrcmjSOVdc0o2vYbjljbT67gvo,1495
665
667
  django_smartbase_admin/views/global_filter_view.py,sha256=eYo1moJGyi7jc2cPDA5ZBiEgA7Hmc-DxbQvbqUpDkg8,1127
666
668
  django_smartbase_admin/views/media_view.py,sha256=5BLWXuzynF7nM34t-mf2BQSRN5ojY8HxpLIqt7Jiq9g,292
667
- django_smartbase_admin/views/translations_view.py,sha256=A02q1t13akLKd2Pg_ej4tVi5qPUKYxB2LqsBbYXM0l8,20267
668
- django_smartbase_admin-0.2.86.dist-info/LICENSE.md,sha256=okRGMBOYvyhprt2eTpX_QXqpzC0MODF-U7zX-4fKPjQ,1078
669
- django_smartbase_admin-0.2.86.dist-info/METADATA,sha256=J53rNaCElB18YFXc4kZYbFFFW4Y3vAZFS30zvUGdEKo,996
670
- django_smartbase_admin-0.2.86.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
671
- django_smartbase_admin-0.2.86.dist-info/RECORD,,
669
+ django_smartbase_admin/views/translations_view.py,sha256=tkShf5IWyPDjNhcPQsvh8WXs-EMRCfG_oTD9x-LP1No,20272
670
+ django_smartbase_admin-0.2.88.dist-info/LICENSE.md,sha256=okRGMBOYvyhprt2eTpX_QXqpzC0MODF-U7zX-4fKPjQ,1078
671
+ django_smartbase_admin-0.2.88.dist-info/METADATA,sha256=p5prKY2J9zqaMffa00EjvqbMdLfcQdMkwvdvwT9qdrE,996
672
+ django_smartbase_admin-0.2.88.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
673
+ django_smartbase_admin-0.2.88.dist-info/RECORD,,