@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,699 @@
1
+
2
+ 'use strict';
3
+
4
+ import TestCaseStore from '../../../../stores/test-case-store';
5
+ import { ActionTestCasePersistentDataUpdate } from '../../../../actions/action-test-case/action-test-case';
6
+ import { ActionTestCaseDebugBreakpointSet, ActionTestCaseDebugBreakpointClear, ActionTestCaseDebugBreakpointDeactivate, ActionTestCaseDebugBreakpointClearAll, ActionTestCaseDebugBreakpointUpdate, ActionTestCaseActorsFileGet, ActionTestCaseDebugContinue, ActionTestCaseDebugPause, ActionTestCaseDebugStepOver, ActionTestCaseDebugStepIn, ActionTestCaseDebugStepOut, ActionTestCaseDebugStep, ActionTestCaseDebugLevel, ActionTestCaseDebugGetMembers, ActionTestCaseDebugScopeOpen, ActionTestCaseDebugGetProperty, ActionTestCaseDebugClearCurrentValue} from '../../../../actions/action-test-case/action-test-case';
7
+ import MiddleTestCasesNotFound from '../middle-test-cases-not-found';
8
+ import Tabs from 'z-abs-complayer-bootstrap-client/client/tabs';
9
+ import Tab from 'z-abs-complayer-bootstrap-client/client/tab';
10
+ import Button from 'z-abs-complayer-bootstrap-client/client/button';
11
+ import ButtonNew from 'z-abs-complayer-bootstrap-client/client/button-new';
12
+ import CodeMirrorDebugVariable from 'z-abs-complayer-codemirror-client/client/code-mirror-debug-variable';
13
+ import CodeMirrorEditor from 'z-abs-complayer-codemirror-client/client/code-mirror-editor';
14
+ import {RouterContext} from 'z-abs-complayer-router-client/client/react-component/router-context';
15
+ import HelperTab from 'z-abs-corelayer-client/client/components/helper-tab';
16
+ import ReactComponentRealtime from 'z-abs-corelayer-client/client/react-component/react-component-realtime';
17
+ import AppProtocolConst from 'z-abs-funclayer-engine-cs/clientServer/communication/app-protocol/app-protocol-const';
18
+ import React from 'react';
19
+
20
+
21
+ export default class MiddleTestCasesTabDebug extends ReactComponentRealtime {
22
+ constructor(props) {
23
+ super(props, [TestCaseStore], {
24
+ activeKey: 0,
25
+ callstackOpen: true,
26
+ scopeOpen: true,
27
+ breakpointsOpen: true
28
+ });
29
+ this.helperTab = new HelperTab();
30
+ this.firstKey = false;
31
+ this.boundKeyDown = this._keyDown.bind(this);
32
+ this.boundMouseUp = this._boundMouseUp.bind(this);
33
+ this.boundMouseMove = this._boundMouseMove.bind(this);
34
+ this.boundResize = this._boundResize.bind(this);
35
+ this.sidebarNode = null;
36
+ this.codeNode = null;
37
+ this.codeWidthMin = 360;
38
+ this.sidebarWidthMin = 180;
39
+ this.sidebarWidthMax = 720;
40
+ }
41
+
42
+ didMount() {
43
+ window.addEventListener('keydown', this.boundKeyDown, true);
44
+ window.addEventListener('resize', this.boundResize);
45
+ }
46
+
47
+ shouldUpdate(nextProps, nextState) {
48
+ return nextProps.active
49
+ && (
50
+ !this.shallowCompare(this.props.active, nextProps.active)
51
+ || !this.shallowCompare(this.props.file, nextProps.file)
52
+ || !this.shallowCompare(this.props.ext, nextProps.ext)
53
+ || !this.shallowCompare(this.props.tab, nextProps.tab)
54
+ || !this.shallowCompare(this.props.repo, nextProps.repo)
55
+ || !this.shallowCompare(this.props.sut, nextProps.sut)
56
+ || !this.shallowCompare(this.props.fut, nextProps.fut)
57
+ || !this.shallowCompare(this.props.tc, nextProps.tc)
58
+ || !this.shallowCompare(this.state.TestCaseStore.error, nextState.TestCaseStore.error)
59
+ || !this.shallowCompare(this.state.TestCaseStore.dbugger, nextState.TestCaseStore.dbugger)
60
+ || !this.shallowCompare(this.state.TestCaseStore.execution, nextState.TestCaseStore.execution) && nextProps.active
61
+ || !this.shallowCompare(this.state.TestCaseStore.realtimeConnection, nextState.TestCaseStore.realtimeConnection) && nextProps.active
62
+ || !this.shallowCompare(this.state.TestCaseStore.markup, nextState.TestCaseStore.markup) && nextProps.active
63
+ || !this.shallowCompare(this.state.TestCaseStore.testCase, nextState.TestCaseStore.testCase)
64
+ || !this.shallowCompare(this.state.TestCaseStore.persistentData, nextState.TestCaseStore.persistentData)
65
+ || !this.shallowCompare(this.state.activeKey, nextState.activeKey)
66
+ || !this.shallowCompare(this.state.callstackOpen, nextState.callstackOpen)
67
+ || !this.shallowCompare(this.state.scopeOpen, nextState.scopeOpen)
68
+ || !this.shallowCompare(this.state.breakpointsOpen, nextState.breakpointsOpen)
69
+ );
70
+ }
71
+
72
+ didUpdate(prevProps, prevState) {
73
+ if(!this.shallowCompare(prevState.TestCaseStore.dbugger.actorFiles, this.state.TestCaseStore.dbugger.actorFiles)) {
74
+ this.helperTab = new HelperTab();
75
+ this.state.TestCaseStore.dbugger.actorFiles.forEach((file) => {
76
+ if(file.index === file.previousIndex) {
77
+ this.helperTab.add(file.title);
78
+ }
79
+ });
80
+ }
81
+ if(!this.firstKey) {
82
+ const index = this.helperTab.getIndex(`${this.props.file}.${this.props.ext}`);
83
+ if(index && prevState.activeKey !== index) {
84
+ this.updateState({activeKey: {$set: index}});
85
+ this.firstKey = true;
86
+ }
87
+ }
88
+ }
89
+
90
+ willUnmount() {
91
+ window.removeEventListener('keydown', this.boundKeyDown, true);
92
+ window.removeEventListener('resize', this.boundResize);
93
+ }
94
+
95
+ onRealtimeMessage(msg) {
96
+ if(AppProtocolConst.TEST_CASE_ACTOR_INDEX === msg.msgId) {
97
+ this.updateState({activeKey: {$set: msg.index}});
98
+ }
99
+ }
100
+
101
+ _keyDown(e) {
102
+ if(!e.ctrlKey && 'F5' === e.key) {
103
+ e.preventDefault();
104
+ e.stopImmediatePropagation();
105
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
106
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugContinue());
107
+ }
108
+ }
109
+ else if(!e.ctrlKey && 'F6' === e.key) {
110
+ e.preventDefault();
111
+ e.stopImmediatePropagation();
112
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
113
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepOver());
114
+ }
115
+ }
116
+ else if(!e.ctrlKey && 'F7' === e.key) {
117
+ e.preventDefault();
118
+ e.stopPropagation();
119
+ e.stopImmediatePropagation();
120
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
121
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepIn());
122
+ }
123
+ }
124
+ else if(!e.ctrlKey && 'F8' === e.key) {
125
+ e.preventDefault();
126
+ e.stopImmediatePropagation();
127
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
128
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepOut());
129
+ }
130
+ }
131
+ else if(!e.ctrlKey && 'F9' === e.key) {
132
+ e.preventDefault();
133
+ e.stopImmediatePropagation();
134
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
135
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStep());
136
+ }
137
+ }
138
+ else if(!e.ctrlKey && 'F10' === e.key) {
139
+ e.preventDefault();
140
+ e.stopImmediatePropagation();
141
+ if(TestCaseStore.EXECUTION_RUNNING === this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_RUNNING === this.state.TestCaseStore.dbugger.state) {
142
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugPause());
143
+ }
144
+ }
145
+ }
146
+
147
+ _boundMouseUp(e) {
148
+ window.removeEventListener('mouseup', this.boundMouseUp, true);
149
+ window.removeEventListener('mousemove', this.boundMouseMove, true);
150
+ }
151
+
152
+ _boundMouseMove(e) {
153
+ const computedSidebarNode = window.getComputedStyle(this.sidebarNode);
154
+ const computedCodeNode = window.getComputedStyle(this.codeNode);
155
+ const sidebarNodeWidth = Number.parseInt(computedSidebarNode.width);
156
+ const codeNodeWidth = Number.parseInt(computedCodeNode.width);
157
+ const windowWidth = window.innerWidth - 8;
158
+ const previousWidth = windowWidth - sidebarNodeWidth - codeNodeWidth;
159
+ let newSidebarWidth = windowWidth - e.clientX;
160
+ if(newSidebarWidth < this.sidebarWidthMin) {
161
+ newSidebarWidth = this.sidebarWidthMin;
162
+ }
163
+ else if(newSidebarWidth > this.sidebarWidthMax) {
164
+ newSidebarWidth = this.sidebarWidthMax;
165
+ }
166
+ const newCodeWidth = windowWidth - previousWidth - newSidebarWidth;
167
+ this.sidebarNode.style.left = `calc(100% - ${newSidebarWidth + 4}px)`;
168
+ this.sidebarNode.style.width = `${newSidebarWidth}px`;
169
+ this.codeNode.style.width = `calc(100% - ${newSidebarWidth + 4}px)`;
170
+ }
171
+
172
+ _boundResize() {
173
+ if(this.codeNode && this.sidebarNode) {
174
+ // TODO: Implement when width less tman minimun
175
+ }
176
+ }
177
+
178
+ renderTab() {
179
+ const result = [];
180
+ let key = 0;
181
+ this.state.TestCaseStore.dbugger.actorFiles.forEach((value, index) => {
182
+ if(value.index === value.previousIndex) {
183
+ let title = value.title;
184
+ let name = value.url;
185
+ if(TestCaseStore.DEBUGGER_NOT_RUNNING !== this.state.TestCaseStore.dbugger.state && index === this.state.TestCaseStore.dbugger.actor.index) {
186
+ let stackLevel = this.state.TestCaseStore.dbugger.stack[this.state.TestCaseStore.dbugger.level];
187
+ title = stackLevel.scriptName;
188
+ if(0 !== this.state.TestCaseStore.dbugger.level || title !== value.title) {
189
+ name = stackLevel.url;
190
+ }
191
+ }
192
+ result.push(
193
+ <Tab tab={`${this.props.file && this.props.ext ? '' : this.props.tab + '/'}${title}`} title={title} key={index}>
194
+ <CodeMirrorEditor id={`test_cases_debug_${index}`} key={index} name={name} docKey={index} code={value.content} options={this.getOptions(value.type, index)} dbugger={this.state.TestCaseStore.dbugger} darkMode={this.state.TestCaseStore.persistentData.darkMode}
195
+ onGutterChange={(docKey, lineNumber, exist) => {
196
+ if(exist) {
197
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugBreakpointClear(this.props.repo, this.props.sut, this.props.fut, this.props.tc, {
198
+ docKey: docKey,
199
+ name: name,
200
+ lineNumber: lineNumber
201
+ }));
202
+ }
203
+ else {
204
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugBreakpointSet(this.props.repo, this.props.sut, this.props.fut, this.props.tc, {
205
+ docKey: docKey,
206
+ name: name,
207
+ title: title,
208
+ pauseOnBreak: true,
209
+ lineNumber: lineNumber
210
+ }));
211
+ }
212
+ }}
213
+ onGetCurrentValueByName={(memberArray, type) => {
214
+ let object = this.state.TestCaseStore.dbugger.stack[this.state.TestCaseStore.dbugger.level];
215
+ if('this' === type) {
216
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugGetProperty(object.this, memberArray, type, 'this'));
217
+ }
218
+ else if('keyword' === type) {
219
+
220
+ }
221
+ else if('local' === type) {
222
+ let foundObject = this._findDebugValue(object, 'local', memberArray);
223
+ if(!foundObject) {
224
+ foundObject = this._findDebugValue(object, 'block', memberArray);
225
+ if(!foundObject) {
226
+ foundObject = this._findDebugValue(object, 'closure', memberArray);
227
+ }
228
+ }
229
+ if(foundObject) {
230
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugGetProperty(foundObject.value, memberArray, type, foundObject.name));
231
+ }
232
+ }
233
+ }}
234
+ onClearCurrentValue={() => {
235
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugClearCurrentValue());
236
+ }}
237
+ onGetMembers={(object, open) => {
238
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugGetMembers(object, open));
239
+ }}
240
+ />
241
+ </Tab>
242
+ );
243
+ }
244
+ });
245
+ return result;
246
+ }
247
+
248
+ _renderTabs() {
249
+ return (
250
+ <Tabs id="actor_debug_tabs" activeKey={this.state.activeKey || 0} darkMode={this.state.TestCaseStore.persistentData.darkMode}
251
+ onSelect={(selectedKey) => {
252
+ if(this.state.activeKey !== selectedKey) {
253
+ const file = this.state.TestCaseStore.dbugger.actorFiles.get(selectedKey);
254
+ this.dispatch(TestCaseStore, new ActionTestCaseActorsFileGet([`${file.path}/${file.title}`], selectedKey));
255
+ this.updateState({activeKey: {$set: selectedKey}});
256
+ this.context.history(`${file.title}`);
257
+ }
258
+ }}
259
+ >
260
+ {this.renderTab()}
261
+ </Tabs>
262
+ );
263
+ }
264
+
265
+ renderTabs() {
266
+ const activeKey = -1 !== this.state.activeKey ? this.state.activeKey : 0;
267
+ const debugTabs = TestCaseStore.DEBUGGER_RUNNING === this.state.TestCaseStore.dbugger.state || TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
268
+ if(debugTabs) {
269
+ return (
270
+ <div className={'debug_tab_view debug_tabs'}>
271
+ {this._renderTabs()}
272
+ </div>
273
+ );
274
+ }
275
+ else {
276
+ return (
277
+ <div className={'debug_tab_view'} style={{width:'100%'}}>
278
+ {this._renderTabs()}
279
+ </div>
280
+ );
281
+ }
282
+ }
283
+
284
+ getOptions(type, index) {
285
+ return {
286
+ lineNumbers: true,
287
+ highlightActiveLineGutter: true,
288
+ highlightActiveLine: false,
289
+ closeBrackets: true,
290
+ bracketMatching: true,
291
+ drawSelection: true,
292
+
293
+ tabKeyAction: 'indent',
294
+ tabSize: 2,
295
+ indentType: 'spaces',
296
+ indentUnit: 2,
297
+
298
+ readOnly: true,
299
+ breakpointGutter: true,
300
+ linesBreakpoint: true,
301
+ foldGutter: false,
302
+ debugTooltip: true,
303
+
304
+ darkMode: true,
305
+
306
+ type
307
+ };
308
+ }
309
+
310
+ renderDebugButtonContinue() {
311
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
312
+ return (
313
+ <ButtonNew id="test_case_debug_continue" colorMark="test_case_debug" icon="icon-debug-continue" size="aj_btn_xs" placement="bottom" heading="Debug" content="Continue" shortcut="F5" disabled={!enabled}
314
+ onClick={(e) => {
315
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugContinue());
316
+ }}
317
+ />
318
+ );
319
+ }
320
+
321
+ renderDebugButtonStepOver() {
322
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
323
+ return (
324
+ <ButtonNew id="test_case_debug_step_over" colorMark="test_case_debug" icon="icon-debug-step-over" size="aj_btn_xs" placement="bottom" heading="Debug" content="Step over" shortcut="F6" disabled={!enabled}
325
+ onClick={(e) => {
326
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepOver());
327
+ }}
328
+ />
329
+ );
330
+ }
331
+
332
+ renderDebugButtonStepIn() {
333
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
334
+ return (
335
+ <ButtonNew id="test_case_debug_step_in" colorMark="test_case_debug" icon="icon-debug-step-in" size="aj_btn_xs" placement="bottom" heading="Debug" content="Step in" shortcut="F7" disabled={!enabled}
336
+ onClick={(e) => {
337
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepIn());
338
+ }}
339
+ />
340
+ );
341
+ }
342
+
343
+ renderDebugButtonStepOut() {
344
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
345
+ const nextClassName = ``;
346
+ return (
347
+ <ButtonNew id="test_case_debug_step_out" colorMark="test_case_debug" icon="icon-debug-step-out" size="aj_btn_xs" placement="bottom" heading="Debug" content="Step out" shortcut="F8" disabled={!enabled}
348
+ onClick={(e) => {
349
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStepOut());
350
+ }}
351
+ />
352
+ );
353
+ }
354
+
355
+ renderDebugButtonStep() {
356
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state;
357
+ const nextClassName = ``;
358
+ return (
359
+ <ButtonNew id="test_case_debug_step" colorMark="test_case_debug" icon="icon-debug-step" size="aj_btn_xs" placement="bottom" heading="Debug" content="Step" shortcut="F9" disabled={!enabled}
360
+ onClick={(e) => {
361
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugStep());
362
+ }}
363
+ />
364
+ );
365
+ }
366
+
367
+ renderDebugButtonPause() {
368
+ const enabled = this.state.TestCaseStore.execution && TestCaseStore.DEBUGGER_RUNNING === this.state.TestCaseStore.dbugger.state;
369
+ return (
370
+ <ButtonNew id="test_case_debug_pause" colorMark="test_case_debug" icon="icon-debug-pause" size="aj_btn_xs" placement="bottom" heading="Debug" content="Pause" shortcut="F10" disabled={!enabled}
371
+ onClick={(e) => {
372
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugPause());
373
+ }}
374
+ />
375
+ );
376
+ }
377
+
378
+ renderBreakpointsDeactivate() {
379
+ const disabled = this.state.TestCaseStore.realtimeConnection !== TestCaseStore.REALTIME_CONNECTION_OPEN || this.state.TestCaseStore.markup.definition || (0 !== this.state.TestCaseStore.execution);
380
+ return (
381
+ <ButtonNew id="test_case_debug_breakpoints_deactivte" colorMark="test_case_debug_breakpoints" icon="icon-debug-breakpoints-deactivate" size="aj_btn_xs" placement="bottom" heading="Breakpoints" content="Deactivate All" disabled={disabled}
382
+ onClick={(e) => {
383
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugBreakpointDeactivate(this.props.repo, this.props.sut, this.props.fut, this.props.tc));
384
+ }}
385
+ />
386
+ );
387
+
388
+ }
389
+
390
+ renderBreakpointsRemove() {
391
+ const disabled = this.state.TestCaseStore.realtimeConnection !== TestCaseStore.REALTIME_CONNECTION_OPEN || this.state.TestCaseStore.markup.definition || (0 !== this.state.TestCaseStore.execution);
392
+ return (
393
+ <ButtonNew id="test_case_debug_breakpoints_remove" colorMark="test_case_debug_breakpoints" icon="icon-debug-breakpoints-remove" size="aj_btn_xs" placement="bottom" heading="Breakpoints" content="Remove All" disabled={disabled}
394
+ onClick={(e) => {
395
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugBreakpointClearAll(this.props.repo, this.props.sut, this.props.fut, this.props.tc));
396
+ }}
397
+ />
398
+ );
399
+ }
400
+
401
+ renderDebugStack() {
402
+ let stack = [];
403
+ if(TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
404
+ this.state.TestCaseStore.dbugger.stack.forEach((stackLevel, index) => {
405
+ stack.push(
406
+ <li key={index} role="presentation" className={`debug_stack${this.state.TestCaseStore.dbugger.level === index ? ' active' : ''}`}>
407
+ <a className="debug_stack" href="#"
408
+ onClick={(e) => {
409
+ e.preventDefault();
410
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugLevel(index, this.state.TestCaseStore.dbugger.actor.index));
411
+ }}>
412
+ <p className="debug_stack_left">
413
+ {stackLevel.functionName}
414
+ </p>
415
+ <p className="debug_stack_right">
416
+ {' ' + stackLevel.scriptName + ': ' + (stackLevel.location.lineNumber + 1)}
417
+ </p>
418
+ </a>
419
+ </li>
420
+ );
421
+ });
422
+ }
423
+ let svgRef;
424
+ let svgClass = this.state.callstackOpen ? 'debug_body_open' : 'debug_body_closed';
425
+ let divClass = this.state.callstackOpen ? 'debug_body_open' : 'debug_body_closed';
426
+ return (
427
+ <div className="panel panel-default debug_debug_group">
428
+ <div className="panel-heading debug_stack_heading">
429
+ <svg ref={(svg) => { svgRef = svg; }} className={svgClass} width="9" height="9"
430
+ onClick={(e) => {
431
+ this.updateState({callstackOpen: {$set: !this.state.callstackOpen}});
432
+ }
433
+ }>
434
+ <g>
435
+ <polygon points="1,1 1,7 7,4" stroke="Grey" strokeWidth="1" fill="white" />
436
+ </g>
437
+ </svg>
438
+ <p className="debug_debug_group">
439
+ Call Stack
440
+ </p>
441
+ </div>
442
+ <div className={`panel-body debug_stack_body ${divClass}`}>
443
+ <ul className="nav nav-pills nav-stacked">
444
+ {stack}
445
+ </ul>
446
+ </div>
447
+ </div>
448
+ );
449
+ }
450
+
451
+ renderDebugScope(scope, name, index) {
452
+ const scopesOpen = this.state.TestCaseStore.dbugger.scopesOpen;
453
+ const open = scopesOpen.get(name).open[index];
454
+ return (
455
+ <CodeMirrorDebugVariable key={`${name}_${index}`} name={scope.type} value={scope} objectValues={this.state.TestCaseStore.dbugger.objectValues} open={open}
456
+ onGetMembers={(object, open) => {
457
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugGetMembers(object, open));
458
+ }}
459
+ onOpen={(scope, open) => {
460
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugScopeOpen(name, index, open));
461
+ }}
462
+ />
463
+ );
464
+ }
465
+
466
+ renderDebugScopes() {
467
+ const debugData = this.state.TestCaseStore.dbugger.stack[this.state.TestCaseStore.dbugger.level];
468
+ if(!debugData.scopes) {
469
+ return null;
470
+ }
471
+ else {
472
+ const results = [];
473
+ const nameInstances = new Map();
474
+ debugData.scopes.forEach((scope, index) => {
475
+ const name = scope.type + '_' + (scope.name ? scope.name : '');
476
+ if(nameInstances.has(name)) {
477
+ ++nameInstances.get(name).index;
478
+ }
479
+ else {
480
+ nameInstances.set(name, {index: 0});
481
+ }
482
+ results.push(this.renderDebugScope(scope, name, nameInstances.get(name).index));
483
+ });
484
+ return results;
485
+ }
486
+ }
487
+
488
+ renderDebugScopeThis() {
489
+ const dbugger = this.state.TestCaseStore.dbugger;
490
+ const debugData = dbugger.stack[this.state.TestCaseStore.dbugger.level];
491
+ if(debugData.this) {
492
+ const name = 'this_' + debugData.this.className;
493
+ const scopesOpen = dbugger.scopesOpen;
494
+ const open = scopesOpen.get(name).open[0];
495
+ return (
496
+ <CodeMirrorDebugVariable key="this" name="this" value={debugData.this} objectValues={dbugger.objectValues} open={open}
497
+ onGetMembers={(object, open) => {
498
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugGetMembers(object, open));
499
+ }}
500
+ onOpen={(scope, open) => {
501
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugScopeOpen(name, 0, open));
502
+ }}
503
+ />
504
+ );
505
+ }
506
+ }
507
+
508
+ renderDebugAllScopesData(divClass) {
509
+ if(TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
510
+ const divClass = this.state.scopeOpen ? 'debug_body_open' : 'debug_body_closed';
511
+ return (
512
+ <div className={`panel-body debug_scope_body ${divClass}`}>
513
+ {this.renderDebugScopes()}
514
+ {this.renderDebugScopeThis()}
515
+ </div>
516
+ );
517
+ }
518
+ }
519
+
520
+ renderDebugAllScopes() {
521
+ const svgClass = this.state.scopeOpen ? 'debug_body_open' : 'debug_body_closed';
522
+ return (
523
+ <div className="panel panel-default debug_debug_group">
524
+ <div className="panel-heading debug_scope_heading">
525
+ <svg className={svgClass} width="9" height="9"
526
+ onClick={(e) => {
527
+ this.updateState({scopeOpen: {$set: !this.state.scopeOpen}});
528
+ }
529
+ }>
530
+ <g>
531
+ <polygon points="1,1 1,7 7,4" stroke="Grey" strokeWidth="1" fill="white" />
532
+ </g>
533
+ </svg>
534
+ <p className="debug_debug_group">
535
+ Scope
536
+ </p>
537
+ </div>
538
+ {this.renderDebugAllScopesData()}
539
+ </div>
540
+ );
541
+ }
542
+
543
+ renderDebugBreakpointValue(breakpoint, index) {
544
+ let className = (this.state.TestCaseStore.dbugger.stack[0].location.lineNumber === breakpoint.lineNumber &&
545
+ this.state.TestCaseStore.dbugger.stack[0].scriptName === breakpoint.title) ? 'active' : undefined;
546
+ return (
547
+ <li key={index} role="presentation" className={className}>
548
+ <a className="debug_breakpoint" href="#"
549
+ onClick={(e) => {
550
+ e.preventDefault();
551
+ // this.dispatch(TestCaseStore, new ActionTestCaseDebugLevel(index));
552
+ }}>
553
+ <input type="checkbox" className="debug_breakpoint" aria-label="..." autoComplete="off" checked={breakpoint.pauseOnBreak}
554
+ onChange={(e) => {
555
+ breakpoint.pauseOnBreak = !breakpoint.pauseOnBreak;
556
+ this.dispatch(TestCaseStore, new ActionTestCaseDebugBreakpointUpdate(this.props.repo, this.props.sut, this.props.fut, this.props.tc, breakpoint));
557
+ }}
558
+ />
559
+ <p className="debug_breakpoint">
560
+ {breakpoint.title}:{(breakpoint.lineNumber + 1)}
561
+ </p>
562
+ </a>
563
+ </li>
564
+ );
565
+ }
566
+
567
+ renderDebugBreakpointValues() {
568
+ if(TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
569
+ let divClass = this.state.breakpointsOpen ? 'debug_body_open' : 'debug_body_closed';
570
+ let debugBreakpoints = this.state.TestCaseStore.dbugger.breakpoints.map((breakpoint, index) => {
571
+ return this.renderDebugBreakpointValue(breakpoint, index);
572
+ });
573
+ return (
574
+ <div className={`panel-body debug_breakpoint_body ${divClass}`}>
575
+ <ul className="nav nav-pills nav-stacked">
576
+ {debugBreakpoints}
577
+ </ul>
578
+ </div>
579
+ );
580
+ }
581
+ }
582
+
583
+ renderDebugBreakpoints() {
584
+ let svgRef;
585
+ let svgClass = this.state.breakpointsOpen ? 'debug_body_open' : 'debug_body_closed';
586
+ return (
587
+ <div className="panel panel-default debug_debug_group">
588
+ <div className="panel-heading debug_breakpoint_heading">
589
+ <svg ref={(svg) => { svgRef = svg; }} className={svgClass} width="9" height="9"
590
+ onClick={(e) => {
591
+ this.updateState({breakpointsOpen: {$set: !this.state.breakpointsOpen}});
592
+ }
593
+ }>
594
+ <g>
595
+ <polygon points="1,1 1,7 7,4" stroke="Grey" strokeWidth="1" fill="white" />
596
+ </g>
597
+ </svg>
598
+ <p className="debug_debug_group">
599
+ Breakpoints
600
+ </p>
601
+ </div>
602
+ {this.renderDebugBreakpointValues()}
603
+ </div>
604
+ );
605
+ }
606
+
607
+ renderDebug() {
608
+ if(TestCaseStore.DEBUGGER_RUNNING === this.state.TestCaseStore.dbugger.state || TestCaseStore.DEBUGGER_BREAK === this.state.TestCaseStore.dbugger.state) {
609
+ return (
610
+ <div className="debug_sidebar">
611
+ <div className="debug_debug_mover"
612
+ onMouseDown={(e) => {
613
+ if(0 === e.button) {
614
+ this.sidebarNode = e.target.parentNode;
615
+ this.codeNode = this.sidebarNode.previousSibling;
616
+ window.addEventListener('mouseup', this.boundMouseUp, true);
617
+ window.addEventListener('mousemove', this.boundMouseMove, true);
618
+ }
619
+ }}
620
+ ></div>
621
+ <div className="debug_debug">
622
+ {this.renderDebugStack()}
623
+ {this.renderDebugAllScopes()}
624
+ {this.renderDebugBreakpoints()}
625
+ </div>
626
+ </div>
627
+ );
628
+ }
629
+ }
630
+
631
+ renderButtonDarkMode() {
632
+ const darkMode = this.state.TestCaseStore.persistentData.darkMode;
633
+ const icon = darkMode ? 'icon-mode-dark' : 'icon-mode-light';
634
+ return (
635
+ <ButtonNew id="test_case_debug_darkmode" colorMark="test_case_debug" icon={icon} size="aj_btn_xs" active={darkMode} placement="bottom" heading="View" content="Dark mode"
636
+ onClick={(e) => {
637
+ this.dispatch(TestCaseStore, new ActionTestCasePersistentDataUpdate('', 'darkMode', !darkMode));
638
+ }}
639
+ />
640
+ );
641
+ }
642
+
643
+ render () {
644
+ if(!this.props.active) {
645
+ return null;
646
+ }
647
+ if(this.state.TestCaseStore.error) {
648
+ return (
649
+ <div className="test_cases_tab_view">
650
+ <MiddleTestCasesNotFound code={this.state.TestCaseStore.error.code} error={this.state.TestCaseStore.error} sut={this.props.sut} fut={this.props.fut} tc={this.props.tc} repo={this.props.repo} />
651
+ </div>
652
+ );
653
+ }
654
+ else {
655
+ const darkMode = this.state.TestCaseStore.persistentData.darkMode;
656
+ return (
657
+ <div className="same_size_as_parent">
658
+ <div className="debug_panel">
659
+ <div className="toolbar" role="toolbar" aria-label="...">
660
+ <div className="aj_btn_group" role="group" aria-label="...">
661
+ {this.renderDebugButtonContinue()}
662
+ {this.renderDebugButtonPause()}
663
+ {this.renderDebugButtonStepOver()}
664
+ {this.renderDebugButtonStepIn()}
665
+ {this.renderDebugButtonStepOut()}
666
+ {this.renderDebugButtonStep()}
667
+ </div>
668
+ <div className="aj_btn_group" role="group" aria-label="...">
669
+ {this.renderBreakpointsDeactivate()}
670
+ {this.renderBreakpointsRemove()}
671
+ </div>
672
+ <div className="aj_btn_group pull-right" role="group" aria-label="...">
673
+ {this.renderButtonDarkMode()}
674
+ </div>
675
+ </div>
676
+ </div>
677
+ {this.renderTabs()}
678
+ {this.renderDebug()}
679
+ </div>
680
+ );
681
+ }
682
+ }
683
+
684
+ _findDebugValue(object, scopeName, memberArray) {
685
+ for(let i = 0; i < object.scopes.length; ++i) {
686
+ if(object.scopes[i].type === scopeName) {
687
+ let foundScopeObject = object.scopes[i].object;
688
+ for(let j = 0; j < foundScopeObject.length; ++j) {
689
+ if(foundScopeObject[j].name === memberArray[0]) {
690
+ return foundScopeObject[j];
691
+ }
692
+ }
693
+ }
694
+ }
695
+ }
696
+ }
697
+
698
+
699
+ MiddleTestCasesTabDebug.contextType = RouterContext;