@aj-shadow/actorjs-app 0.0.0-aj-beta.221

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 (423) hide show
  1. package/.gitattributes +29 -0
  2. package/.vscode/launch.json +18 -0
  3. package/CHANGELOG.md +79 -0
  4. package/LICENSE.txt +96 -0
  5. package/README.md +86 -0
  6. package/contributors.txt +3 -0
  7. package/main.js +14 -0
  8. package/npm-post-install.js +618 -0
  9. package/npm-shrinkwrap.json +14 -0
  10. package/package.json +16 -0
  11. package/project/actorjs-project.tree +466 -0
  12. package/project/client/actions/action-actor-editor/action-actor-editor-file.js +101 -0
  13. package/project/client/actions/action-actor-editor/action-actor-editor-folder.js +41 -0
  14. package/project/client/actions/action-actor-editor/action-actor-editor-persistent-data.js +23 -0
  15. package/project/client/actions/action-actor-editor/action-actor-editor-project.js +23 -0
  16. package/project/client/actions/action-actor-editor/data-action-actor-editor-file.js +70 -0
  17. package/project/client/actions/action-actor-editor/data-action-actor-editor-folder.js +26 -0
  18. package/project/client/actions/action-actor-editor/data-action-actor-editor-project.js +27 -0
  19. package/project/client/actions/action-actor-editor/realtime-action-actors-editor.js +14 -0
  20. package/project/client/actions/action-addresses/action-addresses.js +180 -0
  21. package/project/client/actions/action-addresses/data-action-addresses.js +174 -0
  22. package/project/client/actions/action-console/action-console.js +11 -0
  23. package/project/client/actions/action-console/data-action-console.js +12 -0
  24. package/project/client/actions/action-content/action-content.js +101 -0
  25. package/project/client/actions/action-content/data-action-content.js +90 -0
  26. package/project/client/actions/action-function-under-test.js +45 -0
  27. package/project/client/actions/action-load/action-load.js +29 -0
  28. package/project/client/actions/action-load/data-action-load.js +4 -0
  29. package/project/client/actions/action-login/action-login.js +95 -0
  30. package/project/client/actions/action-login/data-action-login.js +83 -0
  31. package/project/client/actions/action-plugins/action-plugins.js +17 -0
  32. package/project/client/actions/action-plugins/data-action-plugins.js +20 -0
  33. package/project/client/actions/action-plus-services/action-plus-services.js +17 -0
  34. package/project/client/actions/action-plus-services/data-action-plus-services.js +20 -0
  35. package/project/client/actions/action-repos/action-repos.js +35 -0
  36. package/project/client/actions/action-repos/data-action-repos.js +42 -0
  37. package/project/client/actions/action-stack-editor/action-stack-editor-file.js +84 -0
  38. package/project/client/actions/action-stack-editor/action-stack-editor-folder.js +41 -0
  39. package/project/client/actions/action-stack-editor/action-stack-editor-persistent-data.js +23 -0
  40. package/project/client/actions/action-stack-editor/action-stack-editor-project.js +29 -0
  41. package/project/client/actions/action-stack-editor/data-action-stack-editor-file.js +49 -0
  42. package/project/client/actions/action-stack-editor/data-action-stack-editor-folder.js +26 -0
  43. package/project/client/actions/action-stack-editor/data-action-stack-editor-project.js +34 -0
  44. package/project/client/actions/action-sut-fut-filter.js +23 -0
  45. package/project/client/actions/action-system-under-test/action-system-under-test.js +164 -0
  46. package/project/client/actions/action-system-under-test/data-action-system-under-test.js +70 -0
  47. package/project/client/actions/action-test-case/action-test-case.js +323 -0
  48. package/project/client/actions/action-test-case/data-action-test-case.js +133 -0
  49. package/project/client/actions/action-test-case/realtime-action-test-case.js +69 -0
  50. package/project/client/actions/action-test-cases.js +49 -0
  51. package/project/client/actions/action-test-data/action-test-data.js +77 -0
  52. package/project/client/actions/action-test-data/data-action-test-data.js +62 -0
  53. package/project/client/actions/action-test-suite/action-test-suite.js +122 -0
  54. package/project/client/actions/action-test-suite/data-action-test-suite.js +76 -0
  55. package/project/client/actions/action-test-suite/realtime-action-test-suite.js +20 -0
  56. package/project/client/actions/action-test-suites.js +47 -0
  57. package/project/client/actor-default.js +18 -0
  58. package/project/client/communication/messages/messages-c-to-c/message-new-actor-index.js +15 -0
  59. package/project/client/communication/messages/messages-c-to-c/message-test-case-clear.js +15 -0
  60. package/project/client/communication/messages/messages-c-to-c/message-test-case-not-started.js +15 -0
  61. package/project/client/communication/messages/messages-c-to-c/message-test-suite-clear.js +15 -0
  62. package/project/client/components/footer/footer.jsx +94 -0
  63. package/project/client/components/header/header-status-login.jsx +78 -0
  64. package/project/client/components/header/header-status-staging-environment.jsx +132 -0
  65. package/project/client/components/header/header.jsx +27 -0
  66. package/project/client/components/header/header_icon.jsx +37 -0
  67. package/project/client/components/header/header_status.jsx +33 -0
  68. package/project/client/components/middle/abbreviation/middle-abbreviation-toolbar.jsx +126 -0
  69. package/project/client/components/middle/abbreviation/middle-abbreviation.jsx +27 -0
  70. package/project/client/components/middle/actor-editor/middle-actor-editor-sidebar.jsx +101 -0
  71. package/project/client/components/middle/actor-editor/middle-actor-editor-toolbar.jsx +612 -0
  72. package/project/client/components/middle/actor-editor/middle-actor-editor-view.jsx +157 -0
  73. package/project/client/components/middle/actor-editor/middle-actor-editor.jsx +38 -0
  74. package/project/client/components/middle/addresses/helpers/stage-filter.js +32 -0
  75. package/project/client/components/middle/addresses/middle-addresses-toolbar.jsx +183 -0
  76. package/project/client/components/middle/addresses/middle-addresses-view-client-address.jsx +67 -0
  77. package/project/client/components/middle/addresses/middle-addresses-view-client-interface.jsx +68 -0
  78. package/project/client/components/middle/addresses/middle-addresses-view-dns.jsx +67 -0
  79. package/project/client/components/middle/addresses/middle-addresses-view-dst.jsx +67 -0
  80. package/project/client/components/middle/addresses/middle-addresses-view-network-interface.jsx +67 -0
  81. package/project/client/components/middle/addresses/middle-addresses-view-ports.jsx +67 -0
  82. package/project/client/components/middle/addresses/middle-addresses-view-server-address.jsx +68 -0
  83. package/project/client/components/middle/addresses/middle-addresses-view-server-interface.jsx +68 -0
  84. package/project/client/components/middle/addresses/middle-addresses-view-src.jsx +67 -0
  85. package/project/client/components/middle/addresses/middle-addresses-view-srv.jsx +67 -0
  86. package/project/client/components/middle/addresses/middle-addresses-view-sut-address.jsx +67 -0
  87. package/project/client/components/middle/addresses/middle-addresses-view-sut-interface.jsx +67 -0
  88. package/project/client/components/middle/addresses/middle-addresses-view.jsx +155 -0
  89. package/project/client/components/middle/addresses/middle-addresses.jsx +39 -0
  90. package/project/client/components/middle/content/middle-content-toolbar.jsx +135 -0
  91. package/project/client/components/middle/content/middle-content-view-audio.jsx +60 -0
  92. package/project/client/components/middle/content/middle-content-view-documents.jsx +60 -0
  93. package/project/client/components/middle/content/middle-content-view-image.jsx +60 -0
  94. package/project/client/components/middle/content/middle-content-view-other.jsx +60 -0
  95. package/project/client/components/middle/content/middle-content-view-text.jsx +60 -0
  96. package/project/client/components/middle/content/middle-content-view-video.jsx +60 -0
  97. package/project/client/components/middle/content/middle-content-view.jsx +111 -0
  98. package/project/client/components/middle/content/middle-content.jsx +39 -0
  99. package/project/client/components/middle/middle-not-found.jsx +24 -0
  100. package/project/client/components/middle/middle-sut-fut-filter.jsx +90 -0
  101. package/project/client/components/middle/middle.jsx +90 -0
  102. package/project/client/components/middle/middle_sidebar.jsx +256 -0
  103. package/project/client/components/middle/plugins/middle-plugins.jsx +64 -0
  104. package/project/client/components/middle/plus-services/middle-plus-services.jsx +63 -0
  105. package/project/client/components/middle/repos/middle-repos-toolbar.jsx +137 -0
  106. package/project/client/components/middle/repos/middle-repos-view.jsx +47 -0
  107. package/project/client/components/middle/repos/middle-repos.jsx +36 -0
  108. package/project/client/components/middle/stack-editor/middle-stack-editor-sidebar.jsx +101 -0
  109. package/project/client/components/middle/stack-editor/middle-stack-editor-toolbar.jsx +525 -0
  110. package/project/client/components/middle/stack-editor/middle-stack-editor-view.jsx +156 -0
  111. package/project/client/components/middle/stack-editor/middle-stack-editor.jsx +38 -0
  112. package/project/client/components/middle/staging/helper.js +58 -0
  113. package/project/client/components/middle/staging/middle-staging-modal-interface-create.jsx +244 -0
  114. package/project/client/components/middle/staging/middle-staging-modal-interface-delete.jsx +186 -0
  115. package/project/client/components/middle/staging/middle-staging-toolbar.jsx +267 -0
  116. package/project/client/components/middle/staging/middle-staging-view.jsx +67 -0
  117. package/project/client/components/middle/staging/middle-staging.jsx +40 -0
  118. package/project/client/components/middle/staging/tabs/middle-staging-tab-logical.jsx +27 -0
  119. package/project/client/components/middle/staging/tabs/middle-staging-tab-report.jsx +62 -0
  120. package/project/client/components/middle/staging/tabs/middle-staging-tab-repos.jsx +96 -0
  121. package/project/client/components/middle/staging/tabs/middle-staging-tab-setup.jsx +73 -0
  122. package/project/client/components/middle/start/middle-start-toolbar.jsx +134 -0
  123. package/project/client/components/middle/start/middle-start-view.jsx +335 -0
  124. package/project/client/components/middle/start/middle-start.jsx +36 -0
  125. package/project/client/components/middle/system-under-test/middle-system-under-test-toolbar.jsx +171 -0
  126. package/project/client/components/middle/system-under-test/middle-system-under-test-view-multi.jsx +119 -0
  127. package/project/client/components/middle/system-under-test/middle-system-under-test-view-single.jsx +85 -0
  128. package/project/client/components/middle/system-under-test/middle-system-under-test.jsx +40 -0
  129. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-instances.jsx +164 -0
  130. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-nodes.jsx +160 -0
  131. package/project/client/components/middle/system-under-test/tabs/middle-system-under-test-tab-specification.jsx +463 -0
  132. package/project/client/components/middle/test-cases/general-helpers/actors-sorting.js +52 -0
  133. package/project/client/components/middle/test-cases/middle-test-cases-not-found.jsx +51 -0
  134. package/project/client/components/middle/test-cases/middle-test-cases-toolbar.jsx +804 -0
  135. package/project/client/components/middle/test-cases/middle-test-cases-view-columns.jsx +222 -0
  136. package/project/client/components/middle/test-cases/middle-test-cases-view-fut.jsx +105 -0
  137. package/project/client/components/middle/test-cases/middle-test-cases-view-recent.jsx +74 -0
  138. package/project/client/components/middle/test-cases/middle-test-cases-view-sut.jsx +98 -0
  139. package/project/client/components/middle/test-cases/middle-test-cases-view-tc.jsx +108 -0
  140. package/project/client/components/middle/test-cases/middle-test-cases-view-test-case.jsx +104 -0
  141. package/project/client/components/middle/test-cases/middle-test-cases.jsx +59 -0
  142. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-analyze.jsx +289 -0
  143. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-debug.jsx +699 -0
  144. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-definition.jsx +103 -0
  145. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-execution.jsx +321 -0
  146. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-log.jsx +150 -0
  147. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-sequence-diagram.jsx +160 -0
  148. package/project/client/components/middle/test-cases/tabs/middle-test-cases-tab-specification.jsx +472 -0
  149. package/project/client/components/middle/test-data/middle-test-data-toolbar.jsx +135 -0
  150. package/project/client/components/middle/test-data/middle-test-data-view-environment.jsx +64 -0
  151. package/project/client/components/middle/test-data/middle-test-data-view-general.jsx +61 -0
  152. package/project/client/components/middle/test-data/middle-test-data-view-output.jsx +60 -0
  153. package/project/client/components/middle/test-data/middle-test-data-view-system.jsx +61 -0
  154. package/project/client/components/middle/test-data/middle-test-data-view.jsx +98 -0
  155. package/project/client/components/middle/test-data/middle-test-data.jsx +39 -0
  156. package/project/client/components/middle/test-suites/middle-test-suites-toolbar.jsx +524 -0
  157. package/project/client/components/middle/test-suites/middle-test-suites-view-columns.jsx +222 -0
  158. package/project/client/components/middle/test-suites/middle-test-suites-view-fut.jsx +105 -0
  159. package/project/client/components/middle/test-suites/middle-test-suites-view-recent.jsx +74 -0
  160. package/project/client/components/middle/test-suites/middle-test-suites-view-sut.jsx +96 -0
  161. package/project/client/components/middle/test-suites/middle-test-suites-view-test-suite.jsx +593 -0
  162. package/project/client/components/middle/test-suites/middle-test-suites-view-ts.jsx +109 -0
  163. package/project/client/components/middle/test-suites/middle-test-suites.jsx +55 -0
  164. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-definition.jsx +74 -0
  165. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-execution.jsx +544 -0
  166. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-log.jsx +118 -0
  167. package/project/client/components/middle/test-suites/tabs/middle-test-suites-tab-sequence-diagram.jsx +155 -0
  168. package/project/client/components/middle/user/middle-user-toolbar.jsx +32 -0
  169. package/project/client/components/middle/user/middle-user-view.jsx +32 -0
  170. package/project/client/components/middle/user/middle-user.jsx +39 -0
  171. package/project/client/components/middle/videos/middle-videos-view.jsx +135 -0
  172. package/project/client/components/middle/videos/middle-videos.jsx +32 -0
  173. package/project/client/css/components/component-video.css +15 -0
  174. package/project/client/css/components/modal-dialog-file.css +4 -0
  175. package/project/client/css/footer/footer-info.css +18 -0
  176. package/project/client/css/footer/footer-logo.css +39 -0
  177. package/project/client/css/from-code-editor/sidebar-dark.css +20 -0
  178. package/project/client/css/from-code-editor/sidebar-light.css +18 -0
  179. package/project/client/css/from-code-editor/tab.css +19 -0
  180. package/project/client/css/from-code-editor/tab_dark.css +9 -0
  181. package/project/client/css/from-code-editor/tab_light.css +9 -0
  182. package/project/client/css/from-code-editor/view-dark.css +11 -0
  183. package/project/client/css/from-code-editor/view-light.css +10 -0
  184. package/project/client/css/header/header-status.css +114 -0
  185. package/project/client/css/header/header.css +16 -0
  186. package/project/client/css/log-inner.css +46 -0
  187. package/project/client/css/main.css +4 -0
  188. package/project/client/css/middle/actor-editor.css +30 -0
  189. package/project/client/css/middle/address.css +57 -0
  190. package/project/client/css/middle/content.css +41 -0
  191. package/project/client/css/middle/login.css +118 -0
  192. package/project/client/css/middle/middle-start.css +5 -0
  193. package/project/client/css/middle/middle.css +13 -0
  194. package/project/client/css/middle/middle_sidebar.css +44 -0
  195. package/project/client/css/middle/middle_view.css +41 -0
  196. package/project/client/css/middle/stack-editor.css +30 -0
  197. package/project/client/css/middle/start/middle_start.css +94 -0
  198. package/project/client/css/middle/systems-under-test/systems-under-test-specification.css +48 -0
  199. package/project/client/css/middle/systems-under-test/systems-under-test.css +49 -0
  200. package/project/client/css/middle/test-case-and-test-suite/analyze.css +5 -0
  201. package/project/client/css/middle/test-case-and-test-suite/debug.css +281 -0
  202. package/project/client/css/middle/test-case-and-test-suite/execution.css +7 -0
  203. package/project/client/css/middle/test-case-and-test-suite/log.css +13 -0
  204. package/project/client/css/middle/test-case-and-test-suite/seq-dia.css +13 -0
  205. package/project/client/css/middle/test-cases/test-cases-analyze.css +9 -0
  206. package/project/client/css/middle/test-cases/test-cases-debug.css +61 -0
  207. package/project/client/css/middle/test-cases/test-cases-execution.css +4 -0
  208. package/project/client/css/middle/test-cases/test-cases-specification.css +82 -0
  209. package/project/client/css/middle/test-cases/test-cases.css +189 -0
  210. package/project/client/css/middle/test-data.css +52 -0
  211. package/project/client/css/middle/test-suites.css +525 -0
  212. package/project/client/css/middle/videos/videos.css +37 -0
  213. package/project/client/css/middle_test_cases_screen.css +8 -0
  214. package/project/client/css/middle_toolbar.css +10 -0
  215. package/project/client/css/repos.css +15 -0
  216. package/project/client/css/same_size_as_parent.css +6 -0
  217. package/project/client/css/test.css +116 -0
  218. package/project/client/html/index.html +61 -0
  219. package/project/client/main.jsx +59 -0
  220. package/project/client/stores/abbreviation-store.js +57 -0
  221. package/project/client/stores/actor-editor-store.js +758 -0
  222. package/project/client/stores/addresses-store.js +419 -0
  223. package/project/client/stores/console-store.js +27 -0
  224. package/project/client/stores/content-store.js +237 -0
  225. package/project/client/stores/documentation-store.js +14 -0
  226. package/project/client/stores/education-store.js +14 -0
  227. package/project/client/stores/filter-store.js +30 -0
  228. package/project/client/stores/function-under-test-store.js +58 -0
  229. package/project/client/stores/load-store.js +92 -0
  230. package/project/client/stores/login-store.js +232 -0
  231. package/project/client/stores/plugins-store.js +255 -0
  232. package/project/client/stores/plus-services-store.js +267 -0
  233. package/project/client/stores/repos-store.js +160 -0
  234. package/project/client/stores/stack-editor-store.js +691 -0
  235. package/project/client/stores/system-under-test-store.js +340 -0
  236. package/project/client/stores/test-case-store.js +1118 -0
  237. package/project/client/stores/test-cases-store.js +106 -0
  238. package/project/client/stores/test-data-store.js +181 -0
  239. package/project/client/stores/test-suite-store.js +438 -0
  240. package/project/client/stores/test-suites-store.js +86 -0
  241. package/project/client/stores/workshop-store.js +15 -0
  242. package/project/server/os/os-hardware.js +83 -0
  243. package/project/server/os/os-networks.js +50 -0
  244. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorBuild.js +185 -0
  245. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileDelete.js +21 -0
  246. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileGet.js +18 -0
  247. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineGet.js +60 -0
  248. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileInlineUpdate.js +69 -0
  249. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileNew.js +396 -0
  250. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileRename.js +28 -0
  251. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFileUpdate.js +18 -0
  252. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderDelete.js +21 -0
  253. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderNew.js +19 -0
  254. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorFolderUpdate.js +19 -0
  255. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectGet.js +77 -0
  256. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectToggle.js +18 -0
  257. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorProjectUpdate.js +22 -0
  258. package/project/server/plugin-data/actor-editor/plugin_data_ActorEditorStacksGet.js +54 -0
  259. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressGet.js +19 -0
  260. package/project/server/plugin-data/addresses/plugin_data_AddressesClientAddressUpdate.js +19 -0
  261. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceGet.js +19 -0
  262. package/project/server/plugin-data/addresses/plugin_data_AddressesClientInterfaceUpdate.js +19 -0
  263. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsGet.js +20 -0
  264. package/project/server/plugin-data/addresses/plugin_data_AddressesDnsUpdate.js +19 -0
  265. package/project/server/plugin-data/addresses/plugin_data_AddressesDstGet.js +19 -0
  266. package/project/server/plugin-data/addresses/plugin_data_AddressesDstUpdate.js +19 -0
  267. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceGet.js +19 -0
  268. package/project/server/plugin-data/addresses/plugin_data_AddressesNetworkInterfaceUpdate.js +19 -0
  269. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsGet.js +19 -0
  270. package/project/server/plugin-data/addresses/plugin_data_AddressesPortsUpdate.js +19 -0
  271. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressGet.js +19 -0
  272. package/project/server/plugin-data/addresses/plugin_data_AddressesServerAddressUpdate.js +19 -0
  273. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceGet.js +19 -0
  274. package/project/server/plugin-data/addresses/plugin_data_AddressesServerInterfaceUpdate.js +19 -0
  275. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcGet.js +38 -0
  276. package/project/server/plugin-data/addresses/plugin_data_AddressesSrcUpdate.js +19 -0
  277. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvGet.js +19 -0
  278. package/project/server/plugin-data/addresses/plugin_data_AddressesSrvUpdate.js +19 -0
  279. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressGet.js +19 -0
  280. package/project/server/plugin-data/addresses/plugin_data_AddressesSutAddressUpdate.js +19 -0
  281. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceGet.js +19 -0
  282. package/project/server/plugin-data/addresses/plugin_data_AddressesSutInterfaceUpdate.js +19 -0
  283. package/project/server/plugin-data/console/plugin_data_ConsoleClear.js +20 -0
  284. package/project/server/plugin-data/content/plugin_data_ContentAudioGet.js +19 -0
  285. package/project/server/plugin-data/content/plugin_data_ContentAudioUpdate.js +19 -0
  286. package/project/server/plugin-data/content/plugin_data_ContentDocumentsGet.js +19 -0
  287. package/project/server/plugin-data/content/plugin_data_ContentDocumentsUpdate.js +19 -0
  288. package/project/server/plugin-data/content/plugin_data_ContentImageGet.js +19 -0
  289. package/project/server/plugin-data/content/plugin_data_ContentImageUpdate.js +19 -0
  290. package/project/server/plugin-data/content/plugin_data_ContentOtherGet.js +19 -0
  291. package/project/server/plugin-data/content/plugin_data_ContentOtherUpdate.js +19 -0
  292. package/project/server/plugin-data/content/plugin_data_ContentTextGet.js +19 -0
  293. package/project/server/plugin-data/content/plugin_data_ContentTextUpdate.js +19 -0
  294. package/project/server/plugin-data/content/plugin_data_ContentVideoGet.js +19 -0
  295. package/project/server/plugin-data/content/plugin_data_ContentVideoUpdate.js +19 -0
  296. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestAdd.js +60 -0
  297. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestDelete.js +20 -0
  298. package/project/server/plugin-data/function-under-test/plugin_data_FunctionUnderTestGet.js +92 -0
  299. package/project/server/plugin-data/login/plugin_data_LoginButtonsAdd.js +18 -0
  300. package/project/server/plugin-data/login/plugin_data_LoginButtonsGet.js +18 -0
  301. package/project/server/plugin-data/login/plugin_data_LoginButtonsUpdate.js +18 -0
  302. package/project/server/plugin-data/login/plugin_data_LoginCreateInterfaces.js +73 -0
  303. package/project/server/plugin-data/login/plugin_data_LoginDataGet.js +88 -0
  304. package/project/server/plugin-data/login/plugin_data_LoginDeleteInterfaces.js +38 -0
  305. package/project/server/plugin-data/login/plugin_data_LoginGet.js +22 -0
  306. package/project/server/plugin-data/login/plugin_data_LoginPing.js +72 -0
  307. package/project/server/plugin-data/login/plugin_data_LoginReposGet.js +18 -0
  308. package/project/server/plugin-data/login/plugin_data_LoginUpdate.js +44 -0
  309. package/project/server/plugin-data/login/plugin_data_LoginWsGet.js +39 -0
  310. package/project/server/plugin-data/plugins/plugin_data_PluginsBundleGet.js +34 -0
  311. package/project/server/plugin-data/plugins/plugin_data_PluginsGet.js +26 -0
  312. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesBundleGet.js +34 -0
  313. package/project/server/plugin-data/plus-services/plugin_data_PlusServicesGet.js +78 -0
  314. package/project/server/plugin-data/repos/plugin_data_ReposAnalyzeLocalReposGet.js +142 -0
  315. package/project/server/plugin-data/repos/plugin_data_ReposClone.js +154 -0
  316. package/project/server/plugin-data/repos/plugin_data_ReposGet.js +18 -0
  317. package/project/server/plugin-data/repos/plugin_data_ReposVerifyGit.js +79 -0
  318. package/project/server/plugin-data/repos/repos.js +94 -0
  319. package/project/server/plugin-data/stack-editor/helpers/template.js +351 -0
  320. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorBuild.js +185 -0
  321. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileDelete.js +21 -0
  322. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileGet.js +18 -0
  323. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileNew.js +24 -0
  324. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileRename.js +27 -0
  325. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFileUpdate.js +18 -0
  326. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderDelete.js +21 -0
  327. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderNew.js +19 -0
  328. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorFolderUpdate.js +19 -0
  329. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectGet.js +77 -0
  330. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectToggle.js +18 -0
  331. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorProjectUpdate.js +22 -0
  332. package/project/server/plugin-data/stack-editor/plugin_data_StackEditorWizard.js +43 -0
  333. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestAdd.js +72 -0
  334. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestDelete.js +20 -0
  335. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestGet.js +138 -0
  336. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestInstancesUpdate.js +21 -0
  337. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestNodesUpdate.js +21 -0
  338. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoAdd.js +46 -0
  339. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestRepoGet.js +57 -0
  340. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestSpecificationUpdate.js +21 -0
  341. package/project/server/plugin-data/system-under-test/plugin_data_SystemUnderTestUpdate.js +24 -0
  342. package/project/server/plugin-data/test-case/debug.js +39 -0
  343. package/project/server/plugin-data/test-case/debugger-api.js +398 -0
  344. package/project/server/plugin-data/test-case/debugger.js +129 -0
  345. package/project/server/plugin-data/test-case/plugin_data_TestCaseActorsFileGet.js +26 -0
  346. package/project/server/plugin-data/test-case/plugin_data_TestCaseAdd.js +74 -0
  347. package/project/server/plugin-data/test-case/plugin_data_TestCaseAnalyze.js +451 -0
  348. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsAdd.js +19 -0
  349. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsGet.js +19 -0
  350. package/project/server/plugin-data/test-case/plugin_data_TestCaseButtonsUpdate.js +19 -0
  351. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClear.js +56 -0
  352. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointClearAll.js +23 -0
  353. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointSet.js +118 -0
  354. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugBreakpointUpdate.js +84 -0
  355. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGet.js +40 -0
  356. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetMembers.js +40 -0
  357. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetProperty.js +47 -0
  358. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugGetSource.js +29 -0
  359. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugLoad.js +35 -0
  360. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugRun.js +52 -0
  361. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStart.js +217 -0
  362. package/project/server/plugin-data/test-case/plugin_data_TestCaseDebugStop.js +23 -0
  363. package/project/server/plugin-data/test-case/plugin_data_TestCaseDelete.js +20 -0
  364. package/project/server/plugin-data/test-case/plugin_data_TestCaseExecutionStart.js +73 -0
  365. package/project/server/plugin-data/test-case/plugin_data_TestCaseGet.js +118 -0
  366. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentDelete.js +57 -0
  367. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentGet.js +20 -0
  368. package/project/server/plugin-data/test-case/plugin_data_TestCaseRecentUpdate.js +62 -0
  369. package/project/server/plugin-data/test-case/plugin_data_TestCaseRename.js +43 -0
  370. package/project/server/plugin-data/test-case/plugin_data_TestCaseSpecificationUpdate.js +21 -0
  371. package/project/server/plugin-data/test-case/plugin_data_TestCaseStacksGet.js +54 -0
  372. package/project/server/plugin-data/test-case/plugin_data_TestCaseUpdate.js +42 -0
  373. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentGet.js +72 -0
  374. package/project/server/plugin-data/test-data/plugin_data_TestDataEnvironmentUpdate.js +19 -0
  375. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralGet.js +19 -0
  376. package/project/server/plugin-data/test-data/plugin_data_TestDataGeneralUpdate.js +19 -0
  377. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputGet.js +19 -0
  378. package/project/server/plugin-data/test-data/plugin_data_TestDataOutputUpdate.js +19 -0
  379. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemGet.js +19 -0
  380. package/project/server/plugin-data/test-data/plugin_data_TestDataSystemUpdate.js +19 -0
  381. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteAdd.js +51 -0
  382. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsAdd.js +19 -0
  383. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsGet.js +18 -0
  384. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteButtonsUpdate.js +18 -0
  385. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteDelete.js +20 -0
  386. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteExecutionStart.js +401 -0
  387. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteGet.js +110 -0
  388. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentDelete.js +54 -0
  389. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentGet.js +18 -0
  390. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteRecentUpdate.js +59 -0
  391. package/project/server/plugin-data/test-suite/plugin_data_TestSuiteUpdate.js +42 -0
  392. package/project/server/plugin-service/platform-fs/plugin_service_Platform-Fs.js +65 -0
  393. package/project/server/plugin-service/platform-fs/verify-or-create-files.js +57 -0
  394. package/repos.json +19 -0
  395. package/server-test-case.js +50 -0
  396. package/settings - Copy (2).json +77 -0
  397. package/settings.json +63 -0
  398. package/workspace/Bundle-AppLayer-client.bld +77 -0
  399. package/workspace/Bundle-AppLayer-cs.bld +37 -0
  400. package/workspace/Client-AppLayer-client-jsx.bld +10 -0
  401. package/workspace/Client-AppLayer-client.bld +10 -0
  402. package/workspace/Client-AppLayer-cs.bld +10 -0
  403. package/workspace/Server-AppLayer-cs.bld +12 -0
  404. package/workspace/Server-AppLayer-server.bld +12 -0
  405. package/workspace/actorjs.wrk +336 -0
  406. package/workspace/clean-all.tsk +11 -0
  407. package/workspace/clean-build.tsk +8 -0
  408. package/workspace/clean-compiled.tsk +9 -0
  409. package/workspace/clean-dist.tsk +7 -0
  410. package/workspace/clean-generated.tsk +7 -0
  411. package/workspace/clean-node.tsk +7 -0
  412. package/workspace/clean-temp.tsk +7 -0
  413. package/workspace/client-css-actorjs-bundle.bld +10 -0
  414. package/workspace/list-debug.tsk +4 -0
  415. package/workspace/list-default.tsk +4 -0
  416. package/workspace/list-redebug.tsk +4 -0
  417. package/workspace/list-release.tsk +4 -0
  418. package/workspace/list-rerelease.tsk +4 -0
  419. package/workspace/list-start.tsk +4 -0
  420. package/workspace/server-html-rc.bld +10 -0
  421. package/workspace/server-image-actorjs-rc.bld +9 -0
  422. package/workspace/simple-help.tsk +5 -0
  423. package/workspace/simple-help.txt +39 -0
