django-smartbase-admin 1.0.40__py3-none-any.whl → 1.0.41__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.
@@ -17,12 +17,8 @@ export default class Autocomplete {
17
17
  const choiceElementsInline = document.querySelectorAll(`#${event.target.id} [data-autocomplete-data-id]`)
18
18
  choiceElementsInline.forEach((choiceInput) => {
19
19
  choiceInput.setAttribute('data-autocomplete-data-id', choiceInput.getAttribute('data-autocomplete-data-id').replace('__prefix__', totalFormsCount))
20
- this.initAutocomplete(choiceInput, totalFormsCount)
21
20
  })
22
- this.handleDynamiclyAddedAutocomplete(event.target)
23
- })
24
- document.body.addEventListener('SBModalShown', () => {
25
- this.handleDynamiclyAddedAutocomplete(document.getElementById('sb-admin-modal'))
21
+ this.handleDynamiclyAddedAutocomplete(event.target, totalFormsCount)
26
22
  })
27
23
  this.handleDynamiclyAddedAutocomplete(document)
28
24
  document.body.addEventListener('sbadmin:modal-change-form-response', (event) => {
@@ -31,10 +27,10 @@ export default class Autocomplete {
31
27
  })
32
28
  }
33
29
 
34
- handleDynamiclyAddedAutocomplete(el) {
30
+ handleDynamiclyAddedAutocomplete(el, totalFormsCount) {
35
31
  const choiceElements = el.querySelectorAll('.js-autocomplete')
36
32
  choiceElements.forEach((choiceInput) => {
37
- this.initAutocomplete(choiceInput)
33
+ this.initAutocomplete(choiceInput, totalFormsCount)
38
34
  })
39
35
  el.querySelectorAll('.js-autocomplete-detail').forEach(item => {
40
36
  filterInputValueChangedUtil(item)
@@ -45,6 +41,10 @@ export default class Autocomplete {
45
41
  }
46
42
 
47
43
  initAutocomplete(choiceInput, totalFormsCount = null) {
44
+ if (choiceInput.closest('.choices')) {
45
+ console.warn('Attempted to initialize already initialized autocomplete!', choiceInput)
46
+ return
47
+ }
48
48
  const dataEl = document.getElementById(choiceInput.dataset.autocompleteDataId)
49
49
  const autocompleteData = JSON.parse(dataEl.textContent)
50
50
  let inputElId = autocompleteData.input_id
@@ -30,6 +30,7 @@ import Autocomplete from "./autocomplete"
30
30
  import ChoicesJS from "./choices"
31
31
  import {setCookie, setDropdownLabel} from "./utils"
32
32
  import Multiselect from "./multiselect"
33
+ import Radio from "./radio"
33
34
 
34
35
  class Main {
35
36
  constructor() {
@@ -162,6 +163,7 @@ class Main {
162
163
  this.datepicker = new Datepicker(target)
163
164
  this.range = new Range(null, null, target)
164
165
  this.multiselect = new Multiselect(null, null, target)
166
+ this.radio = new Radio(null, target)
165
167
  }
166
168
 
167
169
  handleLocationHashFromTabs() {
@@ -0,0 +1,31 @@
1
+ export default class Radio {
2
+ constructor(selector_override, target) {
3
+ target = target || document
4
+ const selector = selector_override || '.js-radio-choice-widget'
5
+ this.wrapperSelector = '.js-radio-choice-widget-wrapper'
6
+
7
+ target.querySelectorAll(selector).forEach(el => {
8
+ this.initRadio(el)
9
+ })
10
+ }
11
+
12
+ getRadios(base_input) {
13
+ return base_input.closest(this.wrapperSelector)?.querySelectorAll("input[type='radio']")
14
+ }
15
+
16
+ initRadio(base_input) {
17
+ base_input.addEventListener('SBTableFilterFormLoad', () => {
18
+ if (!base_input.value) {
19
+ return
20
+ }
21
+ this.getRadios(base_input).forEach(el => {
22
+ if(el.value === base_input.value) {
23
+ el.checked = true
24
+ }
25
+ })
26
+ })
27
+ base_input.addEventListener('clear', () => {
28
+ base_input.closest(this.wrapperSelector)?.querySelectorAll("input[type='radio']").forEach(el => el.checked = false)
29
+ })
30
+ }
31
+ }
@@ -3,12 +3,61 @@ import {SBAdminTableModule} from "./base_module"
3
3
 
4
4
  export class DetailViewModule extends SBAdminTableModule {
5
5
 
6
+ getDetailUrl(row) {
7
+ return this.table.tableDetailUrl.replace(this.table.constants.OBJECT_ID_PLACEHOLDER, row.getData()[this.table.tableIdColumnName]) + '?_changelist_filters=' + encodeURIComponent(this.table.getUrlParamsString().replace('?' + this.table.constants.BASE_PARAMS_NAME + '=', '' + this.table.constants.BASE_PARAMS_NAME + '='))
8
+ }
9
+
6
10
  afterInit() {
11
+ // Handle middle mouse button clicks via mousedown to prevent browser scroll
12
+ this.table.tabulator.element.addEventListener("mousedown", (e) => {
13
+ // Check if middle mouse button (button === 1) and prevent default scroll behavior
14
+ if (e.button === 1) {
15
+ const rowElement = e.target.closest(".tabulator-row")
16
+ if (rowElement && !e.target.closest(".row-select-wrapper") && !e.target.closest(".row-prevent-click")) {
17
+ e.preventDefault()
18
+ }
19
+ }
20
+ }, true) // Use capture phase to catch event early
21
+
22
+ // Handle auxclick event (modern way to handle middle/right mouse clicks)
23
+ // This is the proper event for middle clicks and preserves user-initiated context
24
+ this.table.tabulator.element.addEventListener("auxclick", (e) => {
25
+ // Check if middle mouse button (button === 1)
26
+ if (e.button === 1) {
27
+ const rowElement = e.target.closest(".tabulator-row")
28
+ if (rowElement && !e.target.closest(".row-select-wrapper") && !e.target.closest(".row-prevent-click")) {
29
+ e.preventDefault()
30
+ e.stopPropagation()
31
+
32
+ // Find the row by matching the element
33
+ const rows = this.table.tabulator.getRows()
34
+ let row = null
35
+ for (let i = 0; i < rows.length; i++) {
36
+ if (rows[i].getElement() === rowElement) {
37
+ row = rows[i]
38
+ break
39
+ }
40
+ }
41
+
42
+ if (row) {
43
+ // Use window.open directly - browsers may focus new tabs, but this is the most reliable method
44
+ // Note: Browser security restrictions prevent programmatic prevention of focus changes
45
+ window.open(this.getDetailUrl(row), '_blank', 'noopener')
46
+ }
47
+ }
48
+ }
49
+ }, true)
50
+
51
+ // Handle regular left clicks
7
52
  this.table.tabulator.on("rowClick", (e, row) => {
8
53
  if (e.target.closest(".row-select-wrapper") || e.target.closest(".row-prevent-click")) {
9
54
  return
10
55
  }
11
- window.location = this.table.tableDetailUrl.replace(this.table.constants.OBJECT_ID_PLACEHOLDER, row.getData()[this.table.tableIdColumnName]) + '?_changelist_filters=' + encodeURIComponent(this.table.getUrlParamsString().replace('?' + this.table.constants.BASE_PARAMS_NAME + '=', '' + this.table.constants.BASE_PARAMS_NAME + '='))
56
+ // Skip if middle mouse button (already handled by mousedown/auxclick)
57
+ if (e.button === 1 || e.which === 2) {
58
+ return
59
+ }
60
+ window.location = this.getDetailUrl(row)
12
61
  })
13
62
  }
14
63
  }
@@ -44,6 +44,12 @@ export class FilterModule extends SBAdminTableModule {
44
44
  return document.querySelector(`#${this.table.viewId}-${field}`)
45
45
  }
46
46
 
47
+ hideDropdown(dropdownButton) {
48
+ if (dropdownButton?.dataset?.sbadminCloseOnChange === '1') {
49
+ window.bootstrap5?.Dropdown?.getInstance(dropdownButton)?.hide()
50
+ }
51
+ }
52
+
47
53
  filterInputValueChanged(field) {
48
54
  const valueElem = filterInputValueChangedUtil(field)
49
55
  if (!valueElem) {
@@ -54,6 +60,7 @@ export class FilterModule extends SBAdminTableModule {
54
60
 
55
61
  changeFilterButtonState(valueElem) {
56
62
  const dropdownButton = valueElem.closest('button')
63
+ this.hideDropdown(dropdownButton)
57
64
  if (valueElem.innerHTML) {
58
65
  dropdownButton.classList.remove('empty')
59
66
  return
@@ -8,6 +8,7 @@
8
8
  <button
9
9
  data-bs-toggle="dropdown"
10
10
  aria-expanded="false"
11
+ {% if filter_field.filter_widget.close_dropdown_on_change %}data-sbadmin-close-on-change="1"{% endif %}
11
12
  class="js-filter-dropdown-button empty {% if default_button %}btn{% else %}filter-dropdown-button{% endif %}">
12
13
  <span>
13
14
  {{ filter_field.title|capfirst }}: <span
@@ -1,14 +1 @@
1
- {% load i18n %}
2
-
3
- <div class="dropdown-menu">
4
- <div class="px-12 py-8 relative">
5
- <select form="{{ filter_widget.view_id }}-filter-form" class="input pl-10 pr-38"
6
- id="{{ filter_widget.input_id }}" name="{{ filter_widget.input_name }}"
7
- {% if not all_filters_visible %}disabled{% endif %}>
8
- <option value="true">{% trans 'Yes' %}</option>
9
- <option value="false">{% trans 'No' %}</option>
10
- </select>
11
- </div>
12
- {% include "sb_admin/filter_widgets/partials/clear.html" %}
13
- </div>
14
-
1
+ {% include "sb_admin/filter_widgets/radio_choice_field.html" %}
@@ -1,5 +1,5 @@
1
1
  {% load i18n %}
2
-
2
+ {% if filter_field.filter_widget.allow_clear %}
3
3
  <div class="relative px-12 py-8 flex">
4
4
  {% if not all_filters_visible %}
5
5
  <button type="button"
@@ -19,3 +19,4 @@
19
19
  {% trans 'Clear' %}
20
20
  </button>
21
21
  </div>
22
+ {% endif %}
@@ -1,6 +1,7 @@
1
- <div class="dropdown-menu">
1
+ <div class="dropdown-menu js-radio-choice-widget-wrapper">
2
2
  <ul class="relative">
3
3
  <input form="{{ filter_widget.view_id }}-filter-form" type="hidden"
4
+ class="js-radio-choice-widget"
4
5
  id="{{ filter_widget.input_id }}" name="{{ filter_widget.input_name }}"
5
6
  {% if not all_filters_visible %}disabled{% endif %}{% if filter_widget.get_default_value %}
6
7
  value="{{ filter_widget.get_default_value }}"{% endif %}>
@@ -15,4 +16,5 @@
15
16
  </li>
16
17
  {% endfor %}
17
18
  </ul>
19
+ {% include "sb_admin/filter_widgets/partials/clear.html" %}
18
20
  </div>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-smartbase-admin
3
- Version: 1.0.40
3
+ Version: 1.0.41
4
4
  Summary:
5
5
  Home-page: https://smartbase-sk.github.io/django-smartbase-admin-docs/
6
6
  License: MIT
@@ -15,11 +15,11 @@ django_smartbase_admin/engine/admin_entrypoint_view.py,sha256=jfMfcYPfdre2abHfC4
15
15
  django_smartbase_admin/engine/admin_view.py,sha256=9wGffahDR3IYmhL9ZbX8uitwGdXdw5DIL5GnWBawmJM,4238
16
16
  django_smartbase_admin/engine/configuration.py,sha256=h_UBpzFyZPSzk9aNNH-V6xGsELjfHWOgQCO65LEf6nc,14049
17
17
  django_smartbase_admin/engine/const.py,sha256=BP5I2UcCtV0bIlk_YUuVFHrDHRM9-gbCL0sJUX-q4Wo,2600
18
- django_smartbase_admin/engine/dashboard.py,sha256=yXi0oUTybqeo2_o2G3skp27W79u_SKjqcaXGKXR4pus,24488
18
+ django_smartbase_admin/engine/dashboard.py,sha256=aaeZkQkim6nIsrXTCFhFiQss1OyifZQNbC4fg15_Wac,24566
19
19
  django_smartbase_admin/engine/fake_inline.py,sha256=tGLX3yHANYBsVPcDk6yQqn8RN-JGdaV-RdHcxh9-61w,6190
20
20
  django_smartbase_admin/engine/field.py,sha256=AkcEs9hYqIJHy9cLgchWfC1wpWTRzFNm7byEIf0DuLU,10858
21
21
  django_smartbase_admin/engine/field_formatter.py,sha256=3NxapC_ee39saPKhJ4kHM3cQ604oG8E4m4On5P8xIZg,2513
22
- django_smartbase_admin/engine/filter_widgets.py,sha256=sYhJy0SX5FP073WmN-xW9FZk7-hGx_y_iB1URhc2L-U,33119
22
+ django_smartbase_admin/engine/filter_widgets.py,sha256=HT_oc_FRkm-DYm6zM9RYuK3G96Tu5htYPmm85RSB0pg,34466
23
23
  django_smartbase_admin/engine/global_filter_form.py,sha256=jlj6e9VYWDPyUNjcgj3gTIkCZXO01NZOWAeU3jFtkoA,249
24
24
  django_smartbase_admin/engine/menu_item.py,sha256=HP5EwjxBYygAg72RsgQyde62DI9CDg_pDzc8FqlUPEc,3028
25
25
  django_smartbase_admin/engine/modal_view.py,sha256=heo9r-RaRm2MuGtPd_fhWM2jRmxtctM-L59YZQOoOvs,2308
@@ -68,11 +68,11 @@ django_smartbase_admin/static/sb_admin/dist/calendar_style.js,sha256=47DEQpj8HBS
68
68
  django_smartbase_admin/static/sb_admin/dist/chart.js,sha256=nBru0P3RvzaNeQch6qkuL1Wi_c9ICz94HXLXmyYTMW8,205022
69
69
  django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt,sha256=m7M__mzLlrKDz-hky_AC848p_HzYWhziwCLIpXMsj4I,257
70
70
  django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js,sha256=glK-x4oxSAHqiabqXmNFE3FRtzMbpg7TgZiKcPle9_o,1745
71
- django_smartbase_admin/static/sb_admin/dist/main.js,sha256=S9F0bd-rm-541kDyUBrJnFL6RjknCEkED51je35LyAg,385342
71
+ django_smartbase_admin/static/sb_admin/dist/main.js,sha256=GOyDHndu9TO0_IORpyFcK5t2osBD7wWectgPMolLhqc,385952
72
72
  django_smartbase_admin/static/sb_admin/dist/main.js.LICENSE.txt,sha256=Z8-1IrzhOFV3eE_WGR7SRfbzN9GRXsvfiU7_E_BkX-k,5600
73
73
  django_smartbase_admin/static/sb_admin/dist/main_style.css,sha256=tS-Usr6Wc0MWuNJm29fLh66RqWzGm1aqipNLdFIqpjk,178928
74
74
  django_smartbase_admin/static/sb_admin/dist/main_style.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- django_smartbase_admin/static/sb_admin/dist/table.js,sha256=ellAKCmVs6r3AjERQ5UZ3NUCLT6uY5KQmGMM-ciyI7I,592340
75
+ django_smartbase_admin/static/sb_admin/dist/table.js,sha256=550M2DEFLGPBzJscTtGxCDny_uZ_PFEHSm7F9RVkV3A,593325
76
76
  django_smartbase_admin/static/sb_admin/dist/table.js.LICENSE.txt,sha256=WOKSfEow5EUe0a78P0kcxdWcrQlqn2n6H8idNZqHVDk,462
77
77
  django_smartbase_admin/static/sb_admin/dist/translations.js,sha256=5PRY3zmbnQ9pH-FtNHmsZ5xmYLPOQiO_hR3CBxHIAIo,567
78
78
  django_smartbase_admin/static/sb_admin/dist/tree_widget.js,sha256=KjJhKnGfAAOmhtcL3NrlS1ejf2kw5SDfFpP17v0JekA,6872
@@ -532,7 +532,7 @@ django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css,sha256=Qiw
532
532
  django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css,sha256=RnJQcJ-1MX-9jsMOeApuMaMaENJyiD-8UIg8wmDrXRE,2291
533
533
  django_smartbase_admin/static/sb_admin/src/css/style.css,sha256=H0ySPWtk4_EEfS4hygySKjC06ob1EWAy3sDPiGI3HUs,738
534
534
  django_smartbase_admin/static/sb_admin/src/css/tree_widget.css,sha256=dVltYkRkd8DciWc0iMW0hXkTO08LiWcS5PFesRQIr9M,11148
535
- django_smartbase_admin/static/sb_admin/src/js/autocomplete.js,sha256=fXYd6Ctt1gsIDdXfpaNTC8sevpbdJKGafl8TyHxvRDg,14652
535
+ django_smartbase_admin/static/sb_admin/src/js/autocomplete.js,sha256=ER6Y1sQGP3IxM4lzE7QLUfzim72wXz21ZVP5S8vp7QI,14643
536
536
  django_smartbase_admin/static/sb_admin/src/js/calendar.js,sha256=FweC-a1YVl4rVoQV8kbXeCflwnBt0moODJCfxARQNl0,2036
537
537
  django_smartbase_admin/static/sb_admin/src/js/chart.js,sha256=kAXTsM3pCasDDmj2HfqOksPts5O87By4HORJX36n3t0,4497
538
538
  django_smartbase_admin/static/sb_admin/src/js/choices.js,sha256=Wi9uX67JvYCuVqgFJJboDbs8iGd_nFhTmeJMZUbHpyk,4901
@@ -540,8 +540,9 @@ django_smartbase_admin/static/sb_admin/src/js/code.js,sha256=Q1jKpTsUZhxhaGDRrqH
540
540
  django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js,sha256=9xycy0sYJfT0SxeDucbOmvg9gHSrBo3KngZjCAHkVMM,3610
541
541
  django_smartbase_admin/static/sb_admin/src/js/datepicker.js,sha256=wnFhncPKMkodmf75jSd3PHIy9xO_WRFdxFjf6Qsgp7g,6710
542
542
  django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js,sha256=DVIyCJpxn8Gx1mx3QHxbRN4nlpJRlilKix6BK_zcUVc,12382
543
- django_smartbase_admin/static/sb_admin/src/js/main.js,sha256=Pb-fgKq0xvY50QJuEpjoLkISCST8fOHBnk_Wn-KJySI,20293
543
+ django_smartbase_admin/static/sb_admin/src/js/main.js,sha256=6Ty5URyrxhLMoZd9J2RUOf3ku3oWX31gg6fFeTZlFEA,20366
544
544
  django_smartbase_admin/static/sb_admin/src/js/multiselect.js,sha256=GuWjIpdkfvXi-oBNdK3gImjrzef4550MKMy71iYrywk,4066
545
+ django_smartbase_admin/static/sb_admin/src/js/radio.js,sha256=zJaGdgWY1xuxXFvcuuneJDjx7xYYNxMCf0wy4zJXAiE,1078
545
546
  django_smartbase_admin/static/sb_admin/src/js/range.js,sha256=k_1EIK0R-mrg3ScopUm2UDuYeaCg_VLTjtdJoN-8MXc,1794
546
547
  django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js,sha256=vJsAfRlXYeUH-hXLyVukim-UBRUHhv2J9UZHKAALOKo,650
547
548
  django_smartbase_admin/static/sb_admin/src/js/sidebar.js,sha256=gx0MqnLWIRb26-GDvETQ7CE4DucP-L-9-hZ9-oFjuUw,1570
@@ -551,8 +552,8 @@ django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_modu
551
552
  django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js,sha256=M8xM8JGi6CwRwoC_0ADbOPNfg30Sqm8KlP52IZ4ItS8,557
552
553
  django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js,sha256=hHu0voHiPM2QaPPF5X0YAR0-5T913VS7G_PW4eB3laQ,10655
553
554
  django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js,sha256=8tlH28XAkGttcgf2xEUgpgQ2XJ9biKAY3WgdSxO_F9M,902
554
- django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js,sha256=hs3uN_NRDnJQSUHUZJACR4L1Lw82HTsI-Kco9kdh-Ek,686
555
- django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js,sha256=kdsOX9ToIOQ3mZC6EmFwrWJRD-wMN5ipZSuuH8vViOk,4444
555
+ django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js,sha256=VpMRM-uQROikCbK4Y8knp7-yiuWZmvcexO8Ie2Gjz1M,3056
556
+ django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js,sha256=c45_eKdoP8CbHSjOn_KUSMHJBRGw2pqDhK-_nim5d3A,4684
556
557
  django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js,sha256=9ZfnZXvaTOphhRU0B7H0rsghUBWzTOSyVK1FZIj6bIE,573
557
558
  django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js,sha256=zT2CYKfMSd0903ASUzIbT8HwTkF6id3w4j5IJpwONp8,2888
558
559
  django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js,sha256=X0FQykK63v8vcE3-qZhkWZA2ajp8QTCLFv0PvkeLVvY,7694
@@ -595,7 +596,7 @@ django_smartbase_admin/templates/sb_admin/authentification/password_reset_form.h
595
596
  django_smartbase_admin/templates/sb_admin/blank_base.html,sha256=6dx_P_jiV2x-IojddDPdeWQiPmQ0hBxL8c4c7SljeTQ,76
596
597
  django_smartbase_admin/templates/sb_admin/components/buttons.html,sha256=355xSISqDlQQ873YrU8d8NX7LhaHfshQslYCAkaXAbU,1982
597
598
  django_smartbase_admin/templates/sb_admin/components/columns.html,sha256=JsrESM8cZLNZ5BIZJ9UZL-RdsYyLdMVYBBovi2sD0oA,996
598
- django_smartbase_admin/templates/sb_admin/components/filters.html,sha256=TlcbJeQb4KJdL4944cU77r5FNp1oe8m7kn6nlsG_1co,2663
599
+ django_smartbase_admin/templates/sb_admin/components/filters.html,sha256=mPT1kuDVFiEi9iMrykxoOGfuwD55OWYrCmQf4lP3x6Y,2787
599
600
  django_smartbase_admin/templates/sb_admin/components/filters_v2.html,sha256=sWJwakrXLP7SChZTOJl8AdObhQOlVbbdJaP-Q47JENY,7114
600
601
  django_smartbase_admin/templates/sb_admin/components/inputs.html,sha256=h1rfHTk2y9PsmgVpH8zbbtZmZoNB18tp-KLZZ45ddOU,10938
601
602
  django_smartbase_admin/templates/sb_admin/config/view.html,sha256=26X-VD2Y-l9yLrSavu1JxhrBOUSfB00bFFVC9q_sTL8,4177
@@ -614,13 +615,13 @@ django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_
614
615
  django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string_field.html,sha256=Kw0pk0zu5aPHY_MWz6CZUDs4WRMJtUuryjjC07NR6t8,186
615
616
  django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html,sha256=I__J12tJ7pi2hEzXCTXKY3vtP-C6V3aeVpHkkz_t7kE,65
616
617
  django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html,sha256=biufhvpytO3PtpzuwlEm0mtns5L4KVVPfayg5r-ZSbM,1071
617
- django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html,sha256=w7A6ljzbokmY_UO3cG-RpB7aDULbUjo7WyT9vJqGZZY,548
618
+ django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html,sha256=aFOWIvxYPcmnZmVvcIyT-BjE3dLAmQojem1TzWUTLTY,64
618
619
  django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html,sha256=tOFTMskFGrqbR9qNnKRPV3dlcPTzE4UFZp8nqrfb3yk,645
619
620
  django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html,sha256=WR2fqKv8P2XG2xCpE0FXgKfl4gj3Gmlo3ZAOep1xYQY,1144
620
621
  django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html,sha256=q9bERN_gP793_fizMH-w2wOl7j_6PLz-jUJG1iXkGyw,2052
621
622
  django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html,sha256=3d8yYpmvgQZUxCXw80lNpxeLCLTfIy8Xumg4X1nzJFc,1162
622
- django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html,sha256=FzgPxr2VA61Zn9wGjOkmKneKJPl_CdjsaqPOn485ud0,829
623
- django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html,sha256=iWY1TqA0Wl7bHH7XtpPzD4PgtKmLtmzX3pnQIEwSXBs,1212
623
+ django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html,sha256=KPu--aP2qpaqsznHLgth_thtaeSVFC-RGlCCs4Yzy0I,887
624
+ django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html,sha256=sM494Li-tLiAAI5Nx_iCb8OOn8TfUZYxj1ZoXGk_azk,1354
624
625
  django_smartbase_admin/templates/sb_admin/filter_widgets/string_field.html,sha256=_GJsgYk4CqHMqFWQsIBdDhLnThb6rb1pF0stOpOB40o,548
625
626
  django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html,sha256=6-jUnM9-UW4xKTilF8UgjT0zkafZh2xsR0M1N0obNj8,1243
626
627
  django_smartbase_admin/templates/sb_admin/fonts.html,sha256=TX6dIrqFKTnPL3Gsi8wAIWIW1szze1IhBEAHeRz9wOU,1121
@@ -716,7 +717,7 @@ django_smartbase_admin/views/global_filter_view.py,sha256=eYo1moJGyi7jc2cPDA5ZBi
716
717
  django_smartbase_admin/views/media_view.py,sha256=5BLWXuzynF7nM34t-mf2BQSRN5ojY8HxpLIqt7Jiq9g,292
717
718
  django_smartbase_admin/views/translations_view.py,sha256=hktmkJIZ0EJxgnzjHLIoRDY0ckFa5wkbaoFZg32UWYw,20441
718
719
  django_smartbase_admin/views/user_config_view.py,sha256=hUSmwxgGXJog7vhiD-zGpm6smo31sLNzW2VoXapHIjc,1865
719
- django_smartbase_admin-1.0.40.dist-info/LICENSE.md,sha256=okRGMBOYvyhprt2eTpX_QXqpzC0MODF-U7zX-4fKPjQ,1078
720
- django_smartbase_admin-1.0.40.dist-info/METADATA,sha256=U_jEndKwL98wLQy-qIzkizv3SEAussJaFQfJYHrbgLo,6697
721
- django_smartbase_admin-1.0.40.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
722
- django_smartbase_admin-1.0.40.dist-info/RECORD,,
720
+ django_smartbase_admin-1.0.41.dist-info/LICENSE.md,sha256=okRGMBOYvyhprt2eTpX_QXqpzC0MODF-U7zX-4fKPjQ,1078
721
+ django_smartbase_admin-1.0.41.dist-info/METADATA,sha256=adzmtZJHtyzXfJEnleM3jp_Lw01Dn6WTap2_oP5wEb4,6697
722
+ django_smartbase_admin-1.0.41.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
723
+ django_smartbase_admin-1.0.41.dist-info/RECORD,,