@api-client/ui 0.0.4 → 0.0.7

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 (756) hide show
  1. package/demo/elements/http/http-assertions.html +3 -0
  2. package/demo/elements/http/http-assertions.ts +1 -1
  3. package/demo/elements/http/http-flows.html +23 -0
  4. package/demo/elements/http/http-flows.ts +92 -0
  5. package/demo/elements/http/index.html +3 -0
  6. package/demo/pages/http-project/main.ts +5 -6
  7. package/dist/amf/lib/AmfParameters.js +0 -4
  8. package/dist/amf/lib/AmfParameters.js.map +1 -1
  9. package/dist/amf/lib/navigation-layout/EndpointsTree.js +0 -2
  10. package/dist/amf/lib/navigation-layout/EndpointsTree.js.map +1 -1
  11. package/dist/amf/lib/navigation-layout/NaturalTree.js +0 -2
  12. package/dist/amf/lib/navigation-layout/NaturalTree.js.map +1 -1
  13. package/dist/amf/store/AmfGraphStore.js +0 -2
  14. package/dist/amf/store/AmfGraphStore.js.map +1 -1
  15. package/dist/amf/store/AmfStore.js +0 -7
  16. package/dist/amf/store/AmfStore.js.map +1 -1
  17. package/dist/bindings/base/HttpClientStoreBindings.js +4 -1
  18. package/dist/bindings/base/HttpClientStoreBindings.js.map +1 -1
  19. package/dist/bindings/base/PlatformBindings.js +6 -10
  20. package/dist/bindings/base/PlatformBindings.js.map +1 -1
  21. package/dist/bindings/base/ProxyBindings.js +9 -6
  22. package/dist/bindings/base/ProxyBindings.js.map +1 -1
  23. package/dist/bindings/base/SharedWorkerThread.js +4 -1
  24. package/dist/bindings/base/SharedWorkerThread.js.map +1 -1
  25. package/dist/bindings/base/StoreBindings.js +162 -170
  26. package/dist/bindings/base/StoreBindings.js.map +1 -1
  27. package/dist/bindings/web/WebConfigurationBindings.js +22 -24
  28. package/dist/bindings/web/WebConfigurationBindings.js.map +1 -1
  29. package/dist/bindings/web/WebFileBindings.js +7 -4
  30. package/dist/bindings/web/WebFileBindings.js.map +1 -1
  31. package/dist/bindings/web/WebHttpClientStoreBindings.js +19 -21
  32. package/dist/bindings/web/WebHttpClientStoreBindings.js.map +1 -1
  33. package/dist/bindings/web/WebNavigationBindings.js +4 -1
  34. package/dist/bindings/web/WebNavigationBindings.js.map +1 -1
  35. package/dist/bindings/web/WebProxyBindings.js +5 -6
  36. package/dist/bindings/web/WebProxyBindings.js.map +1 -1
  37. package/dist/bindings/web/WebStoreBindings.js +39 -44
  38. package/dist/bindings/web/WebStoreBindings.js.map +1 -1
  39. package/dist/contextual-menu/ContextualMenu.js +10 -19
  40. package/dist/contextual-menu/ContextualMenu.js.map +1 -1
  41. package/dist/contextual-menu/ContextualMenuElement.js +4 -32
  42. package/dist/contextual-menu/ContextualMenuElement.js.map +1 -1
  43. package/dist/contextual-menu/MenuItem.js +0 -12
  44. package/dist/contextual-menu/MenuItem.js.map +1 -1
  45. package/dist/define/amf/api-annotation-document.js +1 -1
  46. package/dist/define/amf/api-annotation-document.js.map +1 -1
  47. package/dist/define/amf/api-authorization-editor.js +1 -1
  48. package/dist/define/amf/api-authorization-editor.js.map +1 -1
  49. package/dist/define/amf/api-channel-document.js +1 -1
  50. package/dist/define/amf/api-channel-document.js.map +1 -1
  51. package/dist/define/amf/api-documentation-document.js +1 -1
  52. package/dist/define/amf/api-documentation-document.js.map +1 -1
  53. package/dist/define/amf/api-documentation.js +1 -1
  54. package/dist/define/amf/api-documentation.js.map +1 -1
  55. package/dist/define/amf/api-navigation.js +1 -1
  56. package/dist/define/amf/api-navigation.js.map +1 -1
  57. package/dist/define/amf/api-operation-document.js +1 -1
  58. package/dist/define/amf/api-operation-document.js.map +1 -1
  59. package/dist/define/amf/api-parameter-document.js +1 -1
  60. package/dist/define/amf/api-parameter-document.js.map +1 -1
  61. package/dist/define/amf/api-parametrized-security-scheme.js +1 -1
  62. package/dist/define/amf/api-parametrized-security-scheme.js.map +1 -1
  63. package/dist/define/amf/api-payload-document.js +1 -1
  64. package/dist/define/amf/api-payload-document.js.map +1 -1
  65. package/dist/define/amf/api-request-document.js +1 -1
  66. package/dist/define/amf/api-request-document.js.map +1 -1
  67. package/dist/define/amf/api-request-editor.js +1 -1
  68. package/dist/define/amf/api-request-editor.js.map +1 -1
  69. package/dist/define/amf/api-request.js +1 -1
  70. package/dist/define/amf/api-request.js.map +1 -1
  71. package/dist/define/amf/api-resource-document.js +1 -1
  72. package/dist/define/amf/api-resource-document.js.map +1 -1
  73. package/dist/define/amf/api-response-document.js +1 -1
  74. package/dist/define/amf/api-response-document.js.map +1 -1
  75. package/dist/define/amf/api-schema-document.js +1 -1
  76. package/dist/define/amf/api-schema-document.js.map +1 -1
  77. package/dist/define/amf/api-security-document.js +1 -1
  78. package/dist/define/amf/api-security-document.js.map +1 -1
  79. package/dist/define/amf/api-security-requirement-document.js +1 -1
  80. package/dist/define/amf/api-security-requirement-document.js.map +1 -1
  81. package/dist/define/amf/api-server-picker.js +1 -1
  82. package/dist/define/amf/api-server-picker.js.map +1 -1
  83. package/dist/define/amf/api-summary.js +1 -1
  84. package/dist/define/amf/api-summary.js.map +1 -1
  85. package/dist/define/amf/authorization/amf-apikey-authorization.js +1 -1
  86. package/dist/define/amf/authorization/amf-apikey-authorization.js.map +1 -1
  87. package/dist/define/amf/authorization/amf-basic-authorization.js +1 -1
  88. package/dist/define/amf/authorization/amf-basic-authorization.js.map +1 -1
  89. package/dist/define/amf/authorization/amf-bearer-authorization.js +1 -1
  90. package/dist/define/amf/authorization/amf-bearer-authorization.js.map +1 -1
  91. package/dist/define/amf/authorization/amf-oauth2-authorization.js +1 -1
  92. package/dist/define/amf/authorization/amf-oauth2-authorization.js.map +1 -1
  93. package/dist/define/amf/authorization/amf-oidc-authorization.js +1 -1
  94. package/dist/define/amf/authorization/amf-oidc-authorization.js.map +1 -1
  95. package/dist/define/amf/authorization/amf-passthrough-authorization.js +1 -1
  96. package/dist/define/amf/authorization/amf-passthrough-authorization.js.map +1 -1
  97. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js +1 -1
  98. package/dist/define/amf/authorization/amf-ramlcustom-authorization.js.map +1 -1
  99. package/dist/define/authorization/apikey-authorization.js +1 -1
  100. package/dist/define/authorization/apikey-authorization.js.map +1 -1
  101. package/dist/define/authorization/basic-authorization.js +1 -1
  102. package/dist/define/authorization/basic-authorization.js.map +1 -1
  103. package/dist/define/authorization/bearer-authorization.js +1 -1
  104. package/dist/define/authorization/bearer-authorization.js.map +1 -1
  105. package/dist/define/authorization/cc-authorization.js +1 -1
  106. package/dist/define/authorization/cc-authorization.js.map +1 -1
  107. package/dist/define/authorization/ntlm-authorization.js +1 -1
  108. package/dist/define/authorization/ntlm-authorization.js.map +1 -1
  109. package/dist/define/authorization/oauth2-authorization.js +1 -1
  110. package/dist/define/authorization/oauth2-authorization.js.map +1 -1
  111. package/dist/define/authorization/oidc-authorization.js +1 -1
  112. package/dist/define/authorization/oidc-authorization.js.map +1 -1
  113. package/dist/define/contextual-menu/contextual-menu.js +1 -1
  114. package/dist/define/contextual-menu/contextual-menu.js.map +1 -1
  115. package/dist/define/dialog/confirm-delete-dialog.js +1 -1
  116. package/dist/define/dialog/confirm-delete-dialog.js.map +1 -1
  117. package/dist/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
  118. package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
  119. package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
  120. package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
  121. package/dist/define/dialog/rename-dialog.js +1 -1
  122. package/dist/define/dialog/rename-dialog.js.map +1 -1
  123. package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
  124. package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
  125. package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
  126. package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
  127. package/dist/define/files/share-file.js +1 -1
  128. package/dist/define/files/share-file.js.map +1 -1
  129. package/dist/define/har/har-viewer.js +1 -1
  130. package/dist/define/har/har-viewer.js.map +1 -1
  131. package/dist/define/highlight/marked-highlight.js +1 -1
  132. package/dist/define/highlight/marked-highlight.js.map +1 -1
  133. package/dist/define/highlight/prism-highlight.js +1 -1
  134. package/dist/define/highlight/prism-highlight.js.map +1 -1
  135. package/dist/define/http/http-assertions.d.ts +1 -1
  136. package/dist/define/http/http-assertions.d.ts.map +1 -1
  137. package/dist/define/http/http-assertions.js +3 -3
  138. package/dist/define/http/http-assertions.js.map +1 -1
  139. package/dist/define/http/http-body-editor.js +1 -1
  140. package/dist/define/http/http-body-editor.js.map +1 -1
  141. package/dist/define/http/http-body-multipart-editor.js +1 -1
  142. package/dist/define/http/http-body-multipart-editor.js.map +1 -1
  143. package/dist/define/http/http-body-text-editor.js +1 -1
  144. package/dist/define/http/http-body-text-editor.js.map +1 -1
  145. package/dist/define/http/http-body-urlencoded-editor.js +1 -1
  146. package/dist/define/http/http-body-urlencoded-editor.js.map +1 -1
  147. package/dist/define/http/http-flows.d.ts +10 -0
  148. package/dist/define/http/http-flows.d.ts.map +1 -0
  149. package/dist/define/http/http-flows.js +13 -0
  150. package/dist/define/http/http-flows.js.map +1 -0
  151. package/dist/define/http/http-headers-form.js +1 -1
  152. package/dist/define/http/http-headers-form.js.map +1 -1
  153. package/dist/define/http/http-log-body.js +1 -1
  154. package/dist/define/http/http-log-body.js.map +1 -1
  155. package/dist/define/http/http-log-headers.js +1 -1
  156. package/dist/define/http/http-log-headers.js.map +1 -1
  157. package/dist/define/http/http-log-timings.js +1 -1
  158. package/dist/define/http/http-log-timings.js.map +1 -1
  159. package/dist/define/http/http-request-config.js +1 -1
  160. package/dist/define/http/http-request-config.js.map +1 -1
  161. package/dist/define/http/http-request-editor.js +1 -1
  162. package/dist/define/http/http-request-editor.js.map +1 -1
  163. package/dist/define/http/http-request-log.js +1 -1
  164. package/dist/define/http/http-request-log.js.map +1 -1
  165. package/dist/define/http/http-snippets.js +1 -1
  166. package/dist/define/http/http-snippets.js.map +1 -1
  167. package/dist/define/http/http-url-input.js +1 -1
  168. package/dist/define/http/http-url-input.js.map +1 -1
  169. package/dist/define/http/http-url-params-form.js +1 -1
  170. package/dist/define/http/http-url-params-form.js.map +1 -1
  171. package/dist/define/http-project/http-project-request-history.js +1 -1
  172. package/dist/define/http-project/http-project-request-history.js.map +1 -1
  173. package/dist/define/http-project/http-project-request.js +2 -2
  174. package/dist/define/http-project/http-project-request.js.map +1 -1
  175. package/dist/define/http-project/project-navigation.js +1 -1
  176. package/dist/define/http-project/project-navigation.js.map +1 -1
  177. package/dist/define/http-project/project-run-report.js +1 -1
  178. package/dist/define/http-project/project-run-report.js.map +1 -1
  179. package/dist/define/http-project/project-runner.js +2 -2
  180. package/dist/define/http-project/project-runner.js.map +1 -1
  181. package/dist/define/layout/split-view.js +1 -1
  182. package/dist/define/layout/split-view.js.map +1 -1
  183. package/dist/define/schema-design/schema-design-navigation.js +1 -1
  184. package/dist/define/schema-design/schema-design-navigation.js.map +1 -1
  185. package/dist/define/schema-design/schema-namespace-selector.js +1 -1
  186. package/dist/define/schema-design/schema-namespace-selector.js.map +1 -1
  187. package/dist/define/ui/ui-button.js +1 -1
  188. package/dist/define/ui/ui-button.js.map +1 -1
  189. package/dist/define/ui/ui-chip.js +1 -1
  190. package/dist/define/ui/ui-chip.js.map +1 -1
  191. package/dist/define/ui/ui-collapse.js +1 -1
  192. package/dist/define/ui/ui-collapse.js.map +1 -1
  193. package/dist/define/ui/ui-dialog.js +1 -1
  194. package/dist/define/ui/ui-dialog.js.map +1 -1
  195. package/dist/define/ui/ui-divider.d.ts +4 -1
  196. package/dist/define/ui/ui-divider.d.ts.map +1 -1
  197. package/dist/define/ui/ui-divider.js +11 -2
  198. package/dist/define/ui/ui-divider.js.map +1 -1
  199. package/dist/define/ui/ui-dropdown-list.js +1 -1
  200. package/dist/define/ui/ui-dropdown-list.js.map +1 -1
  201. package/dist/define/ui/ui-icon-button.js +1 -1
  202. package/dist/define/ui/ui-icon-button.js.map +1 -1
  203. package/dist/define/ui/ui-icon.js +1 -1
  204. package/dist/define/ui/ui-icon.js.map +1 -1
  205. package/dist/define/ui/ui-list-item.js +1 -1
  206. package/dist/define/ui/ui-list-item.js.map +1 -1
  207. package/dist/define/ui/ui-list.js +1 -1
  208. package/dist/define/ui/ui-list.js.map +1 -1
  209. package/dist/define/ui/ui-listbox.js +1 -1
  210. package/dist/define/ui/ui-listbox.js.map +1 -1
  211. package/dist/define/ui/ui-progress.js +1 -1
  212. package/dist/define/ui/ui-progress.js.map +1 -1
  213. package/dist/define/ui/ui-segmented-button-set.js +1 -1
  214. package/dist/define/ui/ui-segmented-button-set.js.map +1 -1
  215. package/dist/define/ui/ui-segmented-button.js +1 -1
  216. package/dist/define/ui/ui-segmented-button.js.map +1 -1
  217. package/dist/define/ui/ui-snackbar.js +1 -1
  218. package/dist/define/ui/ui-snackbar.js.map +1 -1
  219. package/dist/define/ui/ui-tab.js +1 -1
  220. package/dist/define/ui/ui-tab.js.map +1 -1
  221. package/dist/define/ui/ui-tabs.js +1 -1
  222. package/dist/define/ui/ui-tabs.js.map +1 -1
  223. package/dist/directives/data-attr.js +0 -1
  224. package/dist/directives/data-attr.js.map +1 -1
  225. package/dist/elements/ApiElement.d.ts +4 -0
  226. package/dist/elements/ApiElement.d.ts.map +1 -1
  227. package/dist/elements/ApiElement.js +6 -7
  228. package/dist/elements/ApiElement.js.map +1 -1
  229. package/dist/elements/amf/ApiAnnotationDocument.element.js +0 -2
  230. package/dist/elements/amf/ApiAnnotationDocument.element.js.map +1 -1
  231. package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -33
  232. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  233. package/dist/elements/amf/ApiDocumentation.element.js +0 -91
  234. package/dist/elements/amf/ApiDocumentation.element.js.map +1 -1
  235. package/dist/elements/amf/ApiDocumentationBase.js +0 -9
  236. package/dist/elements/amf/ApiDocumentationBase.js.map +1 -1
  237. package/dist/elements/amf/ApiDocumentationDocument.element.js +0 -1
  238. package/dist/elements/amf/ApiDocumentationDocument.element.js.map +1 -1
  239. package/dist/elements/amf/ApiNavigation.element.js +0 -97
  240. package/dist/elements/amf/ApiNavigation.element.js.map +1 -1
  241. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  242. package/dist/elements/amf/ApiOperationDocument.element.js +2 -77
  243. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  244. package/dist/elements/amf/ApiParameterDocument.element.js +0 -3
  245. package/dist/elements/amf/ApiParameterDocument.element.js.map +1 -1
  246. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js +0 -1
  247. package/dist/elements/amf/ApiParametrizedSecurityScheme.element.js.map +1 -1
  248. package/dist/elements/amf/ApiPayloadDocument.element.js +0 -1
  249. package/dist/elements/amf/ApiPayloadDocument.element.js.map +1 -1
  250. package/dist/elements/amf/ApiRequest.element.js +1 -79
  251. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  252. package/dist/elements/amf/ApiRequestDocument.element.js +0 -38
  253. package/dist/elements/amf/ApiRequestDocument.element.js.map +1 -1
  254. package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
  255. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  256. package/dist/elements/amf/ApiRequestEditor.element.js +0 -121
  257. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  258. package/dist/elements/amf/ApiResourceDocument.element.js +0 -75
  259. package/dist/elements/amf/ApiResourceDocument.element.js.map +1 -1
  260. package/dist/elements/amf/ApiResponseDocument.element.js +0 -17
  261. package/dist/elements/amf/ApiResponseDocument.element.js.map +1 -1
  262. package/dist/elements/amf/ApiSchemaDocument.element.js +0 -28
  263. package/dist/elements/amf/ApiSchemaDocument.element.js.map +1 -1
  264. package/dist/elements/amf/ApiSecurityDocument.element.js +0 -28
  265. package/dist/elements/amf/ApiSecurityDocument.element.js.map +1 -1
  266. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js +0 -1
  267. package/dist/elements/amf/ApiSecurityRequirementDocument.element.js.map +1 -1
  268. package/dist/elements/amf/ApiServerPicker.element.js +2 -65
  269. package/dist/elements/amf/ApiServerPicker.element.js.map +1 -1
  270. package/dist/elements/amf/ApiSummary.element.js +0 -26
  271. package/dist/elements/amf/ApiSummary.element.js.map +1 -1
  272. package/dist/elements/amf/authorization/AmfApiKey.js +0 -5
  273. package/dist/elements/amf/authorization/AmfApiKey.js.map +1 -1
  274. package/dist/elements/amf/authorization/AmfBasic.js +0 -4
  275. package/dist/elements/amf/authorization/AmfBasic.js.map +1 -1
  276. package/dist/elements/amf/authorization/AmfBearer.js +0 -4
  277. package/dist/elements/amf/authorization/AmfBearer.js.map +1 -1
  278. package/dist/elements/amf/authorization/AmfOauth2.js +0 -13
  279. package/dist/elements/amf/authorization/AmfOauth2.js.map +1 -1
  280. package/dist/elements/amf/authorization/AmfOidc.js +0 -4
  281. package/dist/elements/amf/authorization/AmfOidc.js.map +1 -1
  282. package/dist/elements/amf/authorization/AmfPassThrough.js +0 -6
  283. package/dist/elements/amf/authorization/AmfPassThrough.js.map +1 -1
  284. package/dist/elements/amf/authorization/AmfRamlCustom.js +0 -6
  285. package/dist/elements/amf/authorization/AmfRamlCustom.js.map +1 -1
  286. package/dist/elements/authorization/OAuth2Authorize.js +0 -14
  287. package/dist/elements/authorization/OAuth2Authorize.js.map +1 -1
  288. package/dist/elements/authorization/OidcAuthorize.js +0 -14
  289. package/dist/elements/authorization/OidcAuthorize.js.map +1 -1
  290. package/dist/elements/authorization/ui/ApiKeyAuthorization.js +0 -2
  291. package/dist/elements/authorization/ui/ApiKeyAuthorization.js.map +1 -1
  292. package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
  293. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  294. package/dist/elements/authorization/ui/Authorization.js +18 -35
  295. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  296. package/dist/elements/authorization/ui/CcAuthorization.js +1 -3
  297. package/dist/elements/authorization/ui/CcAuthorization.js.map +1 -1
  298. package/dist/elements/authorization/ui/OAuth2Authorization.js +21 -50
  299. package/dist/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
  300. package/dist/elements/authorization/ui/OidcAuthorization.js +4 -6
  301. package/dist/elements/authorization/ui/OidcAuthorization.js.map +1 -1
  302. package/dist/elements/code/HttpSnippets.js +9 -8
  303. package/dist/elements/code/HttpSnippets.js.map +1 -1
  304. package/dist/elements/dialog/ConfirmDelete.js +0 -12
  305. package/dist/elements/dialog/ConfirmDelete.js.map +1 -1
  306. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
  307. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
  308. package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
  309. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
  310. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
  311. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
  312. package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
  313. package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
  314. package/dist/elements/dialog/Rename.d.ts +7 -6
  315. package/dist/elements/dialog/Rename.d.ts.map +1 -1
  316. package/dist/elements/dialog/Rename.js +7 -12
  317. package/dist/elements/dialog/Rename.js.map +1 -1
  318. package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
  319. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
  320. package/dist/elements/dialog/SetCookieAction.element.js +173 -0
  321. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
  322. package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
  323. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  324. package/dist/elements/environment/EnvironmentEditor.js +73 -30
  325. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  326. package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
  327. package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
  328. package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
  329. package/dist/elements/environment/ServerEditor.d.ts +3 -3
  330. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  331. package/dist/elements/environment/ServerEditor.js +10 -51
  332. package/dist/elements/environment/ServerEditor.js.map +1 -1
  333. package/dist/elements/environment/VariablesEditor.d.ts +0 -1
  334. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  335. package/dist/elements/environment/VariablesEditor.js +10 -18
  336. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  337. package/dist/elements/files/ShareFile.js +19 -57
  338. package/dist/elements/files/ShareFile.js.map +1 -1
  339. package/dist/elements/har/HarViewer.js +6 -7
  340. package/dist/elements/har/HarViewer.js.map +1 -1
  341. package/dist/elements/highlight/MarkedHighlight.js +4 -56
  342. package/dist/elements/highlight/MarkedHighlight.js.map +1 -1
  343. package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
  344. package/dist/elements/highlight/Prism.styles.js +12 -5
  345. package/dist/elements/highlight/Prism.styles.js.map +1 -1
  346. package/dist/elements/highlight/PrismHighlight.js +9 -18
  347. package/dist/elements/highlight/PrismHighlight.js.map +1 -1
  348. package/dist/elements/highlight/PrismHighlighter.js +4 -6
  349. package/dist/elements/highlight/PrismHighlighter.js.map +1 -1
  350. package/dist/elements/http/BodyEditor.d.ts +0 -4
  351. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  352. package/dist/elements/http/BodyEditor.js +31 -49
  353. package/dist/elements/http/BodyEditor.js.map +1 -1
  354. package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
  355. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  356. package/dist/elements/http/BodyMultipartEditor.js +20 -37
  357. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  358. package/dist/elements/http/BodyTextEditor.d.ts +0 -1
  359. package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
  360. package/dist/elements/http/BodyTextEditor.js +2 -18
  361. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  362. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
  363. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  364. package/dist/elements/http/BodyUrlEncodedEditor.js +23 -26
  365. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  366. package/dist/elements/http/HeadersForm.d.ts +0 -4
  367. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  368. package/dist/elements/http/HeadersForm.js +16 -23
  369. package/dist/elements/http/HeadersForm.js.map +1 -1
  370. package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
  371. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
  372. package/dist/elements/http/HttpAssertions.element.js +264 -0
  373. package/dist/elements/http/HttpAssertions.element.js.map +1 -0
  374. package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
  375. package/dist/elements/http/HttpAssertions.styles.js +7 -156
  376. package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
  377. package/dist/elements/http/HttpFlows.common.d.ts +3 -0
  378. package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
  379. package/dist/elements/http/HttpFlows.common.js +181 -0
  380. package/dist/elements/http/HttpFlows.common.js.map +1 -0
  381. package/dist/elements/http/HttpFlows.element.d.ts +97 -0
  382. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
  383. package/dist/elements/http/HttpFlows.element.js +684 -0
  384. package/dist/elements/http/HttpFlows.element.js.map +1 -0
  385. package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
  386. package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
  387. package/dist/elements/http/HttpFlows.styles.js +28 -0
  388. package/dist/elements/http/HttpFlows.styles.js.map +1 -0
  389. package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
  390. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
  391. package/dist/elements/http/HttpFlowsUi.js +1256 -0
  392. package/dist/elements/http/HttpFlowsUi.js.map +1 -0
  393. package/dist/elements/http/LogBody.js +10 -21
  394. package/dist/elements/http/LogBody.js.map +1 -1
  395. package/dist/elements/http/LogHeaders.js +4 -23
  396. package/dist/elements/http/LogHeaders.js.map +1 -1
  397. package/dist/elements/http/LogTimings.js +11 -13
  398. package/dist/elements/http/LogTimings.js.map +1 -1
  399. package/dist/elements/http/RequestConfigElement.d.ts +0 -1
  400. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  401. package/dist/elements/http/RequestConfigElement.js +15 -15
  402. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  403. package/dist/elements/http/RequestEditor.d.ts +10 -10
  404. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  405. package/dist/elements/http/RequestEditor.js +116 -111
  406. package/dist/elements/http/RequestEditor.js.map +1 -1
  407. package/dist/elements/http/RequestLog.js +9 -14
  408. package/dist/elements/http/RequestLog.js.map +1 -1
  409. package/dist/elements/http/UrlInput.d.ts +3 -3
  410. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  411. package/dist/elements/http/UrlInput.js +17 -27
  412. package/dist/elements/http/UrlInput.js.map +1 -1
  413. package/dist/elements/http/UrlParamsForm.d.ts +0 -1
  414. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  415. package/dist/elements/http/UrlParamsForm.js +16 -16
  416. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  417. package/dist/elements/layout/LayoutManager.js +16 -24
  418. package/dist/elements/layout/LayoutManager.js.map +1 -1
  419. package/dist/elements/layout/LayoutPanelElement.js +17 -23
  420. package/dist/elements/layout/LayoutPanelElement.js.map +1 -1
  421. package/dist/elements/layout/SplitItem.js +4 -12
  422. package/dist/elements/layout/SplitItem.js.map +1 -1
  423. package/dist/elements/layout/SplitLayout.js +18 -24
  424. package/dist/elements/layout/SplitLayout.js.map +1 -1
  425. package/dist/elements/layout/SplitPanel.js +10 -16
  426. package/dist/elements/layout/SplitPanel.js.map +1 -1
  427. package/dist/elements/layout/SplitView.js +17 -26
  428. package/dist/elements/layout/SplitView.js.map +1 -1
  429. package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
  430. package/dist/elements/layout/SplitView.styles.js +1 -0
  431. package/dist/elements/layout/SplitView.styles.js.map +1 -1
  432. package/dist/elements/navigation/AppNavigationElement.js +8 -47
  433. package/dist/elements/navigation/AppNavigationElement.js.map +1 -1
  434. package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
  435. package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
  436. package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
  437. package/dist/elements/navigation/AppNavigationItemElement.js +19 -24
  438. package/dist/elements/navigation/AppNavigationItemElement.js.map +1 -1
  439. package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
  440. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  441. package/dist/elements/project/HttpProjectRequest.js +14 -43
  442. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  443. package/dist/elements/project/HttpProjectRequestHistory.js +9 -35
  444. package/dist/elements/project/HttpProjectRequestHistory.js.map +1 -1
  445. package/dist/elements/project/ProjectNavigation.js +0 -4
  446. package/dist/elements/project/ProjectNavigation.js.map +1 -1
  447. package/dist/elements/project/ProjectRunReport.js +4 -15
  448. package/dist/elements/project/ProjectRunReport.js.map +1 -1
  449. package/dist/elements/project/ProjectRunner.d.ts +0 -1
  450. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  451. package/dist/elements/project/ProjectRunner.js +3 -51
  452. package/dist/elements/project/ProjectRunner.js.map +1 -1
  453. package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
  454. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  455. package/dist/elements/schema-design/AssociationFormElement.js +2 -18
  456. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  457. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
  458. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  459. package/dist/elements/schema-design/DataEntityEditorElement.js +5 -27
  460. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  461. package/dist/elements/schema-design/DataModelVisualizationElement.js +0 -16
  462. package/dist/elements/schema-design/DataModelVisualizationElement.js.map +1 -1
  463. package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
  464. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  465. package/dist/elements/schema-design/DataSchemaDocument.js +4 -43
  466. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  467. package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
  468. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  469. package/dist/elements/schema-design/EntityFormElement.js +4 -25
  470. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  471. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
  472. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  473. package/dist/elements/schema-design/PropertyFormElement.js +8 -23
  474. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  475. package/dist/elements/schema-design/SchemaDesignNavigation.js +0 -9
  476. package/dist/elements/schema-design/SchemaDesignNavigation.js.map +1 -1
  477. package/dist/elements/schema-design/SchemaNamespaceSelector.js +0 -9
  478. package/dist/elements/schema-design/SchemaNamespaceSelector.js.map +1 -1
  479. package/dist/elements/user/UserAvatarElement.js +0 -9
  480. package/dist/elements/user/UserAvatarElement.js.map +1 -1
  481. package/dist/events/http-client/models/CertificatesEvents.js +2 -2
  482. package/dist/events/http-client/models/CertificatesEvents.js.map +1 -1
  483. package/dist/http-client/idb/Base.js +5 -10
  484. package/dist/http-client/idb/Base.js.map +1 -1
  485. package/dist/http-client/idb/LegacyMockedStore.js +0 -1
  486. package/dist/http-client/idb/LegacyMockedStore.js.map +1 -1
  487. package/dist/http-client/idb/MockedStore.js +3 -1
  488. package/dist/http-client/idb/MockedStore.js.map +1 -1
  489. package/dist/http-client/store/DataImportProcessor.js +0 -3
  490. package/dist/http-client/store/DataImportProcessor.js.map +1 -1
  491. package/dist/http-client/store/HttpClientIdbDatabase.js +8 -7
  492. package/dist/http-client/store/HttpClientIdbDatabase.js.map +1 -1
  493. package/dist/http-client/store/IdbThread.js +23 -20
  494. package/dist/http-client/store/IdbThread.js.map +1 -1
  495. package/dist/http-client/store/idb/IdbProjectUi.js +4 -1
  496. package/dist/http-client/store/idb/IdbProjectUi.js.map +1 -1
  497. package/dist/http-client/store/idb/IdbStore.js +0 -2
  498. package/dist/http-client/store/idb/IdbStore.js.map +1 -1
  499. package/dist/http-client/store/idb/IdbUrlHistory.js +4 -1
  500. package/dist/http-client/store/idb/IdbUrlHistory.js.map +1 -1
  501. package/dist/http-client/store/idb/IdbWsHistory.js +4 -1
  502. package/dist/http-client/store/idb/IdbWsHistory.js.map +1 -1
  503. package/dist/lib/chart/HttpHistoryChart.js +7 -8
  504. package/dist/lib/chart/HttpHistoryChart.js.map +1 -1
  505. package/dist/mixins/FileDropMixin.js +0 -1
  506. package/dist/mixins/FileDropMixin.js.map +1 -1
  507. package/dist/mixins/RenderableMixin.js +11 -15
  508. package/dist/mixins/RenderableMixin.js.map +1 -1
  509. package/dist/pages/ApplicationScreen.d.ts +1 -1
  510. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  511. package/dist/pages/ApplicationScreen.js +35 -56
  512. package/dist/pages/ApplicationScreen.js.map +1 -1
  513. package/dist/pages/api-client/ApiClient.screen.js +11 -20
  514. package/dist/pages/api-client/ApiClient.screen.js.map +1 -1
  515. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  516. package/dist/pages/api-client/ApiClient.styles.js +22 -3
  517. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  518. package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
  519. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  520. package/dist/pages/api-client/Authenticate.screen.js +23 -9
  521. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  522. package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
  523. package/dist/pages/api-client/StoreConfig.screen.js +25 -39
  524. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  525. package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
  526. package/dist/pages/api-client/StoreConfig.styles.js +5 -0
  527. package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
  528. package/dist/pages/api-client/Telemetry.screen.js +1 -2
  529. package/dist/pages/api-client/Telemetry.screen.js.map +1 -1
  530. package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
  531. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  532. package/dist/pages/api-client/pages/Files.page.js +8 -28
  533. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  534. package/dist/pages/api-client/pages/Settings.page.js +2 -4
  535. package/dist/pages/api-client/pages/Settings.page.js.map +1 -1
  536. package/dist/pages/api-client/pages/Trash.page.js +2 -13
  537. package/dist/pages/api-client/pages/Trash.page.js.map +1 -1
  538. package/dist/pages/demo/DemoPage.js +13 -13
  539. package/dist/pages/demo/DemoPage.js.map +1 -1
  540. package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
  541. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  542. package/dist/pages/http-project/HttpProject.screen.js +39 -50
  543. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  544. package/dist/pages/http-project/types.d.ts +8 -6
  545. package/dist/pages/http-project/types.d.ts.map +1 -1
  546. package/dist/pages/http-project/types.js.map +1 -1
  547. package/dist/pages/schema-design/SchemaDesigner.screen.js +14 -27
  548. package/dist/pages/schema-design/SchemaDesigner.screen.js.map +1 -1
  549. package/dist/store/HttpStore.js +0 -3
  550. package/dist/store/HttpStore.js.map +1 -1
  551. package/dist/store/UserCache.js +5 -5
  552. package/dist/store/UserCache.js.map +1 -1
  553. package/dist/styles/m3/surface.module.d.ts.map +1 -1
  554. package/dist/styles/m3/surface.module.js +11 -27
  555. package/dist/styles/m3/surface.module.js.map +1 -1
  556. package/dist/ui/UiElement.d.ts +4 -0
  557. package/dist/ui/UiElement.d.ts.map +1 -1
  558. package/dist/ui/UiElement.js +10 -5
  559. package/dist/ui/UiElement.js.map +1 -1
  560. package/dist/ui/button/SegmentedButton.js +9 -11
  561. package/dist/ui/button/SegmentedButton.js.map +1 -1
  562. package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
  563. package/dist/ui/button/SegmentedButton.styles.js +3 -1
  564. package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
  565. package/dist/ui/button/SegmentedButtonsSet.js +6 -7
  566. package/dist/ui/button/SegmentedButtonsSet.js.map +1 -1
  567. package/dist/ui/button/UiButton.js +17 -39
  568. package/dist/ui/button/UiButton.js.map +1 -1
  569. package/dist/ui/button/UiIconButton.js +9 -35
  570. package/dist/ui/button/UiIconButton.js.map +1 -1
  571. package/dist/ui/chip/UiChip.js +9 -49
  572. package/dist/ui/chip/UiChip.js.map +1 -1
  573. package/dist/ui/collapse/UiCollapse.js +15 -20
  574. package/dist/ui/collapse/UiCollapse.js.map +1 -1
  575. package/dist/ui/controllers/ActionController.js +143 -144
  576. package/dist/ui/controllers/ActionController.js.map +1 -1
  577. package/dist/ui/controllers/RadioSelectionController.js +0 -1
  578. package/dist/ui/controllers/RadioSelectionController.js.map +1 -1
  579. package/dist/ui/date/DateTime.js +3 -3
  580. package/dist/ui/date/DateTime.js.map +1 -1
  581. package/dist/ui/dialog/UiDialog.d.ts +3 -0
  582. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  583. package/dist/ui/dialog/UiDialog.js +17 -38
  584. package/dist/ui/dialog/UiDialog.js.map +1 -1
  585. package/dist/ui/effects/ripple.d.ts.map +1 -1
  586. package/dist/ui/effects/ripple.js +25 -19
  587. package/dist/ui/effects/ripple.js.map +1 -1
  588. package/dist/ui/effects/rippleDirective.js +6 -7
  589. package/dist/ui/effects/rippleDirective.js.map +1 -1
  590. package/dist/ui/icons/Icons.d.ts +3 -2
  591. package/dist/ui/icons/Icons.d.ts.map +1 -1
  592. package/dist/ui/icons/Icons.js +2 -1
  593. package/dist/ui/icons/Icons.js.map +1 -1
  594. package/dist/ui/icons/UiIcon.js +4 -3
  595. package/dist/ui/icons/UiIcon.js.map +1 -1
  596. package/dist/ui/input/CheckboxElement.js +12 -10
  597. package/dist/ui/input/CheckboxElement.js.map +1 -1
  598. package/dist/ui/input/CheckedElement.d.ts +1 -1
  599. package/dist/ui/input/CheckedElement.d.ts.map +1 -1
  600. package/dist/ui/input/CheckedElement.js +5 -16
  601. package/dist/ui/input/CheckedElement.js.map +1 -1
  602. package/dist/ui/input/Input.js +170 -235
  603. package/dist/ui/input/Input.js.map +1 -1
  604. package/dist/ui/input/RadioElement.js +13 -11
  605. package/dist/ui/input/RadioElement.js.map +1 -1
  606. package/dist/ui/input/SwitchElement.js +0 -18
  607. package/dist/ui/input/SwitchElement.js.map +1 -1
  608. package/dist/ui/input/TextAreaElement.js +0 -15
  609. package/dist/ui/input/TextAreaElement.js.map +1 -1
  610. package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
  611. package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
  612. package/dist/ui/list/UiDivider.element.js +39 -0
  613. package/dist/ui/list/UiDivider.element.js.map +1 -0
  614. package/dist/ui/list/UiDivider.styles.d.ts +3 -0
  615. package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
  616. package/dist/ui/list/UiDivider.styles.js +49 -0
  617. package/dist/ui/list/UiDivider.styles.js.map +1 -0
  618. package/dist/ui/list/UiDropdownList.js +7 -48
  619. package/dist/ui/list/UiDropdownList.js.map +1 -1
  620. package/dist/ui/list/UiList.js +3 -15
  621. package/dist/ui/list/UiList.js.map +1 -1
  622. package/dist/ui/list/UiListItem.js +4 -17
  623. package/dist/ui/list/UiListItem.js.map +1 -1
  624. package/dist/ui/list/UiListbox.js +0 -1
  625. package/dist/ui/list/UiListbox.js.map +1 -1
  626. package/dist/ui/notification/SnackNotifications.js +1 -2
  627. package/dist/ui/notification/SnackNotifications.js.map +1 -1
  628. package/dist/ui/notification/Snackbar.js +27 -51
  629. package/dist/ui/notification/Snackbar.js.map +1 -1
  630. package/dist/ui/progress/Range.js +24 -23
  631. package/dist/ui/progress/Range.js.map +1 -1
  632. package/dist/ui/progress/UiProgress.js +0 -11
  633. package/dist/ui/progress/UiProgress.js.map +1 -1
  634. package/dist/ui/table/DataTable.js +7 -12
  635. package/dist/ui/table/DataTable.js.map +1 -1
  636. package/dist/ui/tabs/UiTab.js +24 -25
  637. package/dist/ui/tabs/UiTab.js.map +1 -1
  638. package/dist/ui/tabs/UiTabs.d.ts +13 -1
  639. package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
  640. package/dist/ui/tabs/UiTabs.js +62 -47
  641. package/dist/ui/tabs/UiTabs.js.map +1 -1
  642. package/dist/visualization/elements/VizWorkspaceElement.js +12 -21
  643. package/dist/visualization/elements/VizWorkspaceElement.js.map +1 -1
  644. package/dist/visualization/lib/AssociationAnchors.js +16 -28
  645. package/dist/visualization/lib/AssociationAnchors.js.map +1 -1
  646. package/dist/visualization/lib/Point.js +0 -2
  647. package/dist/visualization/lib/Point.js.map +1 -1
  648. package/dist/visualization/lib/SelectionManager.js +10 -11
  649. package/dist/visualization/lib/SelectionManager.js.map +1 -1
  650. package/dist/visualization/lib/WorkspaceAlignment.js +0 -1
  651. package/dist/visualization/lib/WorkspaceAlignment.js.map +1 -1
  652. package/dist/visualization/lib/WorkspaceDebugging.js +5 -8
  653. package/dist/visualization/lib/WorkspaceDebugging.js.map +1 -1
  654. package/dist/visualization/lib/WorkspaceEdges.js +17 -19
  655. package/dist/visualization/lib/WorkspaceEdges.js.map +1 -1
  656. package/dist/visualization/lib/WorkspaceGestures.js +0 -3
  657. package/dist/visualization/lib/WorkspaceGestures.js.map +1 -1
  658. package/dist/visualization/lib/WorkspaceSizing.js +4 -6
  659. package/dist/visualization/lib/WorkspaceSizing.js.map +1 -1
  660. package/dist/visualization/lib/lines/RectilinearLine.js +8 -34
  661. package/dist/visualization/lib/lines/RectilinearLine.js.map +1 -1
  662. package/dist/visualization/lib/tips/RectilinearTip.js +0 -1
  663. package/dist/visualization/lib/tips/RectilinearTip.js.map +1 -1
  664. package/dist/visualization/lib/tips/TipArtist.js +0 -3
  665. package/dist/visualization/lib/tips/TipArtist.js.map +1 -1
  666. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js +3 -5
  667. package/dist/visualization/plugin/dnd/DragAndDropPlugin.js.map +1 -1
  668. package/dist/visualization/plugin/group-selection/GroupSelection.js +19 -19
  669. package/dist/visualization/plugin/group-selection/GroupSelection.js.map +1 -1
  670. package/dist/visualization/plugin/positioning/WorkspaceLayout.js +21 -38
  671. package/dist/visualization/plugin/positioning/WorkspaceLayout.js.map +1 -1
  672. package/package.json +3 -2
  673. package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
  674. package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
  675. package/src/define/http/http-assertions.ts +3 -3
  676. package/src/define/http/http-flows.ts +15 -0
  677. package/src/define/ui/ui-divider.ts +7 -2
  678. package/src/elements/ApiElement.ts +7 -0
  679. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  680. package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
  681. package/src/elements/amf/ApiRequest.element.ts +1 -1
  682. package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
  683. package/src/elements/authorization/ui/Authorization.ts +3 -5
  684. package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
  685. package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
  686. package/src/elements/dialog/Rename.ts +8 -7
  687. package/src/elements/dialog/SetCookieAction.element.ts +183 -0
  688. package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
  689. package/src/elements/environment/EnvironmentEditor.ts +81 -22
  690. package/src/elements/environment/ServerEditor.ts +4 -8
  691. package/src/elements/environment/VariablesEditor.ts +3 -7
  692. package/src/elements/highlight/Prism.styles.ts +12 -5
  693. package/src/elements/http/BodyEditor.ts +10 -17
  694. package/src/elements/http/BodyMultipartEditor.ts +3 -20
  695. package/src/elements/http/BodyTextEditor.ts +0 -4
  696. package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
  697. package/src/elements/http/HeadersForm.ts +2 -9
  698. package/src/elements/http/HttpAssertions.element.ts +286 -0
  699. package/src/elements/http/HttpAssertions.styles.ts +7 -156
  700. package/src/elements/http/HttpFlows.common.ts +181 -0
  701. package/src/elements/http/HttpFlows.element.ts +722 -0
  702. package/src/elements/http/HttpFlows.styles.ts +29 -0
  703. package/src/elements/http/HttpFlowsUi.ts +1327 -0
  704. package/src/elements/http/RequestConfigElement.ts +10 -14
  705. package/src/elements/http/RequestEditor.ts +77 -35
  706. package/src/elements/http/UrlInput.ts +6 -6
  707. package/src/elements/http/UrlParamsForm.ts +2 -6
  708. package/src/elements/layout/SplitView.styles.ts +1 -0
  709. package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
  710. package/src/elements/project/HttpProjectRequest.ts +16 -5
  711. package/src/elements/project/ProjectRunner.ts +3 -7
  712. package/src/elements/schema-design/AssociationFormElement.ts +4 -8
  713. package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
  714. package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
  715. package/src/elements/schema-design/EntityFormElement.ts +6 -10
  716. package/src/elements/schema-design/PropertyFormElement.ts +11 -15
  717. package/src/pages/ApplicationScreen.ts +1 -1
  718. package/src/pages/api-client/ApiClient.styles.ts +22 -3
  719. package/src/pages/api-client/Authenticate.screen.ts +19 -3
  720. package/src/pages/api-client/StoreConfig.screen.ts +4 -2
  721. package/src/pages/api-client/StoreConfig.styles.ts +5 -0
  722. package/src/pages/api-client/pages/Files.page.ts +2 -1
  723. package/src/pages/http-project/HttpProject.screen.ts +14 -26
  724. package/src/pages/http-project/types.ts +8 -6
  725. package/src/styles/m3/surface.module.ts +11 -27
  726. package/src/styles/m3/theme.css +36 -0
  727. package/src/styles/m3/tokens.css +11 -0
  728. package/src/ui/UiElement.ts +7 -0
  729. package/src/ui/button/SegmentedButton.styles.ts +3 -1
  730. package/src/ui/dialog/UiDialog.ts +3 -0
  731. package/src/ui/effects/ripple.ts +6 -1
  732. package/src/ui/icons/Icons.ts +3 -2
  733. package/src/ui/input/CheckedElement.ts +3 -3
  734. package/src/ui/input/Input.ts +1 -1
  735. package/src/ui/list/UiDivider.element.ts +41 -0
  736. package/src/ui/list/UiDivider.styles.ts +49 -0
  737. package/src/ui/tabs/UiTabs.ts +55 -13
  738. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  739. package/test/elements/http/HttpAssertions.test.ts +5 -6
  740. package/test/elements/http/HttpFlows.test.ts +485 -0
  741. package/tsconfig.json +2 -2
  742. package/dist/elements/http/HttpAssertions.d.ts +0 -114
  743. package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
  744. package/dist/elements/http/HttpAssertions.js +0 -1144
  745. package/dist/elements/http/HttpAssertions.js.map +0 -1
  746. package/dist/elements/http/internals.d.ts +0 -150
  747. package/dist/elements/http/internals.d.ts.map +0 -1
  748. package/dist/elements/http/internals.js +0 -150
  749. package/dist/elements/http/internals.js.map +0 -1
  750. package/dist/ui/list/DividerElement.d.ts.map +0 -1
  751. package/dist/ui/list/DividerElement.js +0 -87
  752. package/dist/ui/list/DividerElement.js.map +0 -1
  753. package/src/elements/http/HttpAssertions.ts +0 -1187
  754. package/src/elements/http/internals.ts +0 -151
  755. package/src/http-client/docs/Files.md +0 -28
  756. package/src/ui/list/DividerElement.ts +0 -84
