django-unfold 0.66.0__tar.gz → 0.67.0__tar.gz
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_unfold-0.66.0 → django_unfold-0.67.0}/PKG-INFO +1 -1
- {django_unfold-0.66.0 → django_unfold-0.67.0}/pyproject.toml +1 -1
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/numeric_filters.py +2 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/forms.py +25 -4
- django_unfold-0.67.0/src/unfold/contrib/filters/static/unfold/filters/js/admin-numeric-filter.js +69 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_slider.html +2 -11
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/fields.py +41 -0
- django_unfold-0.67.0/src/unfold/static/unfold/css/styles.css +2 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/app.js +62 -4
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/select2.init.js +2 -9
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/styles.css +1 -5
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/card.html +12 -3
- django_unfold-0.67.0/src/unfold/templates/unfold/components/progress.html +29 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/field_readonly_value.html +1 -1
- django_unfold-0.67.0/src/unfold/templates/unfold/helpers/field_readonly_value_file.html +18 -0
- django_unfold-0.66.0/src/unfold/contrib/filters/static/unfold/filters/js/admin-numeric-filter.js +0 -35
- django_unfold-0.66.0/src/unfold/static/unfold/css/styles.css +0 -2
- django_unfold-0.66.0/src/unfold/templates/unfold/components/progress.html +0 -23
- {django_unfold-0.66.0 → django_unfold-0.67.0}/LICENSE.md +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/README.md +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/admin.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/checks.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/components.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/constance/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/constance/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/constance/settings.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/constance/templates/admin/constance/change_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/constance/templates/admin/constance/includes/results_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/autocomplete_filters.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/choice_filters.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/datetime_filters.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/dropdown_filters.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/mixins.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/text_filters.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/css/nouislider/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/css/nouislider/nouislider.min.css +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/js/DateTimeShortcuts.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/js/nouislider/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/js/nouislider/nouislider.min.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/js/wnumb/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/static/unfold/filters/js/wnumb/wNumb.min.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_date_range.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_datetime_range.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_range.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/templates/unfold/filters/filters_numeric_single.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/static/unfold/forms/css/trix/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/static/unfold/forms/css/trix/trix.css +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/static/unfold/forms/js/trix/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/static/unfold/forms/js/trix/trix.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/static/unfold/forms/js/trix.config.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/templates/unfold/forms/array.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/templates/unfold/forms/helpers/toolbar.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/templates/unfold/forms/wysiwyg.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/forms/widgets.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/change_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_group.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/admin/guardian/model/obj_perms_manage_user.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/unfold/guardian/group_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/guardian/templates/unfold/guardian/user_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/forms.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/base.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_export.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_export_item.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_import.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_import_export.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/change_list_import_item.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/export.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_confirm.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_errors.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_preview.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/import_validation.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/import_export/templates/admin/import_export/resource_fields_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/inlines/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/inlines/admin.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/inlines/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/inlines/checks.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/inlines/forms.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/location_field/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/location_field/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/location_field/templates/location_field/map_widget.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/apps.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/templates/simple_history/object_history_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/simple_history/templates/simple_history/submit_line.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/dataclasses.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/decorators.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/enums.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/exceptions.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/forms.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/layout.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/mixins/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/mixins/action_model_admin.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/mixins/base_model_admin.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/overrides.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/paginator.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/sections.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/settings.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/sites.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/admin/js/admin/RelatedObjectLookups.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/admin/js/inlines.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/css/simplebar/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/css/simplebar/simplebar.css +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/Inter-Bold.woff2 +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/Inter-Medium.woff2 +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/Inter-Regular.woff2 +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/Inter-SemiBold.woff2 +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/inter/styles.css +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/material-symbols/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/material-symbols/Material-Symbols-Outlined.woff2 +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/fonts/material-symbols/styles.css +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/alpine.anchor.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/alpine.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/alpine.persist.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/alpine.resize.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/alpine/alpine.sort.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/chart/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/chart/chart.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/htmx/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/htmx/htmx.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/simplebar/LICENSE +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/static/unfold/js/simplebar/simplebar.js +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/actions.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/app_index.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/app_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/auth/user/add_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/auth/user/change_password.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/base.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/base_site.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/change_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/change_form_object_tools.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/change_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/change_list_object_tools.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/change_list_results.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/date_hierarchy.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/delete_confirmation.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/delete_selected_confirmation.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/edit_inline/stacked.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/edit_inline/tabular.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/filter.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/includes/fieldset.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/includes/object_delete_summary.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/index.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/login.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/nav_sidebar.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/object_history.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/pagination.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/search_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/admin/submit_line.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/auth/widgets/read_only_password_hash.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/registration/logged_out.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/registration/password_change_done.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/registration/password_change_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/button.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/chart/bar.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/chart/cohort.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/chart/line.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/container.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/flex.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/icon.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/layer.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/navigation.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/separator.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/table.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/text.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/title.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/components/tracker.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/account_links.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/actions_row.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/add_link.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/app_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/app_list_default.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/attrs.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/boolean.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/breadcrumb_item.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/change_list_actions.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/change_list_filter.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/change_list_filter_actions.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/command.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/command_history.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/command_results.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/delete_submit_line.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/display_dropdown.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/display_header.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/display_label.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_delete.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_error.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_heading.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_row.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/edit_inline/tabular_title.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/empty_results.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/field_readonly.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/fieldset_row.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/fieldset_row_checkbox.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/fieldset_row_field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/fieldsets_tabs.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/form_errors.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/form_label.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/header.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/header_back_button.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/header_title.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/help_text.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/history.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/label.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/language_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/language_switch.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/debug.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/error.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/errornote.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/info.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/success.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages/warning.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/messages.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/navigation.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/navigation_header.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination_current_item.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination_default.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination_ellipsis.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination_infinite.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/pagination_inline.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/popup_header.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/search.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/search_results.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/shortcut.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/site_branding.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/site_dropdown.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/site_icon.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/site_logo.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/submit.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/tab_action.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/tab_actions.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/tab_items.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/tab_list.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/theme_switch.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/unauthenticated_header.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/unauthenticated_title.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/userlinks.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/helpers/welcomemsg.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/layouts/base.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/layouts/base_simple.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/layouts/skeleton.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/layouts/unauthenticated.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/templatetags/preserve_changelist_filters.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/clearable_file_input.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/clearable_file_input_small.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/date.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/foreign_key_raw_id.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/radio.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/radio_option.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/range.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/related_widget_wrapper.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/select.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/split_datetime.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/split_datetime_vertical.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/split_money.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/text.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/textarea.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/time.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold/widgets/url.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/display_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/errors.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/errors_formset.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/field.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/inputs.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/attrs.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/baseinput.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/button.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/buttonholder.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/checkbox.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/column.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/div.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/field_errors.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/fieldset.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/fieldset_subheader.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/help_text.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/help_text_and_errors.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/hr.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/radio_checkbox_select.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/row.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/layout/table_inline_formset.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/uni_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/whole_uni_form.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templates/unfold_crispy/whole_uni_formset.html +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templatetags/__init__.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templatetags/unfold.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/templatetags/unfold_list.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/typing.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/utils.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/views.py +0 -0
- {django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/widgets.py +0 -0
{django_unfold-0.66.0 → django_unfold-0.67.0}/src/unfold/contrib/filters/admin/numeric_filters.py
RENAMED
@@ -179,6 +179,8 @@ class SliderNumericFilter(RangeNumericFilter):
|
|
179
179
|
),
|
180
180
|
"form": self.form_class(
|
181
181
|
name=self.parameter_name,
|
182
|
+
min=min_value,
|
183
|
+
max=max_value,
|
182
184
|
data={
|
183
185
|
self.parameter_name + "_from": self.used_parameters.get(
|
184
186
|
self.parameter_name + "_from", min_value
|
@@ -59,7 +59,11 @@ class AutocompleteDropdownForm(forms.Form):
|
|
59
59
|
label=label,
|
60
60
|
required=False,
|
61
61
|
queryset=field.remote_field.model.objects,
|
62
|
-
widget=self.widget(
|
62
|
+
widget=self.widget(
|
63
|
+
field,
|
64
|
+
model_admin.admin_site,
|
65
|
+
attrs={"class": "unfold-filter-autocomplete"},
|
66
|
+
),
|
63
67
|
)
|
64
68
|
|
65
69
|
class Media:
|
@@ -175,22 +179,39 @@ class SingleNumericForm(forms.Form):
|
|
175
179
|
|
176
180
|
|
177
181
|
class RangeNumericForm(forms.Form):
|
178
|
-
def __init__(
|
182
|
+
def __init__(
|
183
|
+
self, name: str, min: float = None, max: float = None, *args, **kwargs
|
184
|
+
) -> None:
|
179
185
|
self.name = name
|
180
186
|
super().__init__(*args, **kwargs)
|
181
187
|
|
188
|
+
min_max = {}
|
189
|
+
|
190
|
+
if min:
|
191
|
+
min_max["min"] = min
|
192
|
+
if max:
|
193
|
+
min_max["max"] = max
|
194
|
+
|
182
195
|
self.fields[self.name + "_from"] = forms.FloatField(
|
183
196
|
label="",
|
184
197
|
required=False,
|
185
198
|
widget=forms.NumberInput(
|
186
|
-
attrs={
|
199
|
+
attrs={
|
200
|
+
"placeholder": _("From"),
|
201
|
+
"class": " ".join(INPUT_CLASSES),
|
202
|
+
**min_max,
|
203
|
+
}
|
187
204
|
),
|
188
205
|
)
|
189
206
|
self.fields[self.name + "_to"] = forms.FloatField(
|
190
207
|
label="",
|
191
208
|
required=False,
|
192
209
|
widget=forms.NumberInput(
|
193
|
-
attrs={
|
210
|
+
attrs={
|
211
|
+
"placeholder": _("To"),
|
212
|
+
"class": " ".join(INPUT_CLASSES),
|
213
|
+
**min_max,
|
214
|
+
}
|
194
215
|
),
|
195
216
|
)
|
196
217
|
|
django_unfold-0.67.0/src/unfold/contrib/filters/static/unfold/filters/js/admin-numeric-filter.js
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
document.addEventListener("DOMContentLoaded", function () {
|
2
|
+
Array.from(
|
3
|
+
document.getElementsByClassName("admin-numeric-filter-slider")
|
4
|
+
).forEach(function (slider) {
|
5
|
+
if (Array.from(slider.classList).includes("noUi-target")) {
|
6
|
+
return;
|
7
|
+
}
|
8
|
+
|
9
|
+
const fromInput = slider
|
10
|
+
.closest(".admin-numeric-filter-wrapper")
|
11
|
+
.querySelectorAll(".admin-numeric-filter-wrapper-group input")[0];
|
12
|
+
|
13
|
+
const toInput = slider
|
14
|
+
.closest(".admin-numeric-filter-wrapper")
|
15
|
+
.querySelectorAll(".admin-numeric-filter-wrapper-group input")[1];
|
16
|
+
|
17
|
+
noUiSlider.create(slider, {
|
18
|
+
start: [parseFloat(fromInput.value), parseFloat(toInput.value)],
|
19
|
+
step: parseFloat(slider.getAttribute("data-step")),
|
20
|
+
connect: true,
|
21
|
+
format: wNumb({
|
22
|
+
decimals: parseFloat(slider.getAttribute("data-decimals")),
|
23
|
+
}),
|
24
|
+
range: {
|
25
|
+
min: parseFloat(slider.getAttribute("data-min")),
|
26
|
+
max: parseFloat(slider.getAttribute("data-max")),
|
27
|
+
},
|
28
|
+
});
|
29
|
+
|
30
|
+
/*************************************************************
|
31
|
+
* Update slider when input values change
|
32
|
+
*************************************************************/
|
33
|
+
fromInput.addEventListener("keyup", function () {
|
34
|
+
clearTimeout(this._sliderUpdateTimeout);
|
35
|
+
this._sliderUpdateTimeout = setTimeout(() => {
|
36
|
+
slider.noUiSlider.set([
|
37
|
+
parseFloat(this.value),
|
38
|
+
parseFloat(toInput.value),
|
39
|
+
]);
|
40
|
+
}, 500);
|
41
|
+
});
|
42
|
+
|
43
|
+
toInput.addEventListener("keyup", function () {
|
44
|
+
clearTimeout(this._sliderUpdateTimeout);
|
45
|
+
this._sliderUpdateTimeout = setTimeout(() => {
|
46
|
+
slider.noUiSlider.set([
|
47
|
+
parseFloat(fromInput.value),
|
48
|
+
parseFloat(this.value),
|
49
|
+
]);
|
50
|
+
}, 500);
|
51
|
+
});
|
52
|
+
|
53
|
+
/*************************************************************
|
54
|
+
* Updated inputs when slider is moved
|
55
|
+
*************************************************************/
|
56
|
+
slider.noUiSlider.on("update", function (values, handle) {
|
57
|
+
const parent = this.target.closest(".admin-numeric-filter-wrapper");
|
58
|
+
const from = parent.querySelectorAll(
|
59
|
+
".admin-numeric-filter-wrapper-group input"
|
60
|
+
)[0];
|
61
|
+
const to = parent.querySelectorAll(
|
62
|
+
".admin-numeric-filter-wrapper-group input"
|
63
|
+
)[1];
|
64
|
+
|
65
|
+
from.value = values[0];
|
66
|
+
to.value = values[1];
|
67
|
+
});
|
68
|
+
});
|
69
|
+
});
|
@@ -8,22 +8,13 @@
|
|
8
8
|
</h3>
|
9
9
|
|
10
10
|
{% if choice.min is not None and choice.max is not None and choice.step %}
|
11
|
-
<div class="admin-numeric-filter-slider-tooltips">
|
12
|
-
<span class="admin-numeric-filter-slider-tooltip-from border border-base-200 cursor-not-allowed flex grow flex-row items-center mr-auto rounded-default shadow-xs px-3 py-2 w-full dark:bg-base-900 dark:border-base-700 dark:text-font-default-dark">
|
13
|
-
{{ choice.value_from }}
|
14
|
-
</span>
|
15
11
|
|
16
|
-
|
17
|
-
|
18
|
-
</span>
|
12
|
+
<div class="admin-numeric-filter-wrapper-group flex flex-row gap-4 mb-4">
|
13
|
+
{{ choice.form.as_p }}
|
19
14
|
</div>
|
20
15
|
|
21
16
|
<div class="admin-numeric-filter-slider" data-min="{{ choice.min|unlocalize }}" data-max="{{ choice.max|unlocalize }}" data-decimals="{{ choice.decimals }}" data-step="{{ choice.step|unlocalize }}">
|
22
17
|
</div>
|
23
|
-
|
24
|
-
<div class="admin-numeric-filter-wrapper-group hidden">
|
25
|
-
{{ choice.form.as_p }}
|
26
|
-
</div>
|
27
18
|
{% else %}
|
28
19
|
<div class="admin-numeric-filter-slider-error dark:text-font-default-dark">
|
29
20
|
<p class="border border-base-300 border-dashed leading-[36px] h-[38px] rounded-default text-center dark:border-base-700">
|
@@ -1,8 +1,11 @@
|
|
1
|
+
from typing import Union
|
2
|
+
|
1
3
|
from django.contrib.admin import helpers
|
2
4
|
from django.contrib.admin.utils import lookup_field, quote
|
3
5
|
from django.core.exceptions import ObjectDoesNotExist
|
4
6
|
from django.db import models
|
5
7
|
from django.db.models import (
|
8
|
+
FileField,
|
6
9
|
ForeignObjectRel,
|
7
10
|
ImageField,
|
8
11
|
JSONField,
|
@@ -36,6 +39,30 @@ class UnfoldAdminReadonlyField(helpers.AdminReadonlyField):
|
|
36
39
|
|
37
40
|
return format_html("<label{}>{}</label>", flatatt(attrs), capfirst(label))
|
38
41
|
|
42
|
+
@property
|
43
|
+
def url(self) -> Union[str, bool]:
|
44
|
+
field, obj, model_admin = (
|
45
|
+
self.field["field"],
|
46
|
+
self.form.instance,
|
47
|
+
self.model_admin,
|
48
|
+
)
|
49
|
+
|
50
|
+
try:
|
51
|
+
f, attr, value = lookup_field(field, obj, model_admin)
|
52
|
+
except (AttributeError, ValueError, ObjectDoesNotExist):
|
53
|
+
return False
|
54
|
+
|
55
|
+
if not self.is_file():
|
56
|
+
return False
|
57
|
+
|
58
|
+
if hasattr(obj, field):
|
59
|
+
field_value = getattr(obj, field)
|
60
|
+
|
61
|
+
if field_value and hasattr(field_value, "url"):
|
62
|
+
return field_value.url
|
63
|
+
|
64
|
+
return False
|
65
|
+
|
39
66
|
def is_json(self) -> bool:
|
40
67
|
field, obj, model_admin = (
|
41
68
|
self.field["field"],
|
@@ -73,6 +100,20 @@ class UnfoldAdminReadonlyField(helpers.AdminReadonlyField):
|
|
73
100
|
|
74
101
|
return isinstance(f, ImageField)
|
75
102
|
|
103
|
+
def is_file(self) -> bool:
|
104
|
+
field, obj, model_admin = (
|
105
|
+
self.field["field"],
|
106
|
+
self.form.instance,
|
107
|
+
self.model_admin,
|
108
|
+
)
|
109
|
+
|
110
|
+
try:
|
111
|
+
f, attr, value = lookup_field(field, obj, model_admin)
|
112
|
+
except (AttributeError, ValueError, ObjectDoesNotExist):
|
113
|
+
return False
|
114
|
+
|
115
|
+
return isinstance(f, (ImageField, FileField))
|
116
|
+
|
76
117
|
def contents(self) -> str:
|
77
118
|
contents = self._get_contents()
|
78
119
|
contents = self._preprocess_field(contents)
|