simpledomcontrol 0.4.11__tar.gz → 0.4.13__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.
Files changed (133) hide show
  1. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/PKG-INFO +3 -3
  2. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/pyproject.toml +3 -3
  3. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/package.json +1 -1
  4. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.js +40 -12
  5. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/tests/sdc_tools.test.js +4 -2
  6. simpledomcontrol-0.4.13/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +8 -0
  7. simpledomcontrol-0.4.13/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.js +55 -0
  8. simpledomcontrol-0.4.13/sdc_user/Assets/src/sdc_user/controller/sdc_user_nav_btn/sdc_user_nav_btn.scss +3 -0
  9. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/Assets/src/sdc_user/sdc_user.organizer.js +1 -0
  10. simpledomcontrol-0.4.13/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +2 -0
  11. simpledomcontrol-0.4.13/sdc_user/Assets/tests/sdc_user.test.js +37 -0
  12. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/sdc_urls.py +2 -1
  13. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/sdc_views.py +6 -0
  14. simpledomcontrol-0.4.13/sdc_user/templates/sdc_user/sdc/sdc_user_nav_btn.html +5 -0
  15. simpledomcontrol-0.4.11/sdc_tools/templates/sdc_tools/sdc/sdc_navigator.html +0 -8
  16. simpledomcontrol-0.4.11/sdc_user/Assets/src/sdc_user/sdc_user.style.scss +0 -1
  17. simpledomcontrol-0.4.11/sdc_user/Assets/tests/sdc_user.test.js +0 -20
  18. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/README.md +0 -0
  19. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/__init__.py +0 -0
  20. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/apps.py +0 -0
  21. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/consumers.py +0 -0
  22. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/__init__.py +0 -0
  23. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/__init__.py +0 -0
  24. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/_private.py +0 -0
  25. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/__init__.py +0 -0
  26. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/add_controller_manager.py +0 -0
  27. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/add_model_manager.py +0 -0
  28. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/options.py +0 -0
  29. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/sdc_core_manager.py +0 -0
  30. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/settings_manager.py +0 -0
  31. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/init_add/utils.py +0 -0
  32. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_cc.py +0 -0
  33. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_get_controller_infos.py +0 -0
  34. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_get_controller_url.py +0 -0
  35. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_get_model_infos.py +0 -0
  36. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_init.py +0 -0
  37. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_is_installed.py +0 -0
  38. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_new_model.py +0 -0
  39. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_shell_execute_script.py +0 -0
  40. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_update_links.py +0 -0
  41. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/management/commands/sdc_update_url.py +0 -0
  42. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/__init__.py +0 -0
  43. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/forms.py +0 -0
  44. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/import_manager.py +0 -0
  45. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/models.py +0 -0
  46. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/response.py +0 -0
  47. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/search.py +0 -0
  48. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/sdc_extentions/views.py +0 -0
  49. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/.babelrc +0 -0
  50. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/gulpfile.jsx +0 -0
  51. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/src/index.organizer.js +0 -0
  52. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/src/index.style.scss +0 -0
  53. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/tests/config/post-test-teardown.js +0 -0
  54. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/tests/config/pre-test-setup.js +0 -0
  55. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/tests/config/test-setup.js +0 -0
  56. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/webpack.config/webpack.default.config.jsx +0 -0
  57. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/webpack.config/webpack.development.config.jsx +0 -0
  58. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/Assets/webpack.config/webpack.production.config.jsx +0 -0
  59. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/apps/sdc_examples/Add_SDCUser.txt +0 -0
  60. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/apps/sdc_examples/index.html +0 -0
  61. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/apps/sdc_examples/server_call.txt +0 -0
  62. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/asgi.py.txt +0 -0
  63. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/controller/templade_view.html +0 -0
  64. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/controller/template_controller.js.txt +0 -0
  65. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/controller/template_css.scss +0 -0
  66. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/controller/template_test.js.text +0 -0
  67. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/js_test.js.txt +0 -0
  68. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/models/detail.html +0 -0
  69. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/models/list.html +0 -0
  70. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/routing.py.txt +0 -0
  71. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/sdc_urls.py.txt +0 -0
  72. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/sdc_views.py.txt +0 -0
  73. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/settings_extension.py.txt +0 -0
  74. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/templates/base.html +0 -0
  75. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/templates/index.html +0 -0
  76. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_core/template_files/urls.py.txt +0 -0
  77. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.js +0 -0
  78. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_alert_messenger/sdc_alert_messenger.scss +0 -0
  79. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_auto_submit/sdc_auto_submit.js +0 -0
  80. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.js +0 -0
  81. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_detail_view/sdc_detail_view.scss +0 -0
  82. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.js +0 -0
  83. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_dummy/sdc_dummy.scss +0 -0
  84. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.js +0 -0
  85. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_error/sdc_error.scss +0 -0
  86. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.js +0 -0
  87. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_list_view/sdc_list_view.scss +0 -0
  88. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.js +0 -0
  89. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_model_form/sdc_model_form.scss +0 -0
  90. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigation_client/sdc_navigation_client.js +0 -0
  91. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_navigator/sdc_navigator.scss +0 -0
  92. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.js +0 -0
  93. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_search_view/sdc_search_view.scss +0 -0
  94. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/controller/sdc_update_on_change/sdc_update_on_change.js +0 -0
  95. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/sdc_tools.organizer.js +0 -0
  96. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/Assets/src/sdc_tools/sdc_tools.style.scss +0 -0
  97. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/__init__.py +0 -0
  98. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/admin.py +0 -0
  99. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/apps.py +0 -0
  100. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/migrations/__init__.py +0 -0
  101. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/models.py +0 -0
  102. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/sdc_urls.py +0 -0
  103. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/sdc_views.py +0 -0
  104. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/elements/form.html +0 -0
  105. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/elements/inline_form.html +0 -0
  106. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/email/base.html +0 -0
  107. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/dummy_sdc.html +0 -0
  108. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_alert_messenger.html +0 -0
  109. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_detail_view.html +0 -0
  110. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_dummy.html +0 -0
  111. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_error.html +0 -0
  112. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_list_view.html +0 -0
  113. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_model_form.html +0 -0
  114. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templates/sdc_tools/sdc/sdc_search_view.html +0 -0
  115. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templatetags/__init__.py +0 -0
  116. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templatetags/addclass.py +0 -0
  117. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templatetags/indexfilter.py +0 -0
  118. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/templatetags/sdc_filter.py +0 -0
  119. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/tests.py +0 -0
  120. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_tools/views.py +0 -0
  121. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.js +0 -0
  122. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/Assets/src/sdc_user/controller/sdc_login/sdc_login.scss +0 -0
  123. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.js +0 -0
  124. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/Assets/src/sdc_user/controller/sdc_logout/sdc_logout.scss +0 -0
  125. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/__init__.py +0 -0
  126. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/admin.py +0 -0
  127. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/apps.py +0 -0
  128. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/migrations/__init__.py +0 -0
  129. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/models.py +0 -0
  130. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/templates/sdc_user/sdc/sdc_login.html +0 -0
  131. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/templates/sdc_user/sdc/sdc_logout.html +0 -0
  132. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/tests.py +0 -0
  133. {simpledomcontrol-0.4.11 → simpledomcontrol-0.4.13}/sdc_user/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: SimpleDomControl
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: Simple DOM control -> a django MVC framework
5
5
  Home-page: https://github.com/StarmanMartin/sdc
