simpledomcontrol 0.158.6__tar.gz → 0.158.8__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.
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/PKG-INFO +1 -1
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/pyproject.toml +1 -1
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/consumers.py +5 -2
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_make_model_js.py +6 -2
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/utils/__init__.py +1 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/models.py +5 -1
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/controller/template_controller.js.txt +0 -4
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/js_test.js.txt +3 -2
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/package.json +1 -1
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.js +0 -4
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_auto_submit/sdc_auto_submit.js +0 -4
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_detail_view/sdc_detail_view.js +34 -20
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_dummy/sdc_dummy.js +2 -2
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_error/sdc_error.js +0 -4
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_list_view/sdc_list_view.js +27 -16
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_model_form/sdc_model_form.js +67 -49
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_navigation_client/sdc_navigation_client.js +0 -4
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_navigator/sdc_navigator.js +2 -2
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_search_select/sdc_search_select.js +36 -32
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_search_view/sdc_search_view.js +2 -2
- {simpledomcontrol-0.158.6/sdc_tools/Assets/src → simpledomcontrol-0.158.8/sdc_tools/Assets/bin}/sdc_tools/controller/sdc_update_on_change/sdc_update_on_change.js +0 -4
- simpledomcontrol-0.158.8/sdc_tools/Assets/bin/sdc_tools/sdc_tools.organizer.js +1 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/bin/sdc_tools/sdc_tools.style.css +28 -14
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.js +94 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_auto_submit/sdc_auto_submit.js +78 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.js +113 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.js +51 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.js +42 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.js +118 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.js +214 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigation_client/sdc_navigation_client.js +66 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.js +610 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_select/sdc_search_select.js +251 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_select/sdc_search_select.scss +34 -15
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.js +138 -0
- simpledomcontrol-0.158.8/sdc_tools/Assets/src/sdc_tools/controller/sdc_update_on_change/sdc_update_on_change.js +103 -0
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/register/register.js +0 -5
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_change_password/sdc_change_password.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_confirm_email/sdc_confirm_email.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_login/sdc_login.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_logout/sdc_logout.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_password_forgotten/sdc_password_forgotten.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_reset_password/sdc_reset_password.js +0 -4
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_user/sdc_user.js +1 -5
- {simpledomcontrol-0.158.6/sdc_user/Assets/src → simpledomcontrol-0.158.8/sdc_user/Assets/bin}/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.js +1 -5
- simpledomcontrol-0.158.8/sdc_user/Assets/bin/sdc_user/sdc_user.organizer.js +1 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/register/register.js +55 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_change_password/sdc_change_password.js +55 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_confirm_email/sdc_confirm_email.js +55 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.js +49 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.js +45 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_password_forgotten/sdc_password_forgotten.js +61 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_reset_password/sdc_reset_password.js +55 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_user/sdc_user.js +68 -0
- simpledomcontrol-0.158.8/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.js +51 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/tests/sdc_user.test.js +4 -17
- simpledomcontrol-0.158.6/sdc_tools/Assets/bin/sdc_tools/sdc_tools.organizer.js +0 -1
- simpledomcontrol-0.158.6/sdc_user/Assets/bin/sdc_user/sdc_user.organizer.js +0 -1
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/README.md +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/apps.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/jwt_utils.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/_private.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/add_controller_manager.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/add_model_manager.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/options.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/sdc_core_manager.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/settings_manager.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/init_add/utils.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_cc.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_db_tools.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_get_controller_infos.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_get_controller_url.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_get_model_infos.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_init.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_is_installed.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_new_model.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_open_api.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_overwrite_lib_file.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_shell_execute_script.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_update_links.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/sdc_update_url.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/rest_api.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/forms.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/import_manager.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/response.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/search.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/sdc_extentions/views.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/signals.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/.devcontainer/Dockerfile +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/.devcontainer/devcontainer.json +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/.devcontainer/on_create.sh +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/.devcontainer/on_startup.sh +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/babel.config.json +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/gulpfile.jsx +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/src/index.organizer.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/src/index.style.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/static/img/favicon.png +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/tests/config/post-test-teardown.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/tests/config/pre-test-setup.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/tests/config/test-setup.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/webpack.config/webpack.bundle.config.jsx +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/webpack.config/webpack.default.config.jsx +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/webpack.config/webpack.development.config.jsx +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/Assets/webpack.config/webpack.production.config.jsx +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/asgi.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/controller/template_css.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/controller/template_test.js.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/controller/template_view.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/models/detail.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/models/list.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/routing.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/sdc_urls.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/sdc_views.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/settings_extension.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/templates/base.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/templates/elements/form.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/templates/elements/inline_form.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/templates/index.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/urls.py.txt +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/templatetags/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/templatetags/addclass.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/templatetags/indexfilter.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/templatetags/sdc_filter.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/sdc_tools.organizer.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/src/sdc_tools/sdc_tools.style.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/Assets/tests/sdc_tools.test.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/admin.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/apps.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/migrations/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/models.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/sdc_urls.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/sdc_views.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/email/base.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/dummy_sdc.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_alert_messenger.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_detail_view.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_dummy.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_error.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_list_view.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_model_form.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_search_select.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/sdc_tools/sdc/sdc_search_view.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/templates/widgets/searchable_select.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/tests.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/views.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_tools/widgets.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/bin/sdc_user/sdc_user.style.css +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/register/register.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_change_password/sdc_change_password.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_confirm_email/sdc_confirm_email.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_password_forgotten/sdc_password_forgotten.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_reset_password/sdc_reset_password.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_user/sdc_user.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/sdc_user.organizer.js +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/admin.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/apps.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/forms.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/mails.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/migrations/0001_initial.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/migrations/__init__.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/models.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/sdc_urls.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/sdc_views.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/email/confirm.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/email/reset_password.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/models/SdcUser/SdcUser_details.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/models/SdcUser/SdcUser_list.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/register.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_change_password.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_confirm_email.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_login.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_logout.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_password_forgotten.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_reset_password.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/sdc_user/sdc/sdc_user_nav_btn.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/templates/widgets/read_only_password_hash.html +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/tests.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/views.py +0 -0
- {simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_user/widgets.py +0 -0
|
@@ -206,6 +206,7 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
206
206
|
def websocket_disconnect(self, close_code):
|
|
207
207
|
for group in self._group_names:
|
|
208
208
|
async_to_sync(self.channel_layer.group_discard(group, self.channel_name))
|
|
209
|
+
hasattr(self.model.SdcMeta, 'on_disconnected') and self.model.SdcMeta.on_disconnected(self._load_model('disconnect'))
|
|
209
210
|
super().websocket_disconnect(close_code)
|
|
210
211
|
|
|
211
212
|
def on_update(self, data):
|
|
@@ -316,8 +317,10 @@ class SDCModelConsumer(WebsocketConsumer):
|
|
|
316
317
|
self.channel_name
|
|
317
318
|
)
|
|
318
319
|
|
|
319
|
-
def _load_model(self):
|
|
320
|
-
|
|
320
|
+
def _load_model(self, event_type=None):
|
|
321
|
+
if event_type is None:
|
|
322
|
+
event_type = self.scope['event_type']
|
|
323
|
+
queryset = self.model.get_queryset(self.scope['user'], event_type, self.queryset)
|
|
321
324
|
|
|
322
325
|
data_load_result = self.model.data_load(self.scope['user'], queryset, self.queryset)
|
|
323
326
|
if data_load_result is not None:
|
|
@@ -21,6 +21,7 @@ def generate_field_config(field):
|
|
|
21
21
|
"one_to_one": field["one_to_one"],
|
|
22
22
|
"related_model": field["related_model"],
|
|
23
23
|
"remote_field": field["remote_field"],
|
|
24
|
+
"reverse_relation": field["reverse_relation"],
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
if field["type"] == "FileField":
|
|
@@ -64,8 +65,11 @@ def _generate_js_class(schema):
|
|
|
64
65
|
setter_line.append(" try {")
|
|
65
66
|
|
|
66
67
|
if field["is_relation"] and field["related_model"]:
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
if field["reverse_relation"]:
|
|
69
|
+
constructor_line.append(f" this._{name} = new SdcQuerySet('{field['related_model']}', {{ {field['remote_field'] }: this.id }});")
|
|
70
|
+
else:
|
|
71
|
+
constructor_line.append(f" this._{name} = new SdcQuerySet('{field['related_model']}');")
|
|
72
|
+
if field["reverse_relation"] or field["many_to_many"] or field["one_to_many"]:
|
|
69
73
|
constructor_line.append(f" this._toManyFields.push([this._{name}, '{field['remote_field']}']);")
|
|
70
74
|
setter_line.append(f" this.{name}.setFilter({{ {field['remote_field']}: data.id }});")
|
|
71
75
|
setter_line.append(f" this.{name} = data.{name} || [];")
|
{simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/management/commands/utils/__init__.py
RENAMED
|
@@ -76,6 +76,7 @@ def get_model_schema(model):
|
|
|
76
76
|
"one_to_one": field.one_to_one,
|
|
77
77
|
"related_model": field.related_model.__name__ if field.related_model else None,
|
|
78
78
|
"remote_field": field.remote_field.name if field.related_model else None,
|
|
79
|
+
"reverse_relation": field.auto_created and not field.concrete,
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
fields[field_info['name']] = field_info
|
|
@@ -168,7 +168,7 @@ _SDC_META_DEFAULT = {
|
|
|
168
168
|
'create_form': None,
|
|
169
169
|
'html_list_template': None,
|
|
170
170
|
'html_detail_template': None,
|
|
171
|
-
'html_form_template': getattr(settings, 'MODEL_FORM_TEMPLATE', "elements/form.html")
|
|
171
|
+
'html_form_template': getattr(settings, 'MODEL_FORM_TEMPLATE', "elements/form.html"),
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
|
|
@@ -229,6 +229,10 @@ class SdcModel:
|
|
|
229
229
|
"""
|
|
230
230
|
_sdc_checked = False
|
|
231
231
|
|
|
232
|
+
@classmethod
|
|
233
|
+
def on_disconnected(cls, qs: QuerySet):
|
|
234
|
+
pass
|
|
235
|
+
|
|
232
236
|
@property
|
|
233
237
|
def scope(self) -> dict[str, Any]:
|
|
234
238
|
"""
|
|
@@ -24,7 +24,6 @@ class §CONTROLLERNAMETITLE§Controller extends AbstractSDC {
|
|
|
24
24
|
|
|
25
25
|
//-------------------------------------------------//
|
|
26
26
|
// Lifecycle handler //
|
|
27
|
-
// - onInit (tag parameter) //
|
|
28
27
|
// - onLoad (DOM not set) //
|
|
29
28
|
// - willShow (DOM set) //
|
|
30
29
|
// - onRefresh (recalled on reload) //
|
|
@@ -32,9 +31,6 @@ class §CONTROLLERNAMETITLE§Controller extends AbstractSDC {
|
|
|
32
31
|
// - onRemove //
|
|
33
32
|
//-------------------------------------------------//
|
|
34
33
|
|
|
35
|
-
onInit() {
|
|
36
|
-
}
|
|
37
|
-
|
|
38
34
|
onLoad($html) {
|
|
39
35
|
return super.onLoad($html);
|
|
40
36
|
}
|
{simpledomcontrol-0.158.6 → simpledomcontrol-0.158.8}/sdc_core/template_files/js_test.js.txt
RENAMED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import {test_utils} from 'sdc_client';
|
|
6
6
|
import {} from "#root/src/§APPNAME§/§APPNAME§.organizer.js";
|
|
7
|
-
import '#root/
|
|
8
|
-
import '#root/
|
|
7
|
+
import '#root/libs/sdc_tools/sdc_tools.organizer.js'
|
|
8
|
+
import '#root/libs/sdc_user/sdc_user.organizer.js'
|
|
9
|
+
import '#root/src/models/src.js'
|
|
@@ -18,7 +18,6 @@ export class SdcAlertMessengerController extends AbstractSDC {
|
|
|
18
18
|
|
|
19
19
|
//-------------------------------------------------//
|
|
20
20
|
// Lifecycle handler //
|
|
21
|
-
// - onInit (tag parameter) //
|
|
22
21
|
// - onLoad (DOM not set) //
|
|
23
22
|
// - willShow (DOM set) //
|
|
24
23
|
// - onRefresh (recalled on reload) //
|
|
@@ -26,9 +25,6 @@ export class SdcAlertMessengerController extends AbstractSDC {
|
|
|
26
25
|
// - onRemove //
|
|
27
26
|
//-------------------------------------------------//
|
|
28
27
|
|
|
29
|
-
onInit() {
|
|
30
|
-
}
|
|
31
|
-
|
|
32
28
|
onLoad($html) {
|
|
33
29
|
on('pushMsg', this);
|
|
34
30
|
on('pushErrorMsg', this);
|
|
@@ -42,7 +42,6 @@ export class SdcAutoSubmitController extends AbstractSDC {
|
|
|
42
42
|
|
|
43
43
|
//-------------------------------------------------//
|
|
44
44
|
// Lifecycle handler //
|
|
45
|
-
// - onInit (tag parameter) //
|
|
46
45
|
// - onLoad (DOM not set) //
|
|
47
46
|
// - willShow (DOM set) //
|
|
48
47
|
// - onRefresh (recalled on reload) //
|
|
@@ -50,9 +49,6 @@ export class SdcAutoSubmitController extends AbstractSDC {
|
|
|
50
49
|
// - onRemove //
|
|
51
50
|
//-------------------------------------------------//
|
|
52
51
|
|
|
53
|
-
onInit() {
|
|
54
|
-
}
|
|
55
|
-
|
|
56
52
|
onLoad($html) {
|
|
57
53
|
return super.onLoad($html);
|
|
58
54
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {AbstractSDC, app} from 'sdc_client';
|
|
1
|
+
import { AbstractSDC, app, SdcModel, SdcQuerySet } from 'sdc_client';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
export class SdcDetailViewController extends AbstractSDC {
|
|
@@ -19,7 +19,6 @@ export class SdcDetailViewController extends AbstractSDC {
|
|
|
19
19
|
|
|
20
20
|
//-------------------------------------------------//
|
|
21
21
|
// Lifecycle handler //
|
|
22
|
-
// - onInit (tag parameter) //
|
|
23
22
|
// - onLoad (DOM not set) //
|
|
24
23
|
// - willShow (DOM set) //
|
|
25
24
|
// - onRefresh (recalled on reload) //
|
|
@@ -27,18 +26,37 @@ export class SdcDetailViewController extends AbstractSDC {
|
|
|
27
26
|
// - onRemove //
|
|
28
27
|
//-------------------------------------------------//
|
|
29
28
|
|
|
30
|
-
async
|
|
31
|
-
|
|
32
|
-
if (!model || typeof pk === 'undefined') {
|
|
33
|
-
console.error("You have to set data-model and data-pk in the <sdc-detail-view> tag!");
|
|
34
|
-
}
|
|
35
|
-
this.querySetInstance = this.querySet(model, {pk: pk});
|
|
29
|
+
async onInitDetails({ model, pk, id }) {
|
|
30
|
+
this.id ??= id ?? pk;
|
|
36
31
|
|
|
32
|
+
if (this.model) {
|
|
33
|
+
model = this.model;
|
|
37
34
|
}
|
|
35
|
+
|
|
36
|
+
if (model instanceof Promise) {
|
|
37
|
+
model = await model;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (typeof model === 'object' && model instanceof SdcModel) {
|
|
41
|
+
this.model = model;
|
|
42
|
+
this.querySetInstance = model.querySet;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (typeof model === 'object' && model instanceof SdcQuerySet) {
|
|
47
|
+
this.querySetInstance = model;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (typeof model !== 'object') {
|
|
51
|
+
this.querySetInstance = this.querySet(this.model_name || model, { id: this.id });
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
this.model = await this.querySetInstance.get();
|
|
38
55
|
}
|
|
39
56
|
|
|
40
57
|
async onLoad($html) {
|
|
41
|
-
|
|
58
|
+
await this.onInitDetails(this.params);
|
|
59
|
+
|
|
42
60
|
const $dt = this.model.detailView({
|
|
43
61
|
cbResolve: () => {
|
|
44
62
|
let $lc = this.find('.detail-container');
|
|
@@ -48,10 +66,12 @@ export class SdcDetailViewController extends AbstractSDC {
|
|
|
48
66
|
|
|
49
67
|
}, templateContext: this.template_context
|
|
50
68
|
});
|
|
51
|
-
this.querySetInstance
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
69
|
+
if (this.querySetInstance) {
|
|
70
|
+
this.querySetInstance.onUpdate = async () => {
|
|
71
|
+
await this._updateView();
|
|
72
|
+
this._onUpdate();
|
|
73
|
+
};
|
|
74
|
+
}
|
|
55
75
|
return super.onLoad($html);
|
|
56
76
|
}
|
|
57
77
|
|
|
@@ -66,11 +86,6 @@ export class SdcDetailViewController extends AbstractSDC {
|
|
|
66
86
|
return super.onRefresh();
|
|
67
87
|
}
|
|
68
88
|
|
|
69
|
-
|
|
70
|
-
removeInstance($btn, e) {
|
|
71
|
-
this.model.delete();
|
|
72
|
-
}
|
|
73
|
-
|
|
74
89
|
_onUpdate() {
|
|
75
90
|
if (this.on_update) {
|
|
76
91
|
this.model.update().then(() => {
|
|
@@ -81,8 +96,7 @@ export class SdcDetailViewController extends AbstractSDC {
|
|
|
81
96
|
|
|
82
97
|
_updateView() {
|
|
83
98
|
return new Promise((resolve) => {
|
|
84
|
-
const $div = this.model.
|
|
85
|
-
modelQuery: this.search_values,
|
|
99
|
+
const $div = this.model.detailView({
|
|
86
100
|
cbResolve: () => {
|
|
87
101
|
const elems = $('.tooltip.fade.show');
|
|
88
102
|
elems.remove();
|
|
@@ -17,7 +17,6 @@ class SdcDummyController extends AbstractSDC {
|
|
|
17
17
|
|
|
18
18
|
//-------------------------------------------------//
|
|
19
19
|
// Lifecycle handler //
|
|
20
|
-
// - onInit (tag parameter) //
|
|
21
20
|
// - onLoad (DOM not set) //
|
|
22
21
|
// - willShow (DOM set) //
|
|
23
22
|
// - onRefresh (recalled on reload) //
|
|
@@ -25,11 +24,12 @@ class SdcDummyController extends AbstractSDC {
|
|
|
25
24
|
// - onRemove //
|
|
26
25
|
//-------------------------------------------------//
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
onInitDummy({ text }) {
|
|
29
28
|
this._text = text;
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
onLoad($html) {
|
|
32
|
+
this.onInitDummy(this.params);
|
|
33
33
|
$html.find('.origen_content').append(this.$container.html());
|
|
34
34
|
return super.onLoad($html);
|
|
35
35
|
}
|
|
@@ -17,7 +17,6 @@ export class SdcErrorController extends AbstractSDC {
|
|
|
17
17
|
|
|
18
18
|
//-------------------------------------------------//
|
|
19
19
|
// Lifecycle handler //
|
|
20
|
-
// - onInit (tag parameter) //
|
|
21
20
|
// - onLoad (DOM not set) //
|
|
22
21
|
// - willShow (DOM set) //
|
|
23
22
|
// - onRefresh (recalled on reload) //
|
|
@@ -25,9 +24,6 @@ export class SdcErrorController extends AbstractSDC {
|
|
|
25
24
|
// - onRemove //
|
|
26
25
|
//-------------------------------------------------//
|
|
27
26
|
|
|
28
|
-
onInit() {
|
|
29
|
-
}
|
|
30
|
-
|
|
31
27
|
onLoad($html) {
|
|
32
28
|
$html.find('.error_content').append(this.$container.html());
|
|
33
29
|
return super.onLoad($html);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {AbstractSDC, app} from 'sdc_client';
|
|
1
|
+
import { AbstractSDC, app, SdcModel, SdcQuerySet } from 'sdc_client';
|
|
2
2
|
|
|
3
3
|
export class SdcListViewController extends AbstractSDC {
|
|
4
4
|
|
|
@@ -12,14 +12,13 @@ export class SdcListViewController extends AbstractSDC {
|
|
|
12
12
|
/**
|
|
13
13
|
* Events is an array of dom events.
|
|
14
14
|
* The pattern is {'event': {'dom_selector': handler}}
|
|
15
|
-
*
|
|
15
|
+
* Uncomment the following line to add events;
|
|
16
16
|
*/
|
|
17
17
|
// this.events.unshift({'click': {'.header-sample': (ev, $elem)=> $elem.css('border', '2px solid black')}}});
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
//-------------------------------------------------//
|
|
21
21
|
// Lifecycle handler //
|
|
22
|
-
// - onInit (tag parameter) //
|
|
23
22
|
// - onLoad (DOM not set) //
|
|
24
23
|
// - willShow (DOM set) //
|
|
25
24
|
// - onRefresh (recalled on reload) //
|
|
@@ -27,22 +26,31 @@ export class SdcListViewController extends AbstractSDC {
|
|
|
27
26
|
// - onRemove //
|
|
28
27
|
//-------------------------------------------------//
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
29
|
+
async onInitList({ model, filter, onUpdate }) {
|
|
30
|
+
if (this.model) {
|
|
31
|
+
model = this.model;
|
|
32
|
+
}
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
if (model instanceof Promise) {
|
|
35
|
+
model = await model;
|
|
37
36
|
}
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
this.filter ??= filter;
|
|
38
|
+
this.model_name ??= model;
|
|
39
|
+
this.on_update ??= onUpdate;
|
|
40
|
+
if (typeof this.filter === 'function') {
|
|
41
|
+
this.filter = this.filter();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (typeof model === 'object' && model instanceof SdcQuerySet) {
|
|
45
|
+
this.model = model;
|
|
40
46
|
}
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
|
|
48
|
+
if (typeof model !== 'object') {
|
|
49
|
+
this.model = this.querySet(this.model_name);
|
|
43
50
|
}
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
|
|
52
|
+
if(this.filter) {
|
|
53
|
+
this.model.setFilter(this.filter);
|
|
46
54
|
}
|
|
47
55
|
|
|
48
56
|
if (this.on_update) {
|
|
@@ -53,10 +61,12 @@ export class SdcListViewController extends AbstractSDC {
|
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
onLoad($html) {
|
|
64
|
+
this.onInitList(this.params);
|
|
56
65
|
let lc = $html.filter('.list-container');
|
|
57
66
|
if (lc.length === 0) {
|
|
58
67
|
lc = $html.find('.list-container');
|
|
59
68
|
}
|
|
69
|
+
|
|
60
70
|
lc.append(this.model.listView({modelQuery: this.search_values, templateContext: this.template_context}));
|
|
61
71
|
this.model.onUpdate = this.model.onCreate = () => {
|
|
62
72
|
if (this.on_update) {
|
|
@@ -64,6 +74,7 @@ export class SdcListViewController extends AbstractSDC {
|
|
|
64
74
|
this.on_update(this.model);
|
|
65
75
|
});
|
|
66
76
|
}
|
|
77
|
+
|
|
67
78
|
this._updateView();
|
|
68
79
|
};
|
|
69
80
|
return super.onLoad($html);
|
|
@@ -81,7 +92,7 @@ export class SdcListViewController extends AbstractSDC {
|
|
|
81
92
|
}
|
|
82
93
|
|
|
83
94
|
removeInstance($btn) {
|
|
84
|
-
this.model.delete({
|
|
95
|
+
this.model.delete({id: $btn.data('instance-pk')});
|
|
85
96
|
}
|
|
86
97
|
|
|
87
98
|
onSearch(form) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {AbstractSDC, app, trigger} from 'sdc_client';
|
|
1
|
+
import { AbstractSDC, app, trigger, SdcQuerySet, SdcModel } from 'sdc_client';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
export class SdcModelFormController extends AbstractSDC {
|
|
@@ -6,7 +6,7 @@ export class SdcModelFormController extends AbstractSDC {
|
|
|
6
6
|
|
|
7
7
|
constructor() {
|
|
8
8
|
super();
|
|
9
|
-
this.
|
|
9
|
+
this.id = null;
|
|
10
10
|
this.contentUrl = "/sdc_view/sdc_tools/sdc_model_form"; //<sdc-model-form></sdc-model-form>
|
|
11
11
|
this.model_name = null;
|
|
12
12
|
this.isKeepEditing = null;
|
|
@@ -27,67 +27,84 @@ export class SdcModelFormController extends AbstractSDC {
|
|
|
27
27
|
|
|
28
28
|
//-------------------------------------------------//
|
|
29
29
|
// Lifecycle handler //
|
|
30
|
-
// - onInit (tag parameter) //
|
|
31
30
|
// - onLoad (DOM not set) //
|
|
32
31
|
// - willShow (DOM set) //
|
|
33
32
|
// - onRefresh (recalled on reload) //
|
|
34
33
|
//-------------------------------------------------//
|
|
35
34
|
// - onRemove //
|
|
36
35
|
//-------------------------------------------------//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
async onInitForm({
|
|
37
|
+
model,
|
|
38
|
+
pk,
|
|
39
|
+
id,
|
|
40
|
+
next,
|
|
41
|
+
filter = null,
|
|
42
|
+
on_update,
|
|
43
|
+
on_error,
|
|
44
|
+
form_header,
|
|
45
|
+
button_text,
|
|
46
|
+
form_name = false,
|
|
47
|
+
reset_on_save = false,
|
|
48
|
+
editing_after_save = false,
|
|
49
|
+
auto_save = true
|
|
50
|
+
}) {
|
|
51
|
+
|
|
52
|
+
this.on_update ??= on_update;
|
|
53
|
+
this.on_error ??= on_error;
|
|
54
|
+
this.next ??= next;
|
|
55
|
+
this.buttonText ??= button_text || gettext('Save');
|
|
56
|
+
this.formHeader ??= form_header;
|
|
57
|
+
this.autoSave ??= auto_save;
|
|
58
|
+
this.isReset ??= reset_on_save;
|
|
59
|
+
this.isKeepEditing ??= editing_after_save;
|
|
60
|
+
this.id ??= id ?? pk;
|
|
61
|
+
this.form_name ??= form_name;
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
if (this.id) {
|
|
65
|
+
filter = { id: this.id };
|
|
66
|
+
} else if (typeof filter === 'function') {
|
|
67
|
+
filter = filter();
|
|
46
68
|
}
|
|
47
69
|
|
|
48
|
-
if (this.
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
if (this.autoSave === null) {
|
|
52
|
-
this.autoSave = auto_save;
|
|
53
|
-
}
|
|
54
|
-
if (this.isReset === null) {
|
|
55
|
-
this.isReset = reset_on_save;
|
|
56
|
-
}
|
|
57
|
-
if (this.isKeepEditing === null) {
|
|
58
|
-
this.isKeepEditing = editing_after_save;
|
|
70
|
+
if (this.model) {
|
|
71
|
+
model = this.model;
|
|
59
72
|
}
|
|
60
73
|
|
|
61
|
-
if (
|
|
62
|
-
|
|
74
|
+
if (model instanceof Promise) {
|
|
75
|
+
model = await model;
|
|
63
76
|
}
|
|
64
77
|
|
|
65
|
-
if (typeof model === 'object' && model
|
|
78
|
+
if (typeof model === 'object' && model instanceof SdcModel) {
|
|
66
79
|
this.model = model;
|
|
67
|
-
|
|
80
|
+
this.id ??= model.id;
|
|
81
|
+
} else if (typeof model !== 'object') {
|
|
82
|
+
this.model = this.querySet(this.model_name || model, filter);
|
|
83
|
+
} else if (typeof model === 'object' && model instanceof SdcQuerySet) {
|
|
68
84
|
this.model = model;
|
|
69
|
-
}else if (model) {
|
|
70
|
-
this.model = null;
|
|
71
85
|
}
|
|
72
86
|
|
|
73
|
-
if (this.model && this.model
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
87
|
+
if (typeof this.model === 'object' && this.model instanceof SdcQuerySet) {
|
|
88
|
+
if(Object.keys(this.model.modelQuery).length === 0) {
|
|
89
|
+
this.id = null;
|
|
90
|
+
this.model = this.model.new();
|
|
91
|
+
} else {
|
|
92
|
+
try {
|
|
93
|
+
this.model = await this.model.get();
|
|
94
|
+
this.id = this.model.id;
|
|
95
|
+
} catch (e) {
|
|
96
|
+
this.id = null;
|
|
97
|
+
this.model = this.model.new();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
77
100
|
}
|
|
78
|
-
|
|
79
|
-
const querySet = this.querySet(model, filter);
|
|
80
|
-
this.form_name ||= form_name;
|
|
81
|
-
this.pk ||= pk || null;
|
|
82
|
-
if (typeof (this.pk) === "undefined" || this.pk === null) {
|
|
101
|
+
if (typeof (this.id) === "undefined" || this.id === null) {
|
|
83
102
|
this.isAutoChange = false;
|
|
84
103
|
this.type = 'create';
|
|
85
|
-
this.
|
|
86
|
-
this.formGenerator = (modelObj) => modelObj.form({cbResolve: this._onFormLoaded.bind(this)});
|
|
104
|
+
this.formGenerator = (modelObj) => modelObj.form({ cbResolve: this._onFormLoaded.bind(this) });
|
|
87
105
|
} else if (this.form_name) {
|
|
88
106
|
this.isAutoChange = this.autoSave;
|
|
89
107
|
this.type = 'edit';
|
|
90
|
-
this.model ??= querySet.setIds(this.pk)[0];
|
|
91
108
|
this.formGenerator = (modelObj) => modelObj.namedForm({
|
|
92
109
|
formName: this.form_name,
|
|
93
110
|
cbResolve: this._onFormLoaded.bind(this)
|
|
@@ -95,16 +112,14 @@ export class SdcModelFormController extends AbstractSDC {
|
|
|
95
112
|
} else {
|
|
96
113
|
this.isAutoChange = true;
|
|
97
114
|
this.type = 'edit';
|
|
98
|
-
this.
|
|
99
|
-
this.formGenerator = (modelObj) => modelObj.form({cbResolve: this._onFormLoaded.bind(this)});
|
|
115
|
+
this.formGenerator = (modelObj) => modelObj.form({ cbResolve: this._onFormLoaded.bind(this) });
|
|
100
116
|
}
|
|
101
117
|
|
|
102
118
|
}
|
|
103
119
|
|
|
104
120
|
async onLoad($html) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
121
|
+
await this.onInitForm(this.params);
|
|
122
|
+
|
|
108
123
|
this.form = this.formGenerator(this.model).addClass('container-fluid');
|
|
109
124
|
$html.find('.form-container').append(this.form);
|
|
110
125
|
// $html.find(`.not-${this.type}`).remove();
|
|
@@ -131,14 +146,16 @@ export class SdcModelFormController extends AbstractSDC {
|
|
|
131
146
|
}
|
|
132
147
|
|
|
133
148
|
_createFormToEditForm() {
|
|
134
|
-
this.
|
|
149
|
+
this.id = this.model.id;
|
|
135
150
|
this.type = 'edit';
|
|
136
151
|
this.isAutoChange = true;
|
|
137
152
|
const oldForm = this.form?.closest('form');
|
|
138
153
|
const newForm = oldForm.clone();
|
|
139
154
|
const fc = newForm.find('.form-container').safeEmpty();
|
|
140
|
-
const newFormContent = this.model.
|
|
141
|
-
|
|
155
|
+
const newFormContent = this.model.form({
|
|
156
|
+
cbResolve: () => {
|
|
157
|
+
this.reconcile(newForm, oldForm);
|
|
158
|
+
}
|
|
142
159
|
}).addClass('container-fluid');
|
|
143
160
|
fc.append(newFormContent);
|
|
144
161
|
}
|
|
@@ -152,6 +169,7 @@ export class SdcModelFormController extends AbstractSDC {
|
|
|
152
169
|
if (self.isReset) {
|
|
153
170
|
$form[0].reset();
|
|
154
171
|
} else if (self.isKeepEditing) {
|
|
172
|
+
self.model.querySet.setIds(self.model.id);
|
|
155
173
|
self._createFormToEditForm();
|
|
156
174
|
} else {
|
|
157
175
|
trigger('goTo', self.next || '..');
|
|
@@ -18,7 +18,6 @@ export class SdcNavigationClientController extends AbstractSDC {
|
|
|
18
18
|
|
|
19
19
|
//-------------------------------------------------//
|
|
20
20
|
// Lifecycle handler //
|
|
21
|
-
// - onInit (tag parameter) //
|
|
22
21
|
// - onLoad (DOM not set) //
|
|
23
22
|
// - willShow (DOM set) //
|
|
24
23
|
// - onRefresh (recalled on reload) //
|
|
@@ -26,9 +25,6 @@ export class SdcNavigationClientController extends AbstractSDC {
|
|
|
26
25
|
// - onRemove //
|
|
27
26
|
//-------------------------------------------------//
|
|
28
27
|
|
|
29
|
-
onInit() {
|
|
30
|
-
}
|
|
31
|
-
|
|
32
28
|
onLoad($html) {
|
|
33
29
|
on('_onResize', this);
|
|
34
30
|
return super.onLoad($html);
|
|
@@ -49,7 +49,6 @@ export class SdcNavigatorController extends AbstractSDC {
|
|
|
49
49
|
|
|
50
50
|
//-------------------------------------------------//
|
|
51
51
|
// Lifecycle handler //
|
|
52
|
-
// - onInit (tag parameter) //
|
|
53
52
|
// - onLoad (DOM not set) //
|
|
54
53
|
// - willShow (DOM set) //
|
|
55
54
|
// - onRefresh (recalled on reload) //
|
|
@@ -57,11 +56,12 @@ export class SdcNavigatorController extends AbstractSDC {
|
|
|
57
56
|
// - onRemove //
|
|
58
57
|
//-------------------------------------------------//
|
|
59
58
|
|
|
60
|
-
|
|
59
|
+
onInitNav({ defaultController }) {
|
|
61
60
|
this._default_controller = defaultController;
|
|
62
61
|
}
|
|
63
62
|
|
|
64
63
|
onLoad($html) {
|
|
64
|
+
this.onInitNav(this.params);
|
|
65
65
|
on('onNavLink', this);
|
|
66
66
|
on('onNavigateToController', this);
|
|
67
67
|
on('_RedirectOnView', this);
|