@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,32 @@
1
+ export interface AITableTextMeasureOptions {
2
+ fontFamily?: string;
3
+ fontSize?: number;
4
+ fontWeight?: string;
5
+ fontStyle?: string;
6
+ lineHeight?: number;
7
+ scale?: number;
8
+ }
9
+ /**
10
+ * 在 Canvas 上测量文本的宽度和高度,以便在显示文本时能够动态调整布局或限制文本的显示区域
11
+ * @param defaults
12
+ * @returns
13
+ */
14
+ export declare const TextMeasure: (defaults?: AITableTextMeasureOptions) => {
15
+ context: CanvasRenderingContext2D | null;
16
+ measureText: (text: string, maxWidth?: number, maxLineCount?: number) => {
17
+ width: number;
18
+ height: number;
19
+ lastLineWidth: number;
20
+ text?: undefined;
21
+ isOverflow?: undefined;
22
+ } | {
23
+ width: number;
24
+ height: number;
25
+ text: string;
26
+ isOverflow: boolean;
27
+ lastLineWidth: number;
28
+ };
29
+ setFont: (options?: AITableTextMeasureOptions) => void;
30
+ reset: () => void;
31
+ };
32
+ //# sourceMappingURL=text-measure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-measure.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/utils/text-measure.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,yBAAyB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,cAAc,yBAAyB;;wBAiHhC,MAAM,aAAa,MAAM,iBAAiB,MAAM;;;;;;;;;;;;;wBA7EjD,yBAAyB;;CA4FtD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AITableField, Coordinate } from '../core';
2
+ import { AITableScrollState } from '../types';
3
+ export declare const getVisibleRangeInfo: (coordinate: Coordinate, scrollState: AITableScrollState) => {
4
+ rowStartIndex: number;
5
+ rowStopIndex: number;
6
+ columnStartIndex: number;
7
+ columnStopIndex: number;
8
+ };
9
+ export declare const scrollMax: (coordinate: Coordinate, visibleColumns: AITableField[]) => {
10
+ scrollMaxWidth: number;
11
+ scrollMaxHeight: number;
12
+ };
13
+ //# sourceMappingURL=visible-range.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visible-range.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/utils/visible-range.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAsB,UAAU,EAAyB,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,mBAAmB,eAAgB,UAAU,eAAe,kBAAkB;;;;;CAkC1F,CAAC;AAEF,eAAO,MAAM,SAAS,eAAgB,UAAU,kBAAkB,YAAY,EAAE;;;CAO/E,CAAC"}
@@ -1,8 +0,0 @@
1
- import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
2
- import * as i0 from "@angular/core";
3
- export declare class LinkCellEditorComponent extends AbstractEditCellEditor<number> {
4
- updateValue(): void;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<LinkCellEditorComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<LinkCellEditorComponent, "link-cell-editor", never, {}, {}, never, never, true, never>;
7
- }
8
- //# sourceMappingURL=number-editor.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number-editor.component.d.ts","sourceRoot":"","sources":["../../../../../packages/grid/src/components/cell-editors/link/number-editor.component.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;;AAE3E,qBAOa,uBAAwB,SAAQ,sBAAsB,CAAC,MAAM,CAAC;IACvE,WAAW;yCADF,uBAAuB;2CAAvB,uBAAuB;CAKnC"}
@@ -1,20 +0,0 @@
1
- import { AITable, AITableField } from '../core';
2
- import { ElementRef, Signal } from '@angular/core';
3
- import { AITableFieldMenuItem } from '../types';
4
- export declare const DividerMenuItem: {
5
- type: string;
6
- };
7
- export declare const EditFieldPropertyItem: {
8
- type: string;
9
- name: string;
10
- icon: string;
11
- exec: (aiTable: AITable, field: Signal<AITableField>, origin?: HTMLElement | ElementRef<any>) => void;
12
- };
13
- export declare const RemoveFieldItem: {
14
- type: string;
15
- name: string;
16
- icon: string;
17
- exec: (aiTable: AITable, field: Signal<AITableField>) => void;
18
- };
19
- export declare const DefaultFieldMenus: AITableFieldMenuItem[];
20
- //# sourceMappingURL=field.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../packages/grid/src/constants/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;oBAId,OAAO,SAAS,OAAO,YAAY,CAAC,WAAW,WAAW,GAAG,WAAW,GAAG,CAAC;CAK/F,CAAC;AAEF,eAAO,MAAM,eAAe;;;;oBAIR,OAAO,SAAS,OAAO,YAAY,CAAC;CAGvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,oBAAoB,EAA6C,CAAC"}
@@ -1,12 +0,0 @@
1
- import { AIFieldIdPath, AIFieldPath, AITable, AITableField } from '../types';
2
- export declare function addField(aiTable: AITable, field: AITableField, path: AIFieldPath): void;
3
- export declare function moveField(aiTable: AITable, path: AIFieldPath, newPath: AIFieldPath): void;
4
- export declare function removeField(aiTable: AITable, path: AIFieldIdPath): void;
5
- export declare function setField<T extends AITableField = AITableField>(aiTable: AITable, value: Partial<T>, path: AIFieldIdPath): void;
6
- export declare const FieldActions: {
7
- addField: typeof addField;
8
- moveField: typeof moveField;
9
- removeField: typeof removeField;
10
- setField: typeof setField;
11
- };
12
- //# sourceMappingURL=field.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/action/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,aAAa,EACb,WAAW,EACX,OAAO,EACP,YAAY,EAIf,MAAM,UAAU,CAAC;AAGlB,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,QAOhF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,QAOlF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,QAMhE;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,QA0BvH;AAED,eAAO,MAAM,YAAY;;;;;CAKxB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { AITable, AITableAction } from '../types';
2
- export declare const GeneralActions: {
3
- transform(aiTable: AITable, action: AITableAction): void;
4
- };
5
- //# sourceMappingURL=general.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,OAAO,EAAE,aAAa,EAA+C,MAAM,UAAU,CAAC;AA2G3G,eAAO,MAAM,cAAc;uBACJ,OAAO,UAAU,aAAa,GAAG,IAAI;CAW3D,CAAC"}
@@ -1,12 +0,0 @@
1
- export declare const Actions: {
2
- addField: typeof import("./field").addField;
3
- moveField: typeof import("./field").moveField;
4
- removeField: typeof import("./field").removeField;
5
- setField: typeof import("./field").setField;
6
- addRecord: typeof import("./record").addRecord;
7
- updateFieldValue: typeof import("./record").updateFieldValue;
8
- moveRecord: typeof import("./record").moveRecord;
9
- removeRecord: typeof import("./record").removeRecord;
10
- transform(aiTable: import("@ai-table/grid").AITable, action: import("@ai-table/grid").AITableAction): void;
11
- };
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/action/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO;;;;;;;;;;CAInB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { AIRecordPath, AITable, AITableRecord, AIFieldValueIdPath, AIRecordIdPath } from '../types';
2
- export declare function updateFieldValue(aiTable: AITable, value: any, path: AIFieldValueIdPath): void;
3
- export declare function addRecord(aiTable: AITable, record: AITableRecord, path: AIRecordPath): void;
4
- export declare function moveRecord(aiTable: AITable, path: AIRecordPath, newPath: AIRecordPath): void;
5
- export declare function removeRecord(aiTable: AITable, path: AIRecordIdPath): void;
6
- export declare const RecordActions: {
7
- addRecord: typeof addRecord;
8
- updateFieldValue: typeof updateFieldValue;
9
- moveRecord: typeof moveRecord;
10
- removeRecord: typeof removeRecord;
11
- };
12
- //# sourceMappingURL=record.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/action/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,YAAY,EAEZ,OAAO,EACP,aAAa,EACb,kBAAkB,EAGlB,cAAc,EACjB,MAAM,UAAU,CAAC;AAGlB,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,QAWtF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,QAOpF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,QAOrF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,QAMlE;AAED,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC"}
@@ -1,64 +0,0 @@
1
- import { AITableField, AITableRecord } from './core';
2
- export type AIRecordPath = [number];
3
- export type AIRecordIdPath = [string];
4
- export type AIFieldPath = [number];
5
- export type AIFieldIdPath = [string];
6
- export type AIFieldValueIdPath = [string, string];
7
- export type Path = AIRecordPath | AIFieldPath | AIFieldIdPath | AIRecordIdPath | AIFieldValueIdPath;
8
- export declare enum ActionName {
9
- UpdateFieldValue = "update_field_value",
10
- AddRecord = "add_record",
11
- AddField = "add_field",
12
- MoveField = "move_field",
13
- MoveRecord = "move_record",
14
- RemoveField = "remove_field",
15
- RemoveRecord = "remove_record",
16
- SetField = "set_field"
17
- }
18
- export declare enum ExecuteType {
19
- Execute = 0,
20
- Undo = 1,
21
- Redo = 2
22
- }
23
- export type UpdateFieldValueAction = {
24
- type: ActionName.UpdateFieldValue;
25
- path: AIFieldValueIdPath;
26
- fieldValue: any;
27
- newFieldValue: any;
28
- };
29
- export type AddRecordAction = {
30
- type: ActionName.AddRecord;
31
- path: AIRecordPath;
32
- record: AITableRecord;
33
- };
34
- export type AddFieldAction = {
35
- type: ActionName.AddField;
36
- path: AIFieldPath;
37
- field: AITableField;
38
- };
39
- export type MoveFieldAction = {
40
- type: ActionName.MoveField;
41
- path: AIFieldPath;
42
- newPath: AIFieldPath;
43
- };
44
- export type MoveRecordAction = {
45
- type: ActionName.MoveRecord;
46
- path: AIRecordPath;
47
- newPath: AIRecordPath;
48
- };
49
- export type RemoveFieldAction = {
50
- type: ActionName.RemoveField;
51
- path: AIFieldIdPath;
52
- };
53
- export type RemoveRecordAction = {
54
- type: ActionName.RemoveRecord;
55
- path: AIRecordIdPath;
56
- };
57
- export type SetFieldAction = {
58
- type: ActionName.SetField;
59
- path: AIFieldIdPath;
60
- properties: Partial<AITableField>;
61
- newProperties: Partial<AITableField>;
62
- };
63
- export type AITableAction = UpdateFieldValueAction | AddRecordAction | AddFieldAction | RemoveRecordAction | RemoveFieldAction | SetFieldAction | MoveFieldAction | MoveRecordAction;
64
- //# sourceMappingURL=action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/types/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC;AAEnC,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEpG,oBAAY,UAAU;IAClB,gBAAgB,uBAAuB;IACvC,SAAS,eAAe;IACxB,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,UAAU,gBAAgB;IAC1B,WAAW,iBAAiB;IAC5B,YAAY,kBAAkB;IAC9B,QAAQ,cAAc;CACzB;AAED,oBAAY,WAAW;IACnB,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,IAAI,IAAA;CACP;AAED,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7B,IAAI,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC;IAC9B,IAAI,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,aAAa,GACnB,sBAAsB,GACtB,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,eAAe,GACf,gBAAgB,CAAC"}
@@ -1,3 +0,0 @@
1
- import { AITable } from '../types';
2
- export declare const FLUSHING: WeakMap<AITable, boolean>;
3
- //# sourceMappingURL=weak-map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weak-map.d.ts","sourceRoot":"","sources":["../../../../packages/grid/src/core/utils/weak-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,QAAQ,2BAAkC,CAAC"}
@@ -1,25 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FormsModule } from '@angular/forms';
3
- import { ThyInputNumber } from 'ngx-tethys/input-number';
4
- import { ThyAutofocusDirective, ThyEnterDirective } from 'ngx-tethys/shared';
5
- import { AbstractEditCellEditor } from '../abstract-cell-editor.component';
6
- import * as i0 from "@angular/core";
7
- export class LinkCellEditorComponent extends AbstractEditCellEditor {
8
- updateValue() {
9
- this.updateFieldValue();
10
- this.closePopover();
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkCellEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: LinkCellEditorComponent, isStandalone: true, selector: "link-cell-editor", usesInheritance: true, ngImport: i0, template: ``, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LinkCellEditorComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'link-cell-editor',
19
- template: ``,
20
- standalone: true,
21
- changeDetection: ChangeDetectionStrategy.OnPush,
22
- imports: [FormsModule, ThyAutofocusDirective, ThyEnterDirective, ThyInputNumber]
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb21wb25lbnRzL2NlbGwtZWRpdG9ycy9saW5rL251bWJlci1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFTM0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHNCQUE4QjtJQUN2RSxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBSlEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsbUdBTHRCLEVBQUUsMkRBR0YsV0FBVzs7MkZBRVosdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLGNBQWMsQ0FBQztpQkFDbkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRoeUlucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHsgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLCBUaHlFbnRlckRpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IEFic3RyYWN0RWRpdENlbGxFZGl0b3IgfSBmcm9tICcuLi9hYnN0cmFjdC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpbmstY2VsbC1lZGl0b3InLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtGb3Jtc01vZHVsZSwgVGh5QXV0b2ZvY3VzRGlyZWN0aXZlLCBUaHlFbnRlckRpcmVjdGl2ZSwgVGh5SW5wdXROdW1iZXJdXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDZWxsRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvcjxudW1iZXI+IHtcbiAgICB1cGRhdGVWYWx1ZSgpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWVsZFZhbHVlKCk7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgfVxufVxuIl19
@@ -1,25 +0,0 @@
1
- import { Actions } from '../core';
2
- import { AI_TABLE_GRID_FIELD_SERVICE_MAP } from '../services/field.service';
3
- export const DividerMenuItem = {
4
- type: 'divider'
5
- };
6
- export const EditFieldPropertyItem = {
7
- type: 'editFieldProperty',
8
- name: '编辑列',
9
- icon: 'edit',
10
- exec: (aiTable, field, origin) => {
11
- const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
12
- const copyField = JSON.parse(JSON.stringify(field()));
13
- origin && fieldService?.editFieldProperty(origin, aiTable, copyField, true);
14
- }
15
- };
16
- export const RemoveFieldItem = {
17
- type: 'removeField',
18
- name: '删除列',
19
- icon: 'trash',
20
- exec: (aiTable, field) => {
21
- Actions.removeField(aiTable, [field()._id]);
22
- }
23
- };
24
- export const DefaultFieldMenus = [EditFieldPropertyItem, RemoveFieldItem];
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb25zdGFudHMvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBeUIsTUFBTSxTQUFTLENBQUM7QUFDekQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJNUUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxTQUFTO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEtBQTJCLEVBQUUsTUFBc0MsRUFBRSxFQUFFO1FBQzVGLE1BQU0sWUFBWSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBaUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRSxNQUFNLElBQUksWUFBWSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxhQUFhO0lBQ25CLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEtBQTJCLEVBQUUsRUFBRTtRQUNwRCxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBMkIsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbnMsIEFJVGFibGUsIEFJVGFibGVGaWVsZCB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCB9IGZyb20gJy4uL3NlcnZpY2VzL2ZpZWxkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRNZW51SXRlbSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IERpdmlkZXJNZW51SXRlbSA9IHtcbiAgICB0eXBlOiAnZGl2aWRlcidcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0RmllbGRQcm9wZXJ0eUl0ZW0gPSB7XG4gICAgdHlwZTogJ2VkaXRGaWVsZFByb3BlcnR5JyxcbiAgICBuYW1lOiAn57yW6L6R5YiXJyxcbiAgICBpY29uOiAnZWRpdCcsXG4gICAgZXhlYzogKGFpVGFibGU6IEFJVGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPiwgb3JpZ2luPzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPGFueT4pID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRTZXJ2aWNlID0gQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUC5nZXQoYWlUYWJsZSk7XG4gICAgICAgIGNvbnN0IGNvcHlGaWVsZDogQUlUYWJsZUZpZWxkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmaWVsZCgpKSk7XG4gICAgICAgIG9yaWdpbiAmJiBmaWVsZFNlcnZpY2U/LmVkaXRGaWVsZFByb3BlcnR5KG9yaWdpbiwgYWlUYWJsZSwgY29weUZpZWxkLCB0cnVlKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgUmVtb3ZlRmllbGRJdGVtID0ge1xuICAgIHR5cGU6ICdyZW1vdmVGaWVsZCcsXG4gICAgbmFtZTogJ+WIoOmZpOWIlycsXG4gICAgaWNvbjogJ3RyYXNoJyxcbiAgICBleGVjOiAoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiB7XG4gICAgICAgIEFjdGlvbnMucmVtb3ZlRmllbGQoYWlUYWJsZSwgW2ZpZWxkKCkuX2lkXSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRGaWVsZE1lbnVzOiBBSVRhYmxlRmllbGRNZW51SXRlbVtdID0gW0VkaXRGaWVsZFByb3BlcnR5SXRlbSwgUmVtb3ZlRmllbGRJdGVtXTtcbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { ActionName } from '../types';
2
- import { AITableQueries } from '../utils';
3
- export function addField(aiTable, field, path) {
4
- const operation = {
5
- type: ActionName.AddField,
6
- field,
7
- path
8
- };
9
- aiTable.apply(operation);
10
- }
11
- export function moveField(aiTable, path, newPath) {
12
- const operation = {
13
- type: ActionName.MoveField,
14
- path,
15
- newPath
16
- };
17
- aiTable.apply(operation);
18
- }
19
- export function removeField(aiTable, path) {
20
- const operation = {
21
- type: ActionName.RemoveField,
22
- path
23
- };
24
- aiTable.apply(operation);
25
- }
26
- export function setField(aiTable, value, path) {
27
- const field = AITableQueries.getField(aiTable, path);
28
- if (field) {
29
- const properties = {};
30
- const newProperties = {};
31
- for (const key in value) {
32
- const k = key;
33
- if (JSON.stringify(field[k]) !== JSON.stringify(value[k])) {
34
- if (field.hasOwnProperty(k)) {
35
- properties[k] = field[k];
36
- }
37
- if (newProperties[k] !== null) {
38
- newProperties[k] = value[k];
39
- }
40
- }
41
- }
42
- const operation = {
43
- type: ActionName.SetField,
44
- properties,
45
- newProperties,
46
- path
47
- };
48
- aiTable.apply(operation);
49
- }
50
- }
51
- export const FieldActions = {
52
- addField,
53
- moveField,
54
- removeField,
55
- setField
56
- };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL2FjdGlvbi9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVNiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFnQixFQUFFLEtBQW1CLEVBQUUsSUFBaUI7SUFDN0UsTUFBTSxTQUFTLEdBQW1CO1FBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQWdCLEVBQUUsSUFBaUIsRUFBRSxPQUFvQjtJQUMvRSxNQUFNLFNBQVMsR0FBb0I7UUFDL0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBZ0IsRUFBRSxJQUFtQjtJQUM3RCxNQUFNLFNBQVMsR0FBc0I7UUFDakMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXO1FBQzVCLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBd0MsT0FBZ0IsRUFBRSxLQUFpQixFQUFFLElBQW1CO0lBQ3BILE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQzFELElBQUksS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLFVBQVUsR0FBZSxFQUFFLENBQUM7UUFDbEMsTUFBTSxhQUFhLEdBQWUsRUFBRSxDQUFDO1FBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLEdBQUcsR0FBYyxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUMxQixVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUNwQyxDQUFDO2dCQUNELElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUM1QixhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBbUI7WUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1lBQ3pCLFVBQVU7WUFDVixhQUFhO1lBQ2IsSUFBSTtTQUNQLENBQUM7UUFFRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQ3hCLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQUNYLFFBQVE7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBY3Rpb25OYW1lLFxuICAgIEFkZEZpZWxkQWN0aW9uLFxuICAgIEFJRmllbGRJZFBhdGgsXG4gICAgQUlGaWVsZFBhdGgsXG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgTW92ZUZpZWxkQWN0aW9uLFxuICAgIFJlbW92ZUZpZWxkQWN0aW9uLFxuICAgIFNldEZpZWxkQWN0aW9uXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVRdWVyaWVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcGF0aDogQUlGaWVsZFBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZEZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUZpZWxkKGFpVGFibGU6IEFJVGFibGUsIHBhdGg6IEFJRmllbGRQYXRoLCBuZXdQYXRoOiBBSUZpZWxkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogTW92ZUZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLk1vdmVGaWVsZCxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbmV3UGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgcGF0aDogQUlGaWVsZElkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogUmVtb3ZlRmllbGRBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEZpZWxkPFQgZXh0ZW5kcyBBSVRhYmxlRmllbGQgPSBBSVRhYmxlRmllbGQ+KGFpVGFibGU6IEFJVGFibGUsIHZhbHVlOiBQYXJ0aWFsPFQ+LCBwYXRoOiBBSUZpZWxkSWRQYXRoKSB7XG4gICAgY29uc3QgZmllbGQgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZChhaVRhYmxlLCBwYXRoKSBhcyBUO1xuICAgIGlmIChmaWVsZCkge1xuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPFQ+ID0ge307XG4gICAgICAgIGNvbnN0IG5ld1Byb3BlcnRpZXM6IFBhcnRpYWw8VD4gPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGsgPSBrZXkgYXMga2V5b2YgVDtcbiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmaWVsZFtrXSkgIT09IEpTT04uc3RyaW5naWZ5KHZhbHVlW2tdKSkge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZC5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2tdID0gZmllbGRba10gYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmV3UHJvcGVydGllc1trXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzW2tdID0gdmFsdWVba10gYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbjogU2V0RmllbGRBY3Rpb24gPSB7XG4gICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlNldEZpZWxkLFxuICAgICAgICAgICAgcHJvcGVydGllcyxcbiAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMsXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH07XG5cbiAgICAgICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IEZpZWxkQWN0aW9ucyA9IHtcbiAgICBhZGRGaWVsZCxcbiAgICBtb3ZlRmllbGQsXG4gICAgcmVtb3ZlRmllbGQsXG4gICAgc2V0RmllbGRcbn07XG4iXX0=
@@ -1,116 +0,0 @@
1
- import { ActionName } from '../types';
2
- import { createDraft, finishDraft } from 'immer';
3
- import { getDefaultFieldValue, isPathEqual } from '../utils';
4
- const apply = (aiTable, records, fields, action) => {
5
- switch (action.type) {
6
- case ActionName.UpdateFieldValue: {
7
- const [recordId, fieldId] = action.path;
8
- if (recordId && fieldId) {
9
- const recordIndex = aiTable.records().findIndex((item) => item._id === recordId);
10
- records[recordIndex].values[fieldId] = action.newFieldValue;
11
- }
12
- break;
13
- }
14
- case ActionName.AddRecord: {
15
- const [recordIndex] = action.path;
16
- if (recordIndex > -1) {
17
- records.splice(recordIndex, 0, action.record);
18
- }
19
- break;
20
- }
21
- case ActionName.AddField: {
22
- const [fieldIndex] = action.path;
23
- if (fieldIndex > -1) {
24
- const newField = action.field;
25
- fields.splice(fieldIndex, 0, newField);
26
- const newRecord = {
27
- [newField._id]: getDefaultFieldValue(action.field)
28
- };
29
- records.forEach((item) => {
30
- item.values = {
31
- ...item.values,
32
- ...newRecord
33
- };
34
- });
35
- }
36
- break;
37
- }
38
- case ActionName.MoveRecord: {
39
- if (isPathEqual(action.path, action.newPath)) {
40
- return;
41
- }
42
- const record = records[action.path[0]];
43
- records.splice(action.path[0], 1);
44
- records.splice(action.newPath[0], 0, record);
45
- break;
46
- }
47
- case ActionName.MoveField: {
48
- if (isPathEqual(action.path, action.newPath)) {
49
- return;
50
- }
51
- const field = fields[action.path[0]];
52
- fields.splice(action.path[0], 1);
53
- fields.splice(action.newPath[0], 0, field);
54
- break;
55
- }
56
- case ActionName.RemoveField: {
57
- const [fieldId] = action.path;
58
- const fieldIndex = aiTable.fields().findIndex((item) => item._id === fieldId);
59
- if (fieldIndex > -1) {
60
- fields.splice(fieldIndex, 1);
61
- records.forEach((item) => {
62
- delete item.values[fieldId];
63
- });
64
- }
65
- break;
66
- }
67
- case ActionName.RemoveRecord: {
68
- const [recordId] = action.path;
69
- const recordIndex = aiTable.records().findIndex((item) => item._id === recordId);
70
- if (recordIndex > -1) {
71
- records.splice(recordIndex, 1);
72
- }
73
- break;
74
- }
75
- case ActionName.SetField: {
76
- const field = fields.find((item) => item._id === action.path[0]);
77
- if (field) {
78
- for (const key in action.newProperties) {
79
- const k = key;
80
- const value = action.newProperties[k];
81
- if (value == null) {
82
- delete field[k];
83
- }
84
- else {
85
- field[k] = value;
86
- }
87
- }
88
- // properties that were previously defined, but are now missing, must be deleted
89
- for (const key in action.properties) {
90
- if (!action.newProperties.hasOwnProperty(key)) {
91
- delete field[key];
92
- }
93
- }
94
- }
95
- break;
96
- }
97
- }
98
- return {
99
- records,
100
- fields
101
- };
102
- };
103
- export const GeneralActions = {
104
- transform(aiTable, action) {
105
- const records = createDraft(aiTable.records());
106
- const fields = createDraft(aiTable.fields());
107
- apply(aiTable, records, fields, action);
108
- aiTable.fields.update(() => {
109
- return finishDraft(fields);
110
- });
111
- aiTable.records.update(() => {
112
- return finishDraft(records);
113
- });
114
- }
115
- };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL2NvcmUvYWN0aW9uL2dlbmVyYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBdUUsTUFBTSxVQUFVLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU3RCxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQWdCLEVBQUUsT0FBdUIsRUFBRSxNQUFxQixFQUFFLE1BQXFCLEVBQUUsRUFBRTtJQUN0RyxRQUFRLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3hDLElBQUksUUFBUSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUN0QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRixPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDaEUsQ0FBQztZQUNELE1BQU07UUFDVixDQUFDO1FBQ0QsS0FBSyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN4QixNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNsQyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNu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TSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzt3QkFDNUMsT0FBTyxLQUFLLENBQXFCLEdBQUcsQ0FBQyxDQUFDO29CQUMxQyxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBQ0QsTUFBTTtRQUNWLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTztRQUNILE9BQU87UUFDUCxNQUFNO0tBQ1QsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixTQUFTLENBQUMsT0FBZ0IsRUFBRSxNQUFxQjtRQUM3QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDdkIsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDeEIsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUsIEFJVGFibGUsIEFJVGFibGVBY3Rpb24sIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgQUlUYWJsZVJlY29yZHMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVEcmFmdCwgZmluaXNoRHJhZnQgfSBmcm9tICdpbW1lcic7XG5pbXBvcnQgeyBnZXREZWZhdWx0RmllbGRWYWx1ZSwgaXNQYXRoRXF1YWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGFwcGx5ID0gKGFpVGFibGU6IEFJVGFibGUsIHJlY29yZHM6IEFJVGFibGVSZWNvcmRzLCBmaWVsZHM6IEFJVGFibGVGaWVsZHMsIGFjdGlvbjogQUlUYWJsZUFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWU6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZCwgZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJZCAmJiBmaWVsZElkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1tyZWNvcmRJbmRleF0udmFsdWVzW2ZpZWxkSWRdID0gYWN0aW9uLm5ld0ZpZWxkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKHJlY29yZEluZGV4LCAwLCBhY3Rpb24ucmVjb3JkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgW2ZpZWxkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3RmllbGQgPSBhY3Rpb24uZmllbGQ7XG4gICAgICAgICAgICAgICAgZmllbGRzLnNwbGljZShmaWVsZEluZGV4LCAwLCBuZXdGaWVsZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UmVjb3JkID0ge1xuICAgICAgICAgICAgICAgICAgICBbbmV3RmllbGQuX2lkXTogZ2V0RGVmYXVsdEZpZWxkVmFsdWUoYWN0aW9uLmZpZWxkKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWVzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5uZXdSZWNvcmRcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLk1vdmVSZWNvcmQ6IHtcbiAgICAgICAgICAgIGlmIChpc1BhdGhFcXVhbChhY3Rpb24ucGF0aCwgYWN0aW9uLm5ld1BhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVjb3Jkc1thY3Rpb24ucGF0aFswXV07XG4gICAgICAgICAgICByZWNvcmRzLnNwbGljZShhY3Rpb24ucGF0aFswXSwgMSk7XG4gICAgICAgICAgICByZWNvcmRzLnNwbGljZShhY3Rpb24ubmV3UGF0aFswXSwgMCwgcmVjb3JkKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5Nb3ZlRmllbGQ6IHtcbiAgICAgICAgICAgIGlmIChpc1BhdGhFcXVhbChhY3Rpb24ucGF0aCwgYWN0aW9uLm5ld1BhdGgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHNbYWN0aW9uLnBhdGhbMF1dO1xuICAgICAgICAgICAgZmllbGRzLnNwbGljZShhY3Rpb24ucGF0aFswXSwgMSk7XG4gICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCBmaWVsZCk7XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgW2ZpZWxkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gYWlUYWJsZS5maWVsZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBmaWVsZElkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDEpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgaXRlbS52YWx1ZXNbZmllbGRJZF07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UocmVjb3JkSW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuU2V0RmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhY3Rpb24ucGF0aFswXSkgYXMgQUlUYWJsZUZpZWxkO1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYWN0aW9uLm5ld1Byb3BlcnRpZXNba107XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmllbGRba107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoZmllbGRba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFs8a2V5b2YgQUlUYWJsZUZpZWxkPmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICByZWNvcmRzLFxuICAgICAgICBmaWVsZHNcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IEdlbmVyYWxBY3Rpb25zID0ge1xuICAgIHRyYW5zZm9ybShhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb246IEFJVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUucmVjb3JkcygpKTtcbiAgICAgICAgY29uc3QgZmllbGRzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS5maWVsZHMoKSk7XG4gICAgICAgIGFwcGx5KGFpVGFibGUsIHJlY29yZHMsIGZpZWxkcywgYWN0aW9uKTtcbiAgICAgICAgYWlUYWJsZS5maWVsZHMudXBkYXRlKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBmaW5pc2hEcmFmdChmaWVsZHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZmluaXNoRHJhZnQocmVjb3Jkcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG4iXX0=
@@ -1,9 +0,0 @@
1
- import { FieldActions } from './field';
2
- import { GeneralActions } from './general';
3
- import { RecordActions } from './record';
4
- export const Actions = {
5
- ...GeneralActions,
6
- ...RecordActions,
7
- ...FieldActions
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL2FjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDbkIsR0FBRyxjQUFjO0lBQ2pCLEdBQUcsYUFBYTtJQUNoQixHQUFHLFlBQVk7Q0FDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQWN0aW9ucyB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgR2VuZXJhbEFjdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwnO1xuaW1wb3J0IHsgUmVjb3JkQWN0aW9ucyB9IGZyb20gJy4vcmVjb3JkJztcblxuZXhwb3J0IGNvbnN0IEFjdGlvbnMgPSB7XG4gICAgLi4uR2VuZXJhbEFjdGlvbnMsXG4gICAgLi4uUmVjb3JkQWN0aW9ucyxcbiAgICAuLi5GaWVsZEFjdGlvbnNcbn07XG4iXX0=
@@ -1,44 +0,0 @@
1
- import { ActionName } from '../types';
2
- import { AITableQueries } from '../utils';
3
- export function updateFieldValue(aiTable, value, path) {
4
- const field = AITableQueries.getFieldValue(aiTable, path);
5
- if (field !== value) {
6
- const operation = {
7
- type: ActionName.UpdateFieldValue,
8
- fieldValue: field,
9
- newFieldValue: value,
10
- path
11
- };
12
- aiTable.apply(operation);
13
- }
14
- }
15
- export function addRecord(aiTable, record, path) {
16
- const operation = {
17
- type: ActionName.AddRecord,
18
- record,
19
- path
20
- };
21
- aiTable.apply(operation);
22
- }
23
- export function moveRecord(aiTable, path, newPath) {
24
- const operation = {
25
- type: ActionName.MoveRecord,
26
- path,
27
- newPath
28
- };
29
- aiTable.apply(operation);
30
- }
31
- export function removeRecord(aiTable, path) {
32
- const operation = {
33
- type: ActionName.RemoveRecord,
34
- path
35
- };
36
- aiTable.apply(operation);
37
- }
38
- export const RecordActions = {
39
- addRecord,
40
- updateFieldValue,
41
- moveRecord,
42
- removeRecord
43
- };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29yZS9hY3Rpb24vcmVjb3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBVWIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUxQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsT0FBZ0IsRUFBRSxLQUFVLEVBQUUsSUFBd0I7SUFDbkYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUQsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDbEIsTUFBTSxTQUFTLEdBQTJCO1lBQ3RDLElBQUksRUFBRSxVQUFVLENBQUMsZ0JBQWdCO1lBQ2pDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUk7U0FDUCxDQUFDO1FBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBZ0IsRUFBRSxNQUFxQixFQUFFLElBQWtCO0lBQ2pGLE1BQU0sU0FBUyxHQUFvQjtRQUMvQixJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVM7UUFDMUIsTUFBTTtRQUNOLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFnQixFQUFFLElBQWtCLEVBQUUsT0FBcUI7SUFDbEYsTUFBTSxTQUFTLEdBQXFCO1FBQ2hDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVTtRQUMzQixJQUFJO1FBQ0osT0FBTztLQUNWLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE9BQWdCLEVBQUUsSUFBb0I7SUFDL0QsTUFBTSxTQUFTLEdBQXVCO1FBQ2xDLElBQUksRUFBRSxVQUFVLENBQUMsWUFBWTtRQUM3QixJQUFJO0tBQ1AsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixZQUFZO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWN0aW9uTmFtZSxcbiAgICBBZGRSZWNvcmRBY3Rpb24sXG4gICAgQUlSZWNvcmRQYXRoLFxuICAgIFVwZGF0ZUZpZWxkVmFsdWVBY3Rpb24sXG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIEFJRmllbGRWYWx1ZUlkUGF0aCxcbiAgICBNb3ZlUmVjb3JkQWN0aW9uLFxuICAgIFJlbW92ZVJlY29yZEFjdGlvbixcbiAgICBBSVJlY29yZElkUGF0aFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlUXVlcmllcyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUZpZWxkVmFsdWUoYWlUYWJsZTogQUlUYWJsZSwgdmFsdWU6IGFueSwgcGF0aDogQUlGaWVsZFZhbHVlSWRQYXRoKSB7XG4gICAgY29uc3QgZmllbGQgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIHBhdGgpO1xuICAgIGlmIChmaWVsZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uOiBVcGRhdGVGaWVsZFZhbHVlQWN0aW9uID0ge1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICAgICAgZmllbGRWYWx1ZTogZmllbGQsXG4gICAgICAgICAgICBuZXdGaWVsZFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIHBhdGhcbiAgICAgICAgfTtcbiAgICAgICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlY29yZChhaVRhYmxlOiBBSVRhYmxlLCByZWNvcmQ6IEFJVGFibGVSZWNvcmQsIHBhdGg6IEFJUmVjb3JkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogQWRkUmVjb3JkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgcmVjb3JkLFxuICAgICAgICBwYXRoXG4gICAgfTtcbiAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlUmVjb3JkKGFpVGFibGU6IEFJVGFibGUsIHBhdGg6IEFJUmVjb3JkUGF0aCwgbmV3UGF0aDogQUlSZWNvcmRQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBNb3ZlUmVjb3JkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLk1vdmVSZWNvcmQsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIG5ld1BhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJlY29yZChhaVRhYmxlOiBBSVRhYmxlLCBwYXRoOiBBSVJlY29yZElkUGF0aCkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogUmVtb3ZlUmVjb3JkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgY29uc3QgUmVjb3JkQWN0aW9ucyA9IHtcbiAgICBhZGRSZWNvcmQsXG4gICAgdXBkYXRlRmllbGRWYWx1ZSxcbiAgICBtb3ZlUmVjb3JkLFxuICAgIHJlbW92ZVJlY29yZFxufTtcbiJdfQ==
@@ -1,18 +0,0 @@
1
- export var ActionName;
2
- (function (ActionName) {
3
- ActionName["UpdateFieldValue"] = "update_field_value";
4
- ActionName["AddRecord"] = "add_record";
5
- ActionName["AddField"] = "add_field";
6
- ActionName["MoveField"] = "move_field";
7
- ActionName["MoveRecord"] = "move_record";
8
- ActionName["RemoveField"] = "remove_field";
9
- ActionName["RemoveRecord"] = "remove_record";
10
- ActionName["SetField"] = "set_field";
11
- })(ActionName || (ActionName = {}));
12
- export var ExecuteType;
13
- (function (ExecuteType) {
14
- ExecuteType[ExecuteType["Execute"] = 0] = "Execute";
15
- ExecuteType[ExecuteType["Undo"] = 1] = "Undo";
16
- ExecuteType[ExecuteType["Redo"] = 2] = "Redo";
17
- })(ExecuteType || (ExecuteType = {}));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvY29yZS90eXBlcy9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY0EsTUFBTSxDQUFOLElBQVksVUFTWDtBQVRELFdBQVksVUFBVTtJQUNsQixxREFBdUMsQ0FBQTtJQUN2QyxzQ0FBd0IsQ0FBQTtJQUN4QixvQ0FBc0IsQ0FBQTtJQUN0QixzQ0FBd0IsQ0FBQTtJQUN4Qix3Q0FBMEIsQ0FBQTtJQUMxQiwwQ0FBNEIsQ0FBQTtJQUM1Qiw0Q0FBOEIsQ0FBQTtJQUM5QixvQ0FBc0IsQ0FBQTtBQUMxQixDQUFDLEVBVFcsVUFBVSxLQUFWLFVBQVUsUUFTckI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ25CLG1EQUFPLENBQUE7SUFDUCw2Q0FBSSxDQUFBO0lBQ0osNkNBQUksQ0FBQTtBQUNSLENBQUMsRUFKVyxXQUFXLEtBQVgsV0FBVyxRQUl0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZVJlY29yZCB9IGZyb20gJy4vY29yZSc7XG5cbmV4cG9ydCB0eXBlIEFJUmVjb3JkUGF0aCA9IFtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBBSVJlY29yZElkUGF0aCA9IFtzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBSUZpZWxkUGF0aCA9IFtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBBSUZpZWxkSWRQYXRoID0gW3N0cmluZ107XG5cbmV4cG9ydCB0eXBlIEFJRmllbGRWYWx1ZUlkUGF0aCA9IFtzdHJpbmcsIHN0cmluZ107XG5cbmV4cG9ydCB0eXBlIFBhdGggPSBBSVJlY29yZFBhdGggfCBBSUZpZWxkUGF0aCB8IEFJRmllbGRJZFBhdGggfCBBSVJlY29yZElkUGF0aCB8IEFJRmllbGRWYWx1ZUlkUGF0aDtcblxuZXhwb3J0IGVudW0gQWN0aW9uTmFtZSB7XG4gICAgVXBkYXRlRmllbGRWYWx1ZSA9ICd1cGRhdGVfZmllbGRfdmFsdWUnLFxuICAgIEFkZFJlY29yZCA9ICdhZGRfcmVjb3JkJyxcbiAgICBBZGRGaWVsZCA9ICdhZGRfZmllbGQnLFxuICAgIE1vdmVGaWVsZCA9ICdtb3ZlX2ZpZWxkJyxcbiAgICBNb3ZlUmVjb3JkID0gJ21vdmVfcmVjb3JkJyxcbiAgICBSZW1vdmVGaWVsZCA9ICdyZW1vdmVfZmllbGQnLFxuICAgIFJlbW92ZVJlY29yZCA9ICdyZW1vdmVfcmVjb3JkJyxcbiAgICBTZXRGaWVsZCA9ICdzZXRfZmllbGQnXG59XG5cbmV4cG9ydCBlbnVtIEV4ZWN1dGVUeXBlIHtcbiAgICBFeGVjdXRlLFxuICAgIFVuZG8sXG4gICAgUmVkb1xufVxuXG5leHBvcnQgdHlwZSBVcGRhdGVGaWVsZFZhbHVlQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZTtcbiAgICBwYXRoOiBBSUZpZWxkVmFsdWVJZFBhdGg7XG4gICAgZmllbGRWYWx1ZTogYW55O1xuICAgIG5ld0ZpZWxkVmFsdWU6IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIEFkZFJlY29yZEFjdGlvbiA9IHtcbiAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZDtcbiAgICBwYXRoOiBBSVJlY29yZFBhdGg7XG4gICAgcmVjb3JkOiBBSVRhYmxlUmVjb3JkO1xufTtcblxuZXhwb3J0IHR5cGUgQWRkRmllbGRBY3Rpb24gPSB7XG4gICAgdHlwZTogQWN0aW9uTmFtZS5BZGRGaWVsZDtcbiAgICBwYXRoOiBBSUZpZWxkUGF0aDtcbiAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xufTtcblxuZXhwb3J0IHR5cGUgTW92ZUZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuTW92ZUZpZWxkO1xuICAgIHBhdGg6IEFJRmllbGRQYXRoO1xuICAgIG5ld1BhdGg6IEFJRmllbGRQYXRoO1xufTtcblxuZXhwb3J0IHR5cGUgTW92ZVJlY29yZEFjdGlvbiA9IHtcbiAgICB0eXBlOiBBY3Rpb25OYW1lLk1vdmVSZWNvcmQ7XG4gICAgcGF0aDogQUlSZWNvcmRQYXRoO1xuICAgIG5ld1BhdGg6IEFJUmVjb3JkUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbW92ZUZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ7XG4gICAgcGF0aDogQUlGaWVsZElkUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbW92ZVJlY29yZEFjdGlvbiA9IHtcbiAgICB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZDtcbiAgICBwYXRoOiBBSVJlY29yZElkUGF0aDtcbn07XG5cbmV4cG9ydCB0eXBlIFNldEZpZWxkQWN0aW9uID0ge1xuICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0RmllbGQ7XG4gICAgcGF0aDogQUlGaWVsZElkUGF0aDtcbiAgICBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG4gICAgbmV3UHJvcGVydGllczogUGFydGlhbDxBSVRhYmxlRmllbGQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZUFjdGlvbiA9XG4gICAgfCBVcGRhdGVGaWVsZFZhbHVlQWN0aW9uXG4gICAgfCBBZGRSZWNvcmRBY3Rpb25cbiAgICB8IEFkZEZpZWxkQWN0aW9uXG4gICAgfCBSZW1vdmVSZWNvcmRBY3Rpb25cbiAgICB8IFJlbW92ZUZpZWxkQWN0aW9uXG4gICAgfCBTZXRGaWVsZEFjdGlvblxuICAgIHwgTW92ZUZpZWxkQWN0aW9uXG4gICAgfCBNb3ZlUmVjb3JkQWN0aW9uO1xuIl19
@@ -1,2 +0,0 @@
1
- export const FLUSHING = new WeakMap();
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9jb3JlL3V0aWxzL3dlYWstbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSElORyA9IG5ldyBXZWFrTWFwPEFJVGFibGUsIGJvb2xlYW4+KCk7XG4iXX0=