django-smartbase-admin 1.0.38__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.
- django_smartbase_admin/actions/admin_action_list.py +5 -0
- django_smartbase_admin/admin/widgets.py +52 -5
- django_smartbase_admin/engine/dashboard.py +2 -0
- django_smartbase_admin/engine/field_formatter.py +25 -15
- django_smartbase_admin/engine/filter_widgets.py +41 -6
- 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/js/sbadmin_prepopulated_fields_init.js +25 -0
- django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css +6 -0
- django_smartbase_admin/static/sb_admin/src/js/autocomplete.js +7 -7
- django_smartbase_admin/static/sb_admin/src/js/main.js +2 -0
- django_smartbase_admin/static/sb_admin/src/js/radio.js +31 -0
- django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js +50 -1
- django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js +7 -0
- django_smartbase_admin/templates/sb_admin/actions/change_form.html +7 -2
- django_smartbase_admin/templates/sb_admin/actions/list.html +1 -1
- django_smartbase_admin/templates/sb_admin/components/filters.html +1 -0
- django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html +1 -14
- django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html +2 -1
- django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html +3 -1
- django_smartbase_admin/templatetags/sb_admin_tags.py +30 -0
- {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.41.dist-info}/METADATA +1 -1
- {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.41.dist-info}/RECORD +26 -24
- {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.41.dist-info}/LICENSE.md +0 -0
- {django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.41.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
{
|
|
4
|
+
function init_prepopulate(container) {
|
|
5
|
+
const $ = django.jQuery;
|
|
6
|
+
const scripts = container.querySelectorAll('script[id^="sbadmin_prepopulated_fields_"][type="application/json"]');
|
|
7
|
+
for (const el of scripts) {
|
|
8
|
+
let fields = [];
|
|
9
|
+
try {
|
|
10
|
+
fields = JSON.parse(el.textContent);
|
|
11
|
+
} catch (e) {
|
|
12
|
+
fields = [];
|
|
13
|
+
}
|
|
14
|
+
for (const f of fields) {
|
|
15
|
+
$(f.id).data('dependency_list', f.dependency_list).prepopulate(f.dependency_ids, f.maxLength, f.allowUnicode);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
window.init_prepopulate = init_prepopulate;
|
|
22
|
+
init_prepopulate(document);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
@@ -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
|
-
|
|
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
|
|
@@ -20,8 +20,7 @@
|
|
|
20
20
|
data-model-name="{{ opts.model_name }}"
|
|
21
21
|
{% endif %}>
|
|
22
22
|
</script>
|
|
23
|
-
{
|
|
24
|
-
{% prepopulated_fields_js %}
|
|
23
|
+
<script src="{% static 'sb_admin/js/sbadmin_prepopulated_fields_init.js' %}"></script>
|
|
25
24
|
{% endblock %}
|
|
26
25
|
|
|
27
26
|
{% block content %}
|
|
@@ -282,5 +281,11 @@
|
|
|
282
281
|
{% endblock %}
|
|
283
282
|
{% endif %}
|
|
284
283
|
</form>
|
|
284
|
+
{% sb_admin_prepopulated_fields_init %}
|
|
285
|
+
{% if sbadmin_is_modal %}
|
|
286
|
+
<script>
|
|
287
|
+
init_prepopulate(document.getElementById("modal-content"));
|
|
288
|
+
</script>
|
|
289
|
+
{% endif %}
|
|
285
290
|
{% endblock %}
|
|
286
291
|
{% endblock %}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
{% for list_action in content_context.list_actions %}
|
|
29
29
|
{% if not list_action.sub_actions %}
|
|
30
30
|
<li>
|
|
31
|
-
{% include
|
|
31
|
+
{% include list_action.template with action=list_action view_id=view_id dropdown=True extra_classes="dropdown-menu-link items-center" %}
|
|
32
32
|
</li>
|
|
33
33
|
{% endif %}
|
|
34
34
|
{% endfor %}
|
|
@@ -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
|
-
{%
|
|
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,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>
|
|
@@ -50,6 +50,36 @@ def get_item(dictionary, key):
|
|
|
50
50
|
return dictionary.get(key, None) if dictionary else None
|
|
51
51
|
|
|
52
52
|
|
|
53
|
+
@register.simple_tag(takes_context=True)
|
|
54
|
+
def sb_admin_prepopulated_fields_init(context):
|
|
55
|
+
adminform = context.get("adminform")
|
|
56
|
+
if not adminform:
|
|
57
|
+
return ""
|
|
58
|
+
|
|
59
|
+
data = []
|
|
60
|
+
for f in adminform.prepopulated_fields:
|
|
61
|
+
bf = f["field"]
|
|
62
|
+
deps = f["dependencies"]
|
|
63
|
+
data.append(
|
|
64
|
+
{
|
|
65
|
+
"id": f"#{bf.id_for_label}",
|
|
66
|
+
"name": bf.name,
|
|
67
|
+
"dependency_ids": [f"#{d.id_for_label}" for d in deps],
|
|
68
|
+
"dependency_list": [d.name for d in deps],
|
|
69
|
+
"maxLength": getattr(bf.field, "max_length", None) or 50,
|
|
70
|
+
"allowUnicode": bool(getattr(bf.field, "allow_unicode", False)),
|
|
71
|
+
}
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
opts = context.get("opts")
|
|
75
|
+
element_id = (
|
|
76
|
+
f"sbadmin_prepopulated_fields_{opts.app_label}_{opts.model_name}"
|
|
77
|
+
if opts
|
|
78
|
+
else "sbadmin_prepopulated_fields"
|
|
79
|
+
)
|
|
80
|
+
return mark_safe(get_json_script(data, element_id))
|
|
81
|
+
|
|
82
|
+
|
|
53
83
|
@register.tag(name="submit_row")
|
|
54
84
|
def submit_row_tag(parser, token):
|
|
55
85
|
return InclusionSBAdminNode(
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
django_smartbase_admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
django_smartbase_admin/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
django_smartbase_admin/actions/admin_action_list.py,sha256=
|
|
3
|
+
django_smartbase_admin/actions/admin_action_list.py,sha256=UHeLe2z0qS5L8OIJsG-AjqzhwQpiooJ2xHG2NMVG7II,20115
|
|
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
6
|
django_smartbase_admin/admin/admin_base.py,sha256=_LhpECtcP0NDb-0PEI3AY6WFYw94aCWGviCrrSl-R-s,49564
|
|
7
7
|
django_smartbase_admin/admin/site.py,sha256=bU71Zcts2hRcusZq1l44q9Mlr8jOEjGHeM6MNAaS6Gc,9903
|
|
8
|
-
django_smartbase_admin/admin/widgets.py,sha256=
|
|
8
|
+
django_smartbase_admin/admin/widgets.py,sha256=4EiRb3vUxN6OZe3gfYidaSbbpxrdxYMmSrtoBW6DBS4,36154
|
|
9
9
|
django_smartbase_admin/apps.py,sha256=heZq5O2GHlkJdhUCHbRR7Nmm0irSxnL9NMqY43_O7V4,599
|
|
10
10
|
django_smartbase_admin/compilemessages.py,sha256=-_FEFQlOvE4L8UzSuUxSxZQjgGlwL9IZtmg59fW_kIQ,342
|
|
11
11
|
django_smartbase_admin/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -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=
|
|
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
|
-
django_smartbase_admin/engine/field_formatter.py,sha256=
|
|
22
|
-
django_smartbase_admin/engine/filter_widgets.py,sha256=
|
|
21
|
+
django_smartbase_admin/engine/field_formatter.py,sha256=3NxapC_ee39saPKhJ4kHM3cQ604oG8E4m4On5P8xIZg,2513
|
|
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=
|
|
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
|
-
django_smartbase_admin/static/sb_admin/dist/main_style.css,sha256
|
|
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=
|
|
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
|
|
@@ -345,6 +345,7 @@ django_smartbase_admin/static/sb_admin/js/prices.js,sha256=ylJRc66S29EPyB8IG2Wcf
|
|
|
345
345
|
django_smartbase_admin/static/sb_admin/js/querybuilder/jQuery.extendext.js,sha256=g0pOP9xwUS9WgQ0Oo6XexDDsl6p2tAR5n-ouO756t2c,4564
|
|
346
346
|
django_smartbase_admin/static/sb_admin/js/querybuilder/query-builder.min.js,sha256=VWVRmHkPrZOcqYDkRiOYv-xVdckeB7tstHUJz7_pWpc,72497
|
|
347
347
|
django_smartbase_admin/static/sb_admin/js/remove-me.js,sha256=58rFGRSCvxYqJI-_rYVF9YQjC03EemiEahZzWFHknmg,932
|
|
348
|
+
django_smartbase_admin/static/sb_admin/js/sbadmin_prepopulated_fields_init.js,sha256=Ngs8vTlBPKbXFleam-hIufnDlbdSjXK2S4Vh-lbE894,722
|
|
348
349
|
django_smartbase_admin/static/sb_admin/js/tabulator.min.js,sha256=0EyacGIK0jSUNrcdtifwl11D0-K_hNdnFn33vJkpkFY,387673
|
|
349
350
|
django_smartbase_admin/static/sb_admin/sprites/sb_admin/Accept-email.svg,sha256=Rxizrh_Ckal_LmaCLYxH1r62CXpEjVTJYh4QFmV7u2I,527
|
|
350
351
|
django_smartbase_admin/static/sb_admin/sprites/sb_admin/Ad-product.svg,sha256=3ybwil9wnVkC6B-CfgXAfjwiLgYbtpiTTSc4Tk9Hf34,682
|
|
@@ -522,7 +523,7 @@ django_smartbase_admin/static/sb_admin/src/css/_tailwind_base.css,sha256=GGQZxH5
|
|
|
522
523
|
django_smartbase_admin/static/sb_admin/src/css/_utilities.css,sha256=CwCzAMaTUSP8Wr-6zdusKPuMtS970u0Qb1RQ23TG_LM,901
|
|
523
524
|
django_smartbase_admin/static/sb_admin/src/css/calendar.css,sha256=HC9vjkwnJqwAdtf7eH4AJ295m6Qa3bbcCFObhe949O0,3645
|
|
524
525
|
django_smartbase_admin/static/sb_admin/src/css/components/_button.css,sha256=19jJ4xPNuE9KodmQrWTVJK7VcAsVrhhpIhWNU2evCag,5597
|
|
525
|
-
django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css,sha256=
|
|
526
|
+
django_smartbase_admin/static/sb_admin/src/css/components/_dropdown.css,sha256=BSLmNmvCOx6y8iGDtej4B1gNSBTzpZny3pw1TdYSQpY,2402
|
|
526
527
|
django_smartbase_admin/static/sb_admin/src/css/components/_input.css,sha256=O1odbSQb-qtWo8HJ0UVzYpGJgYx2DD7Kat21lvXK9Ks,11210
|
|
527
528
|
django_smartbase_admin/static/sb_admin/src/css/components/_modal.css,sha256=9fy9f6QXAeOCW7VWSBbx45umK37PyGRiHBQF1WGF09Q,4327
|
|
528
529
|
django_smartbase_admin/static/sb_admin/src/css/components/_nav-tabs.css,sha256=86Ksvd2fX377J6pASPdWH2pzCuP7lpUu1arwZfa-ri4,719
|
|
@@ -531,7 +532,7 @@ django_smartbase_admin/static/sb_admin/src/css/components/_toggle.css,sha256=Qiw
|
|
|
531
532
|
django_smartbase_admin/static/sb_admin/src/css/components/_tooltip.css,sha256=RnJQcJ-1MX-9jsMOeApuMaMaENJyiD-8UIg8wmDrXRE,2291
|
|
532
533
|
django_smartbase_admin/static/sb_admin/src/css/style.css,sha256=H0ySPWtk4_EEfS4hygySKjC06ob1EWAy3sDPiGI3HUs,738
|
|
533
534
|
django_smartbase_admin/static/sb_admin/src/css/tree_widget.css,sha256=dVltYkRkd8DciWc0iMW0hXkTO08LiWcS5PFesRQIr9M,11148
|
|
534
|
-
django_smartbase_admin/static/sb_admin/src/js/autocomplete.js,sha256=
|
|
535
|
+
django_smartbase_admin/static/sb_admin/src/js/autocomplete.js,sha256=ER6Y1sQGP3IxM4lzE7QLUfzim72wXz21ZVP5S8vp7QI,14643
|
|
535
536
|
django_smartbase_admin/static/sb_admin/src/js/calendar.js,sha256=FweC-a1YVl4rVoQV8kbXeCflwnBt0moODJCfxARQNl0,2036
|
|
536
537
|
django_smartbase_admin/static/sb_admin/src/js/chart.js,sha256=kAXTsM3pCasDDmj2HfqOksPts5O87By4HORJX36n3t0,4497
|
|
537
538
|
django_smartbase_admin/static/sb_admin/src/js/choices.js,sha256=Wi9uX67JvYCuVqgFJJboDbs8iGd_nFhTmeJMZUbHpyk,4901
|
|
@@ -539,8 +540,9 @@ django_smartbase_admin/static/sb_admin/src/js/code.js,sha256=Q1jKpTsUZhxhaGDRrqH
|
|
|
539
540
|
django_smartbase_admin/static/sb_admin/src/js/confirmation_modal.js,sha256=9xycy0sYJfT0SxeDucbOmvg9gHSrBo3KngZjCAHkVMM,3610
|
|
540
541
|
django_smartbase_admin/static/sb_admin/src/js/datepicker.js,sha256=wnFhncPKMkodmf75jSd3PHIy9xO_WRFdxFjf6Qsgp7g,6710
|
|
541
542
|
django_smartbase_admin/static/sb_admin/src/js/datepicker_plugins.js,sha256=DVIyCJpxn8Gx1mx3QHxbRN4nlpJRlilKix6BK_zcUVc,12382
|
|
542
|
-
django_smartbase_admin/static/sb_admin/src/js/main.js,sha256=
|
|
543
|
+
django_smartbase_admin/static/sb_admin/src/js/main.js,sha256=6Ty5URyrxhLMoZd9J2RUOf3ku3oWX31gg6fFeTZlFEA,20366
|
|
543
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
|
|
544
546
|
django_smartbase_admin/static/sb_admin/src/js/range.js,sha256=k_1EIK0R-mrg3ScopUm2UDuYeaCg_VLTjtdJoN-8MXc,1794
|
|
545
547
|
django_smartbase_admin/static/sb_admin/src/js/sb_ajax_params_tabulator_modifier.js,sha256=vJsAfRlXYeUH-hXLyVukim-UBRUHhv2J9UZHKAALOKo,650
|
|
546
548
|
django_smartbase_admin/static/sb_admin/src/js/sidebar.js,sha256=gx0MqnLWIRb26-GDvETQ7CE4DucP-L-9-hZ9-oFjuUw,1570
|
|
@@ -550,8 +552,8 @@ django_smartbase_admin/static/sb_admin/src/js/table_modules/advanced_filter_modu
|
|
|
550
552
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/base_module.js,sha256=M8xM8JGi6CwRwoC_0ADbOPNfg30Sqm8KlP52IZ4ItS8,557
|
|
551
553
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/column_display_module.js,sha256=hHu0voHiPM2QaPPF5X0YAR0-5T913VS7G_PW4eB3laQ,10655
|
|
552
554
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/data_edit_module.js,sha256=8tlH28XAkGttcgf2xEUgpgQ2XJ9biKAY3WgdSxO_F9M,902
|
|
553
|
-
django_smartbase_admin/static/sb_admin/src/js/table_modules/detail_view_module.js,sha256=
|
|
554
|
-
django_smartbase_admin/static/sb_admin/src/js/table_modules/filter_module.js,sha256=
|
|
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
|
|
555
557
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/full_text_search_module.js,sha256=9ZfnZXvaTOphhRU0B7H0rsghUBWzTOSyVK1FZIj6bIE,573
|
|
556
558
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/header_tabs_module.js,sha256=zT2CYKfMSd0903ASUzIbT8HwTkF6id3w4j5IJpwONp8,2888
|
|
557
559
|
django_smartbase_admin/static/sb_admin/src/js/table_modules/movable_columns_module.js,sha256=X0FQykK63v8vcE3-qZhkWZA2ajp8QTCLFv0PvkeLVvY,7694
|
|
@@ -561,12 +563,12 @@ django_smartbase_admin/static/sb_admin/src/js/table_modules/views_module.js,sha2
|
|
|
561
563
|
django_smartbase_admin/static/sb_admin/src/js/translations.js,sha256=GEizlr_D5yDj00i7jKENkWfDr6gZcg4RQ1Nek22WP4g,954
|
|
562
564
|
django_smartbase_admin/static/sb_admin/src/js/tree_widget.js,sha256=LEu8LNycEIK4drqfUORXDOzFW2EzYg6AWmlM4H35VdM,18426
|
|
563
565
|
django_smartbase_admin/static/sb_admin/src/js/utils.js,sha256=8hBr_dr1F_SQKLvuh9Z4t3q3KnSP2cmth7-x0Ih2T4w,5500
|
|
564
|
-
django_smartbase_admin/templates/sb_admin/actions/change_form.html,sha256=
|
|
566
|
+
django_smartbase_admin/templates/sb_admin/actions/change_form.html,sha256=cep-uSTBBxwiTpfWbdCcfl9g8Nh6fJOLTs63wJm9oP0,16790
|
|
565
567
|
django_smartbase_admin/templates/sb_admin/actions/change_password.html,sha256=LhciaKCvlywKMJ6gY9JbEaTkOXjNSFO-mAnWIZfk6sA,3200
|
|
566
568
|
django_smartbase_admin/templates/sb_admin/actions/dashboard.html,sha256=ur4OFSKJrB71Sl8O5fF0BsV86zLq1tyiadmrDUy9aJ0,297
|
|
567
569
|
django_smartbase_admin/templates/sb_admin/actions/delete_confirmation.html,sha256=4AeJLqGGPVBYXS9XQSNTnMvsT3I6QttyNLThE8gEZHE,3205
|
|
568
570
|
django_smartbase_admin/templates/sb_admin/actions/delete_selected_confirmation.html,sha256=hQl8C3j22LI6fVPAMqRd4d_kXNKzcCNJDuhOzEZKBGE,3308
|
|
569
|
-
django_smartbase_admin/templates/sb_admin/actions/list.html,sha256=
|
|
571
|
+
django_smartbase_admin/templates/sb_admin/actions/list.html,sha256=gdT2WyxaU8Yk1kZChw5UzjIZ6kAYqdmWXpIgHa829Cc,6875
|
|
570
572
|
django_smartbase_admin/templates/sb_admin/actions/media.html,sha256=UYe6QzEuqCFZOj1J9vVFHFKvUZDaVBBLFOzHHI8SEyk,122
|
|
571
573
|
django_smartbase_admin/templates/sb_admin/actions/object_history.html,sha256=7EdXW3oa3kFfWb2ICyKDJmTlTWmjAA3SgONd26QFDzA,1949
|
|
572
574
|
django_smartbase_admin/templates/sb_admin/actions/partials/action_link.html,sha256=k8ygmP8zPzazUQn7cabdNGQ9Kla_zrIlCDUHuRKILKs,684
|
|
@@ -594,7 +596,7 @@ django_smartbase_admin/templates/sb_admin/authentification/password_reset_form.h
|
|
|
594
596
|
django_smartbase_admin/templates/sb_admin/blank_base.html,sha256=6dx_P_jiV2x-IojddDPdeWQiPmQ0hBxL8c4c7SljeTQ,76
|
|
595
597
|
django_smartbase_admin/templates/sb_admin/components/buttons.html,sha256=355xSISqDlQQ873YrU8d8NX7LhaHfshQslYCAkaXAbU,1982
|
|
596
598
|
django_smartbase_admin/templates/sb_admin/components/columns.html,sha256=JsrESM8cZLNZ5BIZJ9UZL-RdsYyLdMVYBBovi2sD0oA,996
|
|
597
|
-
django_smartbase_admin/templates/sb_admin/components/filters.html,sha256=
|
|
599
|
+
django_smartbase_admin/templates/sb_admin/components/filters.html,sha256=mPT1kuDVFiEi9iMrykxoOGfuwD55OWYrCmQf4lP3x6Y,2787
|
|
598
600
|
django_smartbase_admin/templates/sb_admin/components/filters_v2.html,sha256=sWJwakrXLP7SChZTOJl8AdObhQOlVbbdJaP-Q47JENY,7114
|
|
599
601
|
django_smartbase_admin/templates/sb_admin/components/inputs.html,sha256=h1rfHTk2y9PsmgVpH8zbbtZmZoNB18tp-KLZZ45ddOU,10938
|
|
600
602
|
django_smartbase_admin/templates/sb_admin/config/view.html,sha256=26X-VD2Y-l9yLrSavu1JxhrBOUSfB00bFFVC9q_sTL8,4177
|
|
@@ -613,13 +615,13 @@ django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/radio_
|
|
|
613
615
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/string_field.html,sha256=Kw0pk0zu5aPHY_MWz6CZUDs4WRMJtUuryjjC07NR6t8,186
|
|
614
616
|
django_smartbase_admin/templates/sb_admin/filter_widgets/advanced_filters/tree_select_filter.html,sha256=I__J12tJ7pi2hEzXCTXKY3vtP-C6V3aeVpHkkz_t7kE,65
|
|
615
617
|
django_smartbase_admin/templates/sb_admin/filter_widgets/autocomplete_field.html,sha256=biufhvpytO3PtpzuwlEm0mtns5L4KVVPfayg5r-ZSbM,1071
|
|
616
|
-
django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html,sha256=
|
|
618
|
+
django_smartbase_admin/templates/sb_admin/filter_widgets/boolean_field.html,sha256=aFOWIvxYPcmnZmVvcIyT-BjE3dLAmQojem1TzWUTLTY,64
|
|
617
619
|
django_smartbase_admin/templates/sb_admin/filter_widgets/choice_field.html,sha256=tOFTMskFGrqbR9qNnKRPV3dlcPTzE4UFZp8nqrfb3yk,645
|
|
618
620
|
django_smartbase_admin/templates/sb_admin/filter_widgets/date_field.html,sha256=WR2fqKv8P2XG2xCpE0FXgKfl4gj3Gmlo3ZAOep1xYQY,1144
|
|
619
621
|
django_smartbase_admin/templates/sb_admin/filter_widgets/multiple_choice_field.html,sha256=q9bERN_gP793_fizMH-w2wOl7j_6PLz-jUJG1iXkGyw,2052
|
|
620
622
|
django_smartbase_admin/templates/sb_admin/filter_widgets/number_range_field.html,sha256=3d8yYpmvgQZUxCXw80lNpxeLCLTfIy8Xumg4X1nzJFc,1162
|
|
621
|
-
django_smartbase_admin/templates/sb_admin/filter_widgets/partials/clear.html,sha256=
|
|
622
|
-
django_smartbase_admin/templates/sb_admin/filter_widgets/radio_choice_field.html,sha256=
|
|
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
|
|
623
625
|
django_smartbase_admin/templates/sb_admin/filter_widgets/string_field.html,sha256=_GJsgYk4CqHMqFWQsIBdDhLnThb6rb1pF0stOpOB40o,548
|
|
624
626
|
django_smartbase_admin/templates/sb_admin/filter_widgets/tree_select_filter.html,sha256=6-jUnM9-UW4xKTilF8UgjT0zkafZh2xsR0M1N0obNj8,1243
|
|
625
627
|
django_smartbase_admin/templates/sb_admin/fonts.html,sha256=TX6dIrqFKTnPL3Gsi8wAIWIW1szze1IhBEAHeRz9wOU,1121
|
|
@@ -706,7 +708,7 @@ django_smartbase_admin/templates/sb_admin/widgets/tree_select_inline.html,sha256
|
|
|
706
708
|
django_smartbase_admin/templates/sb_admin/widgets/url.html,sha256=piw2218tiWPfOwncIvSGAW14Gc5FIzkL_YllirK4yTs,160
|
|
707
709
|
django_smartbase_admin/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
708
710
|
django_smartbase_admin/templatetags/base.py,sha256=XF1wUQxUjULXfdlV-PeHvITfbw65LTHjlDzRikJa_F4,1520
|
|
709
|
-
django_smartbase_admin/templatetags/sb_admin_tags.py,sha256=
|
|
711
|
+
django_smartbase_admin/templatetags/sb_admin_tags.py,sha256=yHp-M0IVdjYs14P-FeEQz6d-tv3zti0uvQ0Y08Hxr84,10613
|
|
710
712
|
django_smartbase_admin/urls.py,sha256=Bjdewssljt0LIefjixBem9JN0kkghPvmrIETj3GdXbY,17
|
|
711
713
|
django_smartbase_admin/utils.py,sha256=1SHuRAeEvXsPOHdE525o9iHTLY7DT6auUCx2mBa_w2Q,3400
|
|
712
714
|
django_smartbase_admin/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -715,7 +717,7 @@ django_smartbase_admin/views/global_filter_view.py,sha256=eYo1moJGyi7jc2cPDA5ZBi
|
|
|
715
717
|
django_smartbase_admin/views/media_view.py,sha256=5BLWXuzynF7nM34t-mf2BQSRN5ojY8HxpLIqt7Jiq9g,292
|
|
716
718
|
django_smartbase_admin/views/translations_view.py,sha256=hktmkJIZ0EJxgnzjHLIoRDY0ckFa5wkbaoFZg32UWYw,20441
|
|
717
719
|
django_smartbase_admin/views/user_config_view.py,sha256=hUSmwxgGXJog7vhiD-zGpm6smo31sLNzW2VoXapHIjc,1865
|
|
718
|
-
django_smartbase_admin-1.0.
|
|
719
|
-
django_smartbase_admin-1.0.
|
|
720
|
-
django_smartbase_admin-1.0.
|
|
721
|
-
django_smartbase_admin-1.0.
|
|
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,,
|
{django_smartbase_admin-1.0.38.dist-info → django_smartbase_admin-1.0.41.dist-info}/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|