@api-client/ui 0.0.4 → 0.0.5

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 (514) hide show
  1. package/dist/amf/lib/AmfParameters.js +0 -4
  2. package/dist/amf/lib/AmfParameters.js.map +1 -1
  3. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  4. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  5. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  6. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  7. package/dist/amf/store/AmfGraphStore.js +0 -2
  8. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  9. package/dist/amf/store/AmfStore.js +0 -7
  10. package/dist/amf/store/AmfStore.js.map +1 -1
  11. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  12. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  13. package/dist/bindings/base/PlatformBindings.js +6 -10
  14. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  15. package/dist/bindings/base/ProxyBindings.js +9 -6
  16. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  17. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  18. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  19. package/dist/bindings/base/StoreBindings.js +162 -170
  20. package/dist/bindings/base/StoreBindings.js.map +1 -1
  21. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  22. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  23. package/dist/bindings/web/WebFileBindings.js +7 -4
  24. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  25. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  26. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  27. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  28. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  29. package/dist/bindings/web/WebProxyBindings.js +5 -6
  30. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  31. package/dist/bindings/web/WebStoreBindings.js +39 -44
  32. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  33. package/dist/contextual-menu/ContextualMenu.js +10 -19
  34. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  35. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  36. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  37. package/dist/contextual-menu/MenuItem.js +0 -12
  38. package/dist/contextual-menu/MenuItem.js.map +1 -1
  39. package/dist/define/amf/api-annotation-document.js +1 -1
  40. package/dist/define/amf/api-annotation-document.js.map +1 -1
  41. package/dist/define/amf/api-authorization-editor.js +1 -1
  42. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  43. package/dist/define/amf/api-channel-document.js +1 -1
  44. package/dist/define/amf/api-channel-document.js.map +1 -1
  45. package/dist/define/amf/api-documentation-document.js +1 -1
  46. package/dist/define/amf/api-documentation-document.js.map +1 -1
  47. package/dist/define/amf/api-documentation.js +1 -1
  48. package/dist/define/amf/api-documentation.js.map +1 -1
  49. package/dist/define/amf/api-navigation.js +1 -1
  50. package/dist/define/amf/api-navigation.js.map +1 -1
  51. package/dist/define/amf/api-operation-document.js +1 -1
  52. package/dist/define/amf/api-operation-document.js.map +1 -1
  53. package/dist/define/amf/api-parameter-document.js +1 -1
  54. package/dist/define/amf/api-parameter-document.js.map +1 -1
  55. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  56. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  57. package/dist/define/amf/api-payload-document.js +1 -1
  58. package/dist/define/amf/api-payload-document.js.map +1 -1
  59. package/dist/define/amf/api-request-document.js +1 -1
  60. package/dist/define/amf/api-request-document.js.map +1 -1
  61. package/dist/define/amf/api-request-editor.js +1 -1
  62. package/dist/define/amf/api-request-editor.js.map +1 -1
  63. package/dist/define/amf/api-request.js +1 -1
  64. package/dist/define/amf/api-request.js.map +1 -1
  65. package/dist/define/amf/api-resource-document.js +1 -1
  66. package/dist/define/amf/api-resource-document.js.map +1 -1
  67. package/dist/define/amf/api-response-document.js +1 -1
  68. package/dist/define/amf/api-response-document.js.map +1 -1
  69. package/dist/define/amf/api-schema-document.js +1 -1
  70. package/dist/define/amf/api-schema-document.js.map +1 -1
  71. package/dist/define/amf/api-security-document.js +1 -1
  72. package/dist/define/amf/api-security-document.js.map +1 -1
  73. package/dist/define/amf/api-security-requirement-document.js +1 -1
  74. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  75. package/dist/define/amf/api-server-picker.js +1 -1
  76. package/dist/define/amf/api-server-picker.js.map +1 -1
  77. package/dist/define/amf/api-summary.js +1 -1
  78. package/dist/define/amf/api-summary.js.map +1 -1
  79. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  80. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  81. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  82. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  83. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  84. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  85. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  86. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  87. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  88. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  89. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  90. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  91. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  92. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  93. package/dist/define/authorization/apikey-authorization.js +1 -1
  94. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  95. package/dist/define/authorization/basic-authorization.js +1 -1
  96. package/dist/define/authorization/basic-authorization.js.map +1 -1
  97. package/dist/define/authorization/bearer-authorization.js +1 -1
  98. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  99. package/dist/define/authorization/cc-authorization.js +1 -1
  100. package/dist/define/authorization/cc-authorization.js.map +1 -1
  101. package/dist/define/authorization/ntlm-authorization.js +1 -1
  102. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  103. package/dist/define/authorization/oauth2-authorization.js +1 -1
  104. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  105. package/dist/define/authorization/oidc-authorization.js +1 -1
  106. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  107. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  108. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  109. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  110. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  111. package/dist/define/dialog/rename-dialog.js +1 -1
  112. package/dist/define/dialog/rename-dialog.js.map +1 -1
  113. package/dist/define/files/share-file.js +1 -1
  114. package/dist/define/files/share-file.js.map +1 -1
  115. package/dist/define/har/har-viewer.js +1 -1
  116. package/dist/define/har/har-viewer.js.map +1 -1
  117. package/dist/define/highlight/marked-highlight.js +1 -1
  118. package/dist/define/highlight/marked-highlight.js.map +1 -1
  119. package/dist/define/highlight/prism-highlight.js +1 -1
  120. package/dist/define/highlight/prism-highlight.js.map +1 -1
  121. package/dist/define/http/http-assertions.js +1 -1
  122. package/dist/define/http/http-assertions.js.map +1 -1
  123. package/dist/define/http/http-body-editor.js +1 -1
  124. package/dist/define/http/http-body-editor.js.map +1 -1
  125. package/dist/define/http/http-body-multipart-editor.js +1 -1
  126. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  127. package/dist/define/http/http-body-text-editor.js +1 -1
  128. package/dist/define/http/http-body-text-editor.js.map +1 -1
  129. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  130. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  131. package/dist/define/http/http-headers-form.js +1 -1
  132. package/dist/define/http/http-headers-form.js.map +1 -1
  133. package/dist/define/http/http-log-body.js +1 -1
  134. package/dist/define/http/http-log-body.js.map +1 -1
  135. package/dist/define/http/http-log-headers.js +1 -1
  136. package/dist/define/http/http-log-headers.js.map +1 -1
  137. package/dist/define/http/http-log-timings.js +1 -1
  138. package/dist/define/http/http-log-timings.js.map +1 -1
  139. package/dist/define/http/http-request-config.js +1 -1
  140. package/dist/define/http/http-request-config.js.map +1 -1
  141. package/dist/define/http/http-request-editor.js +1 -1
  142. package/dist/define/http/http-request-editor.js.map +1 -1
  143. package/dist/define/http/http-request-log.js +1 -1
  144. package/dist/define/http/http-request-log.js.map +1 -1
  145. package/dist/define/http/http-snippets.js +1 -1
  146. package/dist/define/http/http-snippets.js.map +1 -1
  147. package/dist/define/http/http-url-input.js +1 -1
  148. package/dist/define/http/http-url-input.js.map +1 -1
  149. package/dist/define/http/http-url-params-form.js +1 -1
  150. package/dist/define/http/http-url-params-form.js.map +1 -1
  151. package/dist/define/http-project/http-project-request-history.js +1 -1
  152. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  153. package/dist/define/http-project/http-project-request.js +2 -2
  154. package/dist/define/http-project/http-project-request.js.map +1 -1
  155. package/dist/define/http-project/project-navigation.js +1 -1
  156. package/dist/define/http-project/project-navigation.js.map +1 -1
  157. package/dist/define/http-project/project-run-report.js +1 -1
  158. package/dist/define/http-project/project-run-report.js.map +1 -1
  159. package/dist/define/http-project/project-runner.js +2 -2
  160. package/dist/define/http-project/project-runner.js.map +1 -1
  161. package/dist/define/layout/split-view.js +1 -1
  162. package/dist/define/layout/split-view.js.map +1 -1
  163. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  164. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  165. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  166. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  167. package/dist/define/ui/ui-button.js +1 -1
  168. package/dist/define/ui/ui-button.js.map +1 -1
  169. package/dist/define/ui/ui-chip.js +1 -1
  170. package/dist/define/ui/ui-chip.js.map +1 -1
  171. package/dist/define/ui/ui-collapse.js +1 -1
  172. package/dist/define/ui/ui-collapse.js.map +1 -1
  173. package/dist/define/ui/ui-dialog.js +1 -1
  174. package/dist/define/ui/ui-dialog.js.map +1 -1
  175. package/dist/define/ui/ui-dropdown-list.js +1 -1
  176. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  177. package/dist/define/ui/ui-icon-button.js +1 -1
  178. package/dist/define/ui/ui-icon-button.js.map +1 -1
  179. package/dist/define/ui/ui-icon.js +1 -1
  180. package/dist/define/ui/ui-icon.js.map +1 -1
  181. package/dist/define/ui/ui-list-item.js +1 -1
  182. package/dist/define/ui/ui-list-item.js.map +1 -1
  183. package/dist/define/ui/ui-list.js +1 -1
  184. package/dist/define/ui/ui-list.js.map +1 -1
  185. package/dist/define/ui/ui-listbox.js +1 -1
  186. package/dist/define/ui/ui-listbox.js.map +1 -1
  187. package/dist/define/ui/ui-progress.js +1 -1
  188. package/dist/define/ui/ui-progress.js.map +1 -1
  189. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  190. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  191. package/dist/define/ui/ui-segmented-button.js +1 -1
  192. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  193. package/dist/define/ui/ui-snackbar.js +1 -1
  194. package/dist/define/ui/ui-snackbar.js.map +1 -1
  195. package/dist/define/ui/ui-tab.js +1 -1
  196. package/dist/define/ui/ui-tab.js.map +1 -1
  197. package/dist/define/ui/ui-tabs.js +1 -1
  198. package/dist/define/ui/ui-tabs.js.map +1 -1
  199. package/dist/directives/data-attr.js +0 -1
  200. package/dist/directives/data-attr.js.map +1 -1
  201. package/dist/elements/ApiElement.js +0 -7
  202. package/dist/elements/ApiElement.js.map +1 -1
  203. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  204. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  205. package/dist/elements/amf/ApiAuthorizationEditor.element.js +0 -32
  206. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  207. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  208. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  209. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  210. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  211. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  212. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  213. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  214. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  215. package/dist/elements/amf/ApiOperationDocument.element.js +0 -76
  216. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  217. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  218. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  219. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  220. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  221. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  222. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  223. package/dist/elements/amf/ApiRequest.element.js +0 -78
  224. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  225. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  226. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  227. package/dist/elements/amf/ApiRequestEditor.element.js +0 -118
  228. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  229. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  230. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  232. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  233. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  234. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  235. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  236. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  237. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  238. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  239. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  240. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  241. package/dist/elements/amf/ApiSummary.element.js +0 -26
  242. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  243. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  244. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  245. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  246. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  247. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  248. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  249. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  250. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  251. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  252. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  253. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  254. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  255. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  256. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  257. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  258. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  259. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  260. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  261. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  262. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  263. package/dist/elements/authorization/ui/Authorization.js +18 -32
  264. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  265. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  266. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  267. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  268. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  269. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  270. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  271. package/dist/elements/code/HttpSnippets.js +9 -8
  272. package/dist/elements/code/HttpSnippets.js.map +1 -1
  273. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  274. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  275. package/dist/elements/dialog/Rename.js +0 -6
  276. package/dist/elements/dialog/Rename.js.map +1 -1
  277. package/dist/elements/environment/EnvironmentEditor.js +8 -11
  278. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  279. package/dist/elements/environment/ServerEditor.js +7 -45
  280. package/dist/elements/environment/ServerEditor.js.map +1 -1
  281. package/dist/elements/environment/VariablesEditor.js +7 -12
  282. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  283. package/dist/elements/files/ShareFile.js +19 -57
  284. package/dist/elements/files/ShareFile.js.map +1 -1
  285. package/dist/elements/har/HarViewer.js +6 -7
  286. package/dist/elements/har/HarViewer.js.map +1 -1
  287. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  288. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  289. package/dist/elements/highlight/PrismHighlight.js +9 -18
  290. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  291. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  292. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  293. package/dist/elements/http/BodyEditor.js +21 -33
  294. package/dist/elements/http/BodyEditor.js.map +1 -1
  295. package/dist/elements/http/BodyMultipartEditor.js +17 -18
  296. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  297. package/dist/elements/http/BodyTextEditor.js +2 -15
  298. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  299. package/dist/elements/http/BodyUrlEncodedEditor.js +20 -21
  300. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  301. package/dist/elements/http/HeadersForm.js +16 -17
  302. package/dist/elements/http/HeadersForm.js.map +1 -1
  303. package/dist/elements/http/HttpAssertions.js +8 -6
  304. package/dist/elements/http/HttpAssertions.js.map +1 -1
  305. package/dist/elements/http/LogBody.js +10 -21
  306. package/dist/elements/http/LogBody.js.map +1 -1
  307. package/dist/elements/http/LogHeaders.js +4 -23
  308. package/dist/elements/http/LogHeaders.js.map +1 -1
  309. package/dist/elements/http/LogTimings.js +11 -13
  310. package/dist/elements/http/LogTimings.js.map +1 -1
  311. package/dist/elements/http/RequestConfigElement.js +7 -4
  312. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  313. package/dist/elements/http/RequestEditor.js +54 -88
  314. package/dist/elements/http/RequestEditor.js.map +1 -1
  315. package/dist/elements/http/RequestLog.js +9 -14
  316. package/dist/elements/http/RequestLog.js.map +1 -1
  317. package/dist/elements/http/UrlInput.js +15 -25
  318. package/dist/elements/http/UrlInput.js.map +1 -1
  319. package/dist/elements/http/UrlParamsForm.js +16 -13
  320. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  321. package/dist/elements/layout/LayoutManager.js +16 -24
  322. package/dist/elements/layout/LayoutManager.js.map +1 -1
  323. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  324. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  325. package/dist/elements/layout/SplitItem.js +4 -12
  326. package/dist/elements/layout/SplitItem.js.map +1 -1
  327. package/dist/elements/layout/SplitLayout.js +18 -24
  328. package/dist/elements/layout/SplitLayout.js.map +1 -1
  329. package/dist/elements/layout/SplitPanel.js +10 -16
  330. package/dist/elements/layout/SplitPanel.js.map +1 -1
  331. package/dist/elements/layout/SplitView.js +17 -26
  332. package/dist/elements/layout/SplitView.js.map +1 -1
  333. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  334. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  335. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  336. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  337. package/dist/elements/project/HttpProjectRequest.js +0 -38
  338. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  339. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  340. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  341. package/dist/elements/project/ProjectNavigation.js +0 -4
  342. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  343. package/dist/elements/project/ProjectRunReport.js +4 -15
  344. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  345. package/dist/elements/project/ProjectRunner.js +2 -47
  346. package/dist/elements/project/ProjectRunner.js.map +1 -1
  347. package/dist/elements/schema-design/AssociationFormElement.js +0 -13
  348. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  349. package/dist/elements/schema-design/DataEntityEditorElement.js +0 -22
  350. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  351. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  352. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  353. package/dist/elements/schema-design/DataSchemaDocument.js +0 -36
  354. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  355. package/dist/elements/schema-design/EntityFormElement.js +0 -18
  356. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  357. package/dist/elements/schema-design/PropertyFormElement.js +0 -12
  358. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  359. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  360. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  361. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  362. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  363. package/dist/elements/user/UserAvatarElement.js +0 -9
  364. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  365. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  366. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  367. package/dist/http-client/idb/Base.js +5 -10
  368. package/dist/http-client/idb/Base.js.map +1 -1
  369. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  370. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  371. package/dist/http-client/idb/MockedStore.js +3 -1
  372. package/dist/http-client/idb/MockedStore.js.map +1 -1
  373. package/dist/http-client/store/DataImportProcessor.js +0 -3
  374. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  375. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  376. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  377. package/dist/http-client/store/IdbThread.js +23 -20
  378. package/dist/http-client/store/IdbThread.js.map +1 -1
  379. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  380. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  381. package/dist/http-client/store/idb/IdbStore.js +0 -2
  382. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  383. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  384. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  385. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  386. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  387. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  388. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  389. package/dist/mixins/FileDropMixin.js +0 -1
  390. package/dist/mixins/FileDropMixin.js.map +1 -1
  391. package/dist/mixins/RenderableMixin.js +11 -15
  392. package/dist/mixins/RenderableMixin.js.map +1 -1
  393. package/dist/pages/ApplicationScreen.js +34 -55
  394. package/dist/pages/ApplicationScreen.js.map +1 -1
  395. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  396. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  397. package/dist/pages/api-client/Authenticate.screen.js +4 -6
  398. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  399. package/dist/pages/api-client/StoreConfig.screen.js +21 -37
  400. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  401. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  402. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  403. package/dist/pages/api-client/pages/Files.page.js +6 -27
  404. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  405. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  406. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  407. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  408. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  409. package/dist/pages/demo/DemoPage.js +13 -13
  410. package/dist/pages/demo/DemoPage.js.map +1 -1
  411. package/dist/pages/http-project/HttpProject.screen.js +25 -35
  412. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  413. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  414. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  415. package/dist/store/HttpStore.js +0 -3
  416. package/dist/store/HttpStore.js.map +1 -1
  417. package/dist/store/UserCache.js +5 -5
  418. package/dist/store/UserCache.js.map +1 -1
  419. package/dist/ui/UiElement.js +4 -5
  420. package/dist/ui/UiElement.js.map +1 -1
  421. package/dist/ui/button/SegmentedButton.js +9 -11
  422. package/dist/ui/button/SegmentedButton.js.map +1 -1
  423. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  424. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  425. package/dist/ui/button/UiButton.js +17 -39
  426. package/dist/ui/button/UiButton.js.map +1 -1
  427. package/dist/ui/button/UiIconButton.js +9 -35
  428. package/dist/ui/button/UiIconButton.js.map +1 -1
  429. package/dist/ui/chip/UiChip.js +9 -49
  430. package/dist/ui/chip/UiChip.js.map +1 -1
  431. package/dist/ui/collapse/UiCollapse.js +15 -20
  432. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  433. package/dist/ui/controllers/ActionController.js +143 -144
  434. package/dist/ui/controllers/ActionController.js.map +1 -1
  435. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  436. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  437. package/dist/ui/date/DateTime.js +3 -3
  438. package/dist/ui/date/DateTime.js.map +1 -1
  439. package/dist/ui/dialog/UiDialog.js +14 -38
  440. package/dist/ui/dialog/UiDialog.js.map +1 -1
  441. package/dist/ui/effects/ripple.js +20 -18
  442. package/dist/ui/effects/ripple.js.map +1 -1
  443. package/dist/ui/effects/rippleDirective.js +6 -7
  444. package/dist/ui/effects/rippleDirective.js.map +1 -1
  445. package/dist/ui/icons/UiIcon.js +4 -3
  446. package/dist/ui/icons/UiIcon.js.map +1 -1
  447. package/dist/ui/input/CheckboxElement.js +12 -10
  448. package/dist/ui/input/CheckboxElement.js.map +1 -1
  449. package/dist/ui/input/CheckedElement.js +2 -13
  450. package/dist/ui/input/CheckedElement.js.map +1 -1
  451. package/dist/ui/input/Input.js +169 -234
  452. package/dist/ui/input/Input.js.map +1 -1
  453. package/dist/ui/input/RadioElement.js +13 -11
  454. package/dist/ui/input/RadioElement.js.map +1 -1
  455. package/dist/ui/input/SwitchElement.js +0 -18
  456. package/dist/ui/input/SwitchElement.js.map +1 -1
  457. package/dist/ui/input/TextAreaElement.js +0 -15
  458. package/dist/ui/input/TextAreaElement.js.map +1 -1
  459. package/dist/ui/list/DividerElement.js +5 -10
  460. package/dist/ui/list/DividerElement.js.map +1 -1
  461. package/dist/ui/list/UiDropdownList.js +7 -48
  462. package/dist/ui/list/UiDropdownList.js.map +1 -1
  463. package/dist/ui/list/UiList.js +3 -15
  464. package/dist/ui/list/UiList.js.map +1 -1
  465. package/dist/ui/list/UiListItem.js +4 -17
  466. package/dist/ui/list/UiListItem.js.map +1 -1
  467. package/dist/ui/list/UiListbox.js +0 -1
  468. package/dist/ui/list/UiListbox.js.map +1 -1
  469. package/dist/ui/notification/SnackNotifications.js +1 -2
  470. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  471. package/dist/ui/notification/Snackbar.js +27 -51
  472. package/dist/ui/notification/Snackbar.js.map +1 -1
  473. package/dist/ui/progress/Range.js +24 -23
  474. package/dist/ui/progress/Range.js.map +1 -1
  475. package/dist/ui/progress/UiProgress.js +0 -11
  476. package/dist/ui/progress/UiProgress.js.map +1 -1
  477. package/dist/ui/table/DataTable.js +7 -12
  478. package/dist/ui/table/DataTable.js.map +1 -1
  479. package/dist/ui/tabs/UiTab.js +24 -25
  480. package/dist/ui/tabs/UiTab.js.map +1 -1
  481. package/dist/ui/tabs/UiTabs.js +21 -35
  482. package/dist/ui/tabs/UiTabs.js.map +1 -1
  483. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  484. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  485. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  486. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  487. package/dist/visualization/lib/Point.js +0 -2
  488. package/dist/visualization/lib/Point.js.map +1 -1
  489. package/dist/visualization/lib/SelectionManager.js +10 -11
  490. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  491. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  492. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  493. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  494. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  495. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  496. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  497. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  498. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  499. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  500. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  501. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  502. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  503. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  504. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  505. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  506. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  507. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  508. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  509. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  510. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  511. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  512. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  513. package/package.json +3 -2
  514. package/tsconfig.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceAlignment.js","sourceRoot":"","sources":["../../../src/visualization/lib/WorkspaceAlignment.ts"],"names":[],"mappings":"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","sourcesContent":["import VizWorkspaceElement from '../elements/VizWorkspaceElement.js';\nimport { getObjectBoundingClientRect, notifyMoved } from './PositionUtils.js';\n\ninterface IPositionInfo {\n node: HTMLElement; \n box: DOMRect;\n}\n\n/**\n * A class that adds support for the nodes alignment on the workspace.\n * It adds methods that can align and distribute selected nodes.\n */\nexport class WorkspaceAlignment {\n /**\n * @return Currently selected on the workspace items.\n */\n get items(): HTMLElement[] {\n const { workspace } = this;\n const result: HTMLElement[] = [];\n workspace.selection.selected.forEach((i) => {\n const item = workspace.querySelector(`[data-key=\"${i.id}\"][data-alignable]`) as HTMLElement | null;\n if (item) {\n result.push(item);\n }\n });\n return result;\n }\n\n constructor(public workspace: VizWorkspaceElement) {\n }\n\n /**\n * @returns True when the number of selected items is above 1.\n */\n multiSelection(): boolean {\n return this.items.length > 1;\n }\n\n /**\n * Aligns selected items vertically to the top.\n */\n verticalTop(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift()!;\n const box = getObjectBoundingClientRect(first, this.workspace);\n items.forEach(async (node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dy = box.y - nodeBox.y;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items vertically to the middle.\n */\n verticalCenter(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift()!;\n const box = getObjectBoundingClientRect(first, this.workspace);\n const middle = box.height / 2 + box.y;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const nodeMiddle = nodeBox.height / 2 + nodeBox.y;\n const dy = middle - nodeMiddle;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items vertically to the bottom.\n */\n verticalBottom(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const end = box.height + box.top;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dy = end - nodeBox.height - nodeBox.y;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Distributes selected items vertically.\n * \n */\n verticalDistribute(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n let maxStart = 0; // minimum y value\n let maxEnd = 0; // maximum y value\n const positioned: IPositionInfo[] = [];\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.workspace);\n positioned.push({\n node,\n box,\n });\n const heightY = box.height + box.y;\n if (!maxStart || box.y <= maxStart) {\n maxStart = box.y;\n }\n if (!maxEnd || heightY >= maxEnd) {\n maxEnd = heightY;\n }\n });\n\n const first = positioned.shift()!;\n const last = positioned.pop()!;\n\n // The first element is to be positioned to the top line.\n notifyMoved(first.node, 0, maxStart - first.box.y);\n // The last element is to be positioned to the bottom line,\n notifyMoved(last.node, 0, maxEnd - last.box.height - last.box.y);\n // Elements in between to be positioned to the remaining space between the first and the last\n // split into equal sections, and positioned in the middle of each section.\n const distributionLength = (maxEnd - last.box.height) - (maxStart + first.box.height);\n const boxesLength = positioned.reduce((result, item) => (result + item.box.height), 0);\n const spaceAvailable = distributionLength - boxesLength;\n const spaceLength = spaceAvailable / (positioned.length + 1);\n let current = maxStart + first.box.height;\n positioned.forEach((item) => {\n const { node, box } = item;\n const newY = current + spaceLength;\n const dy = newY - box.y;\n current += spaceLength + box.height;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the left.\n */\n horizontalLeft(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dx = box.x - nodeBox.x;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the center.\n */\n horizontalCenter(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const middle = box.width / 2 + box.x;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const nodeMiddle = nodeBox.width / 2 + nodeBox.x;\n const dx = middle - nodeMiddle;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the bottom.\n */\n horizontalRight(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const end = box.width + box.x;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dx = end - nodeBox.width - nodeBox.x;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Distributes selected items horizontally.\n */\n horizontalDistribute(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n let maxStart = 0; // minimum x value\n let maxEnd = 0; // maximum x value\n const positioned: IPositionInfo[] = [];\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.workspace);\n positioned.push({\n node,\n box,\n });\n const widthX = box.width + box.x;\n if (!maxStart || box.x <= maxStart) {\n maxStart = box.x;\n }\n if (!maxEnd || widthX >= maxEnd) {\n maxEnd = widthX;\n }\n });\n\n const first = positioned.shift()!;\n const last = positioned.pop()!;\n\n // The first element is to be positioned to the left line.\n notifyMoved(first.node, maxStart - first.box.x, 0);\n // The last element is to be positioned to the right line,\n notifyMoved(last.node, maxEnd - last.box.width - last.box.x, 0);\n // Elements in between to be positioned to the remaining space between the first and the last\n // split into equal sections, and positioned in the middle of each section.\n const distributionLength = (maxEnd - last.box.width) - (maxStart + first.box.width);\n const boxesLength = positioned.reduce((result, item) => (result + item.box.width), 0);\n const spaceAvailable = distributionLength - boxesLength;\n const spaceLength = spaceAvailable / (positioned.length + 1);\n let current = maxStart + first.box.width;\n positioned.forEach((item) => {\n const { node, box } = item;\n const newX = current + spaceLength;\n const dx = newX - box.x;\n current += spaceLength + box.width;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"WorkspaceAlignment.js","sourceRoot":"","sources":["../../../src/visualization/lib/WorkspaceAlignment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAO9E;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACH,IAAI,KAAK;QACP,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,EAAE,oBAAoB,CAAuB,CAAC;YACnG,IAAI,IAAI,EAAE;gBACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACnB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAmB,SAA8B;QAA9B,cAAS,GAAT,SAAS,CAAqB;IACjD,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC7B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC7B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAClD,MAAM,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,EAAE,GAAI,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACpC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB;QAClC,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAClC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;aAClB;YACD,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,MAAM,EAAE;gBAChC,MAAM,GAAG,OAAO,CAAC;aAClB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAG,CAAC;QAE/B,yDAAyD;QACzD,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnD,2DAA2D;QAC3D,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE,6FAA6F;QAC7F,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,cAAc,GAAG,kBAAkB,GAAG,WAAW,CAAC;QACxD,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1C,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC;YAC/B,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,EAAE,GAAI,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;YAC5C,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC1B,OAAO;SACR;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,kBAAkB;QACpC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB;QAClC,MAAM,UAAU,GAAoB,EAAE,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAClC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;aAClB;YACD,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE;gBAC/B,MAAM,GAAG,MAAM,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAG,CAAC;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAG,CAAC;QAE/B,0DAA0D;QAC1D,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,0DAA0D;QAC1D,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,6FAA6F;QAC7F,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,cAAc,GAAG,kBAAkB,GAAG,WAAW,CAAC;QACxD,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACzC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import VizWorkspaceElement from '../elements/VizWorkspaceElement.js';\nimport { getObjectBoundingClientRect, notifyMoved } from './PositionUtils.js';\n\ninterface IPositionInfo {\n node: HTMLElement; \n box: DOMRect;\n}\n\n/**\n * A class that adds support for the nodes alignment on the workspace.\n * It adds methods that can align and distribute selected nodes.\n */\nexport class WorkspaceAlignment {\n /**\n * @return Currently selected on the workspace items.\n */\n get items(): HTMLElement[] {\n const { workspace } = this;\n const result: HTMLElement[] = [];\n workspace.selection.selected.forEach((i) => {\n const item = workspace.querySelector(`[data-key=\"${i.id}\"][data-alignable]`) as HTMLElement | null;\n if (item) {\n result.push(item);\n }\n });\n return result;\n }\n\n constructor(public workspace: VizWorkspaceElement) {\n }\n\n /**\n * @returns True when the number of selected items is above 1.\n */\n multiSelection(): boolean {\n return this.items.length > 1;\n }\n\n /**\n * Aligns selected items vertically to the top.\n */\n verticalTop(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift()!;\n const box = getObjectBoundingClientRect(first, this.workspace);\n items.forEach(async (node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dy = box.y - nodeBox.y;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items vertically to the middle.\n */\n verticalCenter(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift()!;\n const box = getObjectBoundingClientRect(first, this.workspace);\n const middle = box.height / 2 + box.y;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const nodeMiddle = nodeBox.height / 2 + nodeBox.y;\n const dy = middle - nodeMiddle;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items vertically to the bottom.\n */\n verticalBottom(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const end = box.height + box.top;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dy = end - nodeBox.height - nodeBox.y;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Distributes selected items vertically.\n * \n */\n verticalDistribute(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n let maxStart = 0; // minimum y value\n let maxEnd = 0; // maximum y value\n const positioned: IPositionInfo[] = [];\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.workspace);\n positioned.push({\n node,\n box,\n });\n const heightY = box.height + box.y;\n if (!maxStart || box.y <= maxStart) {\n maxStart = box.y;\n }\n if (!maxEnd || heightY >= maxEnd) {\n maxEnd = heightY;\n }\n });\n\n const first = positioned.shift()!;\n const last = positioned.pop()!;\n\n // The first element is to be positioned to the top line.\n notifyMoved(first.node, 0, maxStart - first.box.y);\n // The last element is to be positioned to the bottom line,\n notifyMoved(last.node, 0, maxEnd - last.box.height - last.box.y);\n // Elements in between to be positioned to the remaining space between the first and the last\n // split into equal sections, and positioned in the middle of each section.\n const distributionLength = (maxEnd - last.box.height) - (maxStart + first.box.height);\n const boxesLength = positioned.reduce((result, item) => (result + item.box.height), 0);\n const spaceAvailable = distributionLength - boxesLength;\n const spaceLength = spaceAvailable / (positioned.length + 1);\n let current = maxStart + first.box.height;\n positioned.forEach((item) => {\n const { node, box } = item;\n const newY = current + spaceLength;\n const dy = newY - box.y;\n current += spaceLength + box.height;\n if (dy !== 0) {\n notifyMoved(node, 0, dy);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the left.\n */\n horizontalLeft(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dx = box.x - nodeBox.x;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the center.\n */\n horizontalCenter(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const middle = box.width / 2 + box.x;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const nodeMiddle = nodeBox.width / 2 + nodeBox.x;\n const dx = middle - nodeMiddle;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Aligns selected items horizontally to the bottom.\n */\n horizontalRight(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n const first = items.shift();\n const box = getObjectBoundingClientRect(first!, this.workspace);\n const end = box.width + box.x;\n items.forEach((node) => {\n const nodeBox = getObjectBoundingClientRect(node, this.workspace);\n const dx = end - nodeBox.width - nodeBox.x;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n\n /**\n * Distributes selected items horizontally.\n */\n horizontalDistribute(): void {\n if (!this.multiSelection()) {\n return;\n }\n const { items } = this;\n let maxStart = 0; // minimum x value\n let maxEnd = 0; // maximum x value\n const positioned: IPositionInfo[] = [];\n items.forEach((node) => {\n const box = getObjectBoundingClientRect(node, this.workspace);\n positioned.push({\n node,\n box,\n });\n const widthX = box.width + box.x;\n if (!maxStart || box.x <= maxStart) {\n maxStart = box.x;\n }\n if (!maxEnd || widthX >= maxEnd) {\n maxEnd = widthX;\n }\n });\n\n const first = positioned.shift()!;\n const last = positioned.pop()!;\n\n // The first element is to be positioned to the left line.\n notifyMoved(first.node, maxStart - first.box.x, 0);\n // The last element is to be positioned to the right line,\n notifyMoved(last.node, maxEnd - last.box.width - last.box.x, 0);\n // Elements in between to be positioned to the remaining space between the first and the last\n // split into equal sections, and positioned in the middle of each section.\n const distributionLength = (maxEnd - last.box.width) - (maxStart + first.box.width);\n const boxesLength = positioned.reduce((result, item) => (result + item.box.width), 0);\n const spaceAvailable = distributionLength - boxesLength;\n const spaceLength = spaceAvailable / (positioned.length + 1);\n let current = maxStart + first.box.width;\n positioned.forEach((item) => {\n const { node, box } = item;\n const newX = current + spaceLength;\n const dx = newX - box.x;\n current += spaceLength + box.width;\n if (dx !== 0) {\n notifyMoved(node, dx, 0);\n }\n });\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ var _a, _b, _c;
1
2
  import { getRelativeClickPoint, getObjectBoundingClientRect, getWorkspaceClick } from './PositionUtils.js';
2
3
  const mousePortioningValue = Symbol('mousePortioningValue');
3
4
  const setupMousePositioning = Symbol('setupMousePositioning');
@@ -26,8 +27,6 @@ const ignoredElements = ['viz-association'];
26
27
  * Debugging helpers for the visualization workspace.
27
28
  */
28
29
  export class WorkspaceDebugging {
29
- workspace;
30
- [mousePortioningValue] = false;
31
30
  /**
32
31
  * @return Whether a mouse position value is rendered in the workspace
33
32
  */
@@ -50,7 +49,6 @@ export class WorkspaceDebugging {
50
49
  this[disableMousePositioning]();
51
50
  }
52
51
  }
53
- [workspacePositioningValue] = false;
54
52
  /**
55
53
  * @return Whether the position of each visualized element is rendered in the workspace
56
54
  */
@@ -70,16 +68,16 @@ export class WorkspaceDebugging {
70
68
  this[disableWorkspacePositioning]();
71
69
  }
72
70
  }
73
- [positionedElements] = new WeakMap();
74
- [mousePositionAnchor];
75
- [mutationObserver];
76
71
  constructor(workspace) {
77
72
  this.workspace = workspace;
73
+ this[_a] = false;
74
+ this[_b] = false;
75
+ this[_c] = new WeakMap();
78
76
  this[mouseMoveHandler] = this[mouseMoveHandler].bind(this);
79
77
  this[mutationHandler] = this[mutationHandler].bind(this);
80
78
  this[scrollHandler] = this[scrollHandler].bind(this);
81
79
  }
82
- [setupMousePositioning]() {
80
+ [(_a = mousePortioningValue, _b = workspacePositioningValue, _c = positionedElements, setupMousePositioning)]() {
83
81
  this.workspace.addEventListener('mousemove', this[mouseMoveHandler]);
84
82
  }
85
83
  [disableMousePositioning]() {
@@ -256,7 +254,6 @@ export class WorkspaceDebugging {
256
254
  const scaledSize = `(sw,sh) ${Math.round(rect.width)} x ${Math.round(rect.height)}`;
257
255
  label.innerText = `${position}\n${realSize}\n${scaledSize}`;
258
256
  }
259
- [scrollTimeout];
260
257
  /**
261
258
  * Updates the labels on each visualized item after the workspace scroll
262
259
  */
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceDebugging.js","sourceRoot":"","sources":["../../../src/visualization/lib/WorkspaceDebugging.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport VizWorkspaceElement from '../elements/VizWorkspaceElement.js';\nimport { getRelativeClickPoint, getObjectBoundingClientRect, getWorkspaceClick } from './PositionUtils.js';\n\nconst mousePortioningValue = Symbol('mousePortioningValue');\nconst setupMousePositioning = Symbol('setupMousePositioning');\nconst disableMousePositioning = Symbol('disableMousePositioning');\nconst mouseMoveHandler = Symbol('mouseMoveHandler');\nconst mousePositionAnchor = Symbol('mousePositionAnchor');\nconst workspacePositioningValue = Symbol('workspacePositioningValue');\nconst setupWorkspacePositioning = Symbol('setupWorkspacePositioning');\nconst disableWorkspacePositioning = Symbol('disableWorkspacePositioning');\nconst mutationHandler = Symbol('mutationHandler');\nconst mutationObserver = Symbol('mutationObserver');\nconst observeItems = Symbol('observeItems');\nconst processAddedNodes = Symbol('processAddedNodes');\nconst processRemovedNodes = Symbol('processRemovedNodes');\nconst updateVisualizationItem = Symbol('updateVisualizationItem');\nconst positionedElements = Symbol('positionedElements');\nconst scrollHandler = Symbol('scrollHandler');\nconst scrollTimeout = Symbol('scrollTimeout');\nconst onScroll = Symbol('onScroll');\nconst createPositioningInfoElement = Symbol('createPositioningInfoElement');\nconst ensurePositioningInfoElement = Symbol('ensurePositioningInfoElement');\nconst updatePositioningInfoElement = Symbol('updatePositioningInfoElement');\n\nlet elementIndex = 0;\n\nconst ignoredElements = ['viz-association'];\n\n/**\n * Debugging helpers for the visualization workspace.\n */\nexport class WorkspaceDebugging {\n [mousePortioningValue]: boolean = false;\n\n /**\n * @return Whether a mouse position value is rendered in the workspace\n */\n get mousePositioning(): boolean {\n return this[mousePortioningValue];\n }\n\n /**\n * @param value Whether a mouse position value is rendered in the workspace\n */\n set mousePositioning(value: boolean) {\n const old = this[mousePortioningValue];\n if (old === value) {\n return;\n }\n this[mousePortioningValue] = value;\n if (value) {\n this[setupMousePositioning]();\n } else {\n this[disableMousePositioning]();\n }\n }\n\n [workspacePositioningValue]: boolean = false;\n\n /**\n * @return Whether the position of each visualized element is rendered in the workspace\n */\n get workspacePositioning(): boolean {\n return this[workspacePositioningValue];\n }\n\n set workspacePositioning(value: boolean) {\n const old = this[workspacePositioningValue];\n if (old === value) {\n return;\n }\n this[workspacePositioningValue] = old;\n if (value) {\n this[setupWorkspacePositioning]();\n } else {\n this[disableWorkspacePositioning]();\n }\n }\n\n [positionedElements] = new WeakMap<HTMLElement, string>();\n\n [mousePositionAnchor]?: HTMLDivElement;\n\n [mutationObserver]?: MutationObserver;\n\n constructor(public workspace: VizWorkspaceElement) {\n this[mouseMoveHandler] = this[mouseMoveHandler].bind(this);\n this[mutationHandler] = this[mutationHandler].bind(this);\n this[scrollHandler] = this[scrollHandler].bind(this);\n }\n\n [setupMousePositioning](): void {\n this.workspace.addEventListener('mousemove', this[mouseMoveHandler]);\n }\n\n [disableMousePositioning](): void {\n this.workspace.removeEventListener('mousemove', this[mouseMoveHandler]);\n if (this[mousePositionAnchor]) {\n this.workspace.shadowRoot!.removeChild(this[mousePositionAnchor]!);\n this[mousePositionAnchor] = undefined;\n }\n }\n\n /**\n * Redraws the position anchor\n */\n [mouseMoveHandler](e: MouseEvent): void {\n const { clientX, clientY } = e;\n const rPos = getRelativeClickPoint(clientX, clientY, this.workspace);\n const pos = getWorkspaceClick(clientX, clientY, this.workspace);\n if (!this[mousePositionAnchor]) {\n const a = document.createElement('div');\n a.style.position = 'absolute';\n a.style.backgroundColor = 'rgb(253 216 53 / 54%)';\n a.style.padding = '4px 8px';\n a.style.pointerEvents = 'none';\n this.workspace.shadowRoot!.appendChild(a);\n this[mousePositionAnchor] = a;\n }\n this[mousePositionAnchor]!.style.left = `${pos.x + 8}px`;\n this[mousePositionAnchor]!.style.top = `${pos.y}px`;\n this[mousePositionAnchor]!.innerText = `${Math.round(rPos.x)} x ${Math.round(rPos.y)}`;\n }\n\n [setupWorkspacePositioning](): void {\n this[mutationObserver] = this[observeItems]();\n this.workspace.addEventListener('scroll', this[scrollHandler]);\n this.workspace.addEventListener('zoomchange', this[scrollHandler]);\n const nodes = this.workspace.querySelectorAll('*');\n this[processAddedNodes](nodes);\n }\n\n [disableWorkspacePositioning](): void {\n this.workspace.removeEventListener('scroll', this[scrollHandler]);\n this.workspace.removeEventListener('zoomchange', this[scrollHandler]);\n if (this[mutationObserver]) {\n this[mutationObserver]!.disconnect();\n this[mutationObserver] = undefined;\n }\n const nodes = this.workspace.shadowRoot!.querySelectorAll('.debug-viz-positioning');\n nodes.forEach((node) => {\n node.parentNode!.removeChild(node);\n });\n this[positionedElements] = new WeakMap();\n }\n\n /**\n * Observe items change in the element's light DOM\n * @return The observer handler\n */\n [observeItems](): MutationObserver {\n const config = { attributes: true, childList: true, subtree: true, };\n const observer = new MutationObserver(this[mutationHandler]);\n observer.observe(this.workspace, config);\n return observer;\n }\n\n /**\n * Processes mutations in the workspace and manages selection state.\n * @param mutationsList List of mutations.\n */\n [mutationHandler](mutationsList: MutationRecord[]): void {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n this[processAddedNodes](mutation.addedNodes);\n this[processRemovedNodes](mutation.removedNodes);\n } else if (mutation.type === 'attributes') {\n const { target } = mutation;\n this[updateVisualizationItem](target);\n }\n }\n }\n\n /**\n * Processes added to the canvas elements.\n * @param nodes The list of added nodes\n */\n [processAddedNodes](nodes: NodeList): void {\n nodes.forEach((node) => this[updateVisualizationItem](node));\n }\n\n isVisualizedObject(element: Element): boolean {\n const { localName } = element;\n if (localName.startsWith('viz-')) {\n return true;\n }\n return element.hasAttribute('data-key');\n }\n\n /**\n * Processes removed from the canvas elements.\n * @param nodes The list of removed nodes\n */\n [processRemovedNodes](nodes: NodeList): void {\n nodes.forEach((node) => {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n const typed = node as HTMLElement;\n if (!this.isVisualizedObject(typed)) {\n return;\n }\n if (this[positionedElements].has(typed)) {\n const id = this[positionedElements].get(typed);\n this[positionedElements].delete(typed);\n const label = this.workspace.shadowRoot!.querySelector(`#${id}`) as HTMLDivElement;\n if (label) {\n label.parentNode!.removeChild(label);\n }\n }\n this[processRemovedNodes](typed.childNodes);\n });\n }\n\n [updateVisualizationItem](node: Node): void {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n const typed = node as HTMLElement;\n const { localName } = typed;\n if (!this.isVisualizedObject(typed) || ignoredElements.includes(localName)) {\n return;\n }\n const rect = typed.getBoundingClientRect();\n const { width, height } = rect;\n if (!width || !height) {\n // don't need them\n return;\n }\n this[ensurePositioningInfoElement](typed);\n this[updatePositioningInfoElement](typed, rect);\n }\n\n /**\n * Ensures that element that is positioned relative to each visualized item exists.\n */\n [ensurePositioningInfoElement](targetElement: HTMLElement): void {\n if (!this[positionedElements].has(targetElement)) {\n const label = this[createPositioningInfoElement](targetElement);\n this.workspace.shadowRoot!.appendChild(label);\n this[positionedElements].set(targetElement, label.id);\n }\n }\n\n /**\n * Creates an element that is positioned relative to each visualized item.\n * @param {HTMLElement} targetElement \n * @returns {HTMLDivElement}\n */\n [createPositioningInfoElement](targetElement: HTMLElement): HTMLDivElement {\n const label = document.createElement('div');\n label.style.position = 'absolute';\n label.style.backgroundColor = 'rgb(253 216 53 / 54%)';\n label.style.padding = '4px 8px';\n label.style.pointerEvents = 'none';\n label.id = `debug-position${elementIndex++}`;\n label.classList.add('debug-viz-positioning');\n label.dataset.target = targetElement.getAttribute('data-key')!;\n return label;\n }\n\n /**\n * Updates the position of the visualized element position label\n * @param {HTMLElement} targetElement \n * @param {DOMRect} rect \n */\n [updatePositioningInfoElement](targetElement: HTMLElement, rect: DOMRect): void {\n const { x, y } = rect;\n const rPos = getRelativeClickPoint(x, y, this.workspace);\n const pos = getWorkspaceClick(x, y, this.workspace);\n const sizedRect = getObjectBoundingClientRect(targetElement, this.workspace);\n\n const id = this[positionedElements].get(targetElement);\n const label = this.workspace.shadowRoot!.querySelector(`#${id}`) as HTMLDivElement;\n label.style.left = `${pos.x + 8}px`;\n label.style.top = `${pos.y + rect.height}px`;\n const position = `(x,y) ${Math.round(rPos.x)} x ${Math.round(rPos.y)}`;\n const realSize = `(w,h) ${Math.round(sizedRect.width)} x ${Math.round(sizedRect.height)}`;\n const scaledSize = `(sw,sh) ${Math.round(rect.width)} x ${Math.round(rect.height)}`;\n label.innerText = `${position}\\n${realSize}\\n${scaledSize}`;\n }\n\n [scrollTimeout]?: any;\n\n /**\n * Updates the labels on each visualized item after the workspace scroll\n */\n [scrollHandler](): void {\n if (this[scrollTimeout]) {\n clearTimeout(this[scrollTimeout]);\n }\n this[scrollTimeout] = setTimeout(() => {\n this[scrollTimeout] = undefined;\n this[onScroll]();\n }, 1);\n }\n\n /**\n * Updates the labels on each visualized item after the workspace scroll\n */\n [onScroll](): void {\n const nodes = Array.from(this.workspace.shadowRoot!.querySelectorAll('.debug-viz-positioning')) as HTMLDivElement[];\n nodes.forEach((node) => {\n const { target } = node.dataset;\n const item = this.workspace.querySelector(`[data-key=\"${target}\"]`);\n if (item) {\n this[updateVisualizationItem](item);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"WorkspaceDebugging.js","sourceRoot":"","sources":["../../../src/visualization/lib/WorkspaceDebugging.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable class-methods-use-this */\nimport VizWorkspaceElement from '../elements/VizWorkspaceElement.js';\nimport { getRelativeClickPoint, getObjectBoundingClientRect, getWorkspaceClick } from './PositionUtils.js';\n\nconst mousePortioningValue = Symbol('mousePortioningValue');\nconst setupMousePositioning = Symbol('setupMousePositioning');\nconst disableMousePositioning = Symbol('disableMousePositioning');\nconst mouseMoveHandler = Symbol('mouseMoveHandler');\nconst mousePositionAnchor = Symbol('mousePositionAnchor');\nconst workspacePositioningValue = Symbol('workspacePositioningValue');\nconst setupWorkspacePositioning = Symbol('setupWorkspacePositioning');\nconst disableWorkspacePositioning = Symbol('disableWorkspacePositioning');\nconst mutationHandler = Symbol('mutationHandler');\nconst mutationObserver = Symbol('mutationObserver');\nconst observeItems = Symbol('observeItems');\nconst processAddedNodes = Symbol('processAddedNodes');\nconst processRemovedNodes = Symbol('processRemovedNodes');\nconst updateVisualizationItem = Symbol('updateVisualizationItem');\nconst positionedElements = Symbol('positionedElements');\nconst scrollHandler = Symbol('scrollHandler');\nconst scrollTimeout = Symbol('scrollTimeout');\nconst onScroll = Symbol('onScroll');\nconst createPositioningInfoElement = Symbol('createPositioningInfoElement');\nconst ensurePositioningInfoElement = Symbol('ensurePositioningInfoElement');\nconst updatePositioningInfoElement = Symbol('updatePositioningInfoElement');\n\nlet elementIndex = 0;\n\nconst ignoredElements = ['viz-association'];\n\n/**\n * Debugging helpers for the visualization workspace.\n */\nexport class WorkspaceDebugging {\n [mousePortioningValue]: boolean = false;\n\n /**\n * @return Whether a mouse position value is rendered in the workspace\n */\n get mousePositioning(): boolean {\n return this[mousePortioningValue];\n }\n\n /**\n * @param value Whether a mouse position value is rendered in the workspace\n */\n set mousePositioning(value: boolean) {\n const old = this[mousePortioningValue];\n if (old === value) {\n return;\n }\n this[mousePortioningValue] = value;\n if (value) {\n this[setupMousePositioning]();\n } else {\n this[disableMousePositioning]();\n }\n }\n\n [workspacePositioningValue]: boolean = false;\n\n /**\n * @return Whether the position of each visualized element is rendered in the workspace\n */\n get workspacePositioning(): boolean {\n return this[workspacePositioningValue];\n }\n\n set workspacePositioning(value: boolean) {\n const old = this[workspacePositioningValue];\n if (old === value) {\n return;\n }\n this[workspacePositioningValue] = old;\n if (value) {\n this[setupWorkspacePositioning]();\n } else {\n this[disableWorkspacePositioning]();\n }\n }\n\n [positionedElements] = new WeakMap<HTMLElement, string>();\n\n [mousePositionAnchor]?: HTMLDivElement;\n\n [mutationObserver]?: MutationObserver;\n\n constructor(public workspace: VizWorkspaceElement) {\n this[mouseMoveHandler] = this[mouseMoveHandler].bind(this);\n this[mutationHandler] = this[mutationHandler].bind(this);\n this[scrollHandler] = this[scrollHandler].bind(this);\n }\n\n [setupMousePositioning](): void {\n this.workspace.addEventListener('mousemove', this[mouseMoveHandler]);\n }\n\n [disableMousePositioning](): void {\n this.workspace.removeEventListener('mousemove', this[mouseMoveHandler]);\n if (this[mousePositionAnchor]) {\n this.workspace.shadowRoot!.removeChild(this[mousePositionAnchor]!);\n this[mousePositionAnchor] = undefined;\n }\n }\n\n /**\n * Redraws the position anchor\n */\n [mouseMoveHandler](e: MouseEvent): void {\n const { clientX, clientY } = e;\n const rPos = getRelativeClickPoint(clientX, clientY, this.workspace);\n const pos = getWorkspaceClick(clientX, clientY, this.workspace);\n if (!this[mousePositionAnchor]) {\n const a = document.createElement('div');\n a.style.position = 'absolute';\n a.style.backgroundColor = 'rgb(253 216 53 / 54%)';\n a.style.padding = '4px 8px';\n a.style.pointerEvents = 'none';\n this.workspace.shadowRoot!.appendChild(a);\n this[mousePositionAnchor] = a;\n }\n this[mousePositionAnchor]!.style.left = `${pos.x + 8}px`;\n this[mousePositionAnchor]!.style.top = `${pos.y}px`;\n this[mousePositionAnchor]!.innerText = `${Math.round(rPos.x)} x ${Math.round(rPos.y)}`;\n }\n\n [setupWorkspacePositioning](): void {\n this[mutationObserver] = this[observeItems]();\n this.workspace.addEventListener('scroll', this[scrollHandler]);\n this.workspace.addEventListener('zoomchange', this[scrollHandler]);\n const nodes = this.workspace.querySelectorAll('*');\n this[processAddedNodes](nodes);\n }\n\n [disableWorkspacePositioning](): void {\n this.workspace.removeEventListener('scroll', this[scrollHandler]);\n this.workspace.removeEventListener('zoomchange', this[scrollHandler]);\n if (this[mutationObserver]) {\n this[mutationObserver]!.disconnect();\n this[mutationObserver] = undefined;\n }\n const nodes = this.workspace.shadowRoot!.querySelectorAll('.debug-viz-positioning');\n nodes.forEach((node) => {\n node.parentNode!.removeChild(node);\n });\n this[positionedElements] = new WeakMap();\n }\n\n /**\n * Observe items change in the element's light DOM\n * @return The observer handler\n */\n [observeItems](): MutationObserver {\n const config = { attributes: true, childList: true, subtree: true, };\n const observer = new MutationObserver(this[mutationHandler]);\n observer.observe(this.workspace, config);\n return observer;\n }\n\n /**\n * Processes mutations in the workspace and manages selection state.\n * @param mutationsList List of mutations.\n */\n [mutationHandler](mutationsList: MutationRecord[]): void {\n for (const mutation of mutationsList) {\n if (mutation.type === 'childList') {\n this[processAddedNodes](mutation.addedNodes);\n this[processRemovedNodes](mutation.removedNodes);\n } else if (mutation.type === 'attributes') {\n const { target } = mutation;\n this[updateVisualizationItem](target);\n }\n }\n }\n\n /**\n * Processes added to the canvas elements.\n * @param nodes The list of added nodes\n */\n [processAddedNodes](nodes: NodeList): void {\n nodes.forEach((node) => this[updateVisualizationItem](node));\n }\n\n isVisualizedObject(element: Element): boolean {\n const { localName } = element;\n if (localName.startsWith('viz-')) {\n return true;\n }\n return element.hasAttribute('data-key');\n }\n\n /**\n * Processes removed from the canvas elements.\n * @param nodes The list of removed nodes\n */\n [processRemovedNodes](nodes: NodeList): void {\n nodes.forEach((node) => {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n const typed = node as HTMLElement;\n if (!this.isVisualizedObject(typed)) {\n return;\n }\n if (this[positionedElements].has(typed)) {\n const id = this[positionedElements].get(typed);\n this[positionedElements].delete(typed);\n const label = this.workspace.shadowRoot!.querySelector(`#${id}`) as HTMLDivElement;\n if (label) {\n label.parentNode!.removeChild(label);\n }\n }\n this[processRemovedNodes](typed.childNodes);\n });\n }\n\n [updateVisualizationItem](node: Node): void {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n const typed = node as HTMLElement;\n const { localName } = typed;\n if (!this.isVisualizedObject(typed) || ignoredElements.includes(localName)) {\n return;\n }\n const rect = typed.getBoundingClientRect();\n const { width, height } = rect;\n if (!width || !height) {\n // don't need them\n return;\n }\n this[ensurePositioningInfoElement](typed);\n this[updatePositioningInfoElement](typed, rect);\n }\n\n /**\n * Ensures that element that is positioned relative to each visualized item exists.\n */\n [ensurePositioningInfoElement](targetElement: HTMLElement): void {\n if (!this[positionedElements].has(targetElement)) {\n const label = this[createPositioningInfoElement](targetElement);\n this.workspace.shadowRoot!.appendChild(label);\n this[positionedElements].set(targetElement, label.id);\n }\n }\n\n /**\n * Creates an element that is positioned relative to each visualized item.\n * @param {HTMLElement} targetElement \n * @returns {HTMLDivElement}\n */\n [createPositioningInfoElement](targetElement: HTMLElement): HTMLDivElement {\n const label = document.createElement('div');\n label.style.position = 'absolute';\n label.style.backgroundColor = 'rgb(253 216 53 / 54%)';\n label.style.padding = '4px 8px';\n label.style.pointerEvents = 'none';\n label.id = `debug-position${elementIndex++}`;\n label.classList.add('debug-viz-positioning');\n label.dataset.target = targetElement.getAttribute('data-key')!;\n return label;\n }\n\n /**\n * Updates the position of the visualized element position label\n * @param {HTMLElement} targetElement \n * @param {DOMRect} rect \n */\n [updatePositioningInfoElement](targetElement: HTMLElement, rect: DOMRect): void {\n const { x, y } = rect;\n const rPos = getRelativeClickPoint(x, y, this.workspace);\n const pos = getWorkspaceClick(x, y, this.workspace);\n const sizedRect = getObjectBoundingClientRect(targetElement, this.workspace);\n\n const id = this[positionedElements].get(targetElement);\n const label = this.workspace.shadowRoot!.querySelector(`#${id}`) as HTMLDivElement;\n label.style.left = `${pos.x + 8}px`;\n label.style.top = `${pos.y + rect.height}px`;\n const position = `(x,y) ${Math.round(rPos.x)} x ${Math.round(rPos.y)}`;\n const realSize = `(w,h) ${Math.round(sizedRect.width)} x ${Math.round(sizedRect.height)}`;\n const scaledSize = `(sw,sh) ${Math.round(rect.width)} x ${Math.round(rect.height)}`;\n label.innerText = `${position}\\n${realSize}\\n${scaledSize}`;\n }\n\n [scrollTimeout]?: any;\n\n /**\n * Updates the labels on each visualized item after the workspace scroll\n */\n [scrollHandler](): void {\n if (this[scrollTimeout]) {\n clearTimeout(this[scrollTimeout]);\n }\n this[scrollTimeout] = setTimeout(() => {\n this[scrollTimeout] = undefined;\n this[onScroll]();\n }, 1);\n }\n\n /**\n * Updates the labels on each visualized item after the workspace scroll\n */\n [onScroll](): void {\n const nodes = Array.from(this.workspace.shadowRoot!.querySelectorAll('.debug-viz-positioning')) as HTMLDivElement[];\n nodes.forEach((node) => {\n const { target } = node.dataset;\n const item = this.workspace.querySelector(`[data-key=\"${target}\"]`);\n if (item) {\n this[updateVisualizationItem](item);\n }\n });\n }\n}\n"]}
@@ -1,3 +1,4 @@
1
+ var _a, _b, _c;
1
2
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
3
  /* eslint-disable class-methods-use-this */
3
4
  /* eslint-disable prefer-destructuring */
@@ -42,37 +43,35 @@ export const readEventTarget = Symbol('readEventTarget');
42
43
  * This class also manages selection state of the edge.
43
44
  */
44
45
  export class WorkspaceEdges {
45
- workspace;
46
- [connectedValue] = false;
47
46
  /**
48
47
  * @returns True when the plug-in is listening for the input events.
49
48
  */
50
49
  get connected() {
51
50
  return this[connectedValue];
52
51
  }
53
- [edgesValue] = new Map();
54
52
  /**
55
53
  * @returns The edges to be visualized in the workspace.
56
54
  */
57
55
  get edges() {
58
56
  return this[edgesValue];
59
57
  }
60
- /**
61
- * When an association is changed in the DOM it is held in this array to process them asynchronously
62
- * in the future, when the workspace is updated.
63
- */
64
- [processQueue] = [];
65
- /**
66
- * The processor used to draw lines
67
- */
68
- lineProcessor = new LineSketch();
69
- /**
70
- * The processor used to draw tips on the line
71
- */
72
- tipProcessor = new TipSketch();
73
- [mutationObserver];
74
58
  constructor(workspace) {
75
59
  this.workspace = workspace;
60
+ this[_a] = false;
61
+ this[_b] = new Map();
62
+ /**
63
+ * When an association is changed in the DOM it is held in this array to process them asynchronously
64
+ * in the future, when the workspace is updated.
65
+ */
66
+ this[_c] = [];
67
+ /**
68
+ * The processor used to draw lines
69
+ */
70
+ this.lineProcessor = new LineSketch();
71
+ /**
72
+ * The processor used to draw tips on the line
73
+ */
74
+ this.tipProcessor = new TipSketch();
76
75
  this[mutationHandler] = this[mutationHandler].bind(this);
77
76
  this[clickHandler] = this[clickHandler].bind(this);
78
77
  this[mouseOverHandler] = this[mouseOverHandler].bind(this);
@@ -195,7 +194,7 @@ export class WorkspaceEdges {
195
194
  * @param id The domain id of the association
196
195
  * @param name The label rendered in the association
197
196
  */
198
- [updateAssociationById](source, target, id, name) {
197
+ [(_a = connectedValue, _b = edgesValue, _c = processQueue, updateAssociationById)](source, target, id, name) {
199
198
  const { workspace } = this;
200
199
  const sourceElement = workspace.querySelector(`[data-key="${source}"]`);
201
200
  if (!sourceElement) {
@@ -706,7 +705,6 @@ export class WorkspaceEdges {
706
705
  const targetElement = this.workspace.querySelector(`[data-key="${target}"]`);
707
706
  return targetElement;
708
707
  }
709
- [processQueueDebouncer];
710
708
  runProcessingQueue() {
711
709
  const timeout = this[processQueueDebouncer];
712
710
  if (timeout) {