django-smartbase-admin 0.2.88__py3-none-any.whl → 0.2.89__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.
- django_smartbase_admin/admin/admin_base.py +0 -1
- django_smartbase_admin/engine/admin_base_view.py +1 -0
- django_smartbase_admin/engine/filter_widgets.py +18 -13
- django_smartbase_admin/static/sb_admin/dist/chart.js +1 -1
- django_smartbase_admin/static/sb_admin/dist/main.js +1 -1
- django_smartbase_admin/static/sb_admin/dist/main_style.css +1 -1
- django_smartbase_admin/static/sb_admin/dist/table.js +1 -1
- django_smartbase_admin/static/sb_admin/src/css/_datepicker.css +3 -0
- django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css +2 -1
- django_smartbase_admin/static/sb_admin/src/js/datepicker.js +71 -9
- django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js +72 -46
- django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js +16 -9
- django_smartbase_admin/static/sb_admin/src/js/utils.js +5 -0
- django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html +9 -2
- django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html +15 -5
- django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html +1 -1
- {django_smartbase_admin-0.2.88.dist-info → django_smartbase_admin-0.2.89.dist-info}/METADATA +1 -1
- {django_smartbase_admin-0.2.88.dist-info → django_smartbase_admin-0.2.89.dist-info}/RECORD +20 -20
- {django_smartbase_admin-0.2.88.dist-info → django_smartbase_admin-0.2.89.dist-info}/LICENSE.md +0 -0
- {django_smartbase_admin-0.2.88.dist-info → django_smartbase_admin-0.2.89.dist-info}/WHEEL +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import flatpickr from "flatpickr"
|
|
2
2
|
import {createIcon} from "./utils"
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
createRadioInput,
|
|
5
|
+
customActionsPlugin,
|
|
6
|
+
monthYearViewsPlugin
|
|
7
|
+
} from "./datepicker_plugins"
|
|
4
8
|
|
|
5
9
|
|
|
6
10
|
export default class Datepicker {
|
|
@@ -28,20 +32,38 @@ export default class Datepicker {
|
|
|
28
32
|
if(datePickerEl.dataset.sbadminDatepicker) {
|
|
29
33
|
sbadminDatepickerData = JSON.parse(datePickerEl.dataset.sbadminDatepicker)
|
|
30
34
|
}
|
|
35
|
+
|
|
31
36
|
flatpickr(datePickerEl, {
|
|
32
37
|
onReady: (selectedDates, dateStr, instance) => {
|
|
33
|
-
const isInTable = datePickerEl.closest('[data-filter-input-name]')
|
|
34
|
-
if(!isInTable) {
|
|
35
|
-
this.createClear(instance)
|
|
36
|
-
}
|
|
37
38
|
instance.nextMonthNav?.replaceChildren(createIcon('Right-small'))
|
|
38
39
|
instance.prevMonthNav?.replaceChildren(createIcon('Left-small'))
|
|
39
|
-
|
|
40
|
+
|
|
41
|
+
const isInTable = datePickerEl.closest('[data-filter-input-name]')
|
|
42
|
+
|
|
43
|
+
// real input element should be present only in filters
|
|
44
|
+
const realInput = document.getElementById(datePickerEl.dataset.sbadminDatepickerRealInputId)
|
|
45
|
+
const mainInput = realInput || datePickerEl
|
|
46
|
+
mainInput.addEventListener('clear', () => {
|
|
40
47
|
instance.clear()
|
|
41
48
|
})
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
if(!isInTable){
|
|
52
|
+
this.createClear(instance)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if(isInTable && realInput) {
|
|
56
|
+
// set initial value from real input to flatpickr
|
|
57
|
+
realInput.addEventListener('SBTableFilterFormLoad', () => {
|
|
58
|
+
if(!datePickerEl.value) {
|
|
59
|
+
instance.setDate(realInput.value, false, instance.config.dateFormat)
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
return
|
|
63
|
+
}
|
|
64
|
+
if(realInput) {
|
|
65
|
+
// advanced filters
|
|
66
|
+
instance.setDate(realInput.value, false, instance.config.dateFormat)
|
|
45
67
|
}
|
|
46
68
|
},
|
|
47
69
|
onClose: function(selectedDates, dateStr, instance) {
|
|
@@ -50,12 +72,52 @@ export default class Datepicker {
|
|
|
50
72
|
instance.setDate([selectedDates[0],selectedDates[0]], true)
|
|
51
73
|
}
|
|
52
74
|
},
|
|
75
|
+
onChange: function(selectedDates, dateStr) {
|
|
76
|
+
const realInput = document.getElementById(datePickerEl.dataset.sbadminDatepickerRealInputId)
|
|
77
|
+
if(realInput) {
|
|
78
|
+
realInput.value = dateStr
|
|
79
|
+
realInput.removeAttribute('data-label')
|
|
80
|
+
realInput.dispatchEvent(new Event('change'))
|
|
81
|
+
}
|
|
82
|
+
},
|
|
53
83
|
...options,
|
|
54
84
|
...sbadminDatepickerData.flatpickrOptions,
|
|
55
85
|
...optionsOverride
|
|
56
86
|
})
|
|
57
87
|
}
|
|
58
88
|
|
|
89
|
+
initShortcutsDropdown(datePickerEl) {
|
|
90
|
+
const realInput = document.getElementById(datePickerEl.dataset.sbadminDatepickerRealInputId)
|
|
91
|
+
const baseId = realInput.id
|
|
92
|
+
const baseValue = realInput.value
|
|
93
|
+
const el = document.createElement('div')
|
|
94
|
+
const shortcuts = JSON.parse(datePickerEl.dataset.sbadminDatepickerShortcuts)
|
|
95
|
+
el.classList.add('flatpickr-shortcuts', 'dropdown-menu')
|
|
96
|
+
el.addEventListener('change', (e) => {
|
|
97
|
+
realInput.value = e.target.value
|
|
98
|
+
datePickerEl.value = e.target.nextElementSibling.innerText
|
|
99
|
+
})
|
|
100
|
+
|
|
101
|
+
shortcuts.forEach((shortcut, idx) => {
|
|
102
|
+
const checked = JSON.stringify(shortcut.value) === baseValue
|
|
103
|
+
if(checked) {
|
|
104
|
+
datePickerEl.value = shortcut.label
|
|
105
|
+
}
|
|
106
|
+
el.append(createRadioInput(
|
|
107
|
+
`${baseId}_range${idx}`,
|
|
108
|
+
`${baseId}_shortcut`,
|
|
109
|
+
JSON.stringify(shortcut.value),
|
|
110
|
+
shortcut.label,
|
|
111
|
+
checked,
|
|
112
|
+
idx
|
|
113
|
+
))
|
|
114
|
+
})
|
|
115
|
+
datePickerEl.parentElement.append(el)
|
|
116
|
+
datePickerEl.readOnly = true
|
|
117
|
+
datePickerEl.dataset['bsToggle'] = "dropdown"
|
|
118
|
+
new window.bootstrap5.Dropdown(datePickerEl)
|
|
119
|
+
}
|
|
120
|
+
|
|
59
121
|
initWidgets(parentEl=null) {
|
|
60
122
|
const datePickerSelector = {
|
|
61
123
|
'.js-datepicker': {
|
|
@@ -249,74 +249,100 @@ export const monthYearViewsPlugin = (fp) => {
|
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
|
|
252
|
+
export const createRadioInput = (id, name, value, label, checked, index) => {
|
|
253
|
+
const inputWrapperEl = document.createElement('label')
|
|
254
|
+
inputWrapperEl.classList.add('relative', 'block', 'px-12', 'py-8')
|
|
255
|
+
inputWrapperEl.setAttribute('for', id)
|
|
256
|
+
const labelEl = document.createElement('label')
|
|
257
|
+
labelEl.innerText = label
|
|
258
|
+
labelEl.setAttribute('for', id)
|
|
259
|
+
const inputEl = document.createElement('input')
|
|
260
|
+
inputEl.id = id
|
|
261
|
+
inputEl.name = name
|
|
262
|
+
inputEl.value = value
|
|
263
|
+
inputEl.type = 'radio'
|
|
264
|
+
inputEl.classList.add('radio', 'flatpickr-shortcut')
|
|
265
|
+
inputEl.checked = checked
|
|
266
|
+
inputEl.dataset["index"] = index
|
|
267
|
+
inputWrapperEl.append(inputEl)
|
|
268
|
+
inputWrapperEl.append(labelEl)
|
|
269
|
+
return inputWrapperEl
|
|
270
|
+
}
|
|
271
|
+
|
|
252
272
|
// eslint-disable-next-line no-unused-vars
|
|
253
273
|
export const customActionsPlugin = (fp) => {
|
|
254
|
-
|
|
255
|
-
const createRadioInput = (id, name, value, label, checked) => {
|
|
256
|
-
const inputWrapperEl = document.createElement('label')
|
|
257
|
-
inputWrapperEl.classList.add('relative', 'block', 'px-12', 'py-8')
|
|
258
|
-
inputWrapperEl.setAttribute('for', id)
|
|
259
|
-
const labelEl = document.createElement('label')
|
|
260
|
-
labelEl.innerText = label
|
|
261
|
-
labelEl.setAttribute('for', id)
|
|
262
|
-
const inputEl = document.createElement('input')
|
|
263
|
-
inputEl.id = id
|
|
264
|
-
inputEl.name = name
|
|
265
|
-
inputEl.value = value
|
|
266
|
-
inputEl.type = 'radio'
|
|
267
|
-
inputEl.classList.add('radio')
|
|
268
|
-
inputEl.checked = checked
|
|
269
|
-
inputWrapperEl.append(inputEl)
|
|
270
|
-
inputWrapperEl.append(labelEl)
|
|
271
|
-
return inputWrapperEl
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
const dateTimeReviver = (key, value) => {
|
|
275
|
-
if (key === 'value') {
|
|
276
|
-
const newValue = []
|
|
277
|
-
value.forEach((val) => {
|
|
278
|
-
newValue.push(new Date(val))
|
|
279
|
-
})
|
|
280
|
-
return newValue
|
|
281
|
-
}
|
|
282
|
-
return value
|
|
283
|
-
}
|
|
284
|
-
|
|
285
274
|
const createShortcuts = () => {
|
|
286
|
-
const
|
|
287
|
-
const
|
|
275
|
+
const realInput = document.getElementById(fp.element.dataset.sbadminDatepickerRealInputId)
|
|
276
|
+
const baseId = realInput.id
|
|
277
|
+
const baseValue = realInput.value
|
|
288
278
|
const el = document.createElement('div')
|
|
289
|
-
const shortcuts = JSON.parse(fp.element.dataset.sbadminDatepickerShortcuts
|
|
279
|
+
const shortcuts = JSON.parse(fp.element.dataset.sbadminDatepickerShortcuts)
|
|
290
280
|
el.classList.add('flatpickr-shortcuts')
|
|
291
281
|
el.addEventListener('change', (e) => {
|
|
282
|
+
// on shortcut click/change set new value and label to real input element
|
|
292
283
|
const value = e.target.value
|
|
293
|
-
|
|
284
|
+
realInput.value = value
|
|
285
|
+
realInput.dataset['label'] = e.target.nextElementSibling.innerText
|
|
286
|
+
realInput.dispatchEvent(new Event('change'))
|
|
287
|
+
|
|
288
|
+
// parse new value and set it to flatpicker
|
|
289
|
+
const shortcutValue = shortcuts[e.target.dataset.index].value
|
|
290
|
+
const from = new Date()
|
|
291
|
+
from.setDate(from.getDate() + shortcutValue[0])
|
|
292
|
+
|
|
293
|
+
const to = new Date()
|
|
294
|
+
to.setDate(to.getDate() + shortcutValue[1])
|
|
295
|
+
|
|
296
|
+
fp.setDate([from, to], false, fp.config.dateFormat)
|
|
294
297
|
})
|
|
295
298
|
|
|
296
299
|
shortcuts.forEach((shortcut, idx) => {
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (fromDateFormatted === toDateFormatted) {
|
|
301
|
-
shortcutValueStr = fromDateFormatted
|
|
302
|
-
} else {
|
|
303
|
-
shortcutValueStr = fromDateFormatted + fp.config.locale.rangeSeparator + toDateFormatted
|
|
300
|
+
const checked = JSON.stringify(shortcut.value) === baseValue
|
|
301
|
+
if(checked) {
|
|
302
|
+
realInput.dataset['label'] = shortcut.label
|
|
304
303
|
}
|
|
305
304
|
el.append(createRadioInput(
|
|
306
305
|
`${baseId}_range${idx}`,
|
|
307
306
|
`${baseId}_shortcut`,
|
|
308
|
-
|
|
307
|
+
JSON.stringify(shortcut.value),
|
|
309
308
|
shortcut.label,
|
|
310
|
-
|
|
309
|
+
checked,
|
|
310
|
+
idx
|
|
311
311
|
))
|
|
312
312
|
})
|
|
313
313
|
fp.calendarContainer.prepend(el)
|
|
314
|
+
|
|
315
|
+
realInput.addEventListener('SBTableFilterFormLoad', () => {
|
|
316
|
+
try {
|
|
317
|
+
const shortcutValue = JSON.parse(realInput.value)
|
|
318
|
+
const from = new Date()
|
|
319
|
+
from.setDate(from.getDate() + shortcutValue[0])
|
|
320
|
+
|
|
321
|
+
const to = new Date()
|
|
322
|
+
to.setDate(to.getDate() + shortcutValue[1])
|
|
323
|
+
fp.setDate([from, to], false, fp.config.dateFormat)
|
|
324
|
+
|
|
325
|
+
shortcuts.forEach((shortcut, idx) => {
|
|
326
|
+
if(JSON.stringify(shortcut.value) === realInput.value) {
|
|
327
|
+
document.getElementById(`${baseId}_range${idx}`).checked = true
|
|
328
|
+
realInput.dataset['label'] = shortcut.label
|
|
329
|
+
}
|
|
330
|
+
})
|
|
331
|
+
}
|
|
332
|
+
catch {
|
|
333
|
+
fp.setDate(realInput.value, false, fp.config.dateFormat)
|
|
334
|
+
}
|
|
335
|
+
})
|
|
314
336
|
}
|
|
315
337
|
|
|
316
338
|
|
|
317
339
|
return {
|
|
318
340
|
onReady: createShortcuts,
|
|
341
|
+
onChange: (selectedDates, dateStr, instance) => {
|
|
342
|
+
const checkedShortcut = instance.element.parentElement.querySelector('input.flatpickr-shortcut:checked')
|
|
343
|
+
if(checkedShortcut){
|
|
344
|
+
checkedShortcut.checked = false
|
|
345
|
+
}
|
|
346
|
+
}
|
|
319
347
|
}
|
|
320
348
|
}
|
|
321
|
-
|
|
322
|
-
export const HIDE_CALENDAR_CLASS = 'hide-calendar' // used for hiding calendar and only use shortcuts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SBAdminTableModule } from "./base_module"
|
|
2
2
|
import { filterInputValueChangedUtil, filterInputValueChangeListener } from "../utils"
|
|
3
|
-
import {customActionsPlugin,
|
|
3
|
+
import {customActionsPlugin, monthYearViewsPlugin} from "../datepicker_plugins"
|
|
4
4
|
|
|
5
5
|
export class AdvancedFilterModule extends SBAdminTableModule {
|
|
6
6
|
constructor(table) {
|
|
@@ -104,6 +104,16 @@ export class AdvancedFilterModule extends SBAdminTableModule {
|
|
|
104
104
|
widgetEl._flatpickr.calendarContainer?.remove()
|
|
105
105
|
widgetEl._flatpickr.clear()
|
|
106
106
|
widgetEl._flatpickr.destroy()
|
|
107
|
+
widgetEl._flatpickr = undefined
|
|
108
|
+
return
|
|
109
|
+
}
|
|
110
|
+
const dropdownInstance = window.bootstrap5.Dropdown.getInstance(widgetEl)
|
|
111
|
+
if(dropdownInstance) {
|
|
112
|
+
dropdownInstance.dispose()
|
|
113
|
+
widgetEl.removeAttribute('data-bs-toggle')
|
|
114
|
+
widgetEl.nextElementSibling?.remove()
|
|
115
|
+
widgetEl.readOnly = false
|
|
116
|
+
widgetEl.value = ""
|
|
107
117
|
}
|
|
108
118
|
}
|
|
109
119
|
|
|
@@ -120,17 +130,14 @@ export class AdvancedFilterModule extends SBAdminTableModule {
|
|
|
120
130
|
if (["between", "not_between", "in_the_last", "in_the_next"].includes(rule.operator.type)) {
|
|
121
131
|
optionsOverride["mode"] = "range"
|
|
122
132
|
}
|
|
133
|
+
this.destroyDatePicker(widgetEl)
|
|
134
|
+
const shortcuts = JSON.parse(widgetEl.dataset.sbadminDatepickerShortcutsDict)
|
|
135
|
+
widgetEl.dataset.sbadminDatepickerShortcuts = JSON.stringify(shortcuts[rule.operator.type] || [])
|
|
123
136
|
if (["in_the_last", "in_the_next"].includes(rule.operator.type)) {
|
|
124
|
-
|
|
125
|
-
// optionsOverride["noCalendar"] = true
|
|
126
|
-
widgetEl.classList.add(HIDE_CALENDAR_CLASS)
|
|
137
|
+
window.SBAdmin.datepicker.initShortcutsDropdown(widgetEl, {}, optionsOverride)
|
|
127
138
|
}
|
|
128
139
|
else {
|
|
129
|
-
|
|
140
|
+
window.SBAdmin.datepicker.initFlatPickr(widgetEl, {}, optionsOverride)
|
|
130
141
|
}
|
|
131
|
-
this.destroyDatePicker(widgetEl)
|
|
132
|
-
const shortcuts = JSON.parse(widgetEl.dataset.sbadminDatepickerShortcutsDict)
|
|
133
|
-
widgetEl.dataset.sbadminDatepickerShortcuts = JSON.stringify(shortcuts[rule.operator.type] || [])
|
|
134
|
-
window.SBAdmin.datepicker.initFlatPickr(widgetEl, {}, optionsOverride)
|
|
135
142
|
}
|
|
136
143
|
}
|
|
@@ -73,6 +73,11 @@ export const filterInputValueChangedUtil = (field) => {
|
|
|
73
73
|
if(!valueElem) {
|
|
74
74
|
return
|
|
75
75
|
}
|
|
76
|
+
const label = field.dataset.label
|
|
77
|
+
if(label) {
|
|
78
|
+
valueElem.innerHTML = label
|
|
79
|
+
return valueElem
|
|
80
|
+
}
|
|
76
81
|
const valueOrObject = getObjectOrValue(field.value)
|
|
77
82
|
if ((field.value === "" || field.value === "[]")) {
|
|
78
83
|
if(field.dataset.emptyLabel) {
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
<div class="relative">
|
|
2
2
|
<input
|
|
3
|
-
type="
|
|
3
|
+
type="hidden"
|
|
4
4
|
autocomplete="off"
|
|
5
|
-
class="input pl-10 js-datepicker-dynamic"
|
|
6
5
|
id="{{ filter_widget.input_id }}"
|
|
7
6
|
name="{{ filter_widget.input_name }}"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
type="text"
|
|
10
|
+
autocomplete="off"
|
|
11
|
+
class="input pl-10 js-datepicker-dynamic"
|
|
12
|
+
id="{{ filter_widget.input_id }}_picker"
|
|
13
|
+
name="{{ filter_widget.input_name }}_picker"
|
|
14
|
+
data-sbadmin-datepicker-real-input-id="{{ filter_widget.input_id }}"
|
|
8
15
|
data-sbadmin-datepicker="{{ filter_widget.get_data }}"
|
|
9
16
|
data-sbadmin-datepicker-shortcuts-dict="{{ filter_widget.get_shortcuts_dict_data }}"
|
|
10
17
|
>
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
<div class="dropdown-menu dropdown-menu-datepicker"
|
|
2
2
|
style="max-width: none; width: auto; height: auto; max-height: none;">
|
|
3
3
|
<div class="px-12 py-8">
|
|
4
|
-
<input
|
|
5
|
-
|
|
4
|
+
<input
|
|
5
|
+
type="hidden"
|
|
6
|
+
autocomplete="off"
|
|
7
|
+
id="{{ filter_widget.input_id }}"
|
|
8
|
+
name="{{ filter_widget.input_name }}"
|
|
9
|
+
form="{{ filter_widget.view_id }}-filter-form"
|
|
10
|
+
{% if filter_widget.get_default_value %}value="{{ filter_widget.get_default_value }}"{% endif %}
|
|
11
|
+
{% if not all_filters_visible %}disabled{% endif %}
|
|
12
|
+
>
|
|
13
|
+
<input type="text"
|
|
14
|
+
class="input pl-10 js-datepicker-range"
|
|
15
|
+
id="{{ filter_widget.input_id }}_picker"
|
|
16
|
+
name="{{ filter_widget.input_name }}_picker"
|
|
17
|
+
data-sbadmin-datepicker-real-input-id="{{ filter_widget.input_id }}"
|
|
6
18
|
data-sbadmin-datepicker="{{ filter_widget.get_data }}"
|
|
7
|
-
data-sbadmin-datepicker-shortcuts="{{ filter_widget.get_shortcuts_data }}"
|
|
8
|
-
{% if not all_filters_visible %}disabled{% endif %}{% if filter_widget.get_default_value %}
|
|
9
|
-
value="{{ filter_widget.get_default_value }}"{% endif %}>
|
|
19
|
+
data-sbadmin-datepicker-shortcuts="{{ filter_widget.get_shortcuts_data }}">
|
|
10
20
|
</div>
|
|
11
21
|
{% include "sb_admin/filter_widgets/partials/clear.html" %}
|
|
12
22
|
</div>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div class="flex max-xs:flex-wrap gap-x-16">{% endif %}
|
|
24
24
|
|
|
25
25
|
{% for field in line %}
|
|
26
|
-
<div class="mb-16 sm:mb-24 max-xs:w-full sm:flex-1{% if field.field.is_hidden %} hidden{% endif %}">
|
|
26
|
+
<div class="mb-16 sm:mb-24 max-xs:w-full sm:flex-1{% if field.field.is_hidden or field.field|is_row_class_field %} hidden{% endif %}">
|
|
27
27
|
{% if field.is_readonly %}
|
|
28
28
|
{% call_method field "contents" request %}
|
|
29
29
|
{% else %}
|
|
@@ -3,14 +3,14 @@ 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=
|
|
6
|
+
django_smartbase_admin/admin/admin_base.py,sha256=r6mhLT4PV2_Nq9POcpDUgsvVZE-5UM896TUIrrxNNpE,41478
|
|
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
|
|
10
10
|
django_smartbase_admin/compilemessages.py,sha256=-_FEFQlOvE4L8UzSuUxSxZQjgGlwL9IZtmg59fW_kIQ,342
|
|
11
11
|
django_smartbase_admin/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
django_smartbase_admin/engine/actions.py,sha256=n8PiG60Kj1ECHB4lfVH_jvHMyOjOZ-DvQfO9F2CuqW0,1733
|
|
13
|
-
django_smartbase_admin/engine/admin_base_view.py,sha256=
|
|
13
|
+
django_smartbase_admin/engine/admin_base_view.py,sha256=9XrX-K7XV-dJCafAUTFHitleV4-n0GdHAciyar3ZAzg,30020
|
|
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
|
|
@@ -19,7 +19,7 @@ django_smartbase_admin/engine/dashboard.py,sha256=wrvX0GI-SII2pG0DX8Kvy4JFaM6h8e
|
|
|
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
|
|
21
21
|
django_smartbase_admin/engine/field_formatter.py,sha256=eHbXEBwG8jBc9zKpDQ4T64N5J4afF0Cbb8RFeFfgQRg,1950
|
|
22
|
-
django_smartbase_admin/engine/filter_widgets.py,sha256=
|
|
22
|
+
django_smartbase_admin/engine/filter_widgets.py,sha256=eIMSeoDxUcULfBJCe1BniM2poqrzRi-7gIERioSCKwY,24049
|
|
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
25
|
django_smartbase_admin/engine/modal_view.py,sha256=Qzx9kd9shoqCYes_lYkAvX1ItVL41oi2vORUrYUkZkE,2269
|
|
@@ -59,14 +59,14 @@ django_smartbase_admin/static/sb_admin/css/codemirror/codemirror.min.css,sha256=
|
|
|
59
59
|
django_smartbase_admin/static/sb_admin/css/codemirror/dracula.min.css,sha256=uo0AmtydVJOOqIJSwJmit3PtOk9VFa6cL5N6ikyzmd8,1646
|
|
60
60
|
django_smartbase_admin/static/sb_admin/css/coloris/coloris.min.css,sha256=teADOBNAUAYg3wegm5gqu_4ahI-cp-_E87PZH4m52D0,8506
|
|
61
61
|
django_smartbase_admin/static/sb_admin/css/querybuilder/query-builder.default.min.css,sha256=NpM2HsztsnXTnoq_6D2H2qENmS-xEbXVvInpg87fmGo,3335
|
|
62
|
-
django_smartbase_admin/static/sb_admin/dist/chart.js,sha256=
|
|
62
|
+
django_smartbase_admin/static/sb_admin/dist/chart.js,sha256=junrr52JM6iSKJ2jIXKbAG7LzjU83w2GCQgaq2rjGOg,204742
|
|
63
63
|
django_smartbase_admin/static/sb_admin/dist/chart.js.LICENSE.txt,sha256=m7M__mzLlrKDz-hky_AC848p_HzYWhziwCLIpXMsj4I,257
|
|
64
64
|
django_smartbase_admin/static/sb_admin/dist/confirmation_modal.js,sha256=glK-x4oxSAHqiabqXmNFE3FRtzMbpg7TgZiKcPle9_o,1745
|
|
65
|
-
django_smartbase_admin/static/sb_admin/dist/main.js,sha256=
|
|
65
|
+
django_smartbase_admin/static/sb_admin/dist/main.js,sha256=4bC9ly00yaje80yiJwKFAL53ENTTDEpXhfbLZhBnXHA,378122
|
|
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=
|
|
67
|
+
django_smartbase_admin/static/sb_admin/dist/main_style.css,sha256=72BRjvvEW11qwYaMdbldP2BNVuAZsOLYC_nnNKoSJvA,153895
|
|
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=
|
|
69
|
+
django_smartbase_admin/static/sb_admin/dist/table.js,sha256=95hDWDBSvRPWDGrxQIR0vL2AOPrNvDFY0hKhzyJJynI,590741
|
|
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
|
|
@@ -479,7 +479,7 @@ django_smartbase_admin/static/sb_admin/src/css/_base.css,sha256=qSRrfDVGWPYW0ZT0
|
|
|
479
479
|
django_smartbase_admin/static/sb_admin/src/css/_choices.css,sha256=HgS0F_NQw_FS94nTAaSrxnCZkSH2ODWylKUH8LrtZxo,1889
|
|
480
480
|
django_smartbase_admin/static/sb_admin/src/css/_colors.css,sha256=jaEB18XoAeY_I6-FO5b7njsP7BQSUixzH7ClATQBvH0,2825
|
|
481
481
|
django_smartbase_admin/static/sb_admin/src/css/_components.css,sha256=s7JoCoEB-Tr4EWtLKOh6KMRwVYbLRgj5at0lFretrRE,11820
|
|
482
|
-
django_smartbase_admin/static/sb_admin/src/css/_datepicker.css,sha256=
|
|
482
|
+
django_smartbase_admin/static/sb_admin/src/css/_datepicker.css,sha256=JOyYpJ28tiHCXVGoy5HTWcrtHhcJM6nYcjx85U7dAQE,14080
|
|
483
483
|
django_smartbase_admin/static/sb_admin/src/css/_filer.css,sha256=9VaLI4A4HuxNqyJv3q9o61Ils2hf7JymgjSp_C-fTnY,1629
|
|
484
484
|
django_smartbase_admin/static/sb_admin/src/css/_inlines.css,sha256=wLouBJa_qEgLan44zonOqFITWRpDUKD3loqZpATpUj8,4021
|
|
485
485
|
django_smartbase_admin/static/sb_admin/src/css/_nouislider.css,sha256=y3wmnyoPFkIKiwn9tzRTWGlIFhopgt4OulOf7__e-3k,5587
|
|
@@ -491,7 +491,7 @@ django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css,sha256=6
|
|
|
491
491
|
django_smartbase_admin/static/sb_admin/src/css/components/_input.css,sha256=-R3Pb2GrMQQ9IIkAQPrED9vO7mW2telsCrvKN2i1lUk,10276
|
|
492
492
|
django_smartbase_admin/static/sb_admin/src/css/components/_modal.css,sha256=Cimzp6jEQhtViQbYwSDj3oQadfemN0FrbCZN2AOfwaY,4316
|
|
493
493
|
django_smartbase_admin/static/sb_admin/src/css/components/_nav-tabs.css,sha256=86Ksvd2fX377J6pASPdWH2pzCuP7lpUu1arwZfa-ri4,719
|
|
494
|
-
django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css,sha256=
|
|
494
|
+
django_smartbase_admin/static/sb_admin/src/css/components/_query-builder.css,sha256=0w9tUk_JV47rSD5E8zM3XnHY9Nw57fU57OXRHGptpj0,12417
|
|
495
495
|
django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css,sha256=PSLlVIT779DTxUl9UVK1NNoFLj8hTWqicPIDe2E5EsQ,2580
|
|
496
496
|
django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css,sha256=5JzpOPLRQBi3xLjKXqCJKyR_neRLYVQP4emhflNT68A,2485
|
|
497
497
|
django_smartbase_admin/static/sb_admin/src/css/style.css,sha256=M6Z77etzClsxi1NCYiFg0kJurIqkuvYeYIbc5rxx4gQ,739
|
|
@@ -500,8 +500,8 @@ django_smartbase_admin/static/sb_admin/src/js/chart.js,sha256=SSryj2X0H9u_7uhfDO
|
|
|
500
500
|
django_smartbase_admin/static/sb_admin/src/js/choices.js,sha256=DzrJYV5vq_NywD6KxNIEGmemZENwvcJSNPEPkZKuu1E,4615
|
|
501
501
|
django_smartbase_admin/static/sb_admin/src/js/code.js,sha256=Q1jKpTsUZhxhaGDRrqHhs_jn9gZPYjB1xf7VSXfiCd0,486
|
|
502
502
|
django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js,sha256=9xycy0sYJfT0SxeDucbOmvg9gHSrBo3KngZjCAHkVMM,3610
|
|
503
|
-
django_smartbase_admin/static/sb_admin/src/js/datepicker.js,sha256=
|
|
504
|
-
django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js,sha256=
|
|
503
|
+
django_smartbase_admin/static/sb_admin/src/js/datepicker.js,sha256=_f3a2sMP0lBb-ymI1a6I-_Rly-4Ut88uJSbKeapqsFQ,6412
|
|
504
|
+
django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js,sha256=E3HXFYxRSQOqO-v-5Z9jfdS2RdmYfzmvBSY0c-iKJJs,12208
|
|
505
505
|
django_smartbase_admin/static/sb_admin/src/js/main.js,sha256=kr6U6y4cDu2LspsqLsw0EsuvxrbahwK42Br0-3RzSFY,9905
|
|
506
506
|
django_smartbase_admin/static/sb_admin/src/js/multiselect.js,sha256=-mTD2CNCQyBfZTbVgj9khbdApBo6G1pfHNm7c082gsM,3500
|
|
507
507
|
django_smartbase_admin/static/sb_admin/src/js/range.js,sha256=Vc_NZMKAUzwYpTC1jf8eOpoP_JJsH6x0fzsWwhsKdts,1752
|
|
@@ -509,7 +509,7 @@ django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.
|
|
|
509
509
|
django_smartbase_admin/static/sb_admin/src/js/sidebar.js,sha256=gx0MqnLWIRb26-GDvETQ7CE4DucP-L-9-hZ9-oFjuUw,1570
|
|
510
510
|
django_smartbase_admin/static/sb_admin/src/js/sorting.js,sha256=-56L7MecDqzowVIwIPPTUd46tBR7OTD2DNXBij12TzY,1186
|
|
511
511
|
django_smartbase_admin/static/sb_admin/src/js/table.js,sha256=X5zFcLP18zW4xCn45lv2pSRf4EcZzHoygQqvj0rrDBI,13796
|
|
512
|
-
django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js,sha256=
|
|
512
|
+
django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_module.js,sha256=dYiFFtwkgYyPn_IM8XLEGSDM9jQhtl53CuxJrwo0_U8,5520
|
|
513
513
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js,sha256=M8xM8JGi6CwRwoC_0ADbOPNfg30Sqm8KlP52IZ4ItS8,557
|
|
514
514
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js,sha256=hHu0voHiPM2QaPPF5X0YAR0-5T913VS7G_PW4eB3laQ,10655
|
|
515
515
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js,sha256=8tlH28XAkGttcgf2xEUgpgQ2XJ9biKAY3WgdSxO_F9M,902
|
|
@@ -522,7 +522,7 @@ django_smartbase_admin/static/sb_admin/src/js/table_modules/selection_module.js,
|
|
|
522
522
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/table_params_module.js,sha256=67OJV8l_i7f2Ptm_G76Ri7AWyEfZ8B5BjiztLP819DM,11250
|
|
523
523
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js,sha256=ZdirU9jt_aE_vkVXxMytZ3AaC0q6r57ECijdhV6j3-M,3393
|
|
524
524
|
django_smartbase_admin/static/sb_admin/src/js/translations.js,sha256=GEizlr_D5yDj00i7jKENkWfDr6gZcg4RQ1Nek22WP4g,954
|
|
525
|
-
django_smartbase_admin/static/sb_admin/src/js/utils.js,sha256=
|
|
525
|
+
django_smartbase_admin/static/sb_admin/src/js/utils.js,sha256=I6jvqqmgQVIL-VrWWAZsYSAThl3sThhaG4nxquyd4ic,4677
|
|
526
526
|
django_smartbase_admin/templates/sb_admin/actions/change_form.html,sha256=Vqp9oZgwagz8bZw7UmsXf692cYLnGl5W-ujQp-aR2Jk,12734
|
|
527
527
|
django_smartbase_admin/templates/sb_admin/actions/change_password.html,sha256=LhciaKCvlywKMJ6gY9JbEaTkOXjNSFO-mAnWIZfk6sA,3200
|
|
528
528
|
django_smartbase_admin/templates/sb_admin/actions/dashboard.html,sha256=idjrEnXT0EP8gNHMu9QIneaLRhOJwB6QW92brrg7z1s,272
|
|
@@ -565,7 +565,7 @@ django_smartbase_admin/templates/sb_admin/dashboard/widget_base.html,sha256=wStF
|
|
|
565
565
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/autocomplete_field.html,sha256=YmiBxK1bTlJUkI2qOu9tNXVKACgxvsoigNRBkEbFMEM,1626
|
|
566
566
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/boolean_field.html,sha256=PNh4r9lV8BJYeSdYzQX1IfLqIVWUCEER_qiXRecxopQ,251
|
|
567
567
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/choice_field.html,sha256=y1r1pAZwR64ZFSt7cs5pasQrkaDn2QtFTqC2zyxn63s,316
|
|
568
|
-
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html,sha256=
|
|
568
|
+
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/date_field.html,sha256=ViAlQzFuGbPG70TgBvbd6l6fu2xBRzDVrSzUVl7XFhc,633
|
|
569
569
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/multiple_choice_field.html,sha256=hPI-hkiz6naG5DZoVovRJfueMYi9UKw6oKL1Mw2JK1o,1828
|
|
570
570
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/number_range_field.html,sha256=dJh2D-WhWXciBkIjV-Aln7s6JtIWCQqRsNaZ3mhkhdE,627
|
|
571
571
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_choice_field.html,sha256=y1r1pAZwR64ZFSt7cs5pasQrkaDn2QtFTqC2zyxn63s,316
|
|
@@ -573,7 +573,7 @@ django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string
|
|
|
573
573
|
django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html,sha256=biufhvpytO3PtpzuwlEm0mtns5L4KVVPfayg5r-ZSbM,1071
|
|
574
574
|
django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html,sha256=w7A6ljzbokmY_UO3cG-RpB7aDULbUjo7WyT9vJqGZZY,548
|
|
575
575
|
django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html,sha256=tOFTMskFGrqbR9qNnKRPV3dlcPTzE4UFZp8nqrfb3yk,645
|
|
576
|
-
django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html,sha256=
|
|
576
|
+
django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html,sha256=mxaxV526C78h-MiSKh5cHJnQKi8cwDvNSqOsX6IAIlA,1093
|
|
577
577
|
django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html,sha256=IUGOLzVrHa-RXjkbM6ebZ0yQyX5OzPcLrIz6s6hIupc,1248
|
|
578
578
|
django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html,sha256=3d8yYpmvgQZUxCXw80lNpxeLCLTfIy8Xumg4X1nzJFc,1162
|
|
579
579
|
django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html,sha256=lp8fmVbCjOPkLHEGq6sSc9VNNu-iegJ1f7adbsrc70U,614
|
|
@@ -585,7 +585,7 @@ django_smartbase_admin/templates/sb_admin/includes/change_form_title.html,sha256
|
|
|
585
585
|
django_smartbase_admin/templates/sb_admin/includes/components.html,sha256=ixhN__EcMbCfjXQXdCElda18sqWZYj9scV3nsR9nXts,18822
|
|
586
586
|
django_smartbase_admin/templates/sb_admin/includes/confirmation.html,sha256=F2lgUPCIF6pveCSyS7L4k8ifZxa_DoJp-NZb4uwmtyI,1844
|
|
587
587
|
django_smartbase_admin/templates/sb_admin/includes/fieldset.html,sha256=cSaqkdB2OOMXW4UFysoDQP4x-Wm4fgMtClPHqHepv1o,280
|
|
588
|
-
django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html,sha256=
|
|
588
|
+
django_smartbase_admin/templates/sb_admin/includes/inline_fieldset.html,sha256=CfTFCpV7F8p2WAZqTdz9peuvnuZz99193waPPoN2vac,1970
|
|
589
589
|
django_smartbase_admin/templates/sb_admin/includes/loading.html,sha256=mI-Ya6y0vTOqPVUS9n_GPXmQDvyaDdL9637I5oqcnBE,287
|
|
590
590
|
django_smartbase_admin/templates/sb_admin/includes/loading_absolute.html,sha256=Eck62NW9ByTw6Mu5QOcYZZJVebhRUNbxTB29XmN5drE,304
|
|
591
591
|
django_smartbase_admin/templates/sb_admin/includes/notifications.html,sha256=wEEcrcdX3Wrlz-tVCJouiUFSZV_vVEqrc5opV_nifAw,783
|
|
@@ -667,7 +667,7 @@ django_smartbase_admin/views/dashboard_view.py,sha256=vtz5emYTQ5WDFeLA8HrcmjSOVd
|
|
|
667
667
|
django_smartbase_admin/views/global_filter_view.py,sha256=eYo1moJGyi7jc2cPDA5ZBiEgA7Hmc-DxbQvbqUpDkg8,1127
|
|
668
668
|
django_smartbase_admin/views/media_view.py,sha256=5BLWXuzynF7nM34t-mf2BQSRN5ojY8HxpLIqt7Jiq9g,292
|
|
669
669
|
django_smartbase_admin/views/translations_view.py,sha256=tkShf5IWyPDjNhcPQsvh8WXs-EMRCfG_oTD9x-LP1No,20272
|
|
670
|
-
django_smartbase_admin-0.2.
|
|
671
|
-
django_smartbase_admin-0.2.
|
|
672
|
-
django_smartbase_admin-0.2.
|
|
673
|
-
django_smartbase_admin-0.2.
|
|
670
|
+
django_smartbase_admin-0.2.89.dist-info/LICENSE.md,sha256=okRGMBOYvyhprt2eTpX_QXqpzC0MODF-U7zX-4fKPjQ,1078
|
|
671
|
+
django_smartbase_admin-0.2.89.dist-info/METADATA,sha256=WdbeXuroRC1azMiOrQLOy-RUzvSDlx5CCv_ikbM7BsM,996
|
|
672
|
+
django_smartbase_admin-0.2.89.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
|
673
|
+
django_smartbase_admin-0.2.89.dist-info/RECORD,,
|
{django_smartbase_admin-0.2.88.dist-info → django_smartbase_admin-0.2.89.dist-info}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|