@@ -5,6 +5,7 @@ import { classMap } from 'lit/directives/class-map.js';
5
5
  import { Events as CoreEvents, HttpProjectKind, ProjectExecutionKind, } from '@api-client/core/build/browser.js';
6
6
  import ApiElement from '../ApiElement.js';
7
7
  import { Events } from '../../events/Events.js';
8
+ import { EventTypes } from '../../events/EventTypes.js';
8
9
  import '@github/relative-time-element';
9
10
  import '../../define/http-project/project-run-report.js';
10
11
  import '../../define/ui/ui-checkbox.js';
@@ -15,60 +16,14 @@ import '../../define/ui/ui-icon.js';
15
16
  import '../../define/ui/ui-dropdown-list.js';
16
17
  import '../../define/ui/ui-list.js';
17
18
  import '../../define/ui/ui-list-item.js';
18
- import { EventTypes } from '../../events/EventTypes.js';
19
19
  /**
20
20
  * @fires change - When the configuration of the runner change.
21
21
  */
22
22
  export default class ProjectRunner extends ApiElement {
23
- /**
24
- * The instance of the current project.
25
- */
26
- project;
27
- /**
28
- * This property is required for the API access to work.
29
- * Set it to the current application information.
30
- */
31
- appInfo;
32
- /**
33
- * The key of the folder to render the runner for.
34
- * When not set, it renders the runner for the project.
35
- * @attribute
36
- */
37
- folder;
38
- /**
39
- * The object we operate on.
40
- */
41
- root;
42
- /**
43
- * Whether the element is currently running the project execution.
44
- */
45
- running;
46
- /**
47
- * Whether the element is currently querying for the history data.
48
- */
49
- querying;
50
- /**
51
- * The page cursor for pagination.
52
- */
53
- pageCursor;
54
- /**
55
- * The run configuration.
56
- */
57
- config;
58
- lastError;
59
- history = [];
60
- queryPageDebouncer;
61
- debounceTimeout = 100;
62
- /**
63
- * The key of the currently rendered report.
64
- */
65
- selectedReport;
66
- /**
67
- * The currently rendered report.
68
- */
69
- renderedReport;
70
23
  constructor() {
71
24
  super();
25
+ this.history = [];
26
+ this.debounceTimeout = 100;
72
27
  this.handleProjectRunCreated = this.handleProjectRunCreated.bind(this);
73
28
  this.handleProjectRunDeleted = this.handleProjectRunDeleted.bind(this);
74
29
  }
@@ -281,9 +236,6 @@ export default class ProjectRunner extends ApiElement {
281
236
  this.config = config;
282
237
  this.notifyChange();
283
238
  }
284
- notifyChange() {
285
- this.dispatchEvent(new Event('change'));
286
- }
287
239
  handleRecursiveChecked(e) {
288
240
  const input = e.target;
289
241
  this.setRecursive(input.checked);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectRunner.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { \n HttpProject, ProjectFolder, IProjectRunnerOptions, \n Events as CoreEvents, IProjectExecutionLog, \n IApplication, HttpProjectKind, \n IHttpProjectProxyInit,\n ProjectExecutionKind,\n IProjectExecution,\n IProjectExecutionListOptions,\n ContextStateUpdateEvent,\n ContextStateDeleteEvent,\n} from '@api-client/core/build/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport CheckboxElement from '../../ui/input/CheckboxElement.js';\nimport Input from '../../ui/input/Input.js';\nimport { Events } from '../../events/Events.js';\nimport '@github/relative-time-element';\nimport '../../define/http-project/project-run-report.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-progress.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\nimport { EventTypes } from '../../events/EventTypes.js';\n\n/**\n * @fires change - When the configuration of the runner change.\n */\nexport default class ProjectRunner extends ApiElement {\n /**\n * The instance of the current project.\n */\n @property({ type: Object }) project?: HttpProject;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * The key of the folder to render the runner for.\n * When not set, it renders the runner for the project.\n * @attribute\n */\n @property({ type: String, reflect: true }) folder?: string;\n\n /**\n * The object we operate on.\n */\n @state() protected root?: HttpProject | ProjectFolder;\n\n /**\n * Whether the element is currently running the project execution.\n */\n @state() protected running?: boolean;\n\n /**\n * Whether the element is currently querying for the history data.\n */\n @state() protected querying?: boolean;\n\n /**\n * The page cursor for pagination.\n */\n protected pageCursor?: string;\n\n /**\n * The run configuration.\n */\n @property({ type: Object }) config?: IProjectRunnerOptions;\n\n @state() protected lastError?: string;\n\n protected history: IProjectExecution[] = [];\n\n protected queryPageDebouncer?: number;\n\n debounceTimeout = 100;\n\n /**\n * The key of the currently rendered report.\n */\n protected selectedReport?: string;\n\n /**\n * The currently rendered report.\n */\n @state() renderedReport?: IProjectExecution;\n\n constructor() {\n super();\n\n this.handleProjectRunCreated = this.handleProjectRunCreated.bind(this);\n this.handleProjectRunDeleted = this.handleProjectRunDeleted.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n window.addEventListener(EventTypes.Store.ProjectRuns.State.create, this.handleProjectRunCreated as EventListenerOrEventListenerObject);\n window.addEventListener(EventTypes.Store.ProjectRuns.State.delete, this.handleProjectRunDeleted as EventListenerOrEventListenerObject);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(EventTypes.Store.ProjectRuns.State.create, this.handleProjectRunCreated as EventListenerOrEventListenerObject);\n window.removeEventListener(EventTypes.Store.ProjectRuns.State.delete, this.handleProjectRunDeleted as EventListenerOrEventListenerObject);\n }\n\n override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('project') || cp.has('folder')) {\n this.setupRoot();\n }\n }\n\n protected setupRoot(): void {\n const { project, folder } = this;\n if (!project) {\n this.root = undefined;\n return;\n }\n if (!folder) {\n this.root = project;\n } else {\n this.root = project.findFolder(folder);\n }\n this.resetHistory();\n this.queryPageDebounce();\n }\n\n protected handleProjectRunCreated(e: ContextStateUpdateEvent<IProjectExecution>): void {\n const { parent } = e.detail;\n const item = e.detail.item as IProjectExecution;\n const { folder } = this;\n // parent is either folder (if the log has a folder) or the project.\n if (folder) {\n if (parent !== folder || !item.parent || item.parent !== folder) {\n return;\n }\n } else if (parent !== this.project?.key) {\n return;\n }\n this.history.push(item);\n this.history.sort(this.historySort);\n this.selectHistory(item.key);\n }\n\n protected handleProjectRunDeleted(e: ContextStateDeleteEvent): void {\n const { history } = this;\n const { key } = e.detail;\n const index = history.findIndex(i => i.key === key);\n if (index < 0) {\n return;\n }\n history.splice(index, 1);\n this.requestUpdate();\n if (this.selectedReport === key) {\n this.selectedReport = undefined;\n const [first] = history;\n if (first) {\n this.selectHistory(first.key);\n }\n }\n }\n\n protected handleRun(): void {\n this.execute();\n }\n\n /**\n * Executes the current configuration.\n */\n async execute(): Promise<void> {\n this.lastError = undefined;\n const { config = {}, folder, project } = this;\n if (!project) {\n return;\n }\n if (folder) {\n config.parent = folder;\n }\n const init: IHttpProjectProxyInit = {\n kind: HttpProjectKind,\n project: project.toJSON(),\n options: config,\n };\n \n this.running = true;\n try {\n const result = await CoreEvents.Transport.Core.httpProject(init, this);\n if (!result) {\n this.lastError = 'The project execution event was not handled.';\n } else {\n this.createHistory(result.result);\n }\n } catch (e) {\n this.lastError = (e as Error).message;\n }\n this.running = false;\n }\n\n protected async createHistory(result: IProjectExecutionLog): Promise<void> {\n const { appInfo, project } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on ${this.localName}`);\n }\n if (!project) {\n return;\n }\n await Events.Store.ProjectRuns.add({\n ...result,\n app: appInfo.code,\n project: project.key,\n key: '',\n kind: ProjectExecutionKind,\n midnight: 0,\n parent: this.folder,\n });\n }\n\n resetHistory(): void {\n this.querying = false;\n this.pageCursor = undefined;\n this.history = [];\n if (this.queryPageDebouncer) {\n clearTimeout(this.queryPageDebouncer);\n this.queryPageDebouncer = undefined;\n }\n }\n\n queryPageDebounce(): void {\n if (this.queryPageDebouncer) {\n return;\n }\n this.queryPageDebouncer = setTimeout(() => { \n this.queryPageDebouncer = undefined;\n this.queryPage();\n }, this.debounceTimeout) as unknown as number;\n }\n\n async queryPage(): Promise<void> {\n const { project, appInfo, folder, pageCursor } = this;\n if (this.querying || !project) {\n return;\n }\n this.querying = true;\n const opts: IProjectExecutionListOptions = {\n space: '',\n project: project.key,\n };\n if (appInfo) {\n opts.app = appInfo.code;\n }\n if (folder) {\n opts.parent = folder;\n }\n if (pageCursor) {\n opts.cursor = pageCursor;\n }\n try {\n const result = await Events.Store.ProjectRuns.list(opts, this);\n if (!result) {\n throw new Error(`Project runs query not handled by the store.`);\n }\n const { items, cursor } = result;\n if (items.length) {\n if (cursor) {\n this.pageCursor = cursor;\n }\n this.history = this.history.concat(items);\n this.history.sort(this.historySort);\n if (!this.selectedReport) {\n const [last] = this.history;\n this.selectHistory(last.key);\n }\n this.requestUpdate();\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n } finally {\n this.querying = false;\n }\n }\n\n protected historySort(a: IProjectExecution, b: IProjectExecution): number {\n return b.ended - a.ended;\n }\n\n setRecursive(value: boolean): void {\n const { config = {} } = this;\n config.recursive = value;\n this.config = config;\n this.notifyChange();\n }\n\n setParallel(value: boolean): void {\n const { config = {} } = this;\n config.parallel = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterations(value: number): void {\n const { config = {} } = this;\n config.iterations = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterationDelay(value: number): void {\n const { config = {} } = this;\n config.iterationDelay = value;\n this.config = config;\n this.notifyChange();\n }\n\n notifyChange(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n protected handleRecursiveChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setRecursive(input.checked);\n }\n\n protected handleParallelChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setParallel(input.checked);\n }\n\n protected handleIterationsChange(e: Event): void {\n const input = e.target as Input;\n this.setIterations(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleIterationDelayChange(e: Event): void {\n const input = e.target as Input;\n this.setIterationDelay(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleHistorySelection(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { key } = element.dataset;\n if (!key) {\n return;\n }\n this.selectHistory(key);\n }\n\n selectHistory(key: string): void {\n this.selectedReport = key;\n const { history } = this;\n const report = history.find(i => i.key === key);\n if (report) {\n this.renderedReport = report;\n } else {\n this.renderedReport = undefined;\n }\n }\n\n protected override render(): TemplateResult {\n const { root } = this;\n if (!root) {\n return html``;\n }\n return html`\n <section id=\"config\">\n <div class=\"header title-large section-title\">Project runner for ${root.info.renderLabel}</div>\n <form name=\"run-config\" class=\"run-config surface1\">\n <div class=\"section-title title-medium\">Run configuration</div>\n ${this.renderRecursiveOption()}\n ${this.renderParallelOption()}\n ${this.renderIterationOption()}\n ${this.renderIterationDelayOption()}\n ${this.renderSubmit()}\n </form>\n ${this.renderError()}\n ${this.renderLoader()}\n ${this.renderReport()}\n </section>\n `;\n }\n\n protected renderRecursiveOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.recursive === 'boolean' ? config.recursive : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox \n id=\"recursive\"\n .checked=\"${value}\"\n name=\"recursive\" \n aria-labelledby=\"recursiveLabel\"\n aria-describedby=\"recursiveDescription\" \n @change=\"${this.handleRecursiveChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"recursive\" id=\"recursiveLabel\">\n Recursive\n </label>\n <p class=\"body-medium\" id=\"recursiveDescription\">\n Runs all requests from the current folder and its sub-folders\n </p>\n </div>\n `;\n }\n\n protected renderParallelOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.parallel === 'boolean' ? config.parallel : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox\n id=\"parallel\"\n .checked=\"${value}\"\n name=\"parallel\" \n aria-labelledby=\"parallelLabel\"\n aria-describedby=\"parallelDescription\" \n @change=\"${this.handleParallelChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"parallel\" id=\"parallelLabel\">\n Parallel\n </label>\n <p class=\"body-medium\" id=\"parallelDescription\">\n Runs each iteration in parallel. The number of actual execution depends on the number of cores on your device. \n This is ignored when number of iterations is 1.\n </p>\n </div>\n `;\n }\n\n protected renderIterationOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterations === 'number' ? config.iterations : 1;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required \n label=\"Iterations\"\n aria-describedby=\"iterationsDescription\" \n name=\"iterations\" \n type=\"number\" \n min=\"1\" \n step=\"1\" \n .value=\"${String(value)}\"\n @change=\"${this.handleIterationsChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationsDescription\">\n The number of times the execution should be repeated.\n </p>\n </div>\n `;\n }\n\n protected renderIterationDelayOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterationDelay === 'number' ? config.iterationDelay : 0;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required\n label=\"Iteration delay\"\n aria-describedby=\"iterationDelayDescription\"\n name=\"iterationDelay\"\n type=\"number\"\n min=\"0\"\n step=\"1\"\n .value=\"${String(value)}\"\n @change=\"${this.handleIterationDelayChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationDelayDescription\">\n The number of milliseconds to wait between each iteration.\n </p>\n </div>\n `;\n }\n\n protected renderSubmit(): TemplateResult {\n return html`\n <div class=\"submit-row\">\n <ui-button type=\"filled\" @click=\"${this.handleRun}\" ?disabled=\"${this.running}\">Run</ui-button>\n </div>\n `;\n }\n\n protected renderLoader(): TemplateResult | string {\n if (!this.running) {\n return '';\n }\n return html`\n <ui-progress indeterminate></ui-progress>\n `;\n }\n\n protected renderError(): TemplateResult | string {\n const { lastError } = this;\n if (!lastError) {\n return '';\n }\n return html`<div class=\"error on-error-text body-large last-error\">${lastError}</div>`;\n }\n\n protected renderReport(): TemplateResult | typeof nothing {\n const { renderedReport, history } = this;\n if (!history.length) {\n return nothing;\n }\n return html`\n <section aria-label=\"Latest report\" class=\"report surface1\">\n <div class=\"section-title title-medium\">Run reports</div>\n ${this.renderHistorySelector()}\n <project-run-report .report=\"${renderedReport}\"></project-run-report>\n </section>\n `;\n }\n\n protected renderHistorySelector(): TemplateResult {\n const { history } = this;\n const disabled = !history.length;\n const selected = history.find(i => i.key === this.selectedReport);\n return html`\n <div class=\"history-selector\">\n <ui-dropdown-list\n verticalAlign=\"top\"\n class=\"history-dropdown\"\n closeOnOutsideClick\n @select=\"${this.handleHistorySelection}\"\n >\n <ui-button type=\"tonal\" ?disabled=\"${disabled}\">\n <ui-icon slot=\"icon\" icon=\"arrowDropDown\"></ui-icon>\n ${selected ? html`<relative-time datetime=\"${new Date(selected.ended).toISOString()}\"></relative-time>` : 'History'}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\" aria-label=\"History list\">\n ${history.map(current => this.renderHistoryOption(current))}\n </ui-list>\n </ui-dropdown-list>\n </div>\n `;\n }\n\n renderHistoryOption(item: IProjectExecution): TemplateResult {\n const { ended, key } = item;\n const classes = {\n 'history-option': true,\n highlight: this.selectedReport === key,\n };\n const de = new Date(ended);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${key}\" class=\"${classMap(classes)}\">\n <relative-time datetime=\"${de.toISOString()}\"></relative-time>\n </ui-list-item>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ProjectRunner.js","sourceRoot":"","sources":["../../../src/elements/project/ProjectRunner.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { \n HttpProject, ProjectFolder, IProjectRunnerOptions, \n Events as CoreEvents, IProjectExecutionLog, \n IApplication, HttpProjectKind, \n IHttpProjectProxyInit,\n ProjectExecutionKind,\n IProjectExecution,\n IProjectExecutionListOptions,\n ContextStateUpdateEvent,\n ContextStateDeleteEvent,\n} from '@api-client/core/build/browser.js';\nimport ApiElement from '../ApiElement.js';\nimport type CheckboxElement from '../../ui/input/CheckboxElement.js';\nimport type Input from '../../ui/input/Input.js';\nimport { Events } from '../../events/Events.js';\nimport { EventTypes } from '../../events/EventTypes.js';\nimport '@github/relative-time-element';\nimport '../../define/http-project/project-run-report.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-button.js';\nimport '../../define/ui/ui-progress.js';\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-dropdown-list.js';\nimport '../../define/ui/ui-list.js';\nimport '../../define/ui/ui-list-item.js';\n\n/**\n * @fires change - When the configuration of the runner change.\n */\nexport default class ProjectRunner extends ApiElement {\n /**\n * The instance of the current project.\n */\n @property({ type: Object }) project?: HttpProject;\n\n /**\n * This property is required for the API access to work.\n * Set it to the current application information.\n */\n @property({ type: Object }) appInfo?: IApplication;\n\n /**\n * The key of the folder to render the runner for.\n * When not set, it renders the runner for the project.\n * @attribute\n */\n @property({ type: String, reflect: true }) folder?: string;\n\n /**\n * The object we operate on.\n */\n @state() protected root?: HttpProject | ProjectFolder;\n\n /**\n * Whether the element is currently running the project execution.\n */\n @state() protected running?: boolean;\n\n /**\n * Whether the element is currently querying for the history data.\n */\n @state() protected querying?: boolean;\n\n /**\n * The page cursor for pagination.\n */\n protected pageCursor?: string;\n\n /**\n * The run configuration.\n */\n @property({ type: Object }) config?: IProjectRunnerOptions;\n\n @state() protected lastError?: string;\n\n protected history: IProjectExecution[] = [];\n\n protected queryPageDebouncer?: number;\n\n debounceTimeout = 100;\n\n /**\n * The key of the currently rendered report.\n */\n protected selectedReport?: string;\n\n /**\n * The currently rendered report.\n */\n @state() renderedReport?: IProjectExecution;\n\n constructor() {\n super();\n\n this.handleProjectRunCreated = this.handleProjectRunCreated.bind(this);\n this.handleProjectRunDeleted = this.handleProjectRunDeleted.bind(this);\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n window.addEventListener(EventTypes.Store.ProjectRuns.State.create, this.handleProjectRunCreated as EventListenerOrEventListenerObject);\n window.addEventListener(EventTypes.Store.ProjectRuns.State.delete, this.handleProjectRunDeleted as EventListenerOrEventListenerObject);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(EventTypes.Store.ProjectRuns.State.create, this.handleProjectRunCreated as EventListenerOrEventListenerObject);\n window.removeEventListener(EventTypes.Store.ProjectRuns.State.delete, this.handleProjectRunDeleted as EventListenerOrEventListenerObject);\n }\n\n override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('project') || cp.has('folder')) {\n this.setupRoot();\n }\n }\n\n protected setupRoot(): void {\n const { project, folder } = this;\n if (!project) {\n this.root = undefined;\n return;\n }\n if (!folder) {\n this.root = project;\n } else {\n this.root = project.findFolder(folder);\n }\n this.resetHistory();\n this.queryPageDebounce();\n }\n\n protected handleProjectRunCreated(e: ContextStateUpdateEvent<IProjectExecution>): void {\n const { parent } = e.detail;\n const item = e.detail.item as IProjectExecution;\n const { folder } = this;\n // parent is either folder (if the log has a folder) or the project.\n if (folder) {\n if (parent !== folder || !item.parent || item.parent !== folder) {\n return;\n }\n } else if (parent !== this.project?.key) {\n return;\n }\n this.history.push(item);\n this.history.sort(this.historySort);\n this.selectHistory(item.key);\n }\n\n protected handleProjectRunDeleted(e: ContextStateDeleteEvent): void {\n const { history } = this;\n const { key } = e.detail;\n const index = history.findIndex(i => i.key === key);\n if (index < 0) {\n return;\n }\n history.splice(index, 1);\n this.requestUpdate();\n if (this.selectedReport === key) {\n this.selectedReport = undefined;\n const [first] = history;\n if (first) {\n this.selectHistory(first.key);\n }\n }\n }\n\n protected handleRun(): void {\n this.execute();\n }\n\n /**\n * Executes the current configuration.\n */\n async execute(): Promise<void> {\n this.lastError = undefined;\n const { config = {}, folder, project } = this;\n if (!project) {\n return;\n }\n if (folder) {\n config.parent = folder;\n }\n const init: IHttpProjectProxyInit = {\n kind: HttpProjectKind,\n project: project.toJSON(),\n options: config,\n };\n \n this.running = true;\n try {\n const result = await CoreEvents.Transport.Core.httpProject(init, this);\n if (!result) {\n this.lastError = 'The project execution event was not handled.';\n } else {\n this.createHistory(result.result);\n }\n } catch (e) {\n this.lastError = (e as Error).message;\n }\n this.running = false;\n }\n\n protected async createHistory(result: IProjectExecutionLog): Promise<void> {\n const { appInfo, project } = this;\n if (!appInfo) {\n throw new Error(`The appInfo is not set on ${this.localName}`);\n }\n if (!project) {\n return;\n }\n await Events.Store.ProjectRuns.add({\n ...result,\n app: appInfo.code,\n project: project.key,\n key: '',\n kind: ProjectExecutionKind,\n midnight: 0,\n parent: this.folder,\n });\n }\n\n resetHistory(): void {\n this.querying = false;\n this.pageCursor = undefined;\n this.history = [];\n if (this.queryPageDebouncer) {\n clearTimeout(this.queryPageDebouncer);\n this.queryPageDebouncer = undefined;\n }\n }\n\n queryPageDebounce(): void {\n if (this.queryPageDebouncer) {\n return;\n }\n this.queryPageDebouncer = setTimeout(() => { \n this.queryPageDebouncer = undefined;\n this.queryPage();\n }, this.debounceTimeout) as unknown as number;\n }\n\n async queryPage(): Promise<void> {\n const { project, appInfo, folder, pageCursor } = this;\n if (this.querying || !project) {\n return;\n }\n this.querying = true;\n const opts: IProjectExecutionListOptions = {\n space: '',\n project: project.key,\n };\n if (appInfo) {\n opts.app = appInfo.code;\n }\n if (folder) {\n opts.parent = folder;\n }\n if (pageCursor) {\n opts.cursor = pageCursor;\n }\n try {\n const result = await Events.Store.ProjectRuns.list(opts, this);\n if (!result) {\n throw new Error(`Project runs query not handled by the store.`);\n }\n const { items, cursor } = result;\n if (items.length) {\n if (cursor) {\n this.pageCursor = cursor;\n }\n this.history = this.history.concat(items);\n this.history.sort(this.historySort);\n if (!this.selectedReport) {\n const [last] = this.history;\n this.selectHistory(last.key);\n }\n this.requestUpdate();\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n } finally {\n this.querying = false;\n }\n }\n\n protected historySort(a: IProjectExecution, b: IProjectExecution): number {\n return b.ended - a.ended;\n }\n\n setRecursive(value: boolean): void {\n const { config = {} } = this;\n config.recursive = value;\n this.config = config;\n this.notifyChange();\n }\n\n setParallel(value: boolean): void {\n const { config = {} } = this;\n config.parallel = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterations(value: number): void {\n const { config = {} } = this;\n config.iterations = value;\n this.config = config;\n this.notifyChange();\n }\n\n setIterationDelay(value: number): void {\n const { config = {} } = this;\n config.iterationDelay = value;\n this.config = config;\n this.notifyChange();\n }\n\n protected handleRecursiveChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setRecursive(input.checked);\n }\n\n protected handleParallelChecked(e: Event): void {\n const input = e.target as CheckboxElement;\n this.setParallel(input.checked);\n }\n\n protected handleIterationsChange(e: Event): void {\n const input = e.target as Input;\n this.setIterations(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleIterationDelayChange(e: Event): void {\n const input = e.target as Input;\n this.setIterationDelay(input.valueAsNumber)\n input.checkValidity();\n }\n\n protected handleHistorySelection(e: CustomEvent): void {\n const element = e.detail.item as HTMLElement;\n const { key } = element.dataset;\n if (!key) {\n return;\n }\n this.selectHistory(key);\n }\n\n selectHistory(key: string): void {\n this.selectedReport = key;\n const { history } = this;\n const report = history.find(i => i.key === key);\n if (report) {\n this.renderedReport = report;\n } else {\n this.renderedReport = undefined;\n }\n }\n\n protected override render(): TemplateResult {\n const { root } = this;\n if (!root) {\n return html``;\n }\n return html`\n <section id=\"config\">\n <div class=\"header title-large section-title\">Project runner for ${root.info.renderLabel}</div>\n <form name=\"run-config\" class=\"run-config surface1\">\n <div class=\"section-title title-medium\">Run configuration</div>\n ${this.renderRecursiveOption()}\n ${this.renderParallelOption()}\n ${this.renderIterationOption()}\n ${this.renderIterationDelayOption()}\n ${this.renderSubmit()}\n </form>\n ${this.renderError()}\n ${this.renderLoader()}\n ${this.renderReport()}\n </section>\n `;\n }\n\n protected renderRecursiveOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.recursive === 'boolean' ? config.recursive : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox \n id=\"recursive\"\n .checked=\"${value}\"\n name=\"recursive\" \n aria-labelledby=\"recursiveLabel\"\n aria-describedby=\"recursiveDescription\" \n @change=\"${this.handleRecursiveChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"recursive\" id=\"recursiveLabel\">\n Recursive\n </label>\n <p class=\"body-medium\" id=\"recursiveDescription\">\n Runs all requests from the current folder and its sub-folders\n </p>\n </div>\n `;\n }\n\n protected renderParallelOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.parallel === 'boolean' ? config.parallel : false;\n return html`\n <div class=\"form-row\">\n <ui-checkbox\n id=\"parallel\"\n .checked=\"${value}\"\n name=\"parallel\" \n aria-labelledby=\"parallelLabel\"\n aria-describedby=\"parallelDescription\" \n @change=\"${this.handleParallelChecked}\"\n ></ui-checkbox>\n <label class=\"label-large\" for=\"parallel\" id=\"parallelLabel\">\n Parallel\n </label>\n <p class=\"body-medium\" id=\"parallelDescription\">\n Runs each iteration in parallel. The number of actual execution depends on the number of cores on your device. \n This is ignored when number of iterations is 1.\n </p>\n </div>\n `;\n }\n\n protected renderIterationOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterations === 'number' ? config.iterations : 1;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required \n label=\"Iterations\"\n aria-describedby=\"iterationsDescription\" \n name=\"iterations\" \n type=\"number\" \n min=\"1\" \n step=\"1\" \n .value=\"${String(value)}\"\n @change=\"${this.handleIterationsChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationsDescription\">\n The number of times the execution should be repeated.\n </p>\n </div>\n `;\n }\n\n protected renderIterationDelayOption(): TemplateResult {\n const { config = {} } = this;\n const value = typeof config.iterationDelay === 'number' ? config.iterationDelay : 0;\n return html`\n <div class=\"form-row\">\n <ui-text-field\n required\n label=\"Iteration delay\"\n aria-describedby=\"iterationDelayDescription\"\n name=\"iterationDelay\"\n type=\"number\"\n min=\"0\"\n step=\"1\"\n .value=\"${String(value)}\"\n @change=\"${this.handleIterationDelayChange}\"\n ></ui-text-field>\n <p class=\"body-medium\" id=\"iterationDelayDescription\">\n The number of milliseconds to wait between each iteration.\n </p>\n </div>\n `;\n }\n\n protected renderSubmit(): TemplateResult {\n return html`\n <div class=\"submit-row\">\n <ui-button type=\"filled\" @click=\"${this.handleRun}\" ?disabled=\"${this.running}\">Run</ui-button>\n </div>\n `;\n }\n\n protected renderLoader(): TemplateResult | string {\n if (!this.running) {\n return '';\n }\n return html`\n <ui-progress indeterminate></ui-progress>\n `;\n }\n\n protected renderError(): TemplateResult | string {\n const { lastError } = this;\n if (!lastError) {\n return '';\n }\n return html`<div class=\"error on-error-text body-large last-error\">${lastError}</div>`;\n }\n\n protected renderReport(): TemplateResult | typeof nothing {\n const { renderedReport, history } = this;\n if (!history.length) {\n return nothing;\n }\n return html`\n <section aria-label=\"Latest report\" class=\"report surface1\">\n <div class=\"section-title title-medium\">Run reports</div>\n ${this.renderHistorySelector()}\n <project-run-report .report=\"${renderedReport}\"></project-run-report>\n </section>\n `;\n }\n\n protected renderHistorySelector(): TemplateResult {\n const { history } = this;\n const disabled = !history.length;\n const selected = history.find(i => i.key === this.selectedReport);\n return html`\n <div class=\"history-selector\">\n <ui-dropdown-list\n verticalAlign=\"top\"\n class=\"history-dropdown\"\n closeOnOutsideClick\n @select=\"${this.handleHistorySelection}\"\n >\n <ui-button type=\"tonal\" ?disabled=\"${disabled}\">\n <ui-icon slot=\"icon\" icon=\"arrowDropDown\"></ui-icon>\n ${selected ? html`<relative-time datetime=\"${new Date(selected.ended).toISOString()}\"></relative-time>` : 'History'}\n </ui-button>\n <ui-list slot=\"dropdown\" role=\"menu\" aria-label=\"History list\">\n ${history.map(current => this.renderHistoryOption(current))}\n </ui-list>\n </ui-dropdown-list>\n </div>\n `;\n }\n\n renderHistoryOption(item: IProjectExecution): TemplateResult {\n const { ended, key } = item;\n const classes = {\n 'history-option': true,\n highlight: this.selectedReport === key,\n };\n const de = new Date(ended);\n return html`\n <ui-list-item role=\"menuitem\" data-key=\"${key}\" class=\"${classMap(classes)}\">\n <relative-time datetime=\"${de.toISOString()}\"></relative-time>\n </ui-list-item>\n `;\n }\n}\n"]}
@@ -22,7 +22,6 @@ export default class AssociationFormElement extends ApiElement {
22
22
  */
23
23
  protected _association?: DataAssociation;
24
24
  willUpdate(cp: PropertyValues<this>): void;
25
- protected _notifyChanged(): void;
26
25
  /**
27
26
  * Computes the view value for the association.
28
27
  * This should be called before the update is complete so this won't trigger another update.
@@ -1 +1 @@
1
- {"version":3,"file":"AssociationFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAc,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3E,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAWxC;IAED;;;OAGG;IACwC,GAAG,CAAC,EAAE,MAAM,CAAC;IAExD;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IAEzC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMnD,SAAS,CAAC,cAAc,IAAI,IAAI;IAIhC;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAkB5C,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAgBtB,MAAM,IAAI,cAAc;CAyB5C"}
1
+ {"version":3,"file":"AssociationFormElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAc,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG3E,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AACvC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,UAAU;IAC5D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAWxC;IAED;;;OAGG;IACwC,GAAG,CAAC,EAAE,MAAM,CAAC;IAExD;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACM,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IAEzC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAMnD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IASrC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAkB5C,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAgBtB,MAAM,IAAI,cAAc;CAyB5C"}
@@ -25,27 +25,11 @@ export default class AssociationFormElement extends ApiElement {
25
25
  `
26
26
  ];
27
27
  }
28
- /**
29
- * The key of the association to edit.
30
- * @attribute
31
- */
32
- key;
33
- /**
34
- * The read data namespace.
35
- */
36
- root;
37
- /**
38
- * The computed entity when the key or root change.
39
- */
40
- _association;
41
28
  willUpdate(cp) {
42
29
  if (cp.has('key')) {
43
30
  this._computeAssociation();
44
31
  }
45
32
  }
46
- _notifyChanged() {
47
- this.dispatchEvent(new Event('change'));
48
- }
49
33
  /**
50
34
  * Computes the view value for the association.
51
35
  * This should be called before the update is complete so this won't trigger another update.
@@ -72,7 +56,7 @@ export default class AssociationFormElement extends ApiElement {
72
56
  return;
73
57
  }
74
58
  _association.info[name] = value;
75
- this._notifyChanged();
59
+ this.notifyChange();
76
60
  this.requestUpdate();
77
61
  }
78
62
  _checkedHandler(e) {
@@ -87,7 +71,7 @@ export default class AssociationFormElement extends ApiElement {
87
71
  return;
88
72
  }
89
73
  _association[name] = checked;
90
- this._notifyChanged();
74
+ this.notifyChange();
91
75
  this.requestUpdate();
92
76
  }
93
77
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"AssociationFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataAssociation, DataNamespace, EventUtils } from \"@api-client/core/build/browser.js\";\nimport { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport EditorCommon from './CommonStyles.js';\nimport theme from '../theme.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport Input from \"../../ui/input/Input.js\";\nimport CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class AssociationFormElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n }\n `\n ]\n }\n \n /**\n * The key of the association to edit.\n * @attribute\n */\n @property({ type: String, reflect: true }) key?: string;\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _association?: DataAssociation;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeAssociation();\n }\n }\n\n protected _notifyChanged(): void {\n this.dispatchEvent(new Event('change'));\n }\n\n /**\n * Computes the view value for the association.\n * This should be called before the update is complete so this won't trigger another update.\n */\n protected _computeAssociation(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._association = undefined;\n return;\n }\n this._association = root.definitions.associations.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const node = e.target as Input;\n const { name, value } = node;\n if (!['name', 'description', 'displayName'].includes(name as string)) {\n return;\n }\n if (name === 'name' && !value) {\n return;\n }\n _association.info[name as 'name' | 'description' | 'displayName'] = value;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected _checkedHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'multiple' | 'required';\n const { checked } = input;\n if (_association[name] === checked) {\n return;\n }\n _association[name] = checked;\n this._notifyChanged();\n this.requestUpdate();\n }\n\n protected override render(): TemplateResult {\n const { _association: item } = this;\n if (!item) {\n return html``;\n }\n const { info, multiple = false, required = false } = item;\n return html`\n <form name=\"data-association\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Association name\" required @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"displayName\" .value=\"${live(info.displayName || '')}\" label=\"Display name (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"description\" .value=\"${live(info.description || '')}\" label=\"Association description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"required\" .checked=\"${required}\" title=\"Whether the association is required in the schema\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Required\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"multiple\" .checked=\"${multiple}\" title=\"When set it declares this association as an array. Multiple instances of the value are permitted.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Multiple\n </label>\n </div>\n </form>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AssociationFormElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/AssociationFormElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { DataAssociation, DataNamespace, EventUtils } from \"@api-client/core/build/browser.js\";\nimport { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { live } from \"lit/directives/live.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport EditorCommon from './CommonStyles.js';\nimport theme from '../theme.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport type Input from \"../../ui/input/Input.js\";\nimport type CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-text-field.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/ui/ui-divider.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-icon.js';\n\nexport default class AssociationFormElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n }\n `\n ]\n }\n \n /**\n * The key of the association to edit.\n * @attribute\n */\n @property({ type: String, reflect: true }) key?: string;\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The computed entity when the key or root change.\n */\n @state() protected _association?: DataAssociation;\n\n override willUpdate(cp: PropertyValues<this>): void {\n if (cp.has('key')) {\n this._computeAssociation();\n }\n }\n\n /**\n * Computes the view value for the association.\n * This should be called before the update is complete so this won't trigger another update.\n */\n protected _computeAssociation(): void {\n const { root, key } = this;\n if (!root || !key) {\n this._association = undefined;\n return;\n }\n this._association = root.definitions.associations.find(i => i.key === key);\n }\n\n protected _infoChangeHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const node = e.target as Input;\n const { name, value } = node;\n if (!['name', 'description', 'displayName'].includes(name as string)) {\n return;\n }\n if (name === 'name' && !value) {\n return;\n }\n _association.info[name as 'name' | 'description' | 'displayName'] = value;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected _checkedHandler(e: Event): void {\n const { _association } = this;\n if (!_association) {\n return;\n }\n const input = e.target as CheckboxElement;\n const name = input.name as 'multiple' | 'required';\n const { checked } = input;\n if (_association[name] === checked) {\n return;\n }\n _association[name] = checked;\n this.notifyChange();\n this.requestUpdate();\n }\n\n protected override render(): TemplateResult {\n const { _association: item } = this;\n if (!item) {\n return html``;\n }\n const { info, multiple = false, required = false } = item;\n return html`\n <form name=\"data-association\" @submit=\"${EventUtils.cancelEvent}\" data-key=\"${item.key}\">\n <ui-text-field class=\"input\" name=\"name\" .value=\"${live(info.name || '')}\" label=\"Association name\" required @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"displayName\" .value=\"${live(info.displayName || '')}\" label=\"Display name (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n <ui-text-field class=\"input\" name=\"description\" .value=\"${live(info.description || '')}\" label=\"Association description (optional)\" @change=\"${this._infoChangeHandler}\"></ui-text-field>\n\n <div class=\"checkbox-group\">\n <label class=\"label-large\">\n <ui-checkbox name=\"required\" .checked=\"${required}\" title=\"Whether the association is required in the schema\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Required\n </label>\n <label class=\"label-large\">\n <ui-checkbox name=\"multiple\" .checked=\"${multiple}\" title=\"When set it declares this association as an array. Multiple instances of the value are permitted.\" @change=\"${this._checkedHandler}\"></ui-checkbox>\n Multiple\n </label>\n </div>\n </form>\n `;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { CSSResult, PropertyValues, TemplateResult } from "lit";
2
2
  import { DataNamespace } from "@api-client/core/build/browser.js";
3
3
  import ApiElement from "../ApiElement.js";
4
- import DataSchemaDocument from "./DataSchemaDocument.js";
4
+ import type DataSchemaDocument from "./DataSchemaDocument.js";
5
5
  import '../../define/ui/ui-icon.js';
6
6
  import '../../define/ui/ui-icon-button.js';
7
7
  import '../../define/ui/ui-radio.js';
@@ -43,7 +43,7 @@ export default class DataEntityEditorElement extends ApiElement {
43
43
  protected _schemaDoc?: DataSchemaDocument;
44
44
  constructor();
45
45
  protected willUpdate(cp: PropertyValues<this>): void;
46
- protected _notifyChanged(): void;
46
+ notifyChange(): void;
47
47
  protected _dragEnterHandler(e: DragEvent): void;
48
48
  protected _dragLeaveHandler(e: DragEvent): void;
49
49
  protected _propertyChangeHandler(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataEntityEditorElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAkB,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAGzD,OAAO,4BAA4B,CAAC;AACpC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,4CAA4C,CAAC;AACpD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAoDxC;IAED;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACyB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE9C;;OAEG;IACyB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEtD;;OAEG;IACyB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEhD,SAAS,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAE7C,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAE5D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAExC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGlC,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;;cAUvB,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO7D,SAAS,CAAC,cAAc,IAAI,IAAI;IAOhC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAa/C,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAW/C,SAAS,CAAC,sBAAsB,IAAI,IAAI;IASxC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAStC,SAAS,CAAC,0BAA0B,IAAI,IAAI;IAM5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAYxD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAcvC,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAM/C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAQ5C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAO/B,MAAM,IAAI,cAAc;IAS3C,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAiB9C,SAAS,CAAC,eAAe,IAAI,cAAc;IAe3C,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiB7D,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiBhE,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAc9C,SAAS,CAAC,YAAY,IAAI,cAAc;CAwCzC"}
1
+ {"version":3,"file":"DataEntityEditorElement.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAQ,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3E,OAAO,EAAkB,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAM1C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAG9D,OAAO,4BAA4B,CAAC;AACpC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,4CAA4C,CAAC;AACpD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,2CAA2C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,UAAU;IAC7D,WAAoB,MAAM,IAAI,SAAS,EAAE,CAoDxC;IAED;;OAEG;IACyB,IAAI,CAAC,EAAE,aAAa,CAAC;IAEjD;;OAEG;IACyB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE9C;;OAEG;IACyB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEtD;;OAEG;IACyB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEhD,SAAS,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAE7C,SAAS,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAE5D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAE9B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAExC,SAAS,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAGlC,SAAS,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;;cAUvB,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAOpD,YAAY,IAAI,IAAI;IAO7B,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAa/C,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI;IAW/C,SAAS,CAAC,sBAAsB,IAAI,IAAI;IASxC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAStC,SAAS,CAAC,0BAA0B,IAAI,IAAI;IAM5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI;IAYxD,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAMpC,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAcvC,SAAS,CAAC,6BAA6B,IAAI,IAAI;IAM/C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAQ5C,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS5C,SAAS,CAAC,wBAAwB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;cAO/B,MAAM,IAAI,cAAc;IAS3C,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAiB9C,SAAS,CAAC,eAAe,IAAI,cAAc;IAe3C,SAAS,CAAC,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiB7D,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc;IAiBhE,SAAS,CAAC,kBAAkB,IAAI,cAAc;IAc9C,SAAS,CAAC,YAAY,IAAI,cAAc;CAwCzC"}
@@ -77,28 +77,6 @@ export default class DataEntityEditorElement extends ApiElement {
77
77
  `,
78
78
  ];
79
79
  }
80
- /**
81
- * The read data namespace.
82
- */
83
- root;
84
- /**
85
- * The selected entity.
86
- */
87
- selected;
88
- /**
89
- * The key of the selected property being edited.
90
- */
91
- selectedProperty;
92
- /**
93
- * The key of the selected association being edited.
94
- */
95
- selectedAssociation;
96
- _highlightEntityDropZone;
97
- _schemaExample;
98
- _schemaMime;
99
- _schemaMock;
100
- _schemaOpened;
101
- _schemaDoc;
102
80
  constructor() {
103
81
  super();
104
82
  this._schemaMime = 'application/json';
@@ -112,8 +90,8 @@ export default class DataEntityEditorElement extends ApiElement {
112
90
  this._computeExampleSchemaIfNeeded();
113
91
  }
114
92
  }
115
- _notifyChanged() {
116
- this.dispatchEvent(new Event('change'));
93
+ notifyChange() {
94
+ super.notifyChange();
117
95
  if (this._highlightEntityDropZone) {
118
96
  this._highlightEntityDropZone = false;
119
97
  }
@@ -141,7 +119,7 @@ export default class DataEntityEditorElement extends ApiElement {
141
119
  this._highlightEntityDropZone = false;
142
120
  }
143
121
  _propertyChangeHandler() {
144
- this._notifyChanged();
122
+ this.notifyChange();
145
123
  const { _schemaDoc } = this;
146
124
  if (_schemaDoc) {
147
125
  _schemaDoc.requestUpdate();
@@ -149,7 +127,7 @@ export default class DataEntityEditorElement extends ApiElement {
149
127
  this._computeExampleSchemaIfNeeded();
150
128
  }
151
129
  _entityChangeHandler() {
152
- this._notifyChanged();
130
+ this.notifyChange();
153
131
  const { _schemaDoc } = this;
154
132
  if (_schemaDoc) {
155
133
  _schemaDoc.requestUpdate();
@@ -157,7 +135,7 @@ export default class DataEntityEditorElement extends ApiElement {
157
135
  this._computeExampleSchemaIfNeeded();
158
136
  }
159
137
  _schemaEntityChangeHandler() {
160
- this._notifyChanged();
138
+ this.notifyChange();
161
139
  this.requestUpdate();
162
140
  this._computeExampleSchemaIfNeeded();
163
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataEntityEditorElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { DataEntityKind, DataNamespace } from \"@api-client/core/build/browser.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport theme from '../theme.js';\nimport schemaCommon from './schemaCommon.js';\nimport EditorCommon from './CommonStyles.js';\nimport MarkdownStyles from '../highlight/MarkdownStyles.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport DataSchemaDocument from \"./DataSchemaDocument.js\";\nimport RadioElement from \"../../ui/input/RadioElement.js\";\nimport CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-radio.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/highlight/marked-highlight.js';\nimport '../../define/data/data-association-form.js';\nimport '../../define/data/data-property-form.js';\nimport '../../define/data/data-entity-form.js';\nimport '../../define/data/data-schema-document.js';\n\n/**\n * The DataEntity editor UI and logic.\n * \n * @fires change - When the entity has changed and the parent element / app should update the value in the store.\n * @fires namechange - When a name of the data entity has changed. This triggers a render in the navigation. This is fired after the `change` event.\n */\nexport default class DataEntityEditorElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n schemaCommon,\n MarkdownStyles,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: row;\n height: inherit;\n flex: 1;\n }\n\n .structure {\n flex: 8;\n overflow: hidden;\n }\n\n .editor {\n flex: 4;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-small);\n box-shadow: var(--md-sys-elevation-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n /* for the box shadow */\n margin: 4px; \n }\n\n .editor-form {\n overflow: auto;\n }\n\n .mime-options {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n }\n\n .schema-card {\n margin: 20px 20px 20px 0px;\n }\n `,\n ];\n }\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The selected entity.\n */\n @property({ type: String }) selected?: string;\n\n /**\n * The key of the selected property being edited.\n */\n @property({ type: String }) selectedProperty?: string;\n\n /**\n * The key of the selected association being edited.\n */\n @property({ type: String }) selectedAssociation?: string;\n\n @state() protected _highlightEntityDropZone?: boolean;\n\n @state() protected _schemaExample?: string | number | boolean | null;\n\n @state() protected _schemaMime: string;\n\n @state() protected _schemaMock: boolean;\n\n protected _schemaOpened?: boolean;\n\n @query('data-schema-document')\n protected _schemaDoc?: DataSchemaDocument;\n\n constructor() {\n super();\n this._schemaMime = 'application/json';\n this._schemaMock = true;\n this.addEventListener('dragenter', this._dragEnterHandler.bind(this));\n this.addEventListener('dragleave', this._dragLeaveHandler.bind(this));\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('selected')) {\n this._computeExampleSchemaIfNeeded();\n }\n }\n\n protected _notifyChanged(): void {\n this.dispatchEvent(new Event('change'));\n if (this._highlightEntityDropZone) {\n this._highlightEntityDropZone = false;\n }\n }\n\n protected _dragEnterHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = true;\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _dragLeaveHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = false;\n }\n\n protected _propertyChangeHandler(): void {\n this._notifyChanged();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityChangeHandler(): void {\n this._notifyChanged();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityChangeHandler(): void {\n this._notifyChanged();\n this.requestUpdate();\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityEditHandler(e: CustomEvent): void {\n const { type, key } = e.detail;\n if (type === 'property') {\n this.selectedProperty = key;\n this.selectedAssociation = undefined;\n } else if (type === 'association') {\n this.selectedProperty = undefined;\n this.selectedAssociation = key;\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityNameHandler(): void {\n // just retarget\n this.dispatchEvent(new Event('namechange'));\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _cancelEditor(): void {\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _computeExampleSchema(): void {\n const { selected, root } = this;\n const entity = root?.definitions.entities.find(i => i.key === selected);\n if (!entity) {\n this._schemaExample = undefined;\n return\n }\n this._schemaExample = entity.toExample(this._schemaMime, {\n renderMocked: this._schemaMock,\n renderExamples: true,\n renderOptional: true,\n });\n }\n\n protected _computeExampleSchemaIfNeeded(): void {\n if (this._schemaOpened) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaOpenHandler(e: Event): void {\n const details = e.target as HTMLDetailsElement;\n this._schemaOpened = details.open;\n if (details.open) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaMimeHandler(e: Event): void {\n const button = e.target as RadioElement;\n if (!button.checked) {\n return;\n }\n this._schemaMime = button.value as string;\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _mockSchemaValuesHandler(e: Event): void {\n const input = e.target as CheckboxElement;\n const { checked } = input;\n this._schemaMock = checked;\n this._computeExampleSchema();\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this._structureTemplate()}\n ${this._editorTemplate()}\n </div>\n `;\n }\n\n protected _structureTemplate(): TemplateResult {\n return html`\n <div class=\"structure\">\n <data-schema-document\n .root=\"${this.root}\"\n .key=\"${this.selected}\"\n .selectedProperty=\"${this.selectedProperty || this.selectedAssociation}\"\n ?associationDropZone=\"${this._highlightEntityDropZone}\"\n editable\n @change=\"${this._schemaEntityChangeHandler}\"\n @edit=\"${this._schemaEntityEditHandler}\"\n ></data-schema-document>\n ${this.renderSchema()}\n </div>\n `;\n }\n\n protected _editorTemplate(): TemplateResult {\n const { selectedProperty, selectedAssociation } = this;\n let content: TemplateResult;\n if (selectedProperty) {\n content = this._propertyEditorTemplate(selectedProperty);\n } else if (selectedAssociation) {\n content = this._associationEditorTemplate(selectedAssociation);\n } else {\n content = this.renderEntityEditor();\n }\n return html`\n <div class=\"editor\">${content}</div>\n `;\n }\n\n protected _propertyEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Property\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-property-form \n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-property-form>\n `;\n }\n\n protected _associationEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Association\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-association-form\n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-association-form>\n `;\n }\n\n protected renderEntityEditor(): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">Data Entity</div>\n <data-entity-form \n .root=\"${this.root}\" \n .key=\"${this.selected}\"\n ?parentDropZone=\"${this._highlightEntityDropZone}\"\n @change=\"${this._entityChangeHandler}\"\n @namechange=\"${this._entityNameHandler}\"\n class=\"editor-form\"\n ></data-entity-form>\n `;\n }\n\n protected renderSchema(): TemplateResult {\n return html`\n <details class=\"schema-card\" @toggle=\"${this._schemaOpenHandler}\">\n <summary class=\"title-medium\">Example</summary>\n <div class=\"example-content\">\n <div class=\"mime-options\">\n <span id=\"mimeLabel\" class=\"label-large\">Mime type:</span>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/json\" \n .checked=\"${this._schemaMime === 'application/json'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/json\n </label>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/xml\" \n .checked=\"${this._schemaMime === 'application/xml'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/xml\n </label>\n <label class=\"label-large\">\n <ui-checkbox\n .checked=\"${this._schemaMock}\" \n @change=\"${this._mockSchemaValuesHandler}\" \n title=\"Generates random values when examples are not defined.\"\n ></ui-checkbox>\n Mock values\n </label>\n </div>\n <pre class=\"code-value text-selectable\"><code>${this._schemaExample}</code></pre>\n </div>\n </details>`;\n }\n}\n"]}
1
+ {"version":3,"file":"DataEntityEditorElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, CSSResult, html, PropertyValues, TemplateResult } from \"lit\";\nimport { property, query, state } from \"lit/decorators.js\";\nimport { DataEntityKind, DataNamespace } from \"@api-client/core/build/browser.js\";\nimport ApiElement from \"../ApiElement.js\";\nimport theme from '../theme.js';\nimport schemaCommon from './schemaCommon.js';\nimport EditorCommon from './CommonStyles.js';\nimport MarkdownStyles from '../highlight/MarkdownStyles.js';\nimport typography from \"../../styles/m3/typography.module.js\";\nimport type DataSchemaDocument from \"./DataSchemaDocument.js\";\nimport type RadioElement from \"../../ui/input/RadioElement.js\";\nimport type CheckboxElement from \"../../ui/input/CheckboxElement.js\";\nimport '../../define/ui/ui-icon.js';\nimport '../../define/ui/ui-icon-button.js';\nimport '../../define/ui/ui-radio.js';\nimport '../../define/ui/ui-checkbox.js';\nimport '../../define/highlight/marked-highlight.js';\nimport '../../define/data/data-association-form.js';\nimport '../../define/data/data-property-form.js';\nimport '../../define/data/data-entity-form.js';\nimport '../../define/data/data-schema-document.js';\n\n/**\n * The DataEntity editor UI and logic.\n * \n * @fires change - When the entity has changed and the parent element / app should update the value in the store.\n * @fires namechange - When a name of the data entity has changed. This triggers a render in the navigation. This is fired after the `change` event.\n */\nexport default class DataEntityEditorElement extends ApiElement {\n static override get styles(): CSSResult[] {\n return [\n theme,\n schemaCommon,\n MarkdownStyles,\n EditorCommon,\n typography,\n css`\n :host {\n display: block;\n height: 100%;\n }\n\n .container {\n display: flex;\n flex-direction: row;\n height: inherit;\n flex: 1;\n }\n\n .structure {\n flex: 8;\n overflow: hidden;\n }\n\n .editor {\n flex: 4;\n background-color: var(--md-sys-color-surface);\n border-radius: var(--md-sys-shape-corner-small);\n box-shadow: var(--md-sys-elevation-1);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n /* for the box shadow */\n margin: 4px; \n }\n\n .editor-form {\n overflow: auto;\n }\n\n .mime-options {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n }\n\n .schema-card {\n margin: 20px 20px 20px 0px;\n }\n `,\n ];\n }\n\n /**\n * The read data namespace.\n */\n @property({ type: Object }) root?: DataNamespace;\n\n /**\n * The selected entity.\n */\n @property({ type: String }) selected?: string;\n\n /**\n * The key of the selected property being edited.\n */\n @property({ type: String }) selectedProperty?: string;\n\n /**\n * The key of the selected association being edited.\n */\n @property({ type: String }) selectedAssociation?: string;\n\n @state() protected _highlightEntityDropZone?: boolean;\n\n @state() protected _schemaExample?: string | number | boolean | null;\n\n @state() protected _schemaMime: string;\n\n @state() protected _schemaMock: boolean;\n\n protected _schemaOpened?: boolean;\n\n @query('data-schema-document')\n protected _schemaDoc?: DataSchemaDocument;\n\n constructor() {\n super();\n this._schemaMime = 'application/json';\n this._schemaMock = true;\n this.addEventListener('dragenter', this._dragEnterHandler.bind(this));\n this.addEventListener('dragleave', this._dragLeaveHandler.bind(this));\n }\n\n protected override willUpdate(cp: PropertyValues<this>): void {\n super.willUpdate(cp);\n if (cp.has('selected')) {\n this._computeExampleSchemaIfNeeded();\n }\n }\n\n override notifyChange(): void {\n super.notifyChange();\n if (this._highlightEntityDropZone) {\n this._highlightEntityDropZone = false;\n }\n }\n\n protected _dragEnterHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = true;\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _dragLeaveHandler(e: DragEvent): void {\n const { dataTransfer: dt } = e;\n if (!dt) {\n return;\n }\n if (![...dt.types].includes(DataEntityKind.toLowerCase())) {\n return;\n }\n this._highlightEntityDropZone = false;\n }\n\n protected _propertyChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityChangeHandler(): void {\n this.notifyChange();\n const { _schemaDoc } = this;\n if (_schemaDoc) {\n _schemaDoc.requestUpdate();\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityChangeHandler(): void {\n this.notifyChange();\n this.requestUpdate();\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _schemaEntityEditHandler(e: CustomEvent): void {\n const { type, key } = e.detail;\n if (type === 'property') {\n this.selectedProperty = key;\n this.selectedAssociation = undefined;\n } else if (type === 'association') {\n this.selectedProperty = undefined;\n this.selectedAssociation = key;\n }\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _entityNameHandler(): void {\n // just retarget\n this.dispatchEvent(new Event('namechange'));\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _cancelEditor(): void {\n this.selectedProperty = undefined;\n this.selectedAssociation = undefined;\n }\n\n protected _computeExampleSchema(): void {\n const { selected, root } = this;\n const entity = root?.definitions.entities.find(i => i.key === selected);\n if (!entity) {\n this._schemaExample = undefined;\n return\n }\n this._schemaExample = entity.toExample(this._schemaMime, {\n renderMocked: this._schemaMock,\n renderExamples: true,\n renderOptional: true,\n });\n }\n\n protected _computeExampleSchemaIfNeeded(): void {\n if (this._schemaOpened) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaOpenHandler(e: Event): void {\n const details = e.target as HTMLDetailsElement;\n this._schemaOpened = details.open;\n if (details.open) {\n this._computeExampleSchema();\n }\n }\n\n protected _schemaMimeHandler(e: Event): void {\n const button = e.target as RadioElement;\n if (!button.checked) {\n return;\n }\n this._schemaMime = button.value as string;\n this._computeExampleSchemaIfNeeded();\n }\n\n protected _mockSchemaValuesHandler(e: Event): void {\n const input = e.target as CheckboxElement;\n const { checked } = input;\n this._schemaMock = checked;\n this._computeExampleSchema();\n }\n\n protected override render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this._structureTemplate()}\n ${this._editorTemplate()}\n </div>\n `;\n }\n\n protected _structureTemplate(): TemplateResult {\n return html`\n <div class=\"structure\">\n <data-schema-document\n .root=\"${this.root}\"\n .key=\"${this.selected}\"\n .selectedProperty=\"${this.selectedProperty || this.selectedAssociation}\"\n ?associationDropZone=\"${this._highlightEntityDropZone}\"\n editable\n @change=\"${this._schemaEntityChangeHandler}\"\n @edit=\"${this._schemaEntityEditHandler}\"\n ></data-schema-document>\n ${this.renderSchema()}\n </div>\n `;\n }\n\n protected _editorTemplate(): TemplateResult {\n const { selectedProperty, selectedAssociation } = this;\n let content: TemplateResult;\n if (selectedProperty) {\n content = this._propertyEditorTemplate(selectedProperty);\n } else if (selectedAssociation) {\n content = this._associationEditorTemplate(selectedAssociation);\n } else {\n content = this.renderEntityEditor();\n }\n return html`\n <div class=\"editor\">${content}</div>\n `;\n }\n\n protected _propertyEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Property\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-property-form \n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-property-form>\n `;\n }\n\n protected _associationEditorTemplate(id: string): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">\n Data Association\n <ui-icon-button class=\"title-icon\" title=\"Close this editor\" @click=\"${this._cancelEditor}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n <data-association-form\n .root=\"${this.root}\" \n .key=\"${id}\" \n @change=\"${this._propertyChangeHandler}\"\n class=\"editor-form\"\n ></data-association-form>\n `;\n }\n\n protected renderEntityEditor(): TemplateResult {\n return html`\n <div class=\"editor-title title-large\">Data Entity</div>\n <data-entity-form \n .root=\"${this.root}\" \n .key=\"${this.selected}\"\n ?parentDropZone=\"${this._highlightEntityDropZone}\"\n @change=\"${this._entityChangeHandler}\"\n @namechange=\"${this._entityNameHandler}\"\n class=\"editor-form\"\n ></data-entity-form>\n `;\n }\n\n protected renderSchema(): TemplateResult {\n return html`\n <details class=\"schema-card\" @toggle=\"${this._schemaOpenHandler}\">\n <summary class=\"title-medium\">Example</summary>\n <div class=\"example-content\">\n <div class=\"mime-options\">\n <span id=\"mimeLabel\" class=\"label-large\">Mime type:</span>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/json\" \n .checked=\"${this._schemaMime === 'application/json'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/json\n </label>\n <label class=\"label-large\">\n <ui-radio \n name=\"mimeValue\" \n value=\"application/xml\" \n .checked=\"${this._schemaMime === 'application/xml'}\" \n @change=\"${this._schemaMimeHandler}\"\n aria-describedby=\"mimeLabel\"\n ></ui-radio>\n application/xml\n </label>\n <label class=\"label-large\">\n <ui-checkbox\n .checked=\"${this._schemaMock}\" \n @change=\"${this._mockSchemaValuesHandler}\" \n title=\"Generates random values when examples are not defined.\"\n ></ui-checkbox>\n Mock values\n </label>\n </div>\n <pre class=\"code-value text-selectable\"><code>${this._schemaExample}</code></pre>\n </div>\n </details>`;\n }\n}\n"]}
@@ -99,22 +99,6 @@ export default class DataModelVisualizationElement extends ApiElement {
99
99
  `,
100
100
  ];
101
101
  }
102
- /**
103
- * The key of the entity to edit.
104
- */
105
- key;
106
- /**
107
- * The read data namespace.
108
- */
109
- root;
110
- /**
111
- * The computed entity when the key or root change.
112
- */
113
- _model;
114
- _data;
115
- _workspace;
116
- groupSelectionPlugin;
117
- dndPlugin;
118
102
  firstUpdated(cp) {
119
103
  super.firstUpdated(cp);
120
104
  const node = this._workspace;