@@ -0,0 +1,525 @@
1
+
2
+ 'use strict';
3
+
4
+ import StackEditorStore from '../../../stores/stack-editor-store';
5
+ import { ActionStackEditorPersistentDataUpdate } from '../../../actions/action-stack-editor/action-stack-editor-persistent-data';
6
+ import { ActionStackEditorProjectUpdate, ActionStackEditorWizard } from '../../../actions/action-stack-editor/action-stack-editor-project';
7
+ import { ActionStackEditorFolderNew, ActionStackEditorFolderAdd, ActionStackEditorFolderUpdate, ActionStackEditorFolderRemove, ActionStackEditorFolderDelete } from '../../../actions/action-stack-editor/action-stack-editor-folder';
8
+ import { ActionStackEditorFileNew, ActionStackEditorFileAdd, ActionStackEditorFileRename, ActionStackEditorFileUpdate, ActionStackEditorFileUpdateAll, ActionStackEditorFileRemove, ActionStackEditorFileDelete, ActionStackEditorBuild } from '../../../actions/action-stack-editor/action-stack-editor-file';
9
+ import ModalDialogStore from 'z-abs-complayer-modaldialog-client/client/stores/modal-dialog-store';
10
+ import { ActionModalDialogShow, ActionModalDialogHide, ActionModalDialogPending, ActionModalDialogResult } from 'z-abs-complayer-modaldialog-client/client/actions/action-modal-dialog';
11
+ import ButtonNew from 'z-abs-complayer-bootstrap-client/client/button-new';
12
+ import ModalDialogWizard from 'z-abs-complayer-modaldialog-client/client/modal-dialog-wizard';
13
+ import ModalDialogWizardList from 'z-abs-complayer-modaldialog-client/client/modal-dialog-wizard-list';
14
+ import ModalDialogFolderAdd from 'z-abs-complayer-modaldialog-client/client/modal-dialog-folder-add';
15
+ import ModalDialogFolderNew from 'z-abs-complayer-modaldialog-client/client/modal-dialog-folder-new';
16
+ import ModalDialogFolderProperties from 'z-abs-complayer-modaldialog-client/client/modal-dialog-folder-properties';
17
+ import ModalDialogFolderRemove from 'z-abs-complayer-modaldialog-client/client/modal-dialog-folder-remove';
18
+ import ModalDialogFileAdd from 'z-abs-complayer-modaldialog-client/client/modal-dialog-file-add';
19
+ import ModalDialogFileNew from 'z-abs-complayer-modaldialog-client/client/modal-dialog-file-new';
20
+ import ModalDialogFileProperties from 'z-abs-complayer-modaldialog-client/client/modal-dialog-file-properties';
21
+ import ModalDialogFileRemove from 'z-abs-complayer-modaldialog-client/client/modal-dialog-file-remove';
22
+ import { ActionDialogFileGet, ActionDialogFileSet } from 'z-abs-corelayer-client/client/actions/action-dialog-file';
23
+ import DialogFileStore from 'z-abs-corelayer-client/client/stores/dialog-file-store';
24
+ import ReactComponentRealtime from 'z-abs-corelayer-client/client/react-component/react-component-realtime';
25
+ import React from 'react';
26
+
27
+
28
+ export default class MiddleStackEditorToolbar extends ReactComponentRealtime {
29
+ constructor(props) {
30
+ super(props, [StackEditorStore, ModalDialogStore, DialogFileStore]);
31
+ this._modalDialogStackWizard = null;
32
+ this.boundKeyDown = this._keyDown.bind(this);
33
+ this.buttonFileSaveDisabled = true;
34
+ this.buttonFileSaveAllDisabled = true;
35
+ }
36
+
37
+ static TEMPLATE_STACK_DATA = [
38
+ {name: 'Client Connection', type:'js', icon: ''},
39
+ {name: 'Server Connection', type:'js', icon: ''},
40
+ {name: 'Encoder', type:'js', icon: ''},
41
+ {name: 'Decoder', type:'js', icon: ''},
42
+ {name: 'Msg', type:'js', icon: ''},
43
+ {name: 'Const', type:'js', icon: ''},
44
+ {name: 'Inner Log', type:'js', icon: ''},
45
+ {name: 'Style', type:'js', icon: ''},
46
+ {name: 'Api', type:'js', icon: ''},
47
+ {name: 'Client Connection Options', type:'js', icon: ''},
48
+ {name: 'Server Connection Options', type:'js', icon: ''}
49
+ ];
50
+ static TEMPLATE_TYPES_STACK = ['js', 'js', 'js', 'js', 'js', 'js', 'js', 'js', 'js', 'js', 'js'];
51
+ static TEMPLATE_DATAS = MiddleStackEditorToolbar.TEMPLATE_STACK_DATA.concat([
52
+ {name: 'Class [class js file]', type:'js', icon: ''},
53
+ {name: 'None [empty js file]', type:'js', icon: ''}
54
+ ]);
55
+
56
+ didMount() {
57
+ window.addEventListener('keydown', this.boundKeyDown, true);
58
+ }
59
+
60
+ shouldUpdate(nextProps, nextState) {
61
+ return !this.shallowCompare(this.state.StackEditorStore.projectLocal, nextState.StackEditorStore.projectLocal)
62
+ || !this.shallowCompare(this.state.StackEditorStore.projectGlobal, nextState.StackEditorStore.projectGlobal)
63
+ || !this.shallowCompare(this.state.StackEditorStore.current, nextState.StackEditorStore.current)
64
+ || !this.shallowCompareMapValues(this.state.StackEditorStore.files, nextState.StackEditorStore.files)
65
+ || !this.shallowCompare(this.state.StackEditorStore.persistentData, nextState.StackEditorStore.persistentData)
66
+ || !this.shallowCompare(this.state.StackEditorStore.build, nextState.StackEditorStore.build)
67
+ || !this.shallowCompareMapValues(this.state.ModalDialogStore.modalResults, nextState.ModalDialogStore.modalResults)
68
+ || !this.shallowCompare(this.state.DialogFileStore.project, nextState.DialogFileStore.project)
69
+ || !this.shallowCompare(this.state.DialogFileStore.current, nextState.DialogFileStore.current)
70
+ || !this.shallowCompare(this.state.DialogFileStore.original, nextState.DialogFileStore.original);
71
+ }
72
+
73
+ willUnmount() {
74
+ window.removeEventListener('keydown', this.boundKeyDown, true);
75
+ }
76
+
77
+ _fileSave() {
78
+ this.dispatch(StackEditorStore, new ActionStackEditorFileUpdate(this.state.StackEditorStore.current.file.key));
79
+ }
80
+
81
+ _fileSaveAll() {
82
+ const keys = [];
83
+ this.state.StackEditorStore.files.forEach((file) => {
84
+ if(file.codeChanged) {
85
+ keys.push(file.key);
86
+ }
87
+ });
88
+ this.dispatch(StackEditorStore, new ActionStackEditorFileUpdateAll(keys));
89
+ }
90
+
91
+ _keyDown(e) {
92
+ if(e.ctrlKey && e.shiftKey && 'S' === e.key) {
93
+ if(!this.buttonFileSaveAllDisabled) {
94
+ e.preventDefault();
95
+ this._fileSaveAll();
96
+ }
97
+ }
98
+ if(e.ctrlKey && 's' === e.key) {
99
+ if(!this.buttonFileSaveDisabled) {
100
+ e.preventDefault();
101
+ this._fileSave();
102
+ }
103
+ }
104
+ }
105
+
106
+ renderButtonSaveProject() {
107
+ const disabled = this.state.StackEditorStore.projectGlobal.isSaved() && this.state.StackEditorStore.projectLocal.isSaved();
108
+ return (
109
+ <ButtonNew id="stack_editor_project_save" colorMark="markup_color" icon="icon-project-save" size="aj_btn_sm" placement="bottom" heading="Save" content="Project" disabled={disabled}
110
+ onClick={(e) => {
111
+ if(!this.state.StackEditorStore.projectGlobal.isSaved()) {
112
+ this.dispatch(StackEditorStore, new ActionStackEditorProjectUpdate(this.state.StackEditorStore.projectGlobal.projectId));
113
+ }
114
+ if(!this.state.StackEditorStore.projectLocal.isSaved()) {
115
+ this.dispatch(StackEditorStore, new ActionStackEditorProjectUpdate(this.state.StackEditorStore.projectLocal.projectId));
116
+ }
117
+ }}
118
+ />
119
+ );
120
+ }
121
+
122
+ renderButtonFolderNew() {
123
+ const disabled = 'folder' !== this.state.StackEditorStore.current.type || '.' === this.state.StackEditorStore.current.folder?.data.path;
124
+ return (
125
+ <ButtonNew id="stack_editor_folder_new" colorMark="markup_color" icon="icon-folder-new" size="aj_btn_sm" placement="bottom" heading="New" content="Folder" disabled={disabled}
126
+ onClick={(e) => {
127
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_Folder_New'));
128
+ }}
129
+ />
130
+ );
131
+ }
132
+
133
+ renderButtonFolderAdd() {
134
+ const disabled = 'folder' !== this.state.StackEditorStore.current.type;
135
+ return (
136
+ <ButtonNew id="stack_editor_folder_add" colorMark="markup_color" icon="icon-folder-add" size="aj_btn_sm" placement="bottom" heading="Add" content="Folder" disabled={disabled}
137
+ onClick={(e) => {
138
+ const folder = this.state.StackEditorStore.current.folder;
139
+ const dir = `${folder.data.path}/${folder.title}`;
140
+ const project = StackEditorStore.getProject(folder.projectId);
141
+ this.dispatch(DialogFileStore, new ActionDialogFileGet(dir, project.getRootName(), [dir], project.getFileNames(dir), 'folder'));
142
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_Folder_Add'));
143
+ }}
144
+ />
145
+ );
146
+ }
147
+
148
+ renderButtonStackWizard() {
149
+ return (
150
+ <ButtonNew id="stack_wizart" colorMark="markup_color" icon="icon-not-implemented" size="aj_btn_sm" placement="bottom" heading="Wizard" content="Stack" disabled={'folder' !== this.state.StackEditorStore.current.type || '.' !== this.state.StackEditorStore.current.folder.data.path}
151
+ onClick={(e) => {
152
+ this._modalDialogStackWizard.show(this.state.StackEditorStore.current.folder);
153
+ }}
154
+ />
155
+ );
156
+ }
157
+
158
+ renderButtonFolderProperties() {
159
+ return (
160
+ <ButtonNew id="stack_editor_folder_properties" colorMark="markup_color" icon="icon-folder-property" size="aj_btn_sm" placement="bottom" heading="Properties" content="Folder" disabled={'folder' !== this.state.StackEditorStore.current.type}
161
+ onClick={(e) => {
162
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_Folder_Properties'));
163
+ }}
164
+ />
165
+ );
166
+ }
167
+
168
+ renderButtonFolderDelete() {
169
+ const disabled = 'folder' !== this.state.StackEditorStore.current.type || !(this.state.StackEditorStore.projectGlobal.isSaved() && this.state.StackEditorStore.projectLocal.isSaved());
170
+ return (
171
+ <ButtonNew id="stack_editor_folder_delete" colorMark="markup_color" icon="icon-folder-delete" size="aj_btn_sm" placement="bottom" heading="Remove or Delete" content="Folder" disabled={disabled}
172
+ onClick={(e) => {
173
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_Folder_Remove'));
174
+ }}
175
+ />
176
+ );
177
+ }
178
+
179
+ renderButtonFileNew() {
180
+ return (
181
+ <ButtonNew id="stack_editor_file_new" colorMark="markup_color" icon="icon-file-new" size="aj_btn_sm" placement="bottom" heading="New" content="File" disabled={'folder' !== this.state.StackEditorStore.current.type}
182
+ onClick={(e) => {
183
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_File_New'));
184
+ }}
185
+ />
186
+ );
187
+ }
188
+
189
+ renderButtonFileAdd() {
190
+ return (
191
+ <ButtonNew id="stack_editor_file_add" colorMark="markup_color" icon="icon-file-add" size="aj_btn_sm" placement="bottom" heading="Add" content="File" disabled={'folder' !== this.state.StackEditorStore.current.type}
192
+ onClick={(e) => {
193
+ const folder = this.state.StackEditorStore.current.folder;
194
+ const dir = `${folder.data.path}/${folder.title}`;
195
+ const project = StackEditorStore.getProject(folder.projectId);
196
+ this.dispatch(DialogFileStore, new ActionDialogFileGet(dir, project.getRootName(), [dir], project.getFileNames(dir), 'file'));
197
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_File_Add'));
198
+ }}
199
+ />
200
+ );
201
+ }
202
+
203
+ renderButtonFileSave() {
204
+ this.buttonFileSaveDisabled = 'file' !== this.state.StackEditorStore.current.type || !this.state.StackEditorStore.current.file.codeChanged;
205
+ return (
206
+ <ButtonNew id="stack_editor_file_save" colorMark="markup_color" icon="icon-file-save" size="aj_btn_sm" placement="bottom" heading="Save" content="File" shortcut="Ctrl+S" disabled={this.buttonFileSaveDisabled}
207
+ onClick={(e) => {
208
+ this._fileSave();
209
+ }}
210
+ />
211
+ );
212
+ }
213
+
214
+ renderButtonFileSaveAll() {
215
+ this.buttonFileSaveAllDisabled = true;
216
+ this.state.StackEditorStore.files.forEach((file) => {
217
+ this.buttonFileSaveAllDisabled = this.buttonFileSaveAllDisabled && !file.codeChanged;
218
+ });
219
+ return (
220
+ <ButtonNew id="stack_editor_files_save" colorMark="markup_color" icon="icon-files-save" size="aj_btn_sm" placement="bottom" heading="Save" content="All Files" shortcut="Ctrl+Shift+S" disabled={this.buttonFileSaveAllDisabled}
221
+ onClick={(e) => {
222
+ this._fileSaveAll();
223
+ }}
224
+ />
225
+ );
226
+ }
227
+
228
+ renderButtonFileProperties() {
229
+ return (
230
+ <ButtonNew id="stack_editor_file_properties" colorMark="markup_color" icon="icon-file-property" size="aj_btn_sm" placement="bottom" heading="Properties" content="File" disabled={'file' !== this.state.StackEditorStore.current.type}
231
+ onClick={(e) => {
232
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_File_Properties'));
233
+ }}
234
+ />
235
+ );
236
+ }
237
+
238
+ renderButtonFileDelete() {
239
+ const disabled = ('file' !== this.state.StackEditorStore.current.type && 'invalid_file' !== this.state.StackEditorStore.current.type) || !(this.state.StackEditorStore.projectGlobal.isSaved() && this.state.StackEditorStore.projectLocal.isSaved());
240
+ return (
241
+ <ButtonNew id="stack_editor_file_delete" colorMark="markup_color" icon="icon-file-delete" size="aj_btn_sm" placement="bottom" heading="Remove or Delete" content="File" disabled={disabled}
242
+ onClick={(e) => {
243
+ this.dispatch(ModalDialogStore, new ActionModalDialogShow('Stack_File_Remove'));
244
+ }}
245
+ />
246
+ );
247
+ }
248
+
249
+ renderBuildButton() {
250
+ const result = this.state.StackEditorStore.build.result;
251
+ const success = this.state.StackEditorStore.build.success;
252
+ let className;
253
+ if(result) {
254
+ if(success) {
255
+ className = "stack_editor_success";
256
+ }
257
+ else {
258
+ className = "stack_editor_error";
259
+ }
260
+ }
261
+ return (
262
+ <ButtonNew id="stack_check" colorMark="markup_color" icon="icon-not-implemented" size="aj_btn_sm" className={className} placement="bottom" heading="Check" content="Code" disabled={'file' !== this.state.StackEditorStore.current.type}
263
+ onClick={(e) => {
264
+ this.dispatch(StackEditorStore, new ActionStackEditorBuild());
265
+ }}
266
+ />
267
+ );
268
+ }
269
+
270
+ renderModalDialogFolderNew() {
271
+ const name = 'Stack_Folder_New';
272
+ return (
273
+ <ModalDialogFolderNew name={name} folder={this.state.StackEditorStore.current.folder} heading="New Folder" modalResults={this.state.ModalDialogStore.modalResults}
274
+ onFolderNew={(projectId, key, title, data) => {
275
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
276
+ this.dispatch(StackEditorStore, new ActionStackEditorFolderNew(projectId, key, title, data), (response) => {
277
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
278
+ });
279
+ }}
280
+ onHide={() => {
281
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
282
+ }}
283
+ />
284
+ );
285
+ }
286
+
287
+ renderModalDialogFolderAdd() {
288
+ const name = 'Stack_Folder_Add';
289
+ const folder = this.state.StackEditorStore.current.folder;
290
+ const projectId = folder !== null ? folder.projectId : null;
291
+ return (
292
+ <ModalDialogFolderAdd name={name} heading="Add Folder" folder={this.state.StackEditorStore.current.folder} project={this.state.DialogFileStore.project} current={this.state.DialogFileStore.current} original={this.state.DialogFileStore.original} modalResults={this.state.ModalDialogStore.modalResults}
293
+ onAdd={(projectId, title, data) => {
294
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
295
+ this.dispatch(StackEditorStore, new ActionStackEditorFolderAdd(projectId, title, data));
296
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, {
297
+ code: 'success',
298
+ error: null,
299
+ msg: ''
300
+ }));
301
+ }}
302
+ onChoose={(path) => {
303
+ this.dispatch(DialogFileStore, new ActionDialogFileSet(path));
304
+ }}
305
+ onHide={() => {
306
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
307
+ }}
308
+ />
309
+ );
310
+ }
311
+
312
+ renderModalDialogFolderProperties() {
313
+ const name = 'Stack_Folder_Properties';
314
+ return (
315
+ <ModalDialogFolderProperties name={name} folder={this.state.StackEditorStore.current.folder} heading="Folder Properties" modalResults={this.state.ModalDialogStore.modalResults}
316
+ onFolderProperties={(projectId, title, newTitle, data) => {
317
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
318
+ this.dispatch(StackEditorStore, new ActionStackEditorFolderUpdate(projectId, title, newTitle, data), (response) => {
319
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
320
+ });
321
+ }}
322
+ onHide={() => {
323
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
324
+ }}
325
+ />
326
+ );
327
+ }
328
+
329
+ renderModalDialogFolderRemove() {
330
+ const name = 'Stack_Folder_Remove';
331
+ return (
332
+ <ModalDialogFolderRemove name={name} folder={this.state.StackEditorStore.current.folder} heading="Remove or Delete Folder" modalResults={this.state.ModalDialogStore.modalResults}
333
+ onFolderRemove={(projectId, title, key, data) => {
334
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
335
+ this.dispatch(StackEditorStore, new ActionStackEditorFolderRemove(projectId, title, key, data));
336
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, {
337
+ code: 'success',
338
+ error: null,
339
+ msg: ''
340
+ }));
341
+ }}
342
+ onFolderDelete={(projectId, path, title, key) => {
343
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
344
+ this.dispatch(StackEditorStore, new ActionStackEditorFolderDelete(projectId, path, title, key), (response) => {
345
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
346
+ });
347
+ }}
348
+ onHide={() => {
349
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
350
+ }}
351
+ />
352
+ );
353
+ }
354
+
355
+ renderModalDialogFileNew() {
356
+ const name = 'Stack_File_New';
357
+ return (
358
+ <ModalDialogFileNew name={name} fileType heading="New Stack File" folder={this.state.StackEditorStore.current.folder} templateNames={MiddleStackEditorToolbar.TEMPLATE_DATAS} modalResults={this.state.ModalDialogStore.modalResults}
359
+ onFileNew={(projectId, path, title, type, templateName) => {
360
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
361
+ this.dispatch(StackEditorStore, new ActionStackEditorFileNew(projectId, path, title, type, templateName), (response) => {
362
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
363
+ });
364
+ }}
365
+ onHide={() => {
366
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
367
+ }}
368
+ />
369
+ );
370
+ }
371
+
372
+ renderModalDialogStackWizard() {
373
+ let chosenTransportName = 'tcp';
374
+ return (
375
+ <ModalDialogWizard ref={(c) => this._modalDialogStackWizard = c} heading="Stack Wizard" namePlaceHolder="stack name" result={'result'} templateNames={MiddleStackEditorToolbar.TEMPLATE_STACK_DATA}
376
+ onWizardNew={(projectId, path, title) => {
377
+ this.dispatch(StackEditorStore, new ActionStackEditorWizard(projectId, path, title, MiddleStackEditorToolbar.TEMPLATE_TYPES_STACK, MiddleStackEditorToolbar.TEMPLATE_STACK_DATA, chosenTransportName));
378
+ }}
379
+ onClear={() => {}}
380
+ >
381
+ <ModalDialogWizardList listName={chosenTransportName} listNames={['tcp', 'udp']}
382
+ onChosenList={(listName) => {
383
+ chosenTransportName = listName;
384
+ }}
385
+ />
386
+ </ModalDialogWizard>
387
+ );
388
+ }
389
+
390
+ renderModalDialogFileAdd() {
391
+ const name = 'Stack_File_Add';
392
+ const folder = this.state.StackEditorStore.current.folder;
393
+ const projectId = folder !== null ? folder.projectId : null;
394
+ return (
395
+ <ModalDialogFileAdd name={name} heading="Add Stack File" folder={this.state.StackEditorStore.current.folder} project={this.state.DialogFileStore.project} current={this.state.DialogFileStore.current} original={this.state.DialogFileStore.original} modalResults={this.state.ModalDialogStore.modalResults}
396
+ onAdd={(projectId, title, path, type) => {
397
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
398
+ this.dispatch(StackEditorStore, new ActionStackEditorFileAdd(projectId, title, path, type));
399
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, {
400
+ code: 'success',
401
+ error: null,
402
+ msg: ''
403
+ }));
404
+ }}
405
+ onChoose={(path) => {
406
+ this.dispatch(DialogFileStore, new ActionDialogFileSet(path));
407
+ }}
408
+ onHide={() => {
409
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
410
+ }}
411
+ />
412
+ );
413
+ }
414
+
415
+ renderModalDialogFileProperties() {
416
+ const name = 'Stack_File_Properties';
417
+ return (
418
+ <ModalDialogFileProperties name={name} heading="File Properties" file={this.state.StackEditorStore.current.file} modalResults={this.state.ModalDialogStore.modalResults}
419
+ onFileProperties={(projectId, path, title, newTitle) => {
420
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
421
+ this.dispatch(StackEditorStore, new ActionStackEditorFileRename(projectId, path, title, newTitle), (response) => {
422
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
423
+ });
424
+ }}
425
+ onHide={() => {
426
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
427
+ }}
428
+ />
429
+ );
430
+ }
431
+
432
+ renderModalDialogFileRemove() {
433
+ const name = 'Stack_File_Remove';
434
+ return (
435
+ <ModalDialogFileRemove name={name} file={this.state.StackEditorStore.current.file} doDelete={'invalid_file' !== this.state.StackEditorStore.current.type} heading="Remove or Delete Stack File" modalResults={this.state.ModalDialogStore.modalResults}
436
+ onFileRemove={(projectId, key) => {
437
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
438
+ this.dispatch(StackEditorStore, new ActionStackEditorFileRemove(projectId, key));
439
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, {
440
+ code: 'success',
441
+ error: null,
442
+ msg: ''
443
+ }));
444
+ }}
445
+ onFileDelete={(projectId, key) => {
446
+ this.dispatch(ModalDialogStore, new ActionModalDialogPending(name));
447
+ this.dispatch(StackEditorStore, new ActionStackEditorFileDelete(projectId, key), (response) => {
448
+ this.dispatch(ModalDialogStore, new ActionModalDialogResult(name, response.result));
449
+ });
450
+ }}
451
+ onHide={() => {
452
+ this.dispatch(ModalDialogStore, new ActionModalDialogHide(name));
453
+ }}
454
+ />
455
+ );
456
+ }
457
+
458
+ renderButtonDarkMode() {
459
+ const darkMode = this.state.StackEditorStore.persistentData.darkMode;
460
+ const icon = darkMode ? 'icon-mode-dark' : 'icon-mode-light';
461
+ return (
462
+ <ButtonNew id="stack_editor_darkmode" icon={icon} size="aj_btn_sm" active={darkMode} placement="bottom" heading="View" content="Dark mode"
463
+ onClick={(e) => {
464
+ this.dispatch(StackEditorStore, new ActionStackEditorPersistentDataUpdate('', 'darkMode', !darkMode));
465
+ }}
466
+ />
467
+ );
468
+ }
469
+
470
+ renderButtonEmptyLine() {
471
+ const emptyLine = this.state.StackEditorStore.persistentData.emptyLine;
472
+ return (
473
+ <ButtonNew id="stack_editor_empty_line" icon="icon-empty-line" size="aj_btn_sm" active={emptyLine} placement="bottom" heading="View" content="Empty Line"
474
+ onClick={(e) => {
475
+ this.dispatch(StackEditorStore, new ActionStackEditorPersistentDataUpdate('', 'emptyLine', !emptyLine));
476
+ }}
477
+ />
478
+ );
479
+ }
480
+
481
+ render() {
482
+ return (
483
+ <div className="middle_toolbar middle_code_editor_toolbar">
484
+ {this.renderModalDialogStackWizard()}
485
+ {this.renderModalDialogFolderNew()}
486
+ {this.renderModalDialogFolderAdd()}
487
+ {this.renderModalDialogFolderProperties()}
488
+ {this.renderModalDialogFolderRemove()}
489
+ {this.renderModalDialogFileNew()}
490
+ {this.renderModalDialogFileAdd()}
491
+ {this.renderModalDialogFileProperties()}
492
+ {this.renderModalDialogFileRemove()}
493
+ <div className="toolbar" role="toolbar" aria-label="...">
494
+ <div className="aj_btn_group" role="group" aria-label="...">
495
+ {this.renderButtonSaveProject()}
496
+ </div>
497
+ {/*<div className="aj_btn_group" role="group" aria-label="...">
498
+ {this.renderButtonStackWizard()}
499
+ </div>*/}
500
+ <div className="aj_btn_group" role="group" aria-label="...">
501
+ {this.renderButtonFolderNew()}
502
+ {this.renderButtonFolderAdd()}
503
+ {this.renderButtonFolderProperties()}
504
+ {this.renderButtonFolderDelete()}
505
+ </div>
506
+ <div className="aj_btn_group" role="group" aria-label="...">
507
+ {this.renderButtonFileNew()}
508
+ {this.renderButtonFileAdd()}
509
+ {this.renderButtonFileSave()}
510
+ {this.renderButtonFileSaveAll()}
511
+ {this.renderButtonFileProperties()}
512
+ {this.renderButtonFileDelete()}
513
+ </div>
514
+ {/*<div className="aj_btn_group" role="group" aria-label="...">
515
+ {this.renderBuildButton()}
516
+ </div>*/}
517
+ <div className="aj_btn_group pull-right" role="group" aria-label="...">
518
+ {this.renderButtonEmptyLine()}
519
+ {this.renderButtonDarkMode()}
520
+ </div>
521
+ </div>
522
+ </div>
523
+ );
524
+ }
525
+ }
@@ -0,0 +1,156 @@
1
+
2
+ 'use strict';
3
+
4
+ import StackEditorStore from '../../../stores/stack-editor-store';
5
+ import { ActionStackEditorFileGet, ActionStackEditorFileSet, ActionStackEditorFileEdit, ActionStackEditorFileClose, ActionStackEditorFileMove } from '../../../actions/action-stack-editor/action-stack-editor-file';
6
+ import Tabs from 'z-abs-complayer-bootstrap-client/client/tabs';
7
+ import Tab from 'z-abs-complayer-bootstrap-client/client/tab';
8
+ import CodeMirrorEditor from 'z-abs-complayer-codemirror-client/client/code-mirror-editor';
9
+ import {RouterContext} from 'z-abs-complayer-router-client/client/react-component/router-context';
10
+ import LogType from 'z-abs-funclayer-engine-cs/clientServer/log/log-type';
11
+ import ReactComponentStore from 'z-abs-corelayer-client/client/react-component/react-component-store';
12
+ import React from 'react';
13
+
14
+
15
+ export default class MiddleStackEditorView extends ReactComponentStore {
16
+ constructor(props) {
17
+ super(props, [StackEditorStore]);
18
+ this.close = false;
19
+ }
20
+
21
+ didMount() {
22
+ if(this.props._uriPath && 0 < this.props._uriPath.length) {
23
+ this.dispatch(StackEditorStore, new ActionStackEditorFileSet(`.${this.props._uriPath}`, this.props.location.search));
24
+ }
25
+ else {
26
+ this.dispatch(StackEditorStore, new ActionStackEditorFileSet());
27
+ }
28
+ }
29
+
30
+ shouldUpdate(nextProps, nextState) {
31
+ return !this.shallowCompare(this.props._uriPath, nextProps._uriPath)
32
+ || !this.shallowCompare(this.props.location.search, nextProps.location.search)
33
+ || !this.shallowCompareMapValues(this.state.StackEditorStore.files, nextState.StackEditorStore.files)
34
+ || !this.shallowCompare(this.state.StackEditorStore.current, nextState.StackEditorStore.current)
35
+ || !this.shallowCompare(this.state.StackEditorStore.persistentData, nextState.StackEditorStore.persistentData)
36
+ || !this.shallowCompare(this.state.StackEditorStore.build, nextState.StackEditorStore.build);
37
+ }
38
+
39
+ didUpdate(prevProps, prevState) {
40
+ if(this.props._uriPath !== prevProps._uriPath) {
41
+ this.dispatch(StackEditorStore, new ActionStackEditorFileSet(`.${this.props._uriPath}`, this.props.location.search));
42
+ }
43
+ }
44
+
45
+ renderTab(options) {
46
+ const result = [];
47
+ const queryState = this.state.StackEditorStore.current.query;
48
+ const query = !queryState ? undefined : {
49
+ url: queryState.url,
50
+ line: queryState.line,
51
+ typeCss: LogType.csses[Number.parseInt(this.state.StackEditorStore.current.query.type)]
52
+ };
53
+ this.state.StackEditorStore.files.forEach((file, key) => {
54
+ if(null !== file.content) {
55
+ result.push(
56
+ <Tab eventKey={key} key={key} id={key}
57
+ title={
58
+ <div>
59
+ {file.title}
60
+ <button type="button" className={this.theme(this.state.StackEditorStore.persistentData.darkMode, 'middle_code_editor_close')} aria-label="Close"
61
+ onClick={(e, a) => {
62
+ this.close = true;
63
+ this.dispatch(StackEditorStore, new ActionStackEditorFileClose(key));
64
+ }}
65
+ >
66
+ ×
67
+ </button>
68
+ </div>
69
+ }
70
+ onMove={(fromKey, toKey) => {
71
+ this.dispatch(StackEditorStore, new ActionStackEditorFileMove(fromKey, toKey));
72
+ }}
73
+ >
74
+ <CodeMirrorEditor id={`stack_editor_view_${key}`} projectId={file.projectId} docKey={key} code={file.content} build={this.state.StackEditorStore.build} options={this.getOptions(file.type, key)} currentType={this.state.StackEditorStore.current.type} currentFile={this.state.StackEditorStore.current.file} currentQuery={query} darkMode={this.state.StackEditorStore.persistentData.darkMode} emptyLine={this.state.StackEditorStore.persistentData.emptyLine}
75
+ onChanged={(projectId, docKey, code) => {
76
+ this.dispatch(StackEditorStore, new ActionStackEditorFileEdit(projectId, docKey, code));
77
+ }}
78
+ onFocusChange={(focused, docKey) => {
79
+ if(focused) {
80
+ const file = this.state.StackEditorStore.files.get(docKey);
81
+ if(file) {
82
+ this.dispatch(StackEditorStore, new ActionStackEditorFileGet(file.projectId, file.key, file.title, file.path, file.type));
83
+ }
84
+ }
85
+ }}
86
+ />
87
+ </Tab>
88
+ );
89
+ }
90
+ });
91
+ return result;
92
+ }
93
+
94
+ renderTabs(options) {
95
+ if(0 !== this.state.StackEditorStore.files.size) {
96
+ return (
97
+ <Tabs id="stack_editor_tabs" draggable="true" activeKey={null !== this.state.StackEditorStore.current.file ? this.state.StackEditorStore.current.file.key : null} darkMode={this.state.StackEditorStore.persistentData.darkMode}
98
+ onSelect={(selectedKey) => {
99
+ if(!this.close) {
100
+ const file = this.state.StackEditorStore.files.get(selectedKey);
101
+ this.dispatch(StackEditorStore, new ActionStackEditorFileGet(file.projectId, file.key, file.title, file.path, file.type));
102
+ }
103
+ else {
104
+ this.close = false;
105
+ }
106
+ }}
107
+ >
108
+ {this.renderTab(options)}
109
+ </Tabs>
110
+ );
111
+ }
112
+ else {
113
+ return null;
114
+ }
115
+ }
116
+
117
+ getOptions(type, key) {
118
+ return {
119
+ lineNumbers: true,
120
+ highlightActiveLineGutter: true,
121
+ highlightActiveLine: true,
122
+ closeBrackets: true,
123
+ bracketMatching: true,
124
+ drawSelection: true,
125
+ history: true,
126
+ autocompletion: true,
127
+
128
+ tabKeyAction: 'indent',
129
+ tabSize: 2,
130
+ indentType: 'spaces',
131
+ indentUnit: 2,
132
+
133
+ darkMode: true,
134
+ breakpointGutter: false,
135
+ foldGutter: true,
136
+ emptyLine: true,
137
+
138
+ buildGutter: true,
139
+
140
+ type
141
+ };
142
+ }
143
+
144
+ render() {
145
+ const darkMode = this.state.StackEditorStore.persistentData.darkMode;
146
+ return (
147
+ <div className={this.theme(darkMode, "view")}>
148
+ {this.renderTabs()}
149
+ </div>
150
+ );
151
+ }
152
+ }
153
+
154
+
155
+ MiddleStackEditorView.contextType = RouterContext;
156
+ MiddleStackEditorView.REMOVE_KEY_LENGTH = 'stack_editor_tabs-tab-'.length;