@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,758 @@
1
+
2
+ 'use strict';
3
+
4
+ import { DataActionActorEditorProjectGet, DataActionActorEditorProjectUpdate, DataActionActorEditorProjectToggle } from '../actions/action-actor-editor/data-action-actor-editor-project';
5
+ import { DataActionActorEditorFileGet, DataActionActorEditorFileInlineGet, DataActionActorEditorFileNew, DataActionActorEditorFileRename, DataActionActorEditorFileUpdate, DataActionActorEditorFileInlineUpdate, DataActionActorEditorFileDelete, DataActionActorEditorBuild, DataActionActorEditorStacksGet } from '../actions/action-actor-editor/data-action-actor-editor-file';
6
+ import { DataActionActorEditorFolderNew, DataActionActorEditorFolderUpdate, DataActionActorEditorFolderDelete } from '../actions/action-actor-editor/data-action-actor-editor-folder';
7
+ import { ActionActorEditorFileClose } from '../actions/action-actor-editor/action-actor-editor-file';
8
+ import { ActionModalDialogResult } from 'z-abs-complayer-modaldialog-client/client/actions/action-modal-dialog';
9
+ import StoreBaseRealtime from 'z-abs-corelayer-client/client/store/store-base-realtime';
10
+ import Project from 'z-abs-corelayer-cs/clientServer/project';
11
+
12
+
13
+ class ActorEditorStore extends StoreBaseRealtime {
14
+ static FOLDER = 'folder';
15
+ static FILE = 'file';
16
+ static FILE_INLINE = 'file_inline';
17
+ static FILE_INVALID = 'invalid_file';
18
+
19
+ constructor() {
20
+ super({
21
+ projectGlobal: new Project(),
22
+ projectLocal: new Project(),
23
+ files: new Map(),
24
+ current: {
25
+ file: null,
26
+ folder: null,
27
+ type: '',
28
+ query: null
29
+ },
30
+ build: {
31
+ result: false,
32
+ success: false,
33
+ errors: []
34
+ },
35
+ persistentData: {
36
+ darkMode: false,
37
+ emptyLine: true
38
+ },
39
+ stacks: new Map(),
40
+ stackTemplates: new Map()
41
+ });
42
+ this.sendDataAction(new DataActionActorEditorStacksGet());
43
+ }
44
+
45
+ onActionActorEditorPersistentDataUpdate(action) {
46
+ const persistentData = this.deepCopy(this.state.persistentData);
47
+ const parent = action.parentName ? persistentData[action.parentName] : persistentData;
48
+ parent[action.name] = action.value;
49
+ this.updateState({persistentData: {$set: parent}});
50
+ }
51
+
52
+ onActionActorEditorFileGet(action) {
53
+ const file = this.state.files.get(action.key);
54
+ if(undefined === file) {
55
+ if(action.key.startsWith('./Actors-inline')) {
56
+ this.sendDataAction(new DataActionActorEditorFileInlineGet(action.path));
57
+ }
58
+ else {
59
+ this.sendDataAction(new DataActionActorEditorFileGet(action.projectId, action.key, action.title, action.path, action.type, `${action.path}/${action.title}`));
60
+ }
61
+ }
62
+ else {
63
+ const currentType = action.path.startsWith('./Actors-inline') ? ActorEditorStore.FILE_INLINE : ActorEditorStore.FILE;
64
+ this.updateState(this._exec(action.projectId, (project) => {
65
+ project.select(action.key, true);
66
+ }));
67
+ this.updateState({current: {file: {$set: file}}});
68
+ this.updateState({current: {type: {$set: currentType}}});
69
+ this.updateState({build: {result: {$set: false}}});
70
+ if(ActorEditorStore.FILE === currentType) {
71
+ action.history(this._generateQuery(action.path, action.title), {replace: true});
72
+ }
73
+ else {
74
+ action.history(action.path, {replace: true});
75
+ }
76
+ }
77
+ }
78
+
79
+ onActionActorEditorFileSet(action) {
80
+ if(undefined !== action.url) {
81
+ if(undefined !== action.query) {
82
+ this.updateState({current: {query: {$set: this._createQuery(action.url, action.query)}}});
83
+ }
84
+ const node = this._getNode(action.url);
85
+ if(undefined !== node) {
86
+ if(!node.node.folder) {
87
+ const file = this.state.files.get(node.node.key);
88
+ if(undefined === file) {
89
+ this.sendDataAction(new DataActionActorEditorFileGet(node.projectId, node.node.key, node.node.title, node.node.data.path, node.node.data.type, action.url));
90
+ }
91
+ else {
92
+ this.updateState({current: {file: {$set: file}}});
93
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE}}});
94
+ }
95
+ }
96
+ else {
97
+ const folder = this._createFolder(node.projectId, node.node);
98
+ this.updateState({current: {folder: {$set: folder}}});
99
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
100
+ }
101
+ }
102
+ else {
103
+ if(action.url.startsWith('./Actors-inline')) {
104
+ this.sendDataAction(new DataActionActorEditorFileInlineGet(action.url));
105
+ }
106
+ this.sendDataAction(new DataActionActorEditorProjectGet(action.url, action.query));
107
+ }
108
+ }
109
+ else {
110
+ this.sendDataAction(new DataActionActorEditorProjectGet());
111
+ this.updateState({current: {file: {$set: null}}});
112
+ this.updateState({current: {folder: {$set: null}}});
113
+ this.updateState({current: {type: {$set: ''}}});
114
+ this.updateState({files: (files) => {
115
+ if(0 !== files.size) {
116
+ files.clear();
117
+ }
118
+ }});
119
+ }
120
+ }
121
+
122
+ onActionActorEditorFileNew(action) {
123
+ this.sendDataAction(new DataActionActorEditorFileNew(action));
124
+ }
125
+
126
+ onActionActorEditorFileAdd(action) {
127
+ this.updateState(this._exec(action.projectId, (project) => {
128
+ const node = project.addFile(action.title, action.path, action.type);
129
+ project.sortParent(node);
130
+ this.sendDataAction(new DataActionActorEditorFileGet(action.projectId, node.key, node.title, node.data.path, node.data.type, `${node.data.path}/${node.title}`));
131
+ }));
132
+ }
133
+
134
+ onActionActorEditorFileRename(action) {
135
+ this.sendDataAction(new DataActionActorEditorFileRename(`${action.path}/${action.title}`, `${action.path}/${action.newTitle}`, action));
136
+ }
137
+
138
+ onActionActorEditorFileUpdate(action) {
139
+ const file = this.state.files.get(action.key);
140
+ if(ActorEditorStore.FILE === file.fileType) {
141
+ this.sendDataAction(new DataActionActorEditorFileUpdate(action.key, file.title, file.path, file.content));
142
+ }
143
+ else {
144
+ this.sendDataAction(new DataActionActorEditorFileInlineUpdate(action.key, file.path, file.content));
145
+ }
146
+ }
147
+
148
+ onActionActorEditorFileUpdateAll(action) {
149
+ action.keys.forEach((key) => {
150
+ const file = this.state.files.get(key);
151
+ if(ActorEditorStore.FILE === file.fileType) {
152
+ this.sendDataAction(new DataActionActorEditorFileUpdate(key, file.title, file.path, file.content));
153
+ }
154
+ else {
155
+ this.sendDataAction(new DataActionActorEditorFileInlineUpdate(key, file.path, file.content));
156
+ }
157
+ });
158
+ }
159
+
160
+ onActionActorEditorFileEdit(action) {
161
+ const file = this.state.files.get(action.key);
162
+ this.updateState({current: {file: { content: {$set: action.content}}}});
163
+ this.updateState({current: {file: { codeChanged: {$set: action.content !== file.contentOriginal}}}});
164
+ this.updateState({files: (files) => {
165
+ files.set(action.key, this.state.current.file);
166
+ }});
167
+ this.updateState({build: {result: {$set: false}}});
168
+ }
169
+
170
+ onActionActorEditorFileClose(action) {
171
+ const file = this.state.files.get(action.key);
172
+ const nextFile = this._getNextFile(file);
173
+ this.updateState({files: (files) => {
174
+ files.delete(action.key);
175
+ }});
176
+ if(undefined !== nextFile) {
177
+ const currentType = nextFile.path.startsWith('./Actors-inline') ? ActorEditorStore.FILE_INLINE : ActorEditorStore.FILE;
178
+ this.updateState({current: {file: {$set: nextFile}}});
179
+ this.updateState({current: {type: {$set: currentType}}});
180
+ action.history(this._generateQuery(nextFile.path, nextFile.title), {replace: true});
181
+ }
182
+ else {
183
+ this.updateState({current: {file: {$set: null}}});
184
+ this.updateState({current: {folder: {$set: null}}});
185
+ this.updateState({current: {type: {$set: ''}}});
186
+ action.history('.', {replace: true});
187
+ }
188
+ }
189
+
190
+ onActionActorEditorFileRemove(action) {
191
+ const file = this.state.files.get(action.key) || this.state.current.file;
192
+ const nextFile = this._getNextFile(file);
193
+ this.updateState({files: (files) => {
194
+ files.delete(action.key);
195
+ }});
196
+ this.updateState(this._exec(action.projectId, (project) => {
197
+ project.removeNode(file.path, file.key);
198
+ }));
199
+ if(undefined !== nextFile) {
200
+ this.updateState({current: {file: {$set: nextFile}}});
201
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE}}});
202
+ action.history(this._generateQuery(nextFile.path, nextFile.title), {replace: true});
203
+ }
204
+ else {
205
+ const node = this._getNode(file.path);
206
+ const folder = this._createFolder(node.projectId, node.node);
207
+ this.updateState({current: {file: {$set: null}}});
208
+ this.updateState({current: {folder: {$set: folder}}});
209
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
210
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
211
+ }
212
+ }
213
+
214
+ onActionActorEditorFileDelete(action) {
215
+ const file = this.state.files.get(action.key);
216
+ this.sendDataAction(new DataActionActorEditorFileDelete(`${file.path}/${file.title}`, action));
217
+ }
218
+
219
+ onActionActorEditorFolderGet(action) {
220
+ const node = this.getProject(action.projectId).findNode(`${action.data.path}/${action.title}` );
221
+ const folder = this._createFolder(action.projectId, node);
222
+ this.updateState(this._exec(action.projectId, (project) => {
223
+ project.select(action.key, true);
224
+ }));
225
+ this.updateState({current: {folder: {$set: folder}}});
226
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
227
+ this.updateState({build: {result: {$set: false}}});
228
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
229
+ }
230
+
231
+ onActionActorEditorFolderNew(action) {
232
+ this.sendDataAction(new DataActionActorEditorFolderNew(action));
233
+ }
234
+
235
+ onActionActorEditorFolderAdd(action) {
236
+ let node;
237
+ this.updateState(this._exec(action.projectId, (project) => {
238
+ node = project.addFolder(action.title, action.data);
239
+ project.sortParent(node);
240
+ }));
241
+ const folder = this._createFolder(action.projectId, node);
242
+ this.updateState({current: {folder: {$set: folder}}});
243
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
244
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
245
+ }
246
+
247
+ onActionActorEditorFolderUpdate(action) {
248
+ this.sendDataAction(new DataActionActorEditorFolderUpdate(`${action.data.path}/${action.title}`, `${action.data.path}/${action.newTitle}`, action));
249
+ }
250
+
251
+ onActionActorEditorFolderRemove(action) {
252
+ const node = this._getNode(`${action.data.path}/${action.title}`);
253
+ const children = this.getProject(node.projectId).getAllFileChildren(node.node);
254
+
255
+ children.forEach((child) => {
256
+ const file = this.state.files.get(child.key);
257
+ if(undefined !== file) {
258
+ this.onActionActorEditorFileClose(new ActionActorEditorFileClose(child.key));
259
+ }
260
+ });
261
+
262
+ const nodeParent = this._getNode(node.node.data.path);
263
+ const folder = this._createFolder(nodeParent.projectId, nodeParent.node);
264
+
265
+ this.updateState(this._exec(action.projectId, (project) => {
266
+ project.removeNode(action.data.path, action.key);
267
+ }));
268
+
269
+ this.updateState({current: {folder: {$set: folder}}});
270
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
271
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
272
+ }
273
+
274
+ onActionActorEditorFolderDelete(action) {
275
+ this.sendDataAction(new DataActionActorEditorFolderDelete(action));
276
+ }
277
+
278
+ onActionActorEditorFileMove(action) {
279
+ let found = false;
280
+ let foundFromKey = false;
281
+ let foundToKey = false;
282
+ let newMap = new Map();
283
+ let fromFile = null;
284
+ this.state.files.forEach((file, key) => {
285
+ if(!found) {
286
+ if(action.fromKey === key) {
287
+ foundFromKey = true;
288
+ found = true;
289
+ }
290
+ else if(action.toKey === key) {
291
+ fromFile = this.state.files.get(action.fromKey);
292
+ newMap.set(action.fromKey, fromFile);
293
+ newMap.set(action.toKey, file);
294
+ foundToKey = true;
295
+ found = true;
296
+ }
297
+ else {
298
+ newMap.set(key, file);
299
+ }
300
+ }
301
+ else {
302
+ if(foundFromKey) {
303
+ if(action.toKey === key) {
304
+ newMap.set(action.toKey, file);
305
+ fromFile = this.state.files.get(action.fromKey);
306
+ newMap.set(action.fromKey, fromFile);
307
+ }
308
+ else if(action.fromKey !== key) {
309
+ newMap.set(key, file);
310
+ }
311
+ }
312
+ else if(foundToKey) {
313
+ if(action.fromKey !== key) {
314
+ newMap.set(key, file);
315
+ }
316
+ }
317
+ }
318
+ });
319
+ this.updateState({files: {$set: newMap}});
320
+ this.updateState({current: {file: {$set: fromFile}}});
321
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE}}});
322
+ action.history(`/${fromFile.path}/${fromFile.title}`, {replace: true});
323
+ }
324
+
325
+ onActionActorEditorProjectGet(action) {
326
+ this.sendDataAction(new DataActionActorEditorProjectGet(action.url, action.query));
327
+ }
328
+
329
+ onActionActorEditorProjectUpdate(action) {
330
+ if(!this.state.projectGlobal.isSaved()) {
331
+ this.sendDataAction(new DataActionActorEditorProjectUpdate(this.state.projectGlobal.projectId, this.state.projectGlobal.getRootName(), this.state.projectGlobal.source));
332
+ }
333
+ if(!this.state.projectLocal.isSaved()) {
334
+ this.sendDataAction(new DataActionActorEditorProjectUpdate(this.state.projectLocal.projectId, this.state.projectLocal.getRootName(), this.state.projectLocal.source));
335
+ }
336
+ }
337
+
338
+ onActionActorEditorProjectToggle(action) {
339
+ this.updateState(this._exec(action.projectId, (project) => {
340
+ project.toggle(action.key, action.expanded);
341
+ }));
342
+ const project = this.getProject(action.projectId);
343
+ this.sendDataAction(new DataActionActorEditorProjectToggle(action, project.source, project.getRootName()));
344
+ }
345
+
346
+ onActionActorEditorBuild(action) {
347
+ this.sendDataAction(new DataActionActorEditorBuild(this.state.current.file.content, this.state.current.file.path, this.state.current.file.title, action));
348
+ }
349
+
350
+ onDataActionActorEditorStacksGet(action) {
351
+ const response = action.getResponse();
352
+ if(response.isSuccess()) {
353
+ if(response.data) {
354
+ const stacks = new Map();
355
+ const stackTemplates = new Map();
356
+ response.data.forEach((stack) => {
357
+ const stackName = stack[0];
358
+ const mapStacks = stack[1];
359
+ mapStacks.forEach((mapStack) => {
360
+ const actorType = mapStack[0];
361
+ if(0 !== mapStack[1].names.length) {
362
+ let storedStacks = stacks.get(actorType);
363
+ if(!storedStacks) {
364
+ storedStacks = ['none'];
365
+ stacks.set(actorType, storedStacks);
366
+ }
367
+ storedStacks.push(stackName);
368
+ }
369
+ });
370
+ const actorTypeMap = new Map(mapStacks);
371
+ stackTemplates.set(stackName, actorTypeMap);
372
+ });
373
+ this.updateState({stacks: {$set: stacks}});
374
+ this.updateState({stackTemplates: {$set: stackTemplates}});
375
+ }
376
+ }
377
+ }
378
+
379
+ onDataActionActorEditorFileGet(action) {
380
+ const response = action.getResponse();
381
+ if(response.isSuccess()) {
382
+ if(this.state.current.file?.key !== action.key) {
383
+ const file = {
384
+ projectId: action.projectId,
385
+ key: action.key,
386
+ title: action.title,
387
+ path: action.path,
388
+ fileType: ActorEditorStore.FILE,
389
+ type: action.type,
390
+ content: response.data,
391
+ contentOriginal: response.data,
392
+ codeChanged: false,
393
+ codeBuilt: false
394
+ };
395
+ this.updateState(this._exec(action.projectId, (project) => {
396
+ project.select(action.key, true);
397
+ }));
398
+ this.updateState({files: (files) => { files.set(action.key, file); }});
399
+ this.updateState({current: {file: {$set: file}}});
400
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE}}});
401
+ this.updateState({build: {result: {$set: false}}});
402
+ this.updateState(this._exec(action.projectId, (project) => {
403
+ const node = project.findNode(`${action.path}/${action.title}`);
404
+ node.data.valid = true;
405
+ }));
406
+ action.history(this._generateQuery(action.path, action.title), {replace: true});
407
+ }
408
+ }
409
+ else {
410
+ this.updateState(this._exec(action.projectId, (project) => {
411
+ project.select(action.key, true);
412
+ const node = project.findNode(`${action.path}/${action.title}`);
413
+ node.data.valid = false;
414
+ }));
415
+ const file = {
416
+ projectId: action.projectId,
417
+ key: action.key,
418
+ title: action.title,
419
+ path: action.path,
420
+ fileType: ActorEditorStore.FILE_INVALID,
421
+ type: action.type,
422
+ codeChanged: false,
423
+ codeBuilt: false
424
+ };
425
+ this.updateState({current: {file: {$set: file}}});
426
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE_INVALID}}});
427
+ this.updateState({build: {result: {$set: false}}});
428
+ action.history(this._generateQuery(action.path, action.title), {replace: true});
429
+ }
430
+ }
431
+
432
+ onDataActionActorEditorFileInlineGet(action) {
433
+ const response = action.getResponse();
434
+ if(response.isSuccess()) {
435
+ const inlineCode = response.data[0];
436
+ const actorName = response.data[1];
437
+ const file = {
438
+ key: actorName,
439
+ title: actorName,
440
+ path: action.url,
441
+ fileType: ActorEditorStore.FILE_INLINE,
442
+ type: 'js',
443
+ content: inlineCode,
444
+ contentOriginal: inlineCode,
445
+ codeChanged: false,
446
+ codeBuilt: false
447
+ };
448
+ this.updateState({files: (files) => { files.set(actorName, file); }});
449
+ this.updateState({current: {file: {$set: file}}});
450
+ this.updateState({current: {type: {$set: ActorEditorStore.FILE_INLINE}}});
451
+ }
452
+ }
453
+
454
+ onDataActionActorEditorFileNew(action) {
455
+ const response = action.getResponse();
456
+ if(response.isSuccess()) {
457
+ this.updateState(this._exec(action.projectId, (project) => {
458
+ const node = project.addFile(response.data, action.path, action.type);
459
+ project.sortParent(node);
460
+ this.sendDataAction(new DataActionActorEditorFileGet(action.projectId, node.key, node.title, node.data.path, node.data.type, `${node.data.path}/${node.title}`));
461
+ }));
462
+ }
463
+ }
464
+
465
+ onDataActionActorEditorFileRename(action) {
466
+ const response = action.getResponse();
467
+ if(response.isSuccess()) {
468
+ const node = this._getNode(`${action.path}/${action.title}`);
469
+ this.updateState(this._exec(node.projectId, (project) => {
470
+ project.renameFile(node.node, action.newTitle);
471
+ }));
472
+ let file = this.state.files.get(node.node.key);
473
+ const updatedFile = this.shallowCopy(file);
474
+ updatedFile.title = action.newTitle;
475
+ this.updateState({files: (files) => {
476
+ file = files.set(node.node.key, updatedFile);
477
+ }});
478
+ this.updateState({current: {file: {$set: updatedFile}}});
479
+ action.history(this._generateQuery(updatedFile.path, updatedFile.title), {replace: true});
480
+ }
481
+ }
482
+
483
+ onDataActionActorEditorFileUpdate(action) {
484
+ const response = action.getResponse();
485
+ if(response.isSuccess()) {
486
+ let file = this.state.files.get(action.key);
487
+ if(undefined !== file) {
488
+ let updatedFile = this.shallowCopy(file);
489
+ updatedFile.codeChanged = false;
490
+ updatedFile.contentOriginal = action.content;
491
+ this.updateState({files: (files) => {
492
+ files.set(action.key, updatedFile);
493
+ }});
494
+ if(this.state.current.file.key === action.key) {
495
+ this.updateState({current: {file: {$set: updatedFile}}});
496
+ }
497
+ }
498
+ }
499
+ }
500
+
501
+ onDataActionActorEditorFileInlineUpdate(action) {
502
+ const response = action.getResponse();
503
+ if(response.isSuccess()) {
504
+ let file = this.state.files.get(action.key);
505
+ if(undefined !== file) {
506
+ let updatedFile = this.shallowCopy(file);
507
+ updatedFile.codeChanged = false;
508
+ updatedFile.contentOriginal = action.content;
509
+ this.updateState({files: (files) => {
510
+ files.set(action.key, updatedFile);
511
+ }});
512
+ if(this.state.current.file.key === action.key) {
513
+ this.updateState({current: {file: {$set: updatedFile}}});
514
+ }
515
+ }
516
+ }
517
+ }
518
+
519
+ onDataActionActorEditorFileDelete(action) {
520
+ const response = action.getResponse();
521
+ if(response.isSuccess()) {
522
+ this.onActionActorEditorFileRemove(action);
523
+ }
524
+ }
525
+
526
+ onDataActionActorEditorFolderNew(action) {
527
+ const response = action.getResponse();
528
+ if(response.isSuccess()) {
529
+ let node;
530
+ this.updateState(this._exec(action.projectId, (project) => {
531
+ node = project.addFolder(action.title, action.data);
532
+ project.sortParent(node);
533
+ }));
534
+ const folder = this._createFolder(action.projectId, node);
535
+ this.updateState({current: {folder: {$set: folder}}});
536
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
537
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
538
+ }
539
+ }
540
+
541
+ onDataActionActorEditorFolderUpdate(action) {
542
+ const response = action.getResponse();
543
+ if(response.isSuccess()) {
544
+ let node = this._getNode(`${action.data.path}/${action.title}`);
545
+ const children = this.getProject(node.projectId).getAllFileChildren(node.node);
546
+ this.updateState(this._exec(node.projectId, (project) => {
547
+ project.renamePathRecursive(node.node, action.newTitle);
548
+ }));
549
+ node = this._getNode(`${action.data.path}/${action.newTitle}`);
550
+ const folder = this._createFolder(node.projectId, node.node);
551
+ this.updateState({current: {folder: {$set: folder}}});
552
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
553
+ children.forEach((child) => {
554
+ let file;
555
+ this.updateState({files: (files) => {
556
+ file = files.get(child.key);
557
+ if(undefined !== file) {
558
+ file = this.shallowCopy(file);
559
+ file.path = child.data.path;
560
+ files.set(child.key, file);
561
+ }
562
+ }});
563
+ if(this.state.current.file && this.state.current.file.key === child.key) {
564
+ this.updateState({current: {file: {$set: file}}});
565
+ }
566
+ });
567
+ action.history(this._generateQuery(folder.data.path, folder.title), {replace: true});
568
+ }
569
+ }
570
+
571
+ onDataActionActorEditorFolderDelete(action) {
572
+ const response = action.getResponse();
573
+ if(response.isSuccess()) {
574
+ this.onActionActorEditorFolderRemove(action);
575
+ }
576
+ }
577
+
578
+ onDataActionActorEditorProjectGet(action) {
579
+ const response = action.getResponse();
580
+ if(response.isSuccess()) {
581
+ this.updateState({projectLocal: (project) => { project.set(response.data[0]); }});
582
+ this.updateState({projectGlobal: (project) => { project.set(response.data[1]); }});
583
+ }
584
+ if(action.url) {
585
+ const node = this._getNode(action.url);
586
+ if(node) {
587
+ if(!node.node.folder) {
588
+ this.sendDataAction(new DataActionActorEditorFileGet(node.projectId, node.node.key, node.node.title, node.node.data.path, node.node.data.type, action.url));
589
+ }
590
+ else {
591
+ const folder = this._createFolder(node.projectId, node.node);
592
+ this.updateState({current: {folder: {$set: folder}}});
593
+ this.updateState({current: {type: {$set: ActorEditorStore.FOLDER}}});
594
+ }
595
+ }
596
+ }
597
+ }
598
+
599
+ onDataActionActorEditorProjectUpdate(action) {
600
+ const response = action.getResponse();
601
+ if(response.isSuccess()) {
602
+ this.updateState(this._exec(action.projectId, (project) => {
603
+ project.setSaved();
604
+ }));
605
+ }
606
+ }
607
+
608
+ onDataActionActorEditorProjectToggle(action) {
609
+ const response = action.getResponse();
610
+ if(response.isSuccess()) {
611
+ }
612
+ }
613
+
614
+ onDataActionActorEditorBuild(action) {
615
+ const response = action.getResponse();
616
+ if(response.isSuccess()) {
617
+ this.updateState({build: {errors: {$set: []}}});
618
+ const resultChecker = response.data[0];
619
+ /*if('success' === resultChecker.check) {
620
+ this.updateState({build: {checker: {$set: null}}});
621
+ }
622
+ else {
623
+ this.updateState({build: {checker: {$set: resultChecker.err}}});
624
+ }*/
625
+ let success = true;
626
+ const resultBundle = response.data[1];
627
+ if('failure' === resultBundle.check) {
628
+ success = false;
629
+ this.updateState({build: {errors: (errors) => {
630
+ errors.push(resultBundle.err);
631
+ }}});
632
+ }
633
+ const resultJsHints = response.data[2];
634
+ if('failure' === resultJsHints.check) {
635
+ success = false;
636
+ this.updateState({build: {errors: (errors) => {
637
+ resultJsHints.errors.forEach((resultJsHint) => {
638
+ errors.push(resultJsHint);
639
+ });
640
+ }}});
641
+ }
642
+ this.updateState({build: {result: {$set: true}}});
643
+ this.updateState({build: {success: {$set: success}}});
644
+ }
645
+ }
646
+
647
+ getProject(projectId) {
648
+ if(projectId === this.state.projectGlobal.projectId) {
649
+ return this.state.projectGlobal;
650
+ }
651
+ else if(projectId === this.state.projectLocal.projectId) {
652
+ return this.state.projectLocal;
653
+ }
654
+ }
655
+
656
+ _getNextFile(file) {
657
+ let next;
658
+ let mapIter = this.state.files.values();
659
+ let iter = mapIter.next();
660
+ while(!iter.done) {
661
+ if(iter.value.key === file.key) {
662
+ if(undefined !== next) {
663
+ return next;
664
+ }
665
+ else {
666
+ return mapIter.next().value;
667
+ }
668
+ }
669
+ next = iter.value;
670
+ iter = mapIter.next();
671
+ }
672
+ }
673
+
674
+ _getNode(file) {
675
+ let node = this.state.projectGlobal.findNode(file);
676
+ if(undefined !== node) {
677
+ return {
678
+ projectId: this.state.projectGlobal.projectId,
679
+ node: node
680
+ };
681
+ }
682
+ node = this.state.projectLocal.findNode(file);
683
+ if(undefined !== node) {
684
+ return {
685
+ projectId: this.state.projectLocal.projectId,
686
+ node: node
687
+ };
688
+ }
689
+ }
690
+
691
+ _createFolder(projectId, node) {
692
+ return {
693
+ projectId: projectId,
694
+ key: node.key,
695
+ title: node.title,
696
+ data: node.data
697
+ };
698
+ }
699
+
700
+ _exec(projectId, exec) {
701
+ if(projectId === this.state.projectGlobal.projectId) {
702
+ return {projectGlobal: exec};
703
+ }
704
+ else if(projectId === this.state.projectLocal.projectId) {
705
+ return {projectLocal: exec};
706
+ }
707
+ }
708
+
709
+ _createQuery(url, search) {
710
+ const query = {};
711
+ if(search && search.length > 1) {
712
+ const searchs = search.substring(1).split('&');
713
+ if(searchs && searchs.length >= 1) {
714
+ searchs.forEach((searchPart) => {
715
+ const queryParam = searchPart.split('=');
716
+ if(2 === queryParam.length) {
717
+ query[queryParam[0]] = queryParam[1];
718
+ }
719
+ });
720
+ }
721
+ }
722
+ if(undefined !== query && undefined !== query.line) {
723
+ return {
724
+ url: url,
725
+ line: Number.parseInt(query.line),
726
+ type: query.type ? Number.parseInt(query.type) : 0
727
+ }
728
+ }
729
+ }
730
+
731
+ _generateQuery(path, title) {
732
+ const url = `${path}/${title}`
733
+ const query = this.state.current.query;
734
+ if(query && query.url && query.url === url) {
735
+ let queries = [];
736
+ let resultQuery = '';
737
+ if(query.line) {
738
+ queries.push(`line=${query.line}`);
739
+ }
740
+ if(query.type) {
741
+ queries.push(`type=${query.type}`);
742
+ }
743
+ if(0 !== queries.length) {
744
+ resultQuery = `?${queries[0]}`;
745
+ }
746
+ for(let i = 1; i < queries.length; ++i) {
747
+ resultQuery += `&${queries[i]}`;
748
+ }
749
+ return `${url.substring(1)}${resultQuery}`;
750
+ }
751
+ else {
752
+ return url.substring(1);
753
+ }
754
+ }
755
+ }
756
+
757
+
758
+ module.exports = ActorEditorStore.export(ActorEditorStore);