6
6
  License: Apache-2.0
@@ -20,8 +20,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Requires-Dist: attrs (>=23.2.0,<24.0.0)
21
21
  Requires-Dist: channels (>=4.0.0,<5.0.0)
22
22
  Requires-Dist: channels-redis (>=4.2.0,<5.0.0)
23
- Requires-Dist: daphne (>=4.0.0,<5.0.0)
24
- Requires-Dist: django (>=5.0.1,<6.0.0)
23
+ Requires-Dist: daphne (>=4.1.0,<5.0.0)
24
+ Requires-Dist: django (>=5.0.3,<6.0.0)
25
25
  Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0)
26
26
  Requires-Dist: regex (>=2023.12.25,<2024.0.0)
27
27
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "SimpleDomControl"
3
- version = "0.4.11"
3
+ version = "0.4.13"
4
4
  authors = [ "Martin Starman <private@martin-starman.com>", ]
5
5
  description = "Simple DOM control -> a django MVC framework"
6
6
  readme = "README.md"
@@ -19,10 +19,10 @@ homepage = "https://github.com/StarmanMartin/sdc"
19
19
 
20
20
  [tool.poetry.dependencies]
21
21
  python = "^3.10"
22
- daphne = "^4.0.0"
22
+ daphne = "^4.1.0"
23
23
  channels = "^4.0.0"
