@api-client/ui 0.0.5 → 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 (323) 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/define/dialog/delete-cookie-action-dialog.d.ts +10 -0
  8. package/dist/define/dialog/delete-cookie-action-dialog.d.ts.map +1 -0
  9. package/dist/define/dialog/delete-cookie-action-dialog.js +14 -0
  10. package/dist/define/dialog/delete-cookie-action-dialog.js.map +1 -0
  11. package/dist/define/dialog/set-cookie-action-dialog.d.ts +10 -0
  12. package/dist/define/dialog/set-cookie-action-dialog.d.ts.map +1 -0
  13. package/dist/define/dialog/set-cookie-action-dialog.js +14 -0
  14. package/dist/define/dialog/set-cookie-action-dialog.js.map +1 -0
  15. package/dist/define/http/http-assertions.d.ts +1 -1
  16. package/dist/define/http/http-assertions.d.ts.map +1 -1
  17. package/dist/define/http/http-assertions.js +3 -3
  18. package/dist/define/http/http-assertions.js.map +1 -1
  19. package/dist/define/http/http-flows.d.ts +10 -0
  20. package/dist/define/http/http-flows.d.ts.map +1 -0
  21. package/dist/define/http/http-flows.js +13 -0
  22. package/dist/define/http/http-flows.js.map +1 -0
  23. package/dist/define/ui/ui-divider.d.ts +4 -1
  24. package/dist/define/ui/ui-divider.d.ts.map +1 -1
  25. package/dist/define/ui/ui-divider.js +11 -2
  26. package/dist/define/ui/ui-divider.js.map +1 -1
  27. package/dist/elements/ApiElement.d.ts +4 -0
  28. package/dist/elements/ApiElement.d.ts.map +1 -1
  29. package/dist/elements/ApiElement.js +6 -0
  30. package/dist/elements/ApiElement.js.map +1 -1
  31. package/dist/elements/amf/ApiAuthorizationEditor.element.js +1 -1
  32. package/dist/elements/amf/ApiAuthorizationEditor.element.js.map +1 -1
  33. package/dist/elements/amf/ApiOperationDocument.element.d.ts.map +1 -1
  34. package/dist/elements/amf/ApiOperationDocument.element.js +2 -1
  35. package/dist/elements/amf/ApiOperationDocument.element.js.map +1 -1
  36. package/dist/elements/amf/ApiRequest.element.js +1 -1
  37. package/dist/elements/amf/ApiRequest.element.js.map +1 -1
  38. package/dist/elements/amf/ApiRequestEditor.element.d.ts +0 -1
  39. package/dist/elements/amf/ApiRequestEditor.element.d.ts.map +1 -1
  40. package/dist/elements/amf/ApiRequestEditor.element.js +0 -3
  41. package/dist/elements/amf/ApiRequestEditor.element.js.map +1 -1
  42. package/dist/elements/authorization/ui/Authorization.d.ts +2 -1
  43. package/dist/elements/authorization/ui/Authorization.d.ts.map +1 -1
  44. package/dist/elements/authorization/ui/Authorization.js +0 -3
  45. package/dist/elements/authorization/ui/Authorization.js.map +1 -1
  46. package/dist/elements/dialog/DeleteCookieAction.element.d.ts +20 -0
  47. package/dist/elements/dialog/DeleteCookieAction.element.d.ts.map +1 -0
  48. package/dist/elements/dialog/DeleteCookieAction.element.js +93 -0
  49. package/dist/elements/dialog/DeleteCookieAction.element.js.map +1 -0
  50. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts +3 -0
  51. package/dist/elements/dialog/DeleteCookieAction.styles.d.ts.map +1 -0
  52. package/dist/elements/dialog/DeleteCookieAction.styles.js +13 -0
  53. package/dist/elements/dialog/DeleteCookieAction.styles.js.map +1 -0
  54. package/dist/elements/dialog/Rename.d.ts +7 -6
  55. package/dist/elements/dialog/Rename.d.ts.map +1 -1
  56. package/dist/elements/dialog/Rename.js +7 -6
  57. package/dist/elements/dialog/Rename.js.map +1 -1
  58. package/dist/elements/dialog/SetCookieAction.element.d.ts +22 -0
  59. package/dist/elements/dialog/SetCookieAction.element.d.ts.map +1 -0
  60. package/dist/elements/dialog/SetCookieAction.element.js +173 -0
  61. package/dist/elements/dialog/SetCookieAction.element.js.map +1 -0
  62. package/dist/elements/environment/EnvironmentEditor.d.ts +24 -3
  63. package/dist/elements/environment/EnvironmentEditor.d.ts.map +1 -1
  64. package/dist/elements/environment/EnvironmentEditor.js +69 -23
  65. package/dist/elements/environment/EnvironmentEditor.js.map +1 -1
  66. package/dist/elements/environment/EnvironmentEditor.styles.d.ts.map +1 -1
  67. package/dist/elements/environment/EnvironmentEditor.styles.js +5 -0
  68. package/dist/elements/environment/EnvironmentEditor.styles.js.map +1 -1
  69. package/dist/elements/environment/ServerEditor.d.ts +3 -3
  70. package/dist/elements/environment/ServerEditor.d.ts.map +1 -1
  71. package/dist/elements/environment/ServerEditor.js +3 -6
  72. package/dist/elements/environment/ServerEditor.js.map +1 -1
  73. package/dist/elements/environment/VariablesEditor.d.ts +0 -1
  74. package/dist/elements/environment/VariablesEditor.d.ts.map +1 -1
  75. package/dist/elements/environment/VariablesEditor.js +3 -6
  76. package/dist/elements/environment/VariablesEditor.js.map +1 -1
  77. package/dist/elements/highlight/Prism.styles.d.ts.map +1 -1
  78. package/dist/elements/highlight/Prism.styles.js +12 -5
  79. package/dist/elements/highlight/Prism.styles.js.map +1 -1
  80. package/dist/elements/http/BodyEditor.d.ts +0 -4
  81. package/dist/elements/http/BodyEditor.d.ts.map +1 -1
  82. package/dist/elements/http/BodyEditor.js +10 -16
  83. package/dist/elements/http/BodyEditor.js.map +1 -1
  84. package/dist/elements/http/BodyMultipartEditor.d.ts +3 -16
  85. package/dist/elements/http/BodyMultipartEditor.d.ts.map +1 -1
  86. package/dist/elements/http/BodyMultipartEditor.js +3 -19
  87. package/dist/elements/http/BodyMultipartEditor.js.map +1 -1
  88. package/dist/elements/http/BodyTextEditor.d.ts +0 -1
  89. package/dist/elements/http/BodyTextEditor.d.ts.map +1 -1
  90. package/dist/elements/http/BodyTextEditor.js +0 -3
  91. package/dist/elements/http/BodyTextEditor.js.map +1 -1
  92. package/dist/elements/http/BodyUrlEncodedEditor.d.ts +3 -3
  93. package/dist/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  94. package/dist/elements/http/BodyUrlEncodedEditor.js +3 -5
  95. package/dist/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  96. package/dist/elements/http/HeadersForm.d.ts +0 -4
  97. package/dist/elements/http/HeadersForm.d.ts.map +1 -1
  98. package/dist/elements/http/HeadersForm.js +0 -6
  99. package/dist/elements/http/HeadersForm.js.map +1 -1
  100. package/dist/elements/http/HttpAssertions.element.d.ts +55 -0
  101. package/dist/elements/http/HttpAssertions.element.d.ts.map +1 -0
  102. package/dist/elements/http/HttpAssertions.element.js +264 -0
  103. package/dist/elements/http/HttpAssertions.element.js.map +1 -0
  104. package/dist/elements/http/HttpAssertions.styles.d.ts.map +1 -1
  105. package/dist/elements/http/HttpAssertions.styles.js +7 -156
  106. package/dist/elements/http/HttpAssertions.styles.js.map +1 -1
  107. package/dist/elements/http/HttpFlows.common.d.ts +3 -0
  108. package/dist/elements/http/HttpFlows.common.d.ts.map +1 -0
  109. package/dist/elements/http/HttpFlows.common.js +181 -0
  110. package/dist/elements/http/HttpFlows.common.js.map +1 -0
  111. package/dist/elements/http/HttpFlows.element.d.ts +97 -0
  112. package/dist/elements/http/HttpFlows.element.d.ts.map +1 -0
  113. package/dist/elements/http/HttpFlows.element.js +684 -0
  114. package/dist/elements/http/HttpFlows.element.js.map +1 -0
  115. package/dist/elements/http/HttpFlows.styles.d.ts +3 -0
  116. package/dist/elements/http/HttpFlows.styles.d.ts.map +1 -0
  117. package/dist/elements/http/HttpFlows.styles.js +28 -0
  118. package/dist/elements/http/HttpFlows.styles.js.map +1 -0
  119. package/dist/elements/http/HttpFlowsUi.d.ts +172 -0
  120. package/dist/elements/http/HttpFlowsUi.d.ts.map +1 -0
  121. package/dist/elements/http/HttpFlowsUi.js +1256 -0
  122. package/dist/elements/http/HttpFlowsUi.js.map +1 -0
  123. package/dist/elements/http/RequestConfigElement.d.ts +0 -1
  124. package/dist/elements/http/RequestConfigElement.d.ts.map +1 -1
  125. package/dist/elements/http/RequestConfigElement.js +8 -11
  126. package/dist/elements/http/RequestConfigElement.js.map +1 -1
  127. package/dist/elements/http/RequestEditor.d.ts +10 -10
  128. package/dist/elements/http/RequestEditor.d.ts.map +1 -1
  129. package/dist/elements/http/RequestEditor.js +62 -23
  130. package/dist/elements/http/RequestEditor.js.map +1 -1
  131. package/dist/elements/http/UrlInput.d.ts +3 -3
  132. package/dist/elements/http/UrlInput.d.ts.map +1 -1
  133. package/dist/elements/http/UrlInput.js +2 -2
  134. package/dist/elements/http/UrlInput.js.map +1 -1
  135. package/dist/elements/http/UrlParamsForm.d.ts +0 -1
  136. package/dist/elements/http/UrlParamsForm.d.ts.map +1 -1
  137. package/dist/elements/http/UrlParamsForm.js +0 -3
  138. package/dist/elements/http/UrlParamsForm.js.map +1 -1
  139. package/dist/elements/layout/SplitView.styles.d.ts.map +1 -1
  140. package/dist/elements/layout/SplitView.styles.js +1 -0
  141. package/dist/elements/layout/SplitView.styles.js.map +1 -1
  142. package/dist/elements/navigation/AppNavigationItem.styles.d.ts.map +1 -1
  143. package/dist/elements/navigation/AppNavigationItem.styles.js +2 -0
  144. package/dist/elements/navigation/AppNavigationItem.styles.js.map +1 -1
  145. package/dist/elements/project/HttpProjectRequest.d.ts +2 -1
  146. package/dist/elements/project/HttpProjectRequest.d.ts.map +1 -1
  147. package/dist/elements/project/HttpProjectRequest.js +14 -5
  148. package/dist/elements/project/HttpProjectRequest.js.map +1 -1
  149. package/dist/elements/project/ProjectRunner.d.ts +0 -1
  150. package/dist/elements/project/ProjectRunner.d.ts.map +1 -1
  151. package/dist/elements/project/ProjectRunner.js +1 -4
  152. package/dist/elements/project/ProjectRunner.js.map +1 -1
  153. package/dist/elements/schema-design/AssociationFormElement.d.ts +0 -1
  154. package/dist/elements/schema-design/AssociationFormElement.d.ts.map +1 -1
  155. package/dist/elements/schema-design/AssociationFormElement.js +2 -5
  156. package/dist/elements/schema-design/AssociationFormElement.js.map +1 -1
  157. package/dist/elements/schema-design/DataEntityEditorElement.d.ts +2 -2
  158. package/dist/elements/schema-design/DataEntityEditorElement.d.ts.map +1 -1
  159. package/dist/elements/schema-design/DataEntityEditorElement.js +5 -5
  160. package/dist/elements/schema-design/DataEntityEditorElement.js.map +1 -1
  161. package/dist/elements/schema-design/DataSchemaDocument.d.ts +0 -1
  162. package/dist/elements/schema-design/DataSchemaDocument.d.ts.map +1 -1
  163. package/dist/elements/schema-design/DataSchemaDocument.js +4 -7
  164. package/dist/elements/schema-design/DataSchemaDocument.js.map +1 -1
  165. package/dist/elements/schema-design/EntityFormElement.d.ts +0 -1
  166. package/dist/elements/schema-design/EntityFormElement.d.ts.map +1 -1
  167. package/dist/elements/schema-design/EntityFormElement.js +4 -7
  168. package/dist/elements/schema-design/EntityFormElement.js.map +1 -1
  169. package/dist/elements/schema-design/PropertyFormElement.d.ts +1 -2
  170. package/dist/elements/schema-design/PropertyFormElement.d.ts.map +1 -1
  171. package/dist/elements/schema-design/PropertyFormElement.js +8 -11
  172. package/dist/elements/schema-design/PropertyFormElement.js.map +1 -1
  173. package/dist/pages/ApplicationScreen.d.ts +1 -1
  174. package/dist/pages/ApplicationScreen.d.ts.map +1 -1
  175. package/dist/pages/ApplicationScreen.js +1 -1
  176. package/dist/pages/ApplicationScreen.js.map +1 -1
  177. package/dist/pages/api-client/ApiClient.styles.d.ts.map +1 -1
  178. package/dist/pages/api-client/ApiClient.styles.js +22 -3
  179. package/dist/pages/api-client/ApiClient.styles.js.map +1 -1
  180. package/dist/pages/api-client/Authenticate.screen.d.ts +2 -0
  181. package/dist/pages/api-client/Authenticate.screen.d.ts.map +1 -1
  182. package/dist/pages/api-client/Authenticate.screen.js +19 -3
  183. package/dist/pages/api-client/Authenticate.screen.js.map +1 -1
  184. package/dist/pages/api-client/StoreConfig.screen.d.ts.map +1 -1
  185. package/dist/pages/api-client/StoreConfig.screen.js +4 -2
  186. package/dist/pages/api-client/StoreConfig.screen.js.map +1 -1
  187. package/dist/pages/api-client/StoreConfig.styles.d.ts.map +1 -1
  188. package/dist/pages/api-client/StoreConfig.styles.js +5 -0
  189. package/dist/pages/api-client/StoreConfig.styles.js.map +1 -1
  190. package/dist/pages/api-client/pages/Files.page.d.ts +1 -0
  191. package/dist/pages/api-client/pages/Files.page.d.ts.map +1 -1
  192. package/dist/pages/api-client/pages/Files.page.js +2 -1
  193. package/dist/pages/api-client/pages/Files.page.js.map +1 -1
  194. package/dist/pages/http-project/HttpProject.screen.d.ts +0 -8
  195. package/dist/pages/http-project/HttpProject.screen.d.ts.map +1 -1
  196. package/dist/pages/http-project/HttpProject.screen.js +14 -15
  197. package/dist/pages/http-project/HttpProject.screen.js.map +1 -1
  198. package/dist/pages/http-project/types.d.ts +8 -6
  199. package/dist/pages/http-project/types.d.ts.map +1 -1
  200. package/dist/pages/http-project/types.js.map +1 -1
  201. package/dist/styles/m3/surface.module.d.ts.map +1 -1
  202. package/dist/styles/m3/surface.module.js +11 -27
  203. package/dist/styles/m3/surface.module.js.map +1 -1
  204. package/dist/ui/UiElement.d.ts +4 -0
  205. package/dist/ui/UiElement.d.ts.map +1 -1
  206. package/dist/ui/UiElement.js +6 -0
  207. package/dist/ui/UiElement.js.map +1 -1
  208. package/dist/ui/button/SegmentedButton.styles.d.ts.map +1 -1
  209. package/dist/ui/button/SegmentedButton.styles.js +3 -1
  210. package/dist/ui/button/SegmentedButton.styles.js.map +1 -1
  211. package/dist/ui/dialog/UiDialog.d.ts +3 -0
  212. package/dist/ui/dialog/UiDialog.d.ts.map +1 -1
  213. package/dist/ui/dialog/UiDialog.js +3 -0
  214. package/dist/ui/dialog/UiDialog.js.map +1 -1
  215. package/dist/ui/effects/ripple.d.ts.map +1 -1
  216. package/dist/ui/effects/ripple.js +5 -1
  217. package/dist/ui/effects/ripple.js.map +1 -1
  218. package/dist/ui/icons/Icons.d.ts +3 -2
  219. package/dist/ui/icons/Icons.d.ts.map +1 -1
  220. package/dist/ui/icons/Icons.js +2 -1
  221. package/dist/ui/icons/Icons.js.map +1 -1
  222. package/dist/ui/input/CheckedElement.d.ts +1 -1
  223. package/dist/ui/input/CheckedElement.d.ts.map +1 -1
  224. package/dist/ui/input/CheckedElement.js +3 -3
  225. package/dist/ui/input/CheckedElement.js.map +1 -1
  226. package/dist/ui/input/Input.js +1 -1
  227. package/dist/ui/input/Input.js.map +1 -1
  228. package/dist/ui/list/{DividerElement.d.ts → UiDivider.element.d.ts} +6 -6
  229. package/dist/ui/list/UiDivider.element.d.ts.map +1 -0
  230. package/dist/ui/list/UiDivider.element.js +39 -0
  231. package/dist/ui/list/UiDivider.element.js.map +1 -0
  232. package/dist/ui/list/UiDivider.styles.d.ts +3 -0
  233. package/dist/ui/list/UiDivider.styles.d.ts.map +1 -0
  234. package/dist/ui/list/UiDivider.styles.js +49 -0
  235. package/dist/ui/list/UiDivider.styles.js.map +1 -0
  236. package/dist/ui/tabs/UiTabs.d.ts +13 -1
  237. package/dist/ui/tabs/UiTabs.d.ts.map +1 -1
  238. package/dist/ui/tabs/UiTabs.js +42 -13
  239. package/dist/ui/tabs/UiTabs.js.map +1 -1
  240. package/package.json +1 -1
  241. package/src/define/dialog/delete-cookie-action-dialog.ts +16 -0
  242. package/src/define/dialog/set-cookie-action-dialog.ts +16 -0
  243. package/src/define/http/http-assertions.ts +3 -3
  244. package/src/define/http/http-flows.ts +15 -0
  245. package/src/define/ui/ui-divider.ts +7 -2
  246. package/src/elements/ApiElement.ts +7 -0
  247. package/src/elements/amf/ApiAuthorizationEditor.element.ts +1 -1
  248. package/src/elements/amf/ApiOperationDocument.element.ts +2 -1
  249. package/src/elements/amf/ApiRequest.element.ts +1 -1
  250. package/src/elements/amf/ApiRequestEditor.element.ts +0 -4
  251. package/src/elements/authorization/ui/Authorization.ts +3 -5
  252. package/src/elements/dialog/DeleteCookieAction.element.ts +100 -0
  253. package/src/elements/dialog/DeleteCookieAction.styles.ts +14 -0
  254. package/src/elements/dialog/Rename.ts +8 -7
  255. package/src/elements/dialog/SetCookieAction.element.ts +183 -0
  256. package/src/elements/environment/EnvironmentEditor.styles.ts +5 -0
  257. package/src/elements/environment/EnvironmentEditor.ts +81 -22
  258. package/src/elements/environment/ServerEditor.ts +4 -8
  259. package/src/elements/environment/VariablesEditor.ts +3 -7
  260. package/src/elements/highlight/Prism.styles.ts +12 -5
  261. package/src/elements/http/BodyEditor.ts +10 -17
  262. package/src/elements/http/BodyMultipartEditor.ts +3 -20
  263. package/src/elements/http/BodyTextEditor.ts +0 -4
  264. package/src/elements/http/BodyUrlEncodedEditor.ts +5 -8
  265. package/src/elements/http/HeadersForm.ts +2 -9
  266. package/src/elements/http/HttpAssertions.element.ts +286 -0
  267. package/src/elements/http/HttpAssertions.styles.ts +7 -156
  268. package/src/elements/http/HttpFlows.common.ts +181 -0
  269. package/src/elements/http/HttpFlows.element.ts +722 -0
  270. package/src/elements/http/HttpFlows.styles.ts +29 -0
  271. package/src/elements/http/HttpFlowsUi.ts +1327 -0
  272. package/src/elements/http/RequestConfigElement.ts +10 -14
  273. package/src/elements/http/RequestEditor.ts +77 -35
  274. package/src/elements/http/UrlInput.ts +6 -6
  275. package/src/elements/http/UrlParamsForm.ts +2 -6
  276. package/src/elements/layout/SplitView.styles.ts +1 -0
  277. package/src/elements/navigation/AppNavigationItem.styles.ts +2 -0
  278. package/src/elements/project/HttpProjectRequest.ts +16 -5
  279. package/src/elements/project/ProjectRunner.ts +3 -7
  280. package/src/elements/schema-design/AssociationFormElement.ts +4 -8
  281. package/src/elements/schema-design/DataEntityEditorElement.ts +8 -8
  282. package/src/elements/schema-design/DataSchemaDocument.ts +5 -9
  283. package/src/elements/schema-design/EntityFormElement.ts +6 -10
  284. package/src/elements/schema-design/PropertyFormElement.ts +11 -15
  285. package/src/pages/ApplicationScreen.ts +1 -1
  286. package/src/pages/api-client/ApiClient.styles.ts +22 -3
  287. package/src/pages/api-client/Authenticate.screen.ts +19 -3
  288. package/src/pages/api-client/StoreConfig.screen.ts +4 -2
  289. package/src/pages/api-client/StoreConfig.styles.ts +5 -0
  290. package/src/pages/api-client/pages/Files.page.ts +2 -1
  291. package/src/pages/http-project/HttpProject.screen.ts +14 -26
  292. package/src/pages/http-project/types.ts +8 -6
  293. package/src/styles/m3/surface.module.ts +11 -27
  294. package/src/styles/m3/theme.css +36 -0
  295. package/src/styles/m3/tokens.css +11 -0
  296. package/src/ui/UiElement.ts +7 -0
  297. package/src/ui/button/SegmentedButton.styles.ts +3 -1
  298. package/src/ui/dialog/UiDialog.ts +3 -0
  299. package/src/ui/effects/ripple.ts +6 -1
  300. package/src/ui/icons/Icons.ts +3 -2
  301. package/src/ui/input/CheckedElement.ts +3 -3
  302. package/src/ui/input/Input.ts +1 -1
  303. package/src/ui/list/UiDivider.element.ts +41 -0
  304. package/src/ui/list/UiDivider.styles.ts +49 -0
  305. package/src/ui/tabs/UiTabs.ts +55 -13
  306. package/test/amf/authorization/OAuth2Method.test.ts +1 -1
  307. package/test/elements/http/HttpAssertions.test.ts +5 -6
  308. package/test/elements/http/HttpFlows.test.ts +485 -0
  309. package/dist/elements/http/HttpAssertions.d.ts +0 -114
  310. package/dist/elements/http/HttpAssertions.d.ts.map +0 -1
  311. package/dist/elements/http/HttpAssertions.js +0 -1146
  312. package/dist/elements/http/HttpAssertions.js.map +0 -1
  313. package/dist/elements/http/internals.d.ts +0 -150
  314. package/dist/elements/http/internals.d.ts.map +0 -1
  315. package/dist/elements/http/internals.js +0 -150
  316. package/dist/elements/http/internals.js.map +0 -1
  317. package/dist/ui/list/DividerElement.d.ts.map +0 -1
  318. package/dist/ui/list/DividerElement.js +0 -82
  319. package/dist/ui/list/DividerElement.js.map +0 -1
  320. package/src/elements/http/HttpAssertions.ts +0 -1187
  321. package/src/elements/http/internals.ts +0 -151
  322. package/src/http-client/docs/Files.md +0 -28
  323. 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,7 +16,6 @@ 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
  */
