@ai-table/grid 0.0.11 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. package/angular-konva/components/container.component.d.ts +7 -0
  2. package/angular-konva/components/container.component.d.ts.map +1 -0
  3. package/angular-konva/components/container.token.d.ts +3 -0
  4. package/angular-konva/components/container.token.d.ts.map +1 -0
  5. package/angular-konva/components/index.d.ts +4 -0
  6. package/angular-konva/components/index.d.ts.map +1 -0
  7. package/angular-konva/components/shape.component.d.ts +61 -0
  8. package/angular-konva/components/shape.component.d.ts.map +1 -0
  9. package/angular-konva/components/stage.component.d.ts +40 -0
  10. package/angular-konva/components/stage.component.d.ts.map +1 -0
  11. package/angular-konva/index.d.ts +5 -0
  12. package/angular-konva/index.d.ts.map +1 -0
  13. package/angular-konva/interfaces/component.d.ts +49 -0
  14. package/angular-konva/interfaces/component.d.ts.map +1 -0
  15. package/angular-konva/interfaces/config.d.ts +26 -0
  16. package/angular-konva/interfaces/config.d.ts.map +1 -0
  17. package/angular-konva/interfaces/event-object.d.ts +7 -0
  18. package/angular-konva/interfaces/event-object.d.ts.map +1 -0
  19. package/angular-konva/interfaces/index.d.ts +5 -0
  20. package/angular-konva/interfaces/index.d.ts.map +1 -0
  21. package/angular-konva/interfaces/shape.d.ts +42 -0
  22. package/angular-konva/interfaces/shape.d.ts.map +1 -0
  23. package/angular-konva/utils/apply-node-props.d.ts +4 -0
  24. package/angular-konva/utils/apply-node-props.d.ts.map +1 -0
  25. package/angular-konva/utils/common.d.ts +8 -0
  26. package/angular-konva/utils/common.d.ts.map +1 -0
  27. package/angular-konva/utils/index.d.ts +5 -0
  28. package/angular-konva/utils/index.d.ts.map +1 -0
  29. package/angular-konva/utils/types.d.ts +4 -0
  30. package/angular-konva/utils/types.d.ts.map +1 -0
  31. package/angular-konva/utils/update-picture.d.ts +4 -0
  32. package/angular-konva/utils/update-picture.d.ts.map +1 -0
  33. package/components/cell-editors/abstract-cell-editor.component.d.ts +7 -5
  34. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  35. package/components/cell-editors/cell-editor.scss +38 -25
  36. package/components/cell-editors/cell-editor.variables.scss +5 -0
  37. package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
  38. package/components/cell-editors/link/edit-link/edit-link.component.d.ts +33 -0
  39. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -0
  40. package/components/cell-editors/link/link-editor.component.d.ts +36 -0
  41. package/components/cell-editors/link/link-editor.component.d.ts.map +1 -0
  42. package/components/cell-editors/link/link-editor.component.scss +21 -0
  43. package/components/cell-editors/progress/progress-editor.component.d.ts +0 -1
  44. package/components/cell-editors/progress/progress-editor.component.d.ts.map +1 -1
  45. package/components/cell-editors/progress/progress-editor.component.scss +12 -4
  46. package/components/cell-editors/rating/rating-editor.component.d.ts +0 -1
  47. package/components/cell-editors/rating/rating-editor.component.d.ts.map +1 -1
  48. package/components/cell-editors/rating/rating-editor.component.scss +10 -0
  49. package/components/cell-editors/select/select-editor.component.d.ts +1 -3
  50. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  51. package/components/cell-editors/text/text-editor.component.d.ts +0 -1
  52. package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
  53. package/components/cell-views/select/option.component.d.ts.map +1 -1
  54. package/components/cell-views/select/option.scss +10 -0
  55. package/components/field-menu/field-menu.component.d.ts +8 -3
  56. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  57. package/components/field-property-editor/field-property-editor.component.d.ts +4 -2
  58. package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
  59. package/components/index.d.ts +3 -1
  60. package/components/index.d.ts.map +1 -1
  61. package/constants/colors.d.ts +18 -0
  62. package/constants/colors.d.ts.map +1 -0
  63. package/constants/grid.d.ts +17 -1
  64. package/constants/grid.d.ts.map +1 -1
  65. package/constants/icon.d.ts +19 -0
  66. package/constants/icon.d.ts.map +1 -0
  67. package/constants/index.d.ts +5 -1
  68. package/constants/index.d.ts.map +1 -1
  69. package/constants/table.d.ts +60 -0
  70. package/constants/table.d.ts.map +1 -0
  71. package/constants/text.d.ts +22 -0
  72. package/constants/text.d.ts.map +1 -0
  73. package/core/context.d.ts +14 -0
  74. package/core/context.d.ts.map +1 -0
  75. package/core/coordinate.d.ts +96 -0
  76. package/core/coordinate.d.ts.map +1 -0
  77. package/core/index.d.ts +3 -2
  78. package/core/index.d.ts.map +1 -1
  79. package/core/types/ai-table.d.ts +56 -0
  80. package/core/types/ai-table.d.ts.map +1 -0
  81. package/core/types/core.d.ts +29 -23
  82. package/core/types/core.d.ts.map +1 -1
  83. package/core/types/index.d.ts +1 -1
  84. package/core/types/index.d.ts.map +1 -1
  85. package/core/utils/common.d.ts +1 -2
  86. package/core/utils/common.d.ts.map +1 -1
  87. package/core/utils/field.d.ts +1 -1
  88. package/core/utils/field.d.ts.map +1 -1
  89. package/core/utils/index.d.ts +0 -1
  90. package/core/utils/index.d.ts.map +1 -1
  91. package/core/utils/queries.d.ts +5 -5
  92. package/core/utils/queries.d.ts.map +1 -1
  93. package/dom-grid.component.d.ts +11 -0
  94. package/dom-grid.component.d.ts.map +1 -0
  95. package/esm2022/angular-konva/components/container.component.mjs +29 -0
  96. package/esm2022/angular-konva/components/container.token.mjs +3 -0
  97. package/esm2022/angular-konva/components/index.mjs +4 -0
  98. package/esm2022/angular-konva/components/shape.component.mjs +142 -0
  99. package/esm2022/angular-konva/components/stage.component.mjs +123 -0
  100. package/esm2022/angular-konva/index.mjs +5 -0
  101. package/esm2022/angular-konva/interfaces/component.mjs +4 -0
  102. package/esm2022/angular-konva/interfaces/config.mjs +2 -0
  103. package/esm2022/angular-konva/interfaces/event-object.mjs +2 -0
  104. package/esm2022/angular-konva/interfaces/index.mjs +5 -0
  105. package/esm2022/angular-konva/interfaces/shape.mjs +42 -0
  106. package/esm2022/angular-konva/utils/apply-node-props.mjs +67 -0
  107. package/esm2022/angular-konva/utils/common.mjs +48 -0
  108. package/esm2022/angular-konva/utils/index.mjs +5 -0
  109. package/esm2022/angular-konva/utils/types.mjs +2 -0
  110. package/esm2022/angular-konva/utils/update-picture.mjs +7 -0
  111. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +12 -7
  112. package/esm2022/components/cell-editors/date/date-editor.component.mjs +6 -3
  113. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +66 -0
  114. package/esm2022/components/cell-editors/link/link-editor.component.mjs +117 -0
  115. package/esm2022/components/cell-editors/number/number-editor.component.mjs +2 -2
  116. package/esm2022/components/cell-editors/progress/progress-editor.component.mjs +3 -6
  117. package/esm2022/components/cell-editors/rating/rating-editor.component.mjs +4 -7
  118. package/esm2022/components/cell-editors/select/select-editor.component.mjs +11 -16
  119. package/esm2022/components/cell-editors/text/text-editor.component.mjs +10 -11
  120. package/esm2022/components/cell-views/select/option.component.mjs +6 -5
  121. package/esm2022/components/field-menu/field-menu.component.mjs +11 -8
  122. package/esm2022/components/field-property-editor/field-property-editor.component.mjs +17 -12
  123. package/esm2022/components/index.mjs +4 -2
  124. package/esm2022/constants/colors.mjs +18 -0
  125. package/esm2022/constants/editor.mjs +2 -3
  126. package/esm2022/constants/grid.mjs +22 -4
  127. package/esm2022/constants/icon.mjs +26 -0
  128. package/esm2022/constants/index.mjs +6 -2
  129. package/esm2022/constants/table.mjs +62 -0
  130. package/esm2022/constants/text.mjs +23 -0
  131. package/esm2022/core/context.mjs +25 -0
  132. package/esm2022/core/coordinate.mjs +222 -0
  133. package/esm2022/core/index.mjs +4 -3
  134. package/esm2022/core/types/ai-table.mjs +44 -0
  135. package/esm2022/core/types/core.mjs +6 -1
  136. package/esm2022/core/types/index.mjs +2 -2
  137. package/esm2022/core/utils/common.mjs +3 -20
  138. package/esm2022/core/utils/field.mjs +9 -5
  139. package/esm2022/core/utils/index.mjs +1 -2
  140. package/esm2022/core/utils/queries.mjs +4 -4
  141. package/esm2022/dom-grid.component.mjs +82 -0
  142. package/esm2022/grid-base.component.mjs +154 -0
  143. package/esm2022/grid.component.mjs +336 -160
  144. package/esm2022/public-api.mjs +9 -5
  145. package/esm2022/renderer/components/add-field-column.component.mjs +68 -0
  146. package/esm2022/renderer/components/cells.component.mjs +35 -0
  147. package/esm2022/renderer/components/field-head.component.mjs +130 -0
  148. package/esm2022/renderer/components/field-icon.component.mjs +66 -0
  149. package/esm2022/renderer/components/frozen-cells.component.mjs +36 -0
  150. package/esm2022/renderer/components/frozen-heads.component.mjs +117 -0
  151. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +38 -0
  152. package/esm2022/renderer/components/heads.component.mjs +38 -0
  153. package/esm2022/renderer/components/hover-row-heads.component.mjs +107 -0
  154. package/esm2022/renderer/components/icon.component.mjs +80 -0
  155. package/esm2022/renderer/components/index.mjs +14 -0
  156. package/esm2022/renderer/components/other-rows.component.mjs +68 -0
  157. package/esm2022/renderer/components/placeholder-cells.component.mjs +33 -0
  158. package/esm2022/renderer/components/text.component.mjs +45 -0
  159. package/esm2022/renderer/creations/create-active-cell-border.mjs +68 -0
  160. package/esm2022/renderer/creations/create-cells.mjs +135 -0
  161. package/esm2022/renderer/creations/create-heads.mjs +45 -0
  162. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +97 -0
  163. package/esm2022/renderer/drawers/cell-drawer.mjs +586 -0
  164. package/esm2022/renderer/drawers/drawer.mjs +936 -0
  165. package/esm2022/renderer/drawers/layout-drawer.mjs +58 -0
  166. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +101 -0
  167. package/esm2022/renderer/index.mjs +4 -0
  168. package/esm2022/renderer/renderer.component.mjs +174 -0
  169. package/esm2022/services/event.service.mjs +115 -11
  170. package/esm2022/services/field.service.mjs +28 -5
  171. package/esm2022/services/index.mjs +4 -0
  172. package/esm2022/services/selection.service.mjs +8 -1
  173. package/esm2022/types/avatar.mjs +27 -0
  174. package/esm2022/types/canvas.mjs +2 -0
  175. package/esm2022/types/cell.mjs +2 -0
  176. package/esm2022/types/component-config.mjs +7 -0
  177. package/esm2022/types/field.mjs +1 -1
  178. package/esm2022/types/grid.mjs +16 -2
  179. package/esm2022/types/index.mjs +8 -2
  180. package/esm2022/types/layout.mjs +2 -0
  181. package/esm2022/types/row.mjs +6 -0
  182. package/esm2022/utils/build.mjs +39 -0
  183. package/esm2022/utils/cell.mjs +71 -0
  184. package/esm2022/utils/common.mjs +49 -0
  185. package/esm2022/utils/get-placeholder-cells.mjs +66 -0
  186. package/esm2022/utils/get-text-width.mjs +30 -0
  187. package/esm2022/utils/image-cache.mjs +57 -0
  188. package/esm2022/utils/index.mjs +12 -0
  189. package/esm2022/utils/os.mjs +16 -0
  190. package/esm2022/utils/position.mjs +48 -0
  191. package/esm2022/utils/style.mjs +25 -0
  192. package/esm2022/utils/text-measure.mjs +122 -0
  193. package/esm2022/utils/visible-range.mjs +38 -0
  194. package/fesm2022/ai-table-grid.mjs +5526 -693
  195. package/fesm2022/ai-table-grid.mjs.map +1 -1
  196. package/grid-base.component.d.ts +52 -0
  197. package/grid-base.component.d.ts.map +1 -0
  198. package/grid.component.d.ts +43 -40
  199. package/grid.component.d.ts.map +1 -1
  200. package/package.json +5 -2
  201. package/public-api.d.ts +8 -4
  202. package/public-api.d.ts.map +1 -1
  203. package/renderer/components/add-field-column.component.d.ts +16 -0
  204. package/renderer/components/add-field-column.component.d.ts.map +1 -0
  205. package/renderer/components/cells.component.d.ts +14 -0
  206. package/renderer/components/cells.component.d.ts.map +1 -0
  207. package/renderer/components/field-head.component.d.ts +73 -0
  208. package/renderer/components/field-head.component.d.ts.map +1 -0
  209. package/renderer/components/field-icon.component.d.ts +17 -0
  210. package/renderer/components/field-icon.component.d.ts.map +1 -0
  211. package/renderer/components/frozen-cells.component.d.ts +14 -0
  212. package/renderer/components/frozen-cells.component.d.ts.map +1 -0
  213. package/renderer/components/frozen-heads.component.d.ts +47 -0
  214. package/renderer/components/frozen-heads.component.d.ts.map +1 -0
  215. package/renderer/components/frozen-placeholder-cells.component.d.ts +22 -0
  216. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -0
  217. package/renderer/components/heads.component.d.ts +9 -0
  218. package/renderer/components/heads.component.d.ts.map +1 -0
  219. package/renderer/components/hover-row-heads.component.d.ts +11 -0
  220. package/renderer/components/hover-row-heads.component.d.ts.map +1 -0
  221. package/renderer/components/icon.component.d.ts +37 -0
  222. package/renderer/components/icon.component.d.ts.map +1 -0
  223. package/renderer/components/index.d.ts +14 -0
  224. package/renderer/components/index.d.ts.map +1 -0
  225. package/renderer/components/other-rows.component.d.ts +31 -0
  226. package/renderer/components/other-rows.component.d.ts.map +1 -0
  227. package/renderer/components/placeholder-cells.component.d.ts +22 -0
  228. package/renderer/components/placeholder-cells.component.d.ts.map +1 -0
  229. package/renderer/components/text.component.d.ts +99 -0
  230. package/renderer/components/text.component.d.ts.map +1 -0
  231. package/renderer/creations/create-active-cell-border.d.ts +7 -0
  232. package/renderer/creations/create-active-cell-border.d.ts.map +1 -0
  233. package/renderer/creations/create-cells.d.ts +8 -0
  234. package/renderer/creations/create-cells.d.ts.map +1 -0
  235. package/renderer/creations/create-heads.d.ts +3 -0
  236. package/renderer/creations/create-heads.d.ts.map +1 -0
  237. package/renderer/drawers/add-row-layout-drawer.d.ts +12 -0
  238. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -0
  239. package/renderer/drawers/cell-drawer.d.ts +22 -0
  240. package/renderer/drawers/cell-drawer.d.ts.map +1 -0
  241. package/renderer/drawers/drawer.d.ts +136 -0
  242. package/renderer/drawers/drawer.d.ts.map +1 -0
  243. package/renderer/drawers/layout-drawer.d.ts +22 -0
  244. package/renderer/drawers/layout-drawer.d.ts.map +1 -0
  245. package/renderer/drawers/record-row-layout-drawer.d.ts +14 -0
  246. package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -0
  247. package/renderer/index.d.ts +4 -0
  248. package/renderer/index.d.ts.map +1 -0
  249. package/renderer/renderer.component.d.ts +64 -0
  250. package/renderer/renderer.component.d.ts.map +1 -0
  251. package/services/event.service.d.ts +17 -3
  252. package/services/event.service.d.ts.map +1 -1
  253. package/services/field.service.d.ts +5 -4
  254. package/services/field.service.d.ts.map +1 -1
  255. package/services/index.d.ts +4 -0
  256. package/services/index.d.ts.map +1 -0
  257. package/services/selection.service.d.ts.map +1 -1
  258. package/styles/styles.scss +71 -11
  259. package/types/avatar.d.ts +24 -0
  260. package/types/avatar.d.ts.map +1 -0
  261. package/types/canvas.d.ts +83 -0
  262. package/types/canvas.d.ts.map +1 -0
  263. package/types/cell.d.ts +43 -0
  264. package/types/cell.d.ts.map +1 -0
  265. package/types/component-config.d.ts +50 -0
  266. package/types/component-config.d.ts.map +1 -0
  267. package/types/field.d.ts +27 -1
  268. package/types/field.d.ts.map +1 -1
  269. package/types/grid.d.ts +80 -2
  270. package/types/grid.d.ts.map +1 -1
  271. package/types/index.d.ts +7 -1
  272. package/types/index.d.ts.map +1 -1
  273. package/types/layout.d.ts +11 -0
  274. package/types/layout.d.ts.map +1 -0
  275. package/types/row.d.ts +27 -0
  276. package/types/row.d.ts.map +1 -0
  277. package/utils/build.d.ts +5 -0
  278. package/utils/build.d.ts.map +1 -0
  279. package/utils/cell.d.ts +19 -0
  280. package/utils/cell.d.ts.map +1 -0
  281. package/utils/common.d.ts +20 -0
  282. package/utils/common.d.ts.map +1 -0
  283. package/utils/get-placeholder-cells.d.ts +16 -0
  284. package/utils/get-placeholder-cells.d.ts.map +1 -0
  285. package/utils/get-text-width.d.ts +9 -0
  286. package/utils/get-text-width.d.ts.map +1 -0
  287. package/utils/image-cache.d.ts +16 -0
  288. package/utils/image-cache.d.ts.map +1 -0
  289. package/utils/index.d.ts +12 -0
  290. package/utils/index.d.ts.map +1 -0
  291. package/utils/os.d.ts +4 -0
  292. package/utils/os.d.ts.map +1 -0
  293. package/utils/position.d.ts +20 -0
  294. package/utils/position.d.ts.map +1 -0
  295. package/utils/style.d.ts +4 -0
  296. package/utils/style.d.ts.map +1 -0
  297. package/utils/text-measure.d.ts +32 -0
  298. package/utils/text-measure.d.ts.map +1 -0
  299. package/utils/visible-range.d.ts +13 -0
  300. package/utils/visible-range.d.ts.map +1 -0
  301. package/components/cell-editors/link/number-editor.component.d.ts +0 -8
  302. package/components/cell-editors/link/number-editor.component.d.ts.map +0 -1
  303. package/constants/field.d.ts +0 -20
  304. package/constants/field.d.ts.map +0 -1
  305. package/core/action/field.d.ts +0 -12
  306. package/core/action/field.d.ts.map +0 -1
  307. package/core/action/general.d.ts +0 -5
  308. package/core/action/general.d.ts.map +0 -1
  309. package/core/action/index.d.ts +0 -12
  310. package/core/action/index.d.ts.map +0 -1
  311. package/core/action/record.d.ts +0 -12
  312. package/core/action/record.d.ts.map +0 -1
  313. package/core/types/action.d.ts +0 -64
  314. package/core/types/action.d.ts.map +0 -1
  315. package/core/utils/weak-map.d.ts +0 -3
  316. package/core/utils/weak-map.d.ts.map +0 -1
  317. package/esm2022/components/cell-editors/link/number-editor.component.mjs +0 -25
  318. package/esm2022/constants/field.mjs +0 -25
  319. package/esm2022/core/action/field.mjs +0 -57
  320. package/esm2022/core/action/general.mjs +0 -116
  321. package/esm2022/core/action/index.mjs +0 -9
  322. package/esm2022/core/action/record.mjs +0 -44
  323. package/esm2022/core/types/action.mjs +0 -18
  324. package/esm2022/core/utils/weak-map.mjs +0 -2