24
24
  channels-redis = "^4.2.0"
25
- django = "^5.0.1"
25
+ django = "^5.0.3"
26
26
  psycopg2-binary = "^2.9.9"
27
27
  attrs = "^23.2.0"
28
28
  regex = "^2023.12.25"
@@ -75,6 +75,6 @@
75
75
  "esm": "^3.2.25",
76
76
  "jquery": "^3.7.0",
77
77
  "lodash": "^4.17.21",
78
- "sdc_client": "^0.4.11"
78
+ "sdc_client": "^0.4.13"
79
79
  }
80
80
  }
@@ -9,7 +9,7 @@ export class SdcNavigatorController extends AbstractSDC {
9
9
  constructor() {
10
10
  super();
11
11
  this.contentUrl = "/sdc_view/sdc_tools/sdc_navigator"; //<sdc-navigator></sdc-navigator>
12
-
12
+ this._isLoggedIn = false;
13
13
  this._history_path = [];
14
14
  this._breadcrumb = [];
15
15
  this._history_idx = 0;
@@ -21,6 +21,7 @@ export class SdcNavigatorController extends AbstractSDC {
21
21
  this._is_processing = false;
22
22
  this._process_queue = [];
23
23
  this._current_process = null;
24
+ this._redirectAfterCurrentProcess = null;
24
25
 
25
26
  this._non_controller_path_prefix = '/';
26
27
  this._menu_id = 0;
@@ -58,6 +59,7 @@ export class SdcNavigatorController extends AbstractSDC {
58
59
  onLoad($html) {
59
60
  on('onNavLink', this);
60
61
  on('onNavigateToController', this);
62
+ on('_RedirectOnView', this);
61
63
  on('goTo', this);
62
64
  on('changeMenu', this);
63
65
  on('navigateToPage', this);
@@ -66,6 +68,7 @@ export class SdcNavigatorController extends AbstractSDC {
66
68
  on('logout', this);
67
69
 
68
70
  $html.find('.main-nav-import-container').append(this.$container.html());
71
+ this._isLoggedIn = $html.find('.main-page-frame').data('user');
69
72
  return super.onLoad($html);
70
73
  }
71
74
 
@@ -144,7 +147,7 @@ export class SdcNavigatorController extends AbstractSDC {
144
147
 
145
148
  navigateToPage(target, args, _state) {
146
149
  this._current_process = [target, args];
147
- this.state && this._updateButton(this.state.buttonSelector);
150
+ _state && this._updateButton(_state.buttonSelector);
148
151
  this._is_processing = true;
149
152
  this._origin_target = target;
150
153
 
@@ -185,9 +188,7 @@ export class SdcNavigatorController extends AbstractSDC {
185
188
  }
186
189
  this._is_processing = false;
187
190
  this._updateBreadcrumb();
188
- this._current_process = null;
189
- let next = this._process_queue.shift();
190
- if (next) this._pushState(next);
191
+ this._checkProcessQueue();
191
192
  this.refresh();
192
193
  return;
193
194
  }
@@ -224,6 +225,7 @@ export class SdcNavigatorController extends AbstractSDC {
224
225
 
225
226
 
226
227
  navLoaded(controller) {
228
+ console.log(this._current_process, controller.controller_name(), this._previous_args);
227
229
  let idx = this._history_path.length - 1;
228
230
  let last_view_array = this._preparedLastViewContainer(idx);
229
231
  last_view_array.active_container.removeClass('active loading').addClass('empty');
@@ -239,9 +241,7 @@ export class SdcNavigatorController extends AbstractSDC {
239
241
  } else {
240
242
  this._updateBreadcrumb();
241
243
  if (!this._manageDefault(last_view_array.empty_container)) {
242
- let next = this._process_queue.shift();
243
- this._current_process = null;
244
- if (next) this._pushState(next, false);
244
+ this._checkProcessQueue();
245
245
  }
246
246
  setTimeout(() => {
247
247
  this.$container.find('.header-loading').removeClass('active');
@@ -249,6 +249,23 @@ export class SdcNavigatorController extends AbstractSDC {
249
249
  }
250
250
  }
251
251
 
252
+ _checkProcessQueue() {
253
+ let next = this._process_queue.shift();
254
+ this._current_process = null;
255
+ if (next) {
256
+ this._pushState(next[0], next[1]);
257
+ } else if (this._redirectAfterCurrentProcess) {
258
+ const temp = this._redirectAfterCurrentProcess;
259
+ this._redirectAfterCurrentProcess=null;
260
+ this.goTo(temp);
261
+ }
262
+
263
+ }
264
+
265
+ _RedirectOnView($btn) {
266
+ this._redirectAfterCurrentProcess = $($btn).attr('href');
267
+ }
268
+
252
269
  _updateBreadcrumb() {
253
270
  this._breadcrumb.splice(this._history_path.length);
254
271
  const $breadcrumps = this.find('.breadcrumb');
@@ -393,6 +410,14 @@ export class SdcNavigatorController extends AbstractSDC {
393
410
  $button.addClass('active');
394
411
  }
395
412
 
413
+ if(this._isLoggedIn) {
414
+ this.find('.navigation-links.only-logged-in').show();
415
+ this.find('.navigation-links.only-logged-out').hide();
416
+ } else {
417
+ this.find('.navigation-links.only-logged-in').hide();
418
+ this.find('.navigation-links.only-logged-out').show();
419
+ }
420
+
396
421
  return $button;
397
422
  }
398
423
 
@@ -499,7 +524,7 @@ export class SdcNavigatorController extends AbstractSDC {
499
524
  const $sub_container = container.find(`.${SDC_DETAIL_CONTROLLER}`);
500
525
  const df = $sub_container.data('default-controller');
501
526
  if (df) {
502
- this._pushState(`.~${df}`);
527
+ this._pushState(`.~${df}`, false);
503
528
  return true;
504
529
  }
505
530
 
@@ -508,7 +533,7 @@ export class SdcNavigatorController extends AbstractSDC {
508
533
 
509
534
  _pushState(url, commit= true) {
510
535
  if(this._is_processing) {
511
- this._process_queue.push(url);
536
+ this._process_queue.push([url, commit]);
512
537
  return;
513
538
  }
514
539
 
@@ -521,12 +546,15 @@ export class SdcNavigatorController extends AbstractSDC {
521
546
  }
522
547
 
523
548
  login() {
549
+ this._isLoggedIn = true;
524
550
  app.cleanCache();
525
551
  this.onNavigateToController(window.location.pathname);
526
552
  }
527
553
 
528
- logout(pk) {
529
- this.login(pk);
554
+ logout() {
555
+ this._isLoggedIn = false;
556
+ app.cleanCache();
557
+ this.onNavigateToController(window.location.pathname);
530
558
  }
531
559
 
532
560
  }
@@ -63,7 +63,8 @@ describe('SdcNavigator', () => {
63
63
  test('Navigate next level [A.2]', async () => {
64
64
  trigger('goTo', './sdc-dummy', {text: 'SUB DUMMY A.2'});
65
65
  await new Promise(resolve => setTimeout(resolve, 100));
66
- expect(controller.find('.1_sdc_sub_detail_container.active').text().trim()).toBe('SUB DUMMY A.2');
66
+ let idx = controller._origin_target.length - 1
67
+ expect(controller.find(`.${idx}_sdc_sub_detail_container.active`).text().trim()).toBe('SUB DUMMY A.2');
67
68
  });
68
69
 
69
70
  test('Navigate next level [B]', async () => {
@@ -94,7 +95,8 @@ describe('SdcNavigator', () => {
94
95
  trigger('goTo', ['/', 'sdc-dummy'], {text: 'DUMMY B'});
95
96
  trigger('goTo', ['', 'sdc-dummy', 'sdc-dummy'], {text: 'SUB DUMMY B'});
96
97
  trigger('goTo', ['..']);
97
- await new Promise(resolve => setTimeout(resolve, 100));
98
+ await new Promise(resolve => setTimeout(resolve, 1000));
99
+ console.log(controller);
98
100
  expect(controller.find('.0_sdc_sub_detail_container.active').text().trim()).toBe('DUMMY B');
99
101
  expect(controller.find('.1_sdc_sub_detail_container.active').text().trim()).toBe('');
100
102
  });
@@ -0,0 +1,8 @@
1
+ <div class="main-page-frame" data-user="{% if user.is_authenticated %}true{% else %}false{% endif %}">
2
+ <div class="main-nav-import-container">
3
+
4
+ </div>
5
+
6
+
7
+ <div class="sdc_detail_view"></div>
8
+ </div>
@@ -0,0 +1,55 @@
1
+ import {AbstractSDC, app, on} from 'sdc_client';
2
+
3
+
4
+ class SdcUserNavBtnController extends AbstractSDC {
5
+
6
+ constructor() {
7
+ super();
8
+ this.contentUrl = "/sdc_view/sdc_user/sdc_user_nav_btn"; //<sdc-user-nav-btn></sdc-user-nav-btn>
9
+
10
+ /**
11
+ * Events is an array of dom events.
12
+ * The pattern is {'event': {'dom_selector': handler}}
13
+ * Uncommend the following line to add events;
14
+ */
15
+ // this.events.unshift({'click': {'.header-sample': (ev, $elem)=> $elem.css('border', '2px solid black')}}});
16
+ }
17
+
18
+ //-------------------------------------------------//
19
+ // Lifecycle handler //
20
+ // - onInit (tag parameter) //
21
+ // - onLoad (DOM not set) //
22
+ // - willShow (DOM set) //
23
+ // - onRefresh (recalled on reload) //
24
+ //-------------------------------------------------//
25
+ // - onRemove //
26
+ //-------------------------------------------------//
27
+
28
+ onInit() {
29
+ on('login', this);
30
+ on('logout', this);
31
+ }
32
+
33
+ onLoad($html) {
34
+ return super.onLoad($html);
35
+ }
36
+
37
+ willShow() {
38
+ return super.willShow();
39
+ }
40
+
41
+ onRefresh() {
42
+ return super.onRefresh();
43
+ }
44
+
45
+ login() {
46
+ this.reload();
47
+ }
48
+
49
+ logout() {
50
+ this.reload();
51
+ }
52
+
53
+ }
54
+
55
+ app.register(SdcUserNavBtnController);
@@ -1,2 +1,3 @@
1
+ import {} from "./controller/sdc_user_nav_btn/sdc_user_nav_btn.js";
1
2
  import {} from "./controller/sdc_logout/sdc_logout.js";
2
3
  import {} from "./controller/sdc_login/sdc_login.js";
@@ -0,0 +1,2 @@
1
+ @import "./controller/sdc_login/sdc_login.scss";
2
+ @import "./controller/sdc_user_nav_btn/sdc_user_nav_btn.scss";
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+
5
+ import {test_utils} from 'sdc_client';
6
+ import '../src/sdc_user/sdc_user.organizer.js'
7
+
8
+
9
+ describe('SdcNavigator', () => {
10
+ let controller;
11
+
12
+ beforeEach(async () => {
13
+ // Create new controller instance based on the standard process.
14
+ controller = await test_utils.get_controller('sdc_tools', {}, '<div><h1>Controller loading...</h1></div>');
15
+ });
16
+
17
+ test('Load Content', async () => {
18
+ });
19
+
20
+ });
21
+
22
+ describe('SdcUserNavBtn', () => {
23
+ let controller;
24
+
25
+ beforeEach(async () => {
26
+ // Create new controller instance based on the standard process.
27
+ controller = await test_utils.get_controller('sdc-user-nav-btn',
28
+ {},
29
+ '<div><h1>Controller Loaded</h1></div>');
30
+ });
31
+
32
+ test('Load Content', async () => {
33
+ const $div = $('body').find('sdc-user-nav-btn');
34
+ expect($div.length).toBeGreaterThan(0);
35
+ });
36
+
37
+ });
@@ -1,10 +1,11 @@
1
- from django.urls import path, re_path
1
+ from django.urls import path
2
2
  from . import sdc_views
3
3
 
4
4
  # Do not add an app_name to this file
5
5
 
6
6
  urlpatterns = [
7
7
  # scd view below
8
+ path('sdc_user_nav_btn', sdc_views.SdcUserNavBtn.as_view(), name='scd_view_sdc_user_nav_btn'),
8
9
  path('sdc_logout', sdc_views.SdcLogout.as_view(), name='scd_view_sdc_logout'),
9
10
  path('sdc_login', sdc_views.SdcLogin.as_view(), name='scd_view_sdc_login'),
10
11
  ]
@@ -48,5 +48,11 @@ class SdcLogout(SDCView):
48
48
  logout(request)
49
49
  return send_redirect(url=f'/~{settings.LOGIN_CONTROLLER}')
50
50
 
51
+ def get_content(self, request, *args, **kwargs):
52
+ return render(request, self.template_name)
53
+
54
+ class SdcUserNavBtn(SDCView):
55
+ template_name='sdc_user/sdc/sdc_user_nav_btn.html'
56
+
51
57
  def get_content(self, request, *args, **kwargs):
52
58
  return render(request, self.template_name)
@@ -0,0 +1,5 @@
1
+ {% if user.is_authenticated %}
2
+ <sdc-logout></sdc-logout>
3
+ {% else %}
4
+ <a class="nav-link navigation-links" href="/sdc-login">Login</a>
5
+ {% endif %}
@@ -1,8 +0,0 @@
1
- <div class="main-page-frame">
2
- <div class="main-nav-import-container">
3
-
4
- </div>
5
-
6
-
7
- <div class="sdc_detail_view"></div>
8
- </div>
@@ -1 +0,0 @@
1
- @import "./controller/sdc_login/sdc_login.scss";
@@ -1,20 +0,0 @@
1
- /**
2
- * @jest-environment jsdom
3
- */
4
-
5
- import {test_utils} from 'sdc_client';
6
- import '../src/sdc_user/sdc_user.organizer.js'
7
-
8
-
9
- describe('SdcNavigator', () => {
10
- let controller;
11
-
12
- beforeEach(async () => {
13
- // Create new controller instance based on the standard process.
14
- controller = await test_utils.get_controller('sdc_tools', {}, '<div><h1>Controller loading...</h1></div>');
15
- });
16
-
17
- test('Load Content', async () => {
18
- });
19
-
20
- });