@@ -236,9 +236,6 @@ export default class ProjectRunner extends ApiElement {
236
236
  this.config = config;
237
237
  this.notifyChange();
238
238
  }
239
- notifyChange() {
240
- this.dispatchEvent(new Event('change'));
241
- }
242
239
  handleRecursiveChecked(e) {
243
240
  const input = e.target;
244
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"}
@@ -30,9 +30,6 @@ export default class AssociationFormElement extends ApiElement {
30
30
  this._computeAssociation();
31
31
  }
32
32
  }
33
- _notifyChanged() {
34
- this.dispatchEvent(new Event('change'));
35
- }
36
33
  /**
37
34
  * Computes the view value for the association.
38
35
  * This should be called before the update is complete so this won't trigger another update.
@@ -59,7 +56,7 @@ export default class AssociationFormElement extends ApiElement {
59
56
  return;
60
57
  }
61
58
  _association.info[name] = value;
62
- this._notifyChanged();
59
+ this.notifyChange();
63
60
  this.requestUpdate();
64
61
  }
65
62
  _checkedHandler(e) {
@@ -74,7 +71,7 @@ export default class AssociationFormElement extends ApiElement {
74
71
  return;
75
72
  }
76
73
  _association[name] = checked;
77
- this._notifyChanged();
74
+ this.notifyChange();
78
75
  this.requestUpdate();
79
76
  }
80
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"}
@@ -90,8 +90,8 @@ export default class DataEntityEditorElement extends ApiElement {
90
90
  this._computeExampleSchemaIfNeeded();
91
91
  }
92
92
  }
93
- _notifyChanged() {
94
- this.dispatchEvent(new Event('change'));
93
+ notifyChange() {
94
+ super.notifyChange();
95
95
  if (this._highlightEntityDropZone) {
96
96
  this._highlightEntityDropZone = false;
97
97
  }
@@ -119,7 +119,7 @@ export default class DataEntityEditorElement extends ApiElement {
119
119
  this._highlightEntityDropZone = false;
120
120
  }
121
121
  _propertyChangeHandler() {
122
- this._notifyChanged();
122
+ this.notifyChange();
123
123
  const { _schemaDoc } = this;
124
124
  if (_schemaDoc) {
125
125
  _schemaDoc.requestUpdate();
@@ -127,7 +127,7 @@ export default class DataEntityEditorElement extends ApiElement {
127
127
  this._computeExampleSchemaIfNeeded();
128
128
  }
129
129
  _entityChangeHandler() {
130
- this._notifyChanged();
130
+ this.notifyChange();
131
131
  const { _schemaDoc } = this;
132
132
  if (_schemaDoc) {
133
133
  _schemaDoc.requestUpdate();
@@ -135,7 +135,7 @@ export default class DataEntityEditorElement extends ApiElement {
135
135
  this._computeExampleSchemaIfNeeded();
136
136
  }
137
137
  _schemaEntityChangeHandler() {
138
- this._notifyChanged();
138
+ this.notifyChange();
139
139
  this.requestUpdate();
140
140
  this._computeExampleSchemaIfNeeded();
141
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataEntityEditorElement.js","sourceRoot":"","sources":["../../../src/elements/schema-design/DataEntityEditorElement.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAa,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAiB,MAAM,mCAAmC,CAAC;AAClF,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAI9D,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,MAAM,KAAc,MAAM;QACxB,OAAO;YACL,KAAK;YACL,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,UAAU;YACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CF;SACF,CAAC;IACJ,CAAC;IAmCD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAEkB,UAAU,CAAC,EAAwB;QACpD,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACtB,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACtC;IACH,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;SACvC;IACH,CAAC;IAES,iBAAiB,CAAC,CAAY;QACtC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;YACzD,OAAO;SACR;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACvC,CAAC;IAES,iBAAiB,CAAC,CAAY;QACtC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;SACR;QACD,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,EAAE;YACzD,OAAO;SACR;QACD,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IAES,sBAAsB;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,oBAAoB;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,aAAa,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,0BAA0B;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,wBAAwB,CAAC,CAAc;QAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;YAC5B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;SACtC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE;YACjC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;SAChC;QACD,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,kBAAkB;QAC1B,gBAAgB;QAChB,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACvC,CAAC;IAES,qBAAqB;QAC7B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,OAAM;SACP;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;YACvD,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAES,6BAA6B;QACrC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAES,kBAAkB,CAAC,CAAQ;QACnC,MAAM,OAAO,GAAG,CAAC,CAAC,MAA4B,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAES,kBAAkB,CAAC,CAAQ;QACnC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAsB,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAe,CAAC;QAC1C,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACvC,CAAC;IAES,wBAAwB,CAAC,CAAQ;QACzC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAyB,CAAC;QAC1C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,eAAe,EAAE;;KAEzB,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,OAAO,IAAI,CAAA;;;iBAGE,IAAI,CAAC,IAAI;gBACV,IAAI,CAAC,QAAQ;6BACA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB;gCAC9C,IAAI,CAAC,wBAAwB;;mBAE1C,IAAI,CAAC,0BAA0B;iBACjC,IAAI,CAAC,wBAAwB;;QAEtC,IAAI,CAAC,YAAY,EAAE;;KAEtB,CAAC;IACJ,CAAC;IAES,eAAe;QACvB,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;QACvD,IAAI,OAAuB,CAAC;QAC5B,IAAI,gBAAgB,EAAE;YACpB,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;SAC1D;aAAM,IAAI,mBAAmB,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;SAChE;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAA;0BACW,OAAO;KAC5B,CAAC;IACJ,CAAC;IAES,uBAAuB,CAAC,EAAU;QAC1C,OAAO,IAAI,CAAA;;;6EAG8D,IAAI,CAAC,aAAa;;;;;eAKhF,IAAI,CAAC,IAAI;cACV,EAAE;iBACC,IAAI,CAAC,sBAAsB;;;KAGvC,CAAC;IACJ,CAAC;IAES,0BAA0B,CAAC,EAAU;QAC7C,OAAO,IAAI,CAAA;;;6EAG8D,IAAI,CAAC,aAAa;;;;;eAKhF,IAAI,CAAC,IAAI;cACV,EAAE;iBACC,IAAI,CAAC,sBAAsB;;;KAGvC,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,OAAO,IAAI,CAAA;;;eAGA,IAAI,CAAC,IAAI;cACV,IAAI,CAAC,QAAQ;yBACF,IAAI,CAAC,wBAAwB;iBACrC,IAAI,CAAC,oBAAoB;qBACrB,IAAI,CAAC,kBAAkB;;;KAGvC,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAA;4CAC6B,IAAI,CAAC,kBAAkB;;;;;;;;;0BASzC,IAAI,CAAC,WAAW,KAAK,kBAAkB;yBACxC,IAAI,CAAC,kBAAkB;;;;;;;;;0BAStB,IAAI,CAAC,WAAW,KAAK,iBAAiB;yBACvC,IAAI,CAAC,kBAAkB;;;;;;;0BAOtB,IAAI,CAAC,WAAW;yBACjB,IAAI,CAAC,wBAAwB;;;;;;wDAME,IAAI,CAAC,cAAc;;eAE5D,CAAC;IACd,CAAC;CACF;AAxS6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDAAsB;AAKrB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDAAmB;AAKlB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iEAA2B;AAK1B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oEAA8B;AAEhD;IAAR,KAAK,EAAE;yEAA8C;AAE7C;IAAR,KAAK,EAAE;+DAA6D;AAE5D;IAAR,KAAK,EAAE;4DAA+B;AAE9B;IAAR,KAAK,EAAE;4DAAgC;AAKxC;IADC,KAAK,CAAC,sBAAsB,CAAC;2DACY","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"]}
@@ -75,7 +75,6 @@ export default class DataSchemaDocument extends ApiElement {
75
75
  removeAssociation(key: string): void;
76
76
  addProperty(name?: string): void;
77
77
  removeProperty(key: string): void;
78
- protected _notifyChanged(): void;
79
78
  protected _addPropertyHandler(): void;
80
79
  protected _findParentKeyedElement(node: HTMLElement): HTMLElement | null;
81
80
  protected _removeHandler(e: Event): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataSchemaDocument.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataSchemaDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataSchemaDocument.d.ts","sourceRoot":"","sources":["../../../src/elements/schema-design/DataSchemaDocument.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ export default class DataSchemaDocument extends ApiElement {
126
126
  }
127
127
  }));
128
128
  }
129
- this._notifyChanged();
129
+ this.notifyChange();
130
130
  }
131
131
  /**
132
132
  * Removes an association from the entity.
@@ -140,7 +140,7 @@ export default class DataSchemaDocument extends ApiElement {
140
140
  return;
141
141
  }
142
142
  _entity.removeAssociation(key);
143
- this._notifyChanged();
143
+ this.notifyChange();
144
144
  this.requestUpdate();
145
145
  }
146
146
  addProperty(name) {
@@ -150,7 +150,7 @@ export default class DataSchemaDocument extends ApiElement {
150
150
  }
151
151
  const created = _entity.addNamedProperty(name || 'New property');
152
152
  this.selectedProperty = created.key;
153
- this._notifyChanged();
153
+ this.notifyChange();
154
154
  this.requestUpdate();
155
155
  this.dispatchEvent(new CustomEvent('edit', {
156
156
  detail: {
@@ -168,12 +168,9 @@ export default class DataSchemaDocument extends ApiElement {
168
168
  if (this.selectedProperty === key) {
169
169
  this.selectedProperty = undefined;
170
170
  }
171
- this._notifyChanged();
171
+ this.notifyChange();
172
172
  this.requestUpdate();
173
173
  }
174
- _notifyChanged() {
175
- this.dispatchEvent(new Event('change'));
176
- }
177
174
  _addPropertyHandler() {
178
175
  this.addProperty();
179
176
  }