@@ -0,0 +1,42 @@
1
+ import { FastLayer } from 'konva/lib/FastLayer';
2
+ import { Group } from 'konva/lib/Group';
3
+ import { Layer } from 'konva/lib/Layer';
4
+ import { Arc } from 'konva/lib/shapes/Arc';
5
+ import { Arrow } from 'konva/lib/shapes/Arrow';
6
+ import { Circle } from 'konva/lib/shapes/Circle';
7
+ import { Ellipse } from 'konva/lib/shapes/Ellipse';
8
+ import { Image } from 'konva/lib/shapes/Image';
9
+ import { Label, Tag } from 'konva/lib/shapes/Label';
10
+ import { Line } from 'konva/lib/shapes/Line';
11
+ import { Path } from 'konva/lib/shapes/Path';
12
+ import { Rect } from 'konva/lib/shapes/Rect';
13
+ import { RegularPolygon } from 'konva/lib/shapes/RegularPolygon';
14
+ import { Ring } from 'konva/lib/shapes/Ring';
15
+ import { Star } from 'konva/lib/shapes/Star';
16
+ import { Text } from 'konva/lib/shapes/Text';
17
+ import { TextPath } from 'konva/lib/shapes/TextPath';
18
+ import { Transformer } from 'konva/lib/shapes/Transformer';
19
+ import { Wedge } from 'konva/lib/shapes/Wedge';
20
+ export const KoShapeTypes = {
21
+ Arc,
22
+ Arrow,
23
+ Circle,
24
+ Ellipse,
25
+ Image,
26
+ Label,
27
+ Tag,
28
+ Line,
29
+ Path,
30
+ Rect,
31
+ RegularPolygon,
32
+ Ring,
33
+ Star,
34
+ Text,
35
+ TextPath,
36
+ Transformer,
37
+ Wedge,
38
+ Group,
39
+ Layer,
40
+ FastLayer
41
+ };
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL2ludGVyZmFjZXMvc2hhcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsR0FBRztJQUNILEtBQUs7SUFDTCxNQUFNO0lBQ04sT0FBTztJQUNQLEtBQUs7SUFDTCxLQUFLO0lBQ0wsR0FBRztJQUNILElBQUk7SUFDSixJQUFJO0lBQ0osSUFBSTtJQUNKLGNBQWM7SUFDZCxJQUFJO0lBQ0osSUFBSTtJQUNKLElBQUk7SUFDSixRQUFRO0lBQ1IsV0FBVztJQUNYLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLFNBQVM7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFzdExheWVyIH0gZnJvbSAna29udmEvbGliL0Zhc3RMYXllcic7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ2tvbnZhL2xpYi9Hcm91cCc7XG5pbXBvcnQgeyBMYXllciB9IGZyb20gJ2tvbnZhL2xpYi9MYXllcic7XG5pbXBvcnQgeyBBcmMgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL0FyYyc7XG5pbXBvcnQgeyBBcnJvdyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvQXJyb3cnO1xuaW1wb3J0IHsgQ2lyY2xlIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9DaXJjbGUnO1xuaW1wb3J0IHsgRWxsaXBzZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvRWxsaXBzZSc7XG5pbXBvcnQgeyBJbWFnZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvSW1hZ2UnO1xuaW1wb3J0IHsgTGFiZWwsIFRhZyB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvTGFiZWwnO1xuaW1wb3J0IHsgTGluZSB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvTGluZSc7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9QYXRoJztcbmltcG9ydCB7IFJlY3QgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlY3QnO1xuaW1wb3J0IHsgUmVndWxhclBvbHlnb24gfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JlZ3VsYXJQb2x5Z29uJztcbmltcG9ydCB7IFJpbmcgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1JpbmcnO1xuaW1wb3J0IHsgU3RhciB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvU3Rhcic7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IFRleHRQYXRoIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0UGF0aCc7XG5pbXBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJ2tvbnZhL2xpYi9zaGFwZXMvVHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgV2VkZ2UgfSBmcm9tICdrb252YS9saWIvc2hhcGVzL1dlZGdlJztcblxuZXhwb3J0IGNvbnN0IEtvU2hhcGVUeXBlcyA9IHtcbiAgICBBcmMsXG4gICAgQXJyb3csXG4gICAgQ2lyY2xlLFxuICAgIEVsbGlwc2UsXG4gICAgSW1hZ2UsXG4gICAgTGFiZWwsXG4gICAgVGFnLFxuICAgIExpbmUsXG4gICAgUGF0aCxcbiAgICBSZWN0LFxuICAgIFJlZ3VsYXJQb2x5Z29uLFxuICAgIFJpbmcsXG4gICAgU3RhcixcbiAgICBUZXh0LFxuICAgIFRleHRQYXRoLFxuICAgIFRyYW5zZm9ybWVyLFxuICAgIFdlZGdlLFxuICAgIEdyb3VwLFxuICAgIExheWVyLFxuICAgIEZhc3RMYXllclxufTtcbiJdfQ==
@@ -0,0 +1,67 @@
1
+ // adapted FROM: https://github.com/lavrton/react-konva/blob/master/src/react-konva-fiber.js
2
+ import updatePicture from './update-picture';
3
+ export default function applyNodeProps(component, props = {}, oldProps = {}) {
4
+ if ('id' in props) {
5
+ const message = `You are using "id" attribute for Konva node. In some very rare cases it may produce bugs. Currently we recommend not to use it and use "name" attribute instead.`;
6
+ console.warn(message);
7
+ }
8
+ const instance = component.getNode();
9
+ const updatedProps = {};
10
+ let hasUpdates = false;
11
+ Object.keys(oldProps).forEach((key) => {
12
+ const isEvent = key.slice(0, 2) === 'ko';
13
+ const propChanged = oldProps[key] !== props[key];
14
+ if (isEvent && propChanged) {
15
+ let eventName = key.slice(2).toLowerCase();
16
+ if (eventName.slice(0, 7) === 'content') {
17
+ eventName = 'content' + eventName.slice(7, 8).toUpperCase() + eventName.slice(8);
18
+ }
19
+ instance.off(eventName, oldProps[key]);
20
+ }
21
+ const toRemove = !Object.hasOwn(props, key);
22
+ if (toRemove) {
23
+ instance.setAttr(key, undefined);
24
+ }
25
+ });
26
+ Object.keys(props).forEach((key) => {
27
+ const isEvent = key.slice(0, 2) === 'ko';
28
+ const toAdd = oldProps[key] !== props[key];
29
+ if (isEvent && toAdd) {
30
+ let eventName = key.slice(2).toLowerCase();
31
+ if (eventName.slice(0, 7) === 'content') {
32
+ eventName = 'content' + eventName.slice(7, 8).toUpperCase() + eventName.slice(8);
33
+ }
34
+ if (props[key]) {
35
+ instance.off(eventName);
36
+ instance.on(eventName, (event) => {
37
+ props[key]({
38
+ angularComponent: component,
39
+ event
40
+ });
41
+ });
42
+ }
43
+ }
44
+ if (!isEvent && (props[key] !== oldProps[key] || props[key] !== instance.getAttr(key))) {
45
+ hasUpdates = true;
46
+ updatedProps[key] = props[key];
47
+ }
48
+ });
49
+ if (hasUpdates) {
50
+ instance.setAttrs(updatedProps);
51
+ updatePicture(instance);
52
+ let val;
53
+ Object.keys(updatedProps).forEach((prop) => {
54
+ val = updatedProps[prop];
55
+ if (val instanceof Image && !val.complete) {
56
+ const node = instance;
57
+ val.addEventListener('load', function () {
58
+ const layer = node.getLayer();
59
+ if (layer) {
60
+ layer.batchDraw();
61
+ }
62
+ });
63
+ }
64
+ });
65
+ }
66
+ }
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktbm9kZS1wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2FuZ3VsYXIta29udmEvdXRpbHMvYXBwbHktbm9kZS1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RkFBNEY7QUFNNUYsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE9BQU8sVUFBVSxjQUFjLENBQUMsU0FBc0IsRUFBRSxRQUFxQixFQUFFLEVBQUUsV0FBd0IsRUFBRTtJQUM5RyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNoQixNQUFNLE9BQU8sR0FBRyxrS0FBa0ssQ0FBQztRQUNuTCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsTUFBTSxZQUFZLEdBQWdCLEVBQUUsQ0FBQztJQUNyQyxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNsQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDekMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUN6QixJQUFJLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNDLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FB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QUFDLE1BQU0sRUFBRTtvQkFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM5QixJQUFJLEtBQUssRUFBRSxDQUFDO3dCQUNSLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDdEIsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYWRhcHRlZCBGUk9NOiBodHRwczovL2dpdGh1Yi5jb20vbGF2cnRvbi9yZWFjdC1rb252YS9ibG9iL21hc3Rlci9zcmMvcmVhY3Qta29udmEtZmliZXIuanNcblxuaW1wb3J0IHsgS29udmFFdmVudE9iamVjdCB9IGZyb20gJ2tvbnZhL2xpYi9Ob2RlJztcbmltcG9ydCB7IEtvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21wb25lbnQnO1xuaW1wb3J0IHsgS29FdmVudE9iamVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXZlbnQtb2JqZWN0JztcbmltcG9ydCB7IEtvUHJvcHNUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdXBkYXRlUGljdHVyZSBmcm9tICcuL3VwZGF0ZS1waWN0dXJlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYXBwbHlOb2RlUHJvcHMoY29tcG9uZW50OiBLb0NvbXBvbmVudCwgcHJvcHM6IEtvUHJvcHNUeXBlID0ge30sIG9sZFByb3BzOiBLb1Byb3BzVHlwZSA9IHt9KTogdm9pZCB7XG4gICAgaWYgKCdpZCcgaW4gcHJvcHMpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBZb3UgYXJlIHVzaW5nIFwiaWRcIiBhdHRyaWJ1dGUgZm9yIEtvbnZhIG5vZGUuIEluIHNvbWUgdmVyeSByYXJlIGNhc2VzIGl0IG1heSBwcm9kdWNlIGJ1Z3MuIEN1cnJlbnRseSB3ZSByZWNvbW1lbmQgbm90IHRvIHVzZSBpdCBhbmQgdXNlIFwibmFtZVwiIGF0dHJpYnV0ZSBpbnN0ZWFkLmA7XG4gICAgICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudC5nZXROb2RlKCk7XG4gICAgY29uc3QgdXBkYXRlZFByb3BzOiBLb1Byb3BzVHlwZSA9IHt9O1xuICAgIGxldCBoYXNVcGRhdGVzID0gZmFsc2U7XG5cbiAgICBPYmplY3Qua2V5cyhvbGRQcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzRXZlbnQgPSBrZXkuc2xpY2UoMCwgMikgPT09ICdrbyc7XG4gICAgICAgIGNvbnN0IHByb3BDaGFuZ2VkID0gb2xkUHJvcHNba2V5XSAhPT0gcHJvcHNba2V5XTtcbiAgICAgICAgaWYgKGlzRXZlbnQgJiYgcHJvcENoYW5nZWQpIHtcbiAgICAgICAgICAgIGxldCBldmVudE5hbWUgPSBrZXkuc2xpY2UoMikudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGlmIChldmVudE5hbWUuc2xpY2UoMCwgNykgPT09ICdjb250ZW50Jykge1xuICAgICAgICAgICAgICAgIGV2ZW50TmFtZSA9ICdjb250ZW50JyArIGV2ZW50TmFtZS5zbGljZSg3LCA4KS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5zdGFuY2Uub2ZmKGV2ZW50TmFtZSwgb2xkUHJvcHNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9SZW1vdmUgPSAhT2JqZWN0Lmhhc093bihwcm9wcywga2V5KTtcbiAgICAgICAgaWYgKHRvUmVtb3ZlKSB7XG4gICAgICAgICAgICBpbnN0YW5jZS5zZXRBdHRyKGtleSwgdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgY29uc3QgaXNFdmVudCA9IGtleS5zbGljZSgwLCAyKSA9PT0gJ2tvJztcbiAgICAgICAgY29uc3QgdG9BZGQgPSBvbGRQcm9wc1trZXldICE9PSBwcm9wc1trZXldO1xuICAgICAgICBpZiAoaXNFdmVudCAmJiB0b0FkZCkge1xuICAgICAgICAgICAgbGV0IGV2ZW50TmFtZSA9IGtleS5zbGljZSgyKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKGV2ZW50TmFtZS5zbGljZSgwLCA3KSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgICAgICAgZXZlbnROYW1lID0gJ2NvbnRlbnQnICsgZXZlbnROYW1lLnNsaWNlKDcsIDgpLnRvVXBwZXJDYXNlKCkgKyBldmVudE5hbWUuc2xpY2UoOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvcHNba2V5XSkge1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm9mZihldmVudE5hbWUpO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm9uKGV2ZW50TmFtZSwgKGV2ZW50OiBLb252YUV2ZW50T2JqZWN0PHVua25vd24+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzW2tleV0oe1xuICAgICAgICAgICAgICAgICAgICAgICAgYW5ndWxhckNvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBLb0V2ZW50T2JqZWN0PHVua25vd24+KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzRXZlbnQgJiYgKHByb3BzW2tleV0gIT09IG9sZFByb3BzW2tleV0gfHwgcHJvcHNba2V5XSAhPT0gaW5zdGFuY2UuZ2V0QXR0cihrZXkpKSkge1xuICAgICAgICAgICAgaGFzVXBkYXRlcyA9IHRydWU7XG4gICAgICAgICAgICB1cGRhdGVkUHJvcHNba2V5XSA9IHByb3BzW2tleV07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChoYXNVcGRhdGVzKSB7XG4gICAgICAgIGluc3RhbmNlLnNldEF0dHJzKHVwZGF0ZWRQcm9wcyk7XG4gICAgICAgIHVwZGF0ZVBpY3R1cmUoaW5zdGFuY2UpO1xuICAgICAgICBsZXQgdmFsO1xuICAgICAgICBPYmplY3Qua2V5cyh1cGRhdGVkUHJvcHMpLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgICAgICAgIHZhbCA9IHVwZGF0ZWRQcm9wc1twcm9wXTtcbiAgICAgICAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBJbWFnZSAmJiAhdmFsLmNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGluc3RhbmNlO1xuICAgICAgICAgICAgICAgIHZhbC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllciA9IG5vZGUuZ2V0TGF5ZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxheWVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllci5iYXRjaERyYXcoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import applyNodeProps from './apply-node-props';
2
+ import updatePicture from './update-picture';
3
+ function camelize(str) {
4
+ return str
5
+ .replace(/^\w|[A-Z]|\b\w/g, function (letter, index) {
6
+ return index == 0 ? letter.toLowerCase() : letter.toUpperCase();
7
+ })
8
+ .replace(/\s+/g, '');
9
+ }
10
+ function capitalizeFirstLetter(string) {
11
+ return string.charAt(0).toUpperCase() + string.slice(1);
12
+ }
13
+ export function getName(componentTag) {
14
+ return capitalizeFirstLetter(camelize(componentTag.slice(3).replace('-', ' ')));
15
+ }
16
+ export function createListener(instance) {
17
+ const output = {};
18
+ [
19
+ 'koMouseover',
20
+ 'koMousemove',
21
+ 'koMouseout',
22
+ 'koMouseenter',
23
+ 'koMouseleave',
24
+ 'koMousedown',
25
+ 'koMouseup',
26
+ 'koWheel',
27
+ 'koContextmenu',
28
+ 'koClick',
29
+ 'koDblclick',
30
+ 'koTouchstart',
31
+ 'koTouchmove',
32
+ 'koTouchend',
33
+ 'koTap',
34
+ 'koDbltap',
35
+ 'koDragstart',
36
+ 'koDragmove',
37
+ 'koDragend'
38
+ ].forEach((eventName) => {
39
+ const name = eventName;
40
+ const eventEmitter = instance[name];
41
+ if (eventEmitter.observed) {
42
+ output[eventName] = eventEmitter.emit.bind(eventEmitter);
43
+ }
44
+ });
45
+ return output;
46
+ }
47
+ export { applyNodeProps, updatePicture };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvYW5ndWxhci1rb252YS91dGlscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxjQUFjLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsU0FBUyxRQUFRLENBQUMsR0FBVztJQUN6QixPQUFPLEdBQUc7U0FDTCxPQUFPLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxNQUFNLEVBQUUsS0FBSztRQUMvQyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLENBQUMsQ0FBQztTQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBYztJQUN6QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxZQUFvQjtJQUN4QyxPQUFPLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BGLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFFBQXFCO0lBQ2hELE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7SUFDcEM7UUFDSSxhQUFhO1FBQ2IsYUFBYTtRQUNiLFlBQVk7UUFDWixjQUFjO1FBQ2QsY0FBYztRQUNkLGFBQWE7UUFDYixXQUFXO1FBQ1gsU0FBUztRQUNULGVBQWU7UUFDZixTQUFTO1FBQ1QsWUFBWTtRQUNaLGNBQWM7UUFDZCxhQUFhO1FBQ2IsWUFBWTtRQUNaLE9BQU87UUFDUCxVQUFVO1FBQ1YsYUFBYTtRQUNiLFlBQVk7UUFDWixXQUFXO0tBQ2QsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNwQixNQUFNLElBQUksR0FBeUMsU0FBUyxDQUFDO1FBRTdELE1BQU0sWUFBWSxHQUFpRCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb0NvbXBvbmVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29tcG9uZW50JztcbmltcG9ydCBhcHBseU5vZGVQcm9wcyBmcm9tICcuL2FwcGx5LW5vZGUtcHJvcHMnO1xuaW1wb3J0IHsgS29MaXN0ZW5lclJlY29yZCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHVwZGF0ZVBpY3R1cmUgZnJvbSAnLi91cGRhdGUtcGljdHVyZSc7XG5cbmZ1bmN0aW9uIGNhbWVsaXplKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyXG4gICAgICAgIC5yZXBsYWNlKC9eXFx3fFtBLVpdfFxcYlxcdy9nLCBmdW5jdGlvbiAobGV0dGVyLCBpbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGluZGV4ID09IDAgPyBsZXR0ZXIudG9Mb3dlckNhc2UoKSA6IGxldHRlci50b1VwcGVyQ2FzZSgpO1xuICAgICAgICB9KVxuICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG59XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemVGaXJzdExldHRlcihzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0cmluZy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0cmluZy5zbGljZSgxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5hbWUoY29tcG9uZW50VGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoY2FtZWxpemUoY29tcG9uZW50VGFnLnNsaWNlKDMpLnJlcGxhY2UoJy0nLCAnICcpKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXN0ZW5lcihpbnN0YW5jZTogS29Db21wb25lbnQpOiBLb0xpc3RlbmVyUmVjb3JkIHtcbiAgICBjb25zdCBvdXRwdXQ6IEtvTGlzdGVuZXJSZWNvcmQgPSB7fTtcbiAgICBbXG4gICAgICAgICdrb01vdXNlb3ZlcicsXG4gICAgICAgICdrb01vdXNlbW92ZScsXG4gICAgICAgICdrb01vdXNlb3V0JyxcbiAgICAgICAgJ2tvTW91c2VlbnRlcicsXG4gICAgICAgICdrb01vdXNlbGVhdmUnLFxuICAgICAgICAna29Nb3VzZWRvd24nLFxuICAgICAgICAna29Nb3VzZXVwJyxcbiAgICAgICAgJ2tvV2hlZWwnLFxuICAgICAgICAna29Db250ZXh0bWVudScsXG4gICAgICAgICdrb0NsaWNrJyxcbiAgICAgICAgJ2tvRGJsY2xpY2snLFxuICAgICAgICAna29Ub3VjaHN0YXJ0JyxcbiAgICAgICAgJ2tvVG91Y2htb3ZlJyxcbiAgICAgICAgJ2tvVG91Y2hlbmQnLFxuICAgICAgICAna29UYXAnLFxuICAgICAgICAna29EYmx0YXAnLFxuICAgICAgICAna29EcmFnc3RhcnQnLFxuICAgICAgICAna29EcmFnbW92ZScsXG4gICAgICAgICdrb0RyYWdlbmQnXG4gICAgXS5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcbiAgICAgICAgY29uc3QgbmFtZToga2V5b2YgS29Db21wb25lbnQgPSA8a2V5b2YgS29Db21wb25lbnQ+ZXZlbnROYW1lO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50RW1pdHRlcjogRXZlbnRFbWl0dGVyPHVua25vd24+ID0gPEV2ZW50RW1pdHRlcjx1bmtub3duPj5pbnN0YW5jZVtuYW1lXTtcbiAgICAgICAgaWYgKGV2ZW50RW1pdHRlci5vYnNlcnZlZCkge1xuICAgICAgICAgICAgb3V0cHV0W2V2ZW50TmFtZV0gPSBldmVudEVtaXR0ZXIuZW1pdC5iaW5kKGV2ZW50RW1pdHRlcik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb3V0cHV0O1xufVxuXG5leHBvcnQgeyBhcHBseU5vZGVQcm9wcywgdXBkYXRlUGljdHVyZSB9O1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from './apply-node-props';
2
+ export * from './common';
3
+ export * from './types';
4
+ export * from './update-picture';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwbHktbm9kZS1wcm9wcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLXBpY3R1cmUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL3V0aWxzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLb1NoYXBlQ29uZmlnVHlwZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZyc7XG5cbmV4cG9ydCB0eXBlIEtvTGlzdGVuZXJSZWNvcmQgPSBSZWNvcmQ8c3RyaW5nLCAodmFsdWU/OiB1bmtub3duKSA9PiB2b2lkPjtcbmV4cG9ydCB0eXBlIEtvUHJvcHNUeXBlID0gS29TaGFwZUNvbmZpZ1R5cGVzICYgS29MaXN0ZW5lclJlY29yZDtcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export default function updatePicture(node) {
2
+ const drawingNode = node.getLayer() || node.getStage();
3
+ if (drawingNode) {
4
+ drawingNode.batchDraw();
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBpY3R1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9hbmd1bGFyLWtvbnZhL3V0aWxzL3VwZGF0ZS1waWN0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxPQUFPLFVBQVUsYUFBYSxDQUFDLElBQVU7SUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2RCxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2QsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEtvbnZhIGZyb20gJ2tvbnZhJztcbmltcG9ydCBOb2RlID0gS29udmEuTm9kZTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXBkYXRlUGljdHVyZShub2RlOiBOb2RlKSB7XG4gICAgY29uc3QgZHJhd2luZ05vZGUgPSBub2RlLmdldExheWVyKCkgfHwgbm9kZS5nZXRTdGFnZSgpO1xuICAgIGlmIChkcmF3aW5nTm9kZSkge1xuICAgICAgICBkcmF3aW5nTm9kZS5iYXRjaERyYXcoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,30 +1,35 @@
1
- import { ChangeDetectionStrategy, Component, computed, inject, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Input, output } from '@angular/core';
2
2
  import { ThyPopoverRef } from 'ngx-tethys/popover';
3
- import { Actions, AITableQueries } from '../../core';
3
+ import { AITableQueries } from '../../core';
4
4
  import * as i0 from "@angular/core";
5
5
  export class AbstractEditCellEditor {
6
6
  constructor() {
7
+ this.updateFieldValue = output();
7
8
  this.field = computed(() => {
8
9
  return this.aiTable.fieldsMap()[this.fieldId];
9
10
  });
10
11
  this.record = computed(() => {
11
12
  return this.aiTable.recordsMap()[this.recordId];
12
13
  });
13
- this.thyPopoverRef = inject((ThyPopoverRef));
14
+ this.elementRef = inject((ElementRef));
15
+ this.thyPopoverRef = inject((ThyPopoverRef), { optional: true });
14
16
  }
15
17
  ngOnInit() {
16
18
  this.modelValue = computed(() => {
17
19
  return AITableQueries.getFieldValue(this.aiTable, [this.record()._id, this.field()._id]);
18
20
  })();
19
21
  }
20
- updateFieldValue() {
21
- Actions.updateFieldValue(this.aiTable, this.modelValue, [this.record()._id, this.field()._id]);
22
+ update() {
23
+ this.updateFieldValue.emit({
24
+ value: this.modelValue,
25
+ path: [this.record()._id, this.field()._id]
26
+ });
22
27
  }
23
28
  closePopover() {
24
29
  this.thyPopoverRef?.close();
25
30
  }
26
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AbstractEditCellEditor, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: "aiTable", fieldId: "fieldId", recordId: "recordId" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AbstractEditCellEditor, isStandalone: true, selector: "abstract-edit-cell", inputs: { aiTable: "aiTable", fieldId: "fieldId", recordId: "recordId" }, outputs: { updateFieldValue: "updateFieldValue" }, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
33
  }
29
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AbstractEditCellEditor, decorators: [{
30
35
  type: Component,
@@ -44,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
44
49
  type: Input,
45
50
  args: [{ required: true }]
46
51
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFRNUUsTUFBTSxPQUFnQixzQkFBc0I7SUFONUM7UUFlSSxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBZSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVPLGtCQUFhLEdBQUcsTUFBTSxDQUFDLENBQUEsYUFBNkMsQ0FBQSxDQUFDLENBQUM7S0FlbkY7SUFiRyxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzhHQS9CaUIsc0JBQXNCO2tHQUF0QixzQkFBc0Isd0pBSjlCLEVBQUU7OzJGQUlNLHNCQUFzQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUU4QixPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgQWN0aW9ucywgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Fic3RyYWN0LWVkaXQtY2VsbCcsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvcjxUVmFsdWUsIFRGaWVsZFR5cGUgZXh0ZW5kcyBBSVRhYmxlRmllbGQgPSBBSVRhYmxlRmllbGQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZpZWxkSWQhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByZWNvcmRJZCE6IHN0cmluZztcblxuICAgIG1vZGVsVmFsdWUhOiBUVmFsdWU7XG5cbiAgICBmaWVsZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWlUYWJsZS5maWVsZHNNYXAoKVt0aGlzLmZpZWxkSWRdIGFzIFRGaWVsZFR5cGU7XG4gICAgfSk7XG5cbiAgICByZWNvcmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFpVGFibGUucmVjb3Jkc01hcCgpW3RoaXMucmVjb3JkSWRdO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPFRWYWx1ZT4+KTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZSh0aGlzLmFpVGFibGUsIFt0aGlzLnJlY29yZCgpLl9pZCwgdGhpcy5maWVsZCgpLl9pZF0pO1xuICAgICAgICB9KSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUZpZWxkVmFsdWUoKSB7XG4gICAgICAgIEFjdGlvbnMudXBkYXRlRmllbGRWYWx1ZSh0aGlzLmFpVGFibGUsIHRoaXMubW9kZWxWYWx1ZSwgW3RoaXMucmVjb3JkKCkuX2lkLCB0aGlzLmZpZWxkKCkuX2lkXSk7XG4gICAgfVxuXG4gICAgY2xvc2VQb3BvdmVyKCkge1xuICAgICAgICB0aGlzLnRoeVBvcG92ZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxufVxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUF5QixjQUFjLEVBQTJCLE1BQU0sWUFBWSxDQUFDOztBQVE1RixNQUFNLE9BQWdCLHNCQUFzQjtJQU41QztRQWFJLHFCQUFnQixHQUFHLE1BQU0sRUFBbUMsQ0FBQztRQUk3RCxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBZSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO1FBRUgsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILGVBQVUsR0FBNEIsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFFNUQsa0JBQWEsR0FBRyxNQUFNLENBQUMsQ0FBQSxhQUE2QyxDQUFBLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQWtCdkc7SUFoQkcsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDdEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzhHQXRDaUIsc0JBQXNCO2tHQUF0QixzQkFBc0IsMk1BSjlCLEVBQUU7OzJGQUlNLHNCQUFzQjtrQkFOM0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUU4QixPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxPQUFPO3NCQUFqQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFFRSxRQUFRO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0LCBPbkluaXQsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBSVRhYmxlLCBBSVRhYmxlRmllbGQsIEFJVGFibGVRdWVyaWVzLCBVcGRhdGVGaWVsZFZhbHVlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Fic3RyYWN0LWVkaXQtY2VsbCcsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvcjxUVmFsdWUsIFRGaWVsZFR5cGUgZXh0ZW5kcyBBSVRhYmxlRmllbGQgPSBBSVRhYmxlRmllbGQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGZpZWxkSWQhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSByZWNvcmRJZCE6IHN0cmluZztcblxuICAgIHVwZGF0ZUZpZWxkVmFsdWUgPSBvdXRwdXQ8VXBkYXRlRmllbGRWYWx1ZU9wdGlvbnM8VFZhbHVlPj4oKTtcblxuICAgIG1vZGVsVmFsdWUhOiBUVmFsdWU7XG5cbiAgICBmaWVsZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWlUYWJsZS5maWVsZHNNYXAoKVt0aGlzLmZpZWxkSWRdIGFzIFRGaWVsZFR5cGU7XG4gICAgfSk7XG5cbiAgICByZWNvcmQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFpVGFibGUucmVjb3Jkc01hcCgpW3RoaXMucmVjb3JkSWRdO1xuICAgIH0pO1xuXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXG4gICAgcHJvdGVjdGVkIHRoeVBvcG92ZXJSZWYgPSBpbmplY3QoVGh5UG9wb3ZlclJlZjxBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPFRWYWx1ZT4+LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKHRoaXMuYWlUYWJsZSwgW3RoaXMucmVjb3JkKCkuX2lkLCB0aGlzLmZpZWxkKCkuX2lkXSk7XG4gICAgICAgIH0pKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUuZW1pdCh7XG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5tb2RlbFZhbHVlLFxuICAgICAgICAgICAgcGF0aDogW3RoaXMucmVjb3JkKCkuX2lkLCB0aGlzLmZpZWxkKCkuX2lkXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbG9zZVBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMudGh5UG9wb3ZlclJlZj8uY2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -3,7 +3,7 @@ import { FormsModule } from '@angular/forms';
3
3
  import { ThyDatePicker } from 'ngx-tethys/date-picker';
4
4
  import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
5
5
  import { ThyTimePickerModule } from 'ngx-tethys/time-picker';
6
- import { Actions, AITableQueries } from '../../../core';
6
+ import { AITableQueries } from '../../../core';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
9
9
  export class DateCellEditorComponent extends AbstractEditCellEditor {
@@ -19,7 +19,10 @@ export class DateCellEditorComponent extends AbstractEditCellEditor {
19
19
  })();
20
20
  }
21
21
  updateValue(value) {
22
- Actions.updateFieldValue(this.aiTable, { timestamp: value }, [this.record()._id, this.field()._id]);
22
+ this.updateFieldValue.emit({
23
+ value: { timestamp: value },
24
+ path: [this.record()._id, this.field()._id]
25
+ });
23
26
  this.closePopover();
24
27
  }
25
28
  thyOpenChange(isOpen) {
@@ -75,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
75
78
  }
76
79
  }]
77
80
  }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvZGF0ZS9kYXRlLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBa0IsTUFBTSxlQUFlLENBQUM7OztBQTRCeEUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHNCQUFzQztJQUN0RSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNULE9BQU87b0JBQ0gsU0FBUyxFQUFFLENBQUM7aUJBQ2YsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFlO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzs4R0F0QlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaUpBeEJ0Qjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCwyREFHUyxXQUFXLCtWQUFFLGFBQWEsd0ZBQUUsbUJBQW1COzsyRkFLaEQsdUJBQXVCO2tCQTFCbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDO29CQUMxRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlEYXRlUGlja2VyIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3RpbWUtcGlja2VyJztcbmltcG9ydCB7IEFjdGlvbnMsIEFJVGFibGVRdWVyaWVzLCBEYXRlRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RhdGUtY2VsbC1lZGl0b3InLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDx0aHktZGF0ZS1waWNrZXJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0xMDBcIlxuICAgICAgICAgICAgdGh5VGltZXN0YW1wUHJlY2lzaW9uPVwic2Vjb25kc1wiXG4gICAgICAgICAgICB0aHlQbGFjZUhvbGRlcj1cIumAieaLqeaXtumXtFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFZhbHVlLnRpbWVzdGFtcFwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICh0aHlPcGVuQ2hhbmdlKT1cInRoeU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdGh5QWxsb3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0aHlTaG93U2hvcnRjdXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGh5SGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3RoeVNob3dUaW1lXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFt0aHlPcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgdGh5Rm9ybWF0PVwieXl5eS1NTS1kZFwiXG4gICAgICAgID5cbiAgICAgICAgPC90aHktZGF0ZS1waWNrZXI+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgVGh5RGF0ZVBpY2tlciwgVGh5VGltZVBpY2tlck1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2RhdGUtY2VsbC1lZGl0b3InXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ2VsbEVkaXRvckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RWRpdENlbGxFZGl0b3I8RGF0ZUZpZWxkVmFsdWU+IHtcbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbFZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKHRoaXMuYWlUYWJsZSwgW3RoaXMucmVjb3JkKCkuX2lkLCB0aGlzLmZpZWxkKCkuX2lkXSk7XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOiAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIEFjdGlvbnMudXBkYXRlRmllbGRWYWx1ZSh0aGlzLmFpVGFibGUsIHsgdGltZXN0YW1wOiB2YWx1ZSB9LCBbdGhpcy5yZWNvcmQoKS5faWQsIHRoaXMuZmllbGQoKS5faWRdKTtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICB0aHlPcGVuQ2hhbmdlKGlzT3BlbjogQm9vbGVhbikge1xuICAgICAgICBpZiAoIWlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvZGF0ZS9kYXRlLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFrQixNQUFNLGVBQWUsQ0FBQzs7O0FBNEIvRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsc0JBQXNDO0lBQ3RFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsT0FBTztvQkFDSCxTQUFTLEVBQUUsQ0FBQztpQkFDZixDQUFDO1lBQ04sQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFO1lBQzNCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUM5QyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFlO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzs4R0F6QlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsaUpBeEJ0Qjs7Ozs7Ozs7Ozs7Ozs7OztLQWdCVCwyREFHUyxXQUFXLCtWQUFFLGFBQWEsd0ZBQUUsbUJBQW1COzsyRkFLaEQsdUJBQXVCO2tCQTFCbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7S0FnQlQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDO29CQUMxRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGtCQUFrQjtxQkFDNUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUaHlEYXRlUGlja2VyIH0gZnJvbSAnbmd4LXRldGh5cy9kYXRlLXBpY2tlcic7XG5pbXBvcnQgeyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2VsbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeVRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3RpbWUtcGlja2VyJztcbmltcG9ydCB7IEFJVGFibGVRdWVyaWVzLCBEYXRlRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RhdGUtY2VsbC1lZGl0b3InLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDx0aHktZGF0ZS1waWNrZXJcbiAgICAgICAgICAgIGNsYXNzPVwiaC0xMDBcIlxuICAgICAgICAgICAgdGh5VGltZXN0YW1wUHJlY2lzaW9uPVwic2Vjb25kc1wiXG4gICAgICAgICAgICB0aHlQbGFjZUhvbGRlcj1cIumAieaLqeaXtumXtFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJtb2RlbFZhbHVlLnRpbWVzdGFtcFwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICh0aHlPcGVuQ2hhbmdlKT1cInRoeU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBbdGh5QWxsb3dDbGVhcl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0aHlTaG93U2hvcnRjdXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGh5SGFzQmFja2Ryb3BdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3RoeVNob3dUaW1lXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFt0aHlPcGVuXT1cInRydWVcIlxuICAgICAgICAgICAgdGh5Rm9ybWF0PVwieXl5eS1NTS1kZFwiXG4gICAgICAgID5cbiAgICAgICAgPC90aHktZGF0ZS1waWNrZXI+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgVGh5RGF0ZVBpY2tlciwgVGh5VGltZVBpY2tlck1vZHVsZV0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2RhdGUtY2VsbC1lZGl0b3InXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ2VsbEVkaXRvckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RWRpdENlbGxFZGl0b3I8RGF0ZUZpZWxkVmFsdWU+IHtcbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb2RlbFZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKHRoaXMuYWlUYWJsZSwgW3RoaXMucmVjb3JkKCkuX2lkLCB0aGlzLmZpZWxkKCkuX2lkXSk7XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wOiAwXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmllbGRWYWx1ZS5lbWl0KHtcbiAgICAgICAgICAgIHZhbHVlOiB7IHRpbWVzdGFtcDogdmFsdWUgfSxcbiAgICAgICAgICAgIHBhdGg6IFt0aGlzLnJlY29yZCgpLl9pZCwgdGhpcy5maWVsZCgpLl9pZF1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgdGh5T3BlbkNoYW5nZShpc09wZW46IEJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCFpc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { ThyButton } from 'ngx-tethys/button';
4
+ import { ThyFormModule, ThyFormSubmitDirective } from 'ngx-tethys/form';
5
+ import { ThyInputDirective } from 'ngx-tethys/input';
6
+ import { ThyAutofocusDirective, ThyStopPropagationDirective } from 'ngx-tethys/shared';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngx-tethys/popover";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "ngx-tethys/form";
11
+ export const LINK_URL_REGEX = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
12
+ /**
13
+ * @private
14
+ */
15
+ export class LinkEditComponent {
16
+ constructor(thyPopoverRef) {
17
+ this.thyPopoverRef = thyPopoverRef;
18
+ this.url = '';
19
+ this.text = '';
20
+ this.confirm = new EventEmitter();
21
+ this.URLRegex = LINK_URL_REGEX;
22
+ this.validatorConfig = {
23
+ validationMessages: {
24
+ url: {
25
+ pattern: '链接格式不正确'
26
+ }
27
+ }
28
+ };
29
+ }
30
+ ngOnInit() { }
31
+ close() {
32
+ this.thyPopoverRef.close();
33
+ }
34
+ apply(form) {
35
+ if (this.text && !this.url) {
36
+ form.validator.setElementErrorMessage('url', '链接不能为空');
37
+ return;
38
+ }
39
+ this.close();
40
+ const text = this.text.trim();
41
+ const url = this.url.trim();
42
+ const link = url ? { text: text || url, url: url } : undefined;
43
+ this.confirm.emit(link);
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkEditComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: LinkEditComponent, isStandalone: true, selector: "link-edit", inputs: { url: "url", text: "text" }, outputs: { confirm: "confirm" }, ngImport: i0, template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input thyInput placeholder=\"\u8F93\u5165\u6587\u672C\" name=\"text\" [(ngModel)]=\"text\" thyAutofocus type=\"text\" />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input name=\"url\" thyInput placeholder=\"\u8F93\u5165\u94FE\u63A5\" [pattern]=\"URLRegex\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">\u53D6\u6D88</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "ngmodule", type: ThyFormModule }, { kind: "directive", type: i3.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "component", type: i3.ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "component", type: i3.ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkEditComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'link-edit', standalone: true, imports: [
51
+ FormsModule,
52
+ ThyStopPropagationDirective,
53
+ ThyInputDirective,
54
+ ThyAutofocusDirective,
55
+ ThyButton,
56
+ ThyFormSubmitDirective,
57
+ ThyFormModule
58
+ ], template: "<form\n thyLayout=\"vertical\"\n thyStopPropagation\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n class=\"p-5\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input thyInput placeholder=\"\u8F93\u5165\u6587\u672C\" name=\"text\" [(ngModel)]=\"text\" thyAutofocus type=\"text\" />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input name=\"url\" thyInput placeholder=\"\u8F93\u5165\u94FE\u63A5\" [pattern]=\"URLRegex\" type=\"text\" [(ngModel)]=\"url\" />\n </thy-form-group>\n <thy-form-group-footer thyAlign=\"right\">\n <div class=\"btn-pair\">\n <button thyStopPropagation thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"close()\">\u53D6\u6D88</button>\n <button thyStopPropagation thyButton=\"primary\" thySize=\"sm\" (thyFormSubmit)=\"apply(linkForm)\">\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n" }]
59
+ }], ctorParameters: () => [{ type: i1.ThyPopoverRef }], propDecorators: { url: [{
60
+ type: Input
61
+ }], text: [{
62
+ type: Input
63
+ }], confirm: [{
64
+ type: Output
65
+ }] } });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvbXBvbmVudHMvY2VsbC1lZGl0b3JzL2xpbmsvZWRpdC1saW5rL2VkaXQtbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9saW5rL2VkaXQtbGluay9lZGl0LWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFJSCxhQUFhLEVBQ2Isc0JBQXNCLEVBRXpCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3ZGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxvREFBb0QsQ0FBQztBQUVuRjs7R0FFRztBQWVILE1BQU0sT0FBTyxpQkFBaUI7SUFpQjFCLFlBQW1CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQWhCL0MsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUVULFNBQUksR0FBRyxFQUFFLENBQUM7UUFFVCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFL0QsYUFBUSxHQUFHLGNBQWMsQ0FBQztRQUVqQyxvQkFBZSxHQUFHO1lBQ2Qsa0JBQWtCLEVBQUU7Z0JBQ2hCLEdBQUcsRUFBRTtvQkFDRCxPQUFPLEVBQUUsU0FBUztpQkFDckI7YUFDSjtTQUNKLENBQUM7SUFFeUQsQ0FBQztJQUU1RCxRQUFRLEtBQUksQ0FBQztJQUViLEtBQUs7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBc0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDOzhHQXBDUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw0SUNuQzlCLHMvQkFzQkEsMkNESVEsV0FBVyxpc0NBQ1gsMkJBQTJCLGlHQUMzQixpQkFBaUIsK0lBQ2pCLHFCQUFxQixrSUFDckIsU0FBUyxvTEFDVCxzQkFBc0IseUdBQ3RCLGFBQWE7OzJGQUdSLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDSSxXQUFXLGNBRVQsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsMkJBQTJCO3dCQUMzQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLGFBQWE7cUJBQ2hCO2tGQUdRLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5QnV0dG9uIH0gZnJvbSAnbmd4LXRldGh5cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICBUaHlGb3JtRGlyZWN0aXZlLFxuICAgIFRoeUZvcm1Hcm91cCxcbiAgICBUaHlGb3JtR3JvdXBGb290ZXIsXG4gICAgVGh5Rm9ybU1vZHVsZSxcbiAgICBUaHlGb3JtU3VibWl0RGlyZWN0aXZlLFxuICAgIFRoeUZvcm1WYWxpZGF0b3JMb2FkZXJcbn0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeUF1dG9mb2N1c0RpcmVjdGl2ZSwgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgTElOS19VUkxfUkVHRVggPSAvXmh0dHAocyk/OlxcL1xcLyhbXFx3LV0rXFwuKStbXFx3LV0rKFxcL1tcXHctIC5cXC8/JSY9XSopPy87XG5cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaW5rLWVkaXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGh5U3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxuICAgICAgICBUaHlJbnB1dERpcmVjdGl2ZSxcbiAgICAgICAgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLFxuICAgICAgICBUaHlCdXR0b24sXG4gICAgICAgIFRoeUZvcm1TdWJtaXREaXJlY3RpdmUsXG4gICAgICAgIFRoeUZvcm1Nb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExpbmtFZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSB1cmwgPSAnJztcblxuICAgIEBJbnB1dCgpIHRleHQgPSAnJztcblxuICAgIEBPdXRwdXQoKSBjb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjx7IHVybDogc3RyaW5nOyB0ZXh0OiBzdHJpbmcgfT4oKTtcblxuICAgIHB1YmxpYyBVUkxSZWdleCA9IExJTktfVVJMX1JFR0VYO1xuXG4gICAgdmFsaWRhdG9yQ29uZmlnID0ge1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHtcbiAgICAgICAgICAgIHVybDoge1xuICAgICAgICAgICAgICAgIHBhdHRlcm46ICfpk77mjqXmoLzlvI/kuI3mraPnoa4nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHRoeVBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT4pIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy50aHlQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgYXBwbHkoZm9ybTogVGh5Rm9ybURpcmVjdGl2ZSkge1xuICAgICAgICBpZiAodGhpcy50ZXh0ICYmICF0aGlzLnVybCkge1xuICAgICAgICAgICAgZm9ybS52YWxpZGF0b3Iuc2V0RWxlbWVudEVycm9yTWVzc2FnZSgndXJsJywgJ+mTvuaOpeS4jeiDveS4uuepuicpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICBjb25zdCB0ZXh0ID0gdGhpcy50ZXh0LnRyaW0oKTtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy51cmwudHJpbSgpO1xuICAgICAgICBjb25zdCBsaW5rID0gdXJsID8geyB0ZXh0OiB0ZXh0IHx8IHVybCwgdXJsOiB1cmwgfSA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5jb25maXJtLmVtaXQobGluayk7XG4gICAgfVxufVxuIiwiPGZvcm1cbiAgICB0aHlMYXlvdXQ9XCJ2ZXJ0aWNhbFwiXG4gICAgdGh5U3RvcFByb3BhZ2F0aW9uXG4gICAgdGh5Rm9ybVxuICAgICNsaW5rRm9ybT1cInRoeUZvcm1cIlxuICAgIFt0aHlGb3JtVmFsaWRhdG9yQ29uZmlnXT1cInZhbGlkYXRvckNvbmZpZ1wiXG4gICAgbmFtZT1cImxpbmtGb3JtXCJcbiAgICBjbGFzcz1cInAtNVwiXG4+XG4gICAgPHRoeS1mb3JtLWdyb3VwIHRoeUxhYmVsVGV4dD1cIuaWh+acrFwiPlxuICAgICAgICA8aW5wdXQgdGh5SW5wdXQgcGxhY2Vob2xkZXI9XCLovpPlhaXmlofmnKxcIiBuYW1lPVwidGV4dFwiIFsobmdNb2RlbCldPVwidGV4dFwiIHRoeUF1dG9mb2N1cyB0eXBlPVwidGV4dFwiIC8+XG4gICAgPC90aHktZm9ybS1ncm91cD5cbiAgICA8dGh5LWZvcm0tZ3JvdXAgdGh5TGFiZWxUZXh0PVwi6ZO+5o6lXCI+XG4gICAgICAgIDxpbnB1dCBuYW1lPVwidXJsXCIgdGh5SW5wdXQgcGxhY2Vob2xkZXI9XCLovpPlhaXpk77mjqVcIiBbcGF0dGVybl09XCJVUkxSZWdleFwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ1cmxcIiAvPlxuICAgIDwvdGh5LWZvcm0tZ3JvdXA+XG4gICAgPHRoeS1mb3JtLWdyb3VwLWZvb3RlciB0aHlBbGlnbj1cInJpZ2h0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tcGFpclwiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0aHlTdG9wUHJvcGFnYXRpb24gdGh5QnV0dG9uPVwibGluay1zZWNvbmRhcnlcIiB0aHlTaXplPVwic21cIiAoY2xpY2spPVwiY2xvc2UoKVwiPuWPlua2iDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0aHlTdG9wUHJvcGFnYXRpb24gdGh5QnV0dG9uPVwicHJpbWFyeVwiIHRoeVNpemU9XCJzbVwiICh0aHlGb3JtU3VibWl0KT1cImFwcGx5KGxpbmtGb3JtKVwiPuW6lOeUqDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3RoeS1mb3JtLWdyb3VwLWZvb3Rlcj5cbjwvZm9ybT5cbiJdfQ==
@@ -0,0 +1,117 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, ViewChild } from '@angular/core';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { ThyAutofocusDirective, ThyEnterDirective } from 'ngx-tethys/shared';
4
+ import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
5
+ import { ThyInputGroup, ThyInputModule } from 'ngx-tethys/input';
6
+ import { ThyTooltipModule } from 'ngx-tethys/tooltip';
7
+ import { ThyAction } from 'ngx-tethys/action';
8
+ import { ThyFlexibleTextModule } from 'ngx-tethys/flexible-text';
9
+ import { ThyPopover } from 'ngx-tethys/popover';
10
+ import { LINK_URL_REGEX, LinkEditComponent } from './edit-link/edit-link.component';
11
+ import * as _ from 'lodash';
12
+ import { ThyNotifyService } from 'ngx-tethys/notify';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/forms";
15
+ import * as i2 from "ngx-tethys/tooltip";
16
+ import * as i3 from "ngx-tethys/input";
17
+ export class LinkCellEditorComponent extends AbstractEditCellEditor {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.text = '';
21
+ this.url = '';
22
+ this.originValue = {};
23
+ this.thyPopover = inject(ThyPopover);
24
+ this.cdr = inject(ChangeDetectorRef);
25
+ this.notifyService = inject(ThyNotifyService);
26
+ this.isOpened = false;
27
+ }
28
+ isValidLink(link) {
29
+ if (!link?.text?.trim()) {
30
+ return true;
31
+ }
32
+ if (!link.url) {
33
+ return LINK_URL_REGEX.test(link.text);
34
+ }
35
+ return true;
36
+ }
37
+ createLinkValue(link) {
38
+ const text = link?.text?.trim();
39
+ if (!text) {
40
+ return { url: '', text: '' };
41
+ }
42
+ else {
43
+ const url = link.url?.trim();
44
+ return { url: url || text, text: text || url };
45
+ }
46
+ }
47
+ blur(event) {
48
+ const action = this.elementRef.nativeElement.querySelector('.edit-icon');
49
+ if (!event.relatedTarget?.contains(action)) {
50
+ this.updateValue();
51
+ }
52
+ }
53
+ ngOnInit() {
54
+ super.ngOnInit();
55
+ this.originValue = this.modelValue;
56
+ this.text = this.modelValue.text ?? '';
57
+ this.url = this.modelValue.url ?? '';
58
+ }
59
+ updateValue() {
60
+ if (!this.isValidLink({ text: this.text, url: this.url ?? '' })) {
61
+ this.notifyService.error(undefined, '链接格式不正确');
62
+ return;
63
+ }
64
+ this.modelValue = this.createLinkValue({ text: this.text, url: this.url ?? '' });
65
+ if (!_.isEqual(this.originValue, this.modelValue)) {
66
+ super.update();
67
+ this.originValue = this.modelValue;
68
+ }
69
+ }
70
+ openEdit() {
71
+ this.isOpened = true;
72
+ const popoverRef = this.thyPopover.open(LinkEditComponent, {
73
+ origin: this.elementRef.nativeElement,
74
+ originActiveClass: 'editing',
75
+ placement: 'bottomLeft',
76
+ minWidth: '320px',
77
+ width: this.elementRef.nativeElement.clientWidth + 'px',
78
+ initialState: {
79
+ url: this.url ?? '',
80
+ text: this.text ?? ''
81
+ }
82
+ });
83
+ if (popoverRef) {
84
+ popoverRef.componentInstance.confirm.subscribe((value) => {
85
+ this.text = value.text;
86
+ this.url = value.url;
87
+ this.updateValue();
88
+ });
89
+ popoverRef.beforeClosed().subscribe(() => {
90
+ this.isOpened = false;
91
+ this.cdr.markForCheck();
92
+ });
93
+ }
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", host: { classAttribute: "ai-table-link-editor" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"true\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n thyTooltip=\"\u94FE\u63A5\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "component", type: ThyInputGroup, selector: "thy-input-group", inputs: ["thyAppendText", "thyAppendTextTranslateKey", "thyPrependText", "thyPrependTextTranslateKey", "thySize"] }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "directive", type: i2.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "ngmodule", type: ThyInputModule }, { kind: "directive", type: i3.ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "ngmodule", type: ThyFlexibleTextModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: 'link-cell-editor', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
101
+ FormsModule,
102
+ ThyAutofocusDirective,
103
+ ThyEnterDirective,
104
+ ThyInputGroup,
105
+ ThyTooltipModule,
106
+ ThyAction,
107
+ ThyInputModule,
108
+ ThyFlexibleTextModule,
109
+ LinkEditComponent
110
+ ], host: {
111
+ class: 'ai-table-link-editor'
112
+ }, template: "<thy-input-group class=\"link-input-group h-100\" thySize=\"lg\">\n <input\n #inputElement\n class=\"h-100\"\n class=\"link-input\"\n thyInput\n thySize=\"md\"\n [thyAutofocus]=\"true\"\n [(ngModel)]=\"text\"\n (blur)=\"blur($event)\"\n (thyEnter)=\"updateValue()\"\n />\n <ng-template #suffix>\n <a\n thyAction\n thyIcon=\"link-insert\"\n thyTooltip=\"\u94FE\u63A5\"\n class=\"font-size-base edit-icon\"\n [class.active]=\"isOpened\"\n href=\"javascript:;\"\n (click)=\"openEdit()\"\n ></a>\n </ng-template>\n</thy-input-group>\n" }]
113
+ }], propDecorators: { inputElement: [{
114
+ type: ViewChild,
115
+ args: ['inputElement', { static: false }]
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29tcG9uZW50cy9jZWxsLWVkaXRvcnMvbGluay9saW5rLWVkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9saW5rL2xpbmstZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQXdCLE1BQU0sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEYsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBc0JyRCxNQUFNLE9BQU8s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cUJBQXFCLGtJQUNyQixpQkFBaUIsOEVBQ2pCLGFBQWEsOEtBQ2IsZ0JBQWdCLG1YQUNoQixTQUFTLCtMQUNULGNBQWMsaU1BQ2QscUJBQXFCOzsyRkFPaEIsdUJBQXVCO2tCQXBCbkMsU0FBUzsrQkFDSSxrQkFBa0IsY0FFaEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNMLFdBQVc7d0JBQ1gscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixpQkFBaUI7cUJBQ3BCLFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEM7OEJBSUQsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgY29tcHV0ZWQsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEFic3RyYWN0RWRpdENlbGxFZGl0b3IgfSBmcm9tICcuLi9hYnN0cmFjdC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SW5wdXRHcm91cCwgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgVGh5QWN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHsgVGh5RmxleGlibGVUZXh0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mbGV4aWJsZS10ZXh0JztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgTElOS19VUkxfUkVHRVgsIExpbmtFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9lZGl0LWxpbmsvZWRpdC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBUaHlOb3RpZnlTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpbmstY2VsbC1lZGl0b3InLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9saW5rLWVkaXRvci5jb21wb25lbnQuaHRtbGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBUaHlBdXRvZm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIFRoeUVudGVyRGlyZWN0aXZlLFxuICAgICAgICBUaHlJbnB1dEdyb3VwLFxuICAgICAgICBUaHlUb29sdGlwTW9kdWxlLFxuICAgICAgICBUaHlBY3Rpb24sXG4gICAgICAgIFRoeUlucHV0TW9kdWxlLFxuICAgICAgICBUaHlGbGV4aWJsZVRleHRNb2R1bGUsXG4gICAgICAgIExpbmtFZGl0Q29tcG9uZW50XG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnYWktdGFibGUtbGluay1lZGl0b3InXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ2VsbEVkaXRvckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RWRpdENlbGxFZGl0b3I8eyB0ZXh0OiBzdHJpbmc7IHVybDogc3RyaW5nIH0+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gICAgdGV4dCA9ICcnO1xuXG4gICAgdXJsID0gJyc7XG5cbiAgICBvcmlnaW5WYWx1ZSA9IHt9O1xuXG4gICAgdGh5UG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcblxuICAgIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICBub3RpZnlTZXJ2aWNlID0gaW5qZWN0KFRoeU5vdGlmeVNlcnZpY2UpO1xuXG4gICAgaXNPcGVuZWQgPSBmYWxzZTtcblxuICAgIGlzVmFsaWRMaW5rKGxpbms6IHsgdGV4dDogc3RyaW5nOyB1cmw6IHN0cmluZyB9KSB7XG4gICAgICAgIGlmICghbGluaz8udGV4dD8udHJpbSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsudXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gTElOS19VUkxfUkVHRVgudGVzdChsaW5rLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNyZWF0ZUxpbmtWYWx1ZShsaW5rOiB7IHRleHQ6IHN0cmluZzsgdXJsOiBzdHJpbmcgfSkge1xuICAgICAgICBjb25zdCB0ZXh0ID0gbGluaz8udGV4dD8udHJpbSgpO1xuICAgICAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHVybDogJycsIHRleHQ6ICcnIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBsaW5rLnVybD8udHJpbSgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiB1cmwgfHwgdGV4dCwgdGV4dDogdGV4dCB8fCB1cmwgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBibHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5lZGl0LWljb24nKTtcbiAgICAgICAgaWYgKCEoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCk/LmNvbnRhaW5zKGFjdGlvbikpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLm9yaWdpblZhbHVlID0gdGhpcy5tb2RlbFZhbHVlO1xuICAgICAgICB0aGlzLnRleHQgPSB0aGlzLm1vZGVsVmFsdWUudGV4dCA/PyAnJztcbiAgICAgICAgdGhpcy51cmwgPSB0aGlzLm1vZGVsVmFsdWUudXJsID8/ICcnO1xuICAgIH1cblxuICAgIHVwZGF0ZVZhbHVlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZExpbmsoeyB0ZXh0OiB0aGlzLnRleHQsIHVybDogdGhpcy51cmwgPz8gJycgfSkpIHtcbiAgICAgICAgICAgIHRoaXMubm90aWZ5U2VydmljZS5lcnJvcih1bmRlZmluZWQsICfpk77mjqXmoLzlvI/kuI3mraPnoa4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLmNyZWF0ZUxpbmtWYWx1ZSh7IHRleHQ6IHRoaXMudGV4dCwgdXJsOiB0aGlzLnVybCA/PyAnJyB9KTtcbiAgICAgICAgaWYgKCFfLmlzRXF1YWwodGhpcy5vcmlnaW5WYWx1ZSwgdGhpcy5tb2RlbFZhbHVlKSkge1xuICAgICAgICAgICAgc3VwZXIudXBkYXRlKClcbiAgICAgICAgICAgIHRoaXMub3JpZ2luVmFsdWUgPSB0aGlzLm1vZGVsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuRWRpdCgpIHtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihMaW5rRWRpdENvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAnZWRpdGluZycsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzIwcHgnLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICsgJ3B4JyxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIHVybDogdGhpcy51cmwgPz8gJycsXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy50ZXh0ID8/ICcnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChwb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBwb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlLmNvbmZpcm0uc3Vic2NyaWJlKCh2YWx1ZTogeyB1cmw6IHN0cmluZzsgdGV4dDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRleHQgPSB2YWx1ZS50ZXh0O1xuICAgICAgICAgICAgICAgIHRoaXMudXJsID0gdmFsdWUudXJsO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBwb3BvdmVyUmVmLmJlZm9yZUNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dGh5LWlucHV0LWdyb3VwIGNsYXNzPVwibGluay1pbnB1dC1ncm91cCBoLTEwMFwiIHRoeVNpemU9XCJsZ1wiPlxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRFbGVtZW50XG4gICAgICAgIGNsYXNzPVwiaC0xMDBcIlxuICAgICAgICBjbGFzcz1cImxpbmstaW5wdXRcIlxuICAgICAgICB0aHlJbnB1dFxuICAgICAgICB0aHlTaXplPVwibWRcIlxuICAgICAgICBbdGh5QXV0b2ZvY3VzXT1cInRydWVcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cInRleHRcIlxuICAgICAgICAoYmx1cik9XCJibHVyKCRldmVudClcIlxuICAgICAgICAodGh5RW50ZXIpPVwidXBkYXRlVmFsdWUoKVwiXG4gICAgLz5cbiAgICA8bmctdGVtcGxhdGUgI3N1ZmZpeD5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIHRoeUFjdGlvblxuICAgICAgICAgICAgdGh5SWNvbj1cImxpbmstaW5zZXJ0XCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXA9XCLpk77mjqVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb250LXNpemUtYmFzZSBlZGl0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpc09wZW5lZFwiXG4gICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvcGVuRWRpdCgpXCJcbiAgICAgICAgPjwvYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90aHktaW5wdXQtZ3JvdXA+XG4iXX0=
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/forms";
8
8
  export class NumberCellEditorComponent extends AbstractEditCellEditor {
9
9
  updateValue() {
10
- this.updateFieldValue();
10
+ super.update();
11
11
  this.closePopover();
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NumberCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
38
38
  }
39
39
  }]
40
40
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9udW1iZXIvbnVtYmVyLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFrQjNFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBOEI7SUFDekUsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQUpRLHlCQUF5QjtrR0FBekIseUJBQXlCLHFKQWR4Qjs7Ozs7O1FBTU4sMkRBR00sV0FBVywrVkFBeUIsaUJBQWlCLDhFQUFFLGNBQWM7OzJGQUt0RSx5QkFBeUI7a0JBaEJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7O1FBTU47b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO29CQUNoRixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLG9CQUFvQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUlucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHsgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEFic3RyYWN0RWRpdENlbGxFZGl0b3IgfSBmcm9tICcuLi9hYnN0cmFjdC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ251bWJlci1jZWxsLWVkaXRvcicsXG4gICAgdGVtcGxhdGU6IGA8dGh5LWlucHV0LW51bWJlclxuICAgICAgICBjbGFzcz1cImgtMTAwXCJcbiAgICAgICAgW3RoeUF1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFZhbHVlXCJcbiAgICAgICAgKHRoeUVudGVyKT1cInVwZGF0ZVZhbHVlKClcIlxuICAgICAgICAodGh5Qmx1cik9XCJ1cGRhdGVWYWx1ZSgpXCJcbiAgICAvPiBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBUaHlBdXRvZm9jdXNEaXJlY3RpdmUsIFRoeUVudGVyRGlyZWN0aXZlLCBUaHlJbnB1dE51bWJlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ251bWJlci1jZWxsLWVkaXRvcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckNlbGxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPG51bWJlcj4ge1xuICAgIHVwZGF0ZVZhbHVlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpZWxkVmFsdWUoKTtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9udW1iZXIvbnVtYmVyLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFrQjNFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBOEI7SUFDekUsV0FBVztRQUNQLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQUpRLHlCQUF5QjtrR0FBekIseUJBQXlCLHFKQWR4Qjs7Ozs7O1FBTU4sMkRBR00sV0FBVywrVkFBeUIsaUJBQWlCLDhFQUFFLGNBQWM7OzJGQUt0RSx5QkFBeUI7a0JBaEJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7O1FBTU47b0JBQ0osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO29CQUNoRixJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLG9CQUFvQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUlucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHsgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEFic3RyYWN0RWRpdENlbGxFZGl0b3IgfSBmcm9tICcuLi9hYnN0cmFjdC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ251bWJlci1jZWxsLWVkaXRvcicsXG4gICAgdGVtcGxhdGU6IGA8dGh5LWlucHV0LW51bWJlclxuICAgICAgICBjbGFzcz1cImgtMTAwXCJcbiAgICAgICAgW3RoeUF1dG9Gb2N1c109XCJ0cnVlXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbFZhbHVlXCJcbiAgICAgICAgKHRoeUVudGVyKT1cInVwZGF0ZVZhbHVlKClcIlxuICAgICAgICAodGh5Qmx1cik9XCJ1cGRhdGVWYWx1ZSgpXCJcbiAgICAvPiBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBUaHlBdXRvZm9jdXNEaXJlY3RpdmUsIFRoeUVudGVyRGlyZWN0aXZlLCBUaHlJbnB1dE51bWJlcl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ251bWJlci1jZWxsLWVkaXRvcidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckNlbGxFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPG51bWJlcj4ge1xuICAgIHVwZGF0ZVZhbHVlKCkge1xuICAgICAgICBzdXBlci51cGRhdGUoKTtcbiAgICAgICAgdGhpcy5jbG9zZVBvcG92ZXIoKTtcbiAgICB9XG59XG4iXX0=