@ai-table/state 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. package/action/field.d.ts +14 -0
  2. package/action/field.d.ts.map +1 -0
  3. package/action/general.d.ts +5 -0
  4. package/action/general.d.ts.map +1 -0
  5. package/action/index.d.ts +17 -0
  6. package/action/index.d.ts.map +1 -0
  7. package/action/position.d.ts +9 -0
  8. package/action/position.d.ts.map +1 -0
  9. package/action/record.d.ts +13 -0
  10. package/action/record.d.ts.map +1 -0
  11. package/{view/action → action}/view.d.ts +1 -1
  12. package/action/view.d.ts.map +1 -0
  13. package/constants/field-menu-item.d.ts +22 -0
  14. package/constants/field-menu-item.d.ts.map +1 -0
  15. package/constants/index.d.ts +3 -0
  16. package/constants/index.d.ts.map +1 -0
  17. package/constants/view.d.ts +3 -0
  18. package/constants/view.d.ts.map +1 -0
  19. package/esm2022/action/field.mjs +57 -0
  20. package/esm2022/action/general.mjs +179 -0
  21. package/esm2022/action/index.mjs +13 -0
  22. package/esm2022/action/position.mjs +21 -0
  23. package/esm2022/action/record.mjs +44 -0
  24. package/esm2022/action/view.mjs +47 -0
  25. package/esm2022/constants/field-menu-item.mjs +39 -0
  26. package/esm2022/constants/index.mjs +3 -0
  27. package/esm2022/constants/view.mjs +3 -0
  28. package/esm2022/plugins/state.plugin.mjs +20 -0
  29. package/esm2022/public-api.mjs +4 -4
  30. package/esm2022/shared/to-table/array-event.mjs +9 -9
  31. package/esm2022/shared/to-table/index.mjs +2 -2
  32. package/esm2022/shared/to-table/map-event.mjs +3 -4
  33. package/esm2022/shared/to-yjs/add-node.mjs +5 -5
  34. package/esm2022/shared/to-yjs/index.mjs +1 -1
  35. package/esm2022/shared/to-yjs/remove-node.mjs +4 -5
  36. package/esm2022/shared/to-yjs/set-node.mjs +3 -4
  37. package/esm2022/shared/to-yjs/update-field-value.mjs +1 -1
  38. package/esm2022/shared/utils/init-shared.mjs +1 -1
  39. package/esm2022/types/action.mjs +23 -0
  40. package/esm2022/types/ai-table.mjs +2 -0
  41. package/esm2022/types/index.mjs +4 -1
  42. package/esm2022/types/view.mjs +1 -12
  43. package/esm2022/utils/build.mjs +7 -7
  44. package/esm2022/utils/common.mjs +21 -1
  45. package/esm2022/utils/field/add-fields.mjs +19 -0
  46. package/esm2022/utils/field/model/date.mjs +74 -0
  47. package/esm2022/utils/field/model/field.mjs +63 -0
  48. package/esm2022/utils/field/model/index.mjs +22 -0
  49. package/esm2022/utils/field/model/number.mjs +46 -0
  50. package/esm2022/utils/field/model/rate.mjs +38 -0
  51. package/esm2022/utils/field/model/select.mjs +55 -0
  52. package/esm2022/utils/field/model/text.mjs +27 -0
  53. package/esm2022/utils/field/sort-fields.mjs +5 -0
  54. package/esm2022/utils/index.mjs +9 -3
  55. package/esm2022/utils/record/add-records.mjs +48 -0
  56. package/esm2022/utils/record/filter.mjs +65 -0
  57. package/esm2022/utils/record/sort.mjs +34 -0
  58. package/esm2022/utils/record/update-field-value.mjs +5 -0
  59. package/esm2022/utils/view.mjs +6 -11
  60. package/esm2022/utils/weak-map.mjs +2 -0
  61. package/fesm2022/ai-table-state.mjs +710 -437
  62. package/fesm2022/ai-table-state.mjs.map +1 -1
  63. package/package.json +1 -1
  64. package/plugins/state.plugin.d.ts +3 -0
  65. package/plugins/state.plugin.d.ts.map +1 -0
  66. package/public-api.d.ts +3 -3
  67. package/public-api.d.ts.map +1 -1
  68. package/shared/to-table/array-event.d.ts +2 -3
  69. package/shared/to-table/array-event.d.ts.map +1 -1
  70. package/shared/to-table/index.d.ts +2 -2
  71. package/shared/to-table/index.d.ts.map +1 -1
  72. package/shared/to-table/map-event.d.ts +2 -2
  73. package/shared/to-table/map-event.d.ts.map +1 -1
  74. package/shared/to-yjs/add-node.d.ts +1 -2
  75. package/shared/to-yjs/add-node.d.ts.map +1 -1
  76. package/shared/to-yjs/index.d.ts +2 -2
  77. package/shared/to-yjs/index.d.ts.map +1 -1
  78. package/shared/to-yjs/remove-node.d.ts +1 -2
  79. package/shared/to-yjs/remove-node.d.ts.map +1 -1
  80. package/shared/to-yjs/set-node.d.ts +1 -2
  81. package/shared/to-yjs/set-node.d.ts.map +1 -1
  82. package/shared/to-yjs/update-field-value.d.ts +1 -2
  83. package/shared/to-yjs/update-field-value.d.ts.map +1 -1
  84. package/shared/utils/init-shared.d.ts.map +1 -1
  85. package/types/action.d.ts +90 -0
  86. package/types/action.d.ts.map +1 -0
  87. package/types/ai-table.d.ts +15 -0
  88. package/types/ai-table.d.ts.map +1 -0
  89. package/types/index.d.ts +3 -0
  90. package/types/index.d.ts.map +1 -1
  91. package/types/view.d.ts +1 -47
  92. package/types/view.d.ts.map +1 -1
  93. package/utils/build.d.ts +3 -4
  94. package/utils/build.d.ts.map +1 -1
  95. package/utils/common.d.ts +5 -0
  96. package/utils/common.d.ts.map +1 -1
  97. package/utils/field/add-fields.d.ts +4 -0
  98. package/utils/field/add-fields.d.ts.map +1 -0
  99. package/utils/field/{date.d.ts → model/date.d.ts} +1 -1
  100. package/utils/field/model/date.d.ts.map +1 -0
  101. package/utils/field/{field.d.ts → model/field.d.ts} +1 -1
  102. package/utils/field/model/field.d.ts.map +1 -0
  103. package/utils/field/model/index.d.ts.map +1 -0
  104. package/utils/field/{number.d.ts → model/number.d.ts} +1 -1
  105. package/utils/field/model/number.d.ts.map +1 -0
  106. package/utils/field/{rate.d.ts → model/rate.d.ts} +1 -1
  107. package/utils/field/model/rate.d.ts.map +1 -0
  108. package/utils/field/{select.d.ts → model/select.d.ts} +1 -1
  109. package/utils/field/model/select.d.ts.map +1 -0
  110. package/utils/field/{text.d.ts → model/text.d.ts} +1 -1
  111. package/utils/field/model/text.d.ts.map +1 -0
  112. package/utils/field/sort-fields.d.ts +4 -0
  113. package/utils/field/sort-fields.d.ts.map +1 -0
  114. package/utils/index.d.ts +8 -2
  115. package/utils/index.d.ts.map +1 -1
  116. package/utils/record/add-records.d.ts +5 -0
  117. package/utils/record/add-records.d.ts.map +1 -0
  118. package/utils/record/filter.d.ts +6 -0
  119. package/utils/record/filter.d.ts.map +1 -0
  120. package/utils/record/sort.d.ts +5 -0
  121. package/utils/record/sort.d.ts.map +1 -0
  122. package/utils/record/update-field-value.d.ts +4 -0
  123. package/utils/record/update-field-value.d.ts.map +1 -0
  124. package/utils/view.d.ts +1 -2
  125. package/utils/view.d.ts.map +1 -1
  126. package/utils/weak-map.d.ts +3 -0
  127. package/utils/weak-map.d.ts.map +1 -0
  128. package/esm2022/utils/field/date.mjs +0 -74
  129. package/esm2022/utils/field/field.mjs +0 -63
  130. package/esm2022/utils/field/index.mjs +0 -22
  131. package/esm2022/utils/field/number.mjs +0 -46
  132. package/esm2022/utils/field/rate.mjs +0 -38
  133. package/esm2022/utils/field/select.mjs +0 -55
  134. package/esm2022/utils/field/text.mjs +0 -27
  135. package/esm2022/utils/filter-records.mjs +0 -52
  136. package/esm2022/utils/sort-records.mjs +0 -34
  137. package/esm2022/view/action/general.mjs +0 -137
  138. package/esm2022/view/action/index.mjs +0 -4
  139. package/esm2022/view/action/position.mjs +0 -21
  140. package/esm2022/view/action/view.mjs +0 -47
  141. package/esm2022/view/constants/view.mjs +0 -4
  142. package/esm2022/view/plugins/view.plugin.mjs +0 -34
  143. package/utils/field/date.d.ts.map +0 -1
  144. package/utils/field/field.d.ts.map +0 -1
  145. package/utils/field/index.d.ts.map +0 -1
  146. package/utils/field/number.d.ts.map +0 -1
  147. package/utils/field/rate.d.ts.map +0 -1
  148. package/utils/field/select.d.ts.map +0 -1
  149. package/utils/field/text.d.ts.map +0 -1
  150. package/utils/filter-records.d.ts +0 -5
  151. package/utils/filter-records.d.ts.map +0 -1
  152. package/utils/sort-records.d.ts +0 -5
  153. package/utils/sort-records.d.ts.map +0 -1
  154. package/view/action/general.d.ts +0 -14
  155. package/view/action/general.d.ts.map +0 -1
  156. package/view/action/index.d.ts +0 -4
  157. package/view/action/index.d.ts.map +0 -1
  158. package/view/action/position.d.ts +0 -8
  159. package/view/action/position.d.ts.map +0 -1
  160. package/view/action/view.d.ts.map +0 -1
  161. package/view/constants/view.d.ts +0 -4
  162. package/view/constants/view.d.ts.map +0 -1
  163. package/view/plugins/view.plugin.d.ts +0 -3
  164. package/view/plugins/view.plugin.d.ts.map +0 -1
  165. /package/utils/field/{index.d.ts → model/index.d.ts} +0 -0
@@ -0,0 +1,14 @@
1
+ import { AITableField, IdPath, NumberPath } from '@ai-table/grid';
2
+ import { AIViewTable } from '../types';
3
+ import { AITableViewField } from '../types/view';
4
+ export declare function addField(aiTable: AIViewTable, field: AITableField, path: NumberPath): void;
5
+ export declare function moveField(aiTable: AIViewTable, path: NumberPath, newPath: NumberPath): void;
6
+ export declare function removeField(aiTable: AIViewTable, path: IdPath): void;
7
+ export declare function setField<T extends AITableViewField = AITableViewField>(aiTable: AIViewTable, value: Partial<T>, path: IdPath): void;
8
+ export declare const FieldActions: {
9
+ addField: typeof addField;
10
+ moveField: typeof moveField;
11
+ removeField: typeof removeField;
12
+ setField: typeof setField;
13
+ };
14
+ //# sourceMappingURL=field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkB,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAMH,WAAW,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,QAOnF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,QAOpF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAM7D;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,QA0B5H;AAED,eAAO,MAAM,YAAY;;;;;CAKxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { AITableAction, AIViewTable } from '../types';
2
+ export declare const GeneralActions: {
3
+ transform(aiTable: AIViewTable, action: AITableAction): void;
4
+ };
5
+ //# sourceMappingURL=general.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAA2F,WAAW,EAAE,MAAM,UAAU,CAAC;AAqL3J,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const Actions: {
2
+ setRecordPosition: typeof import("./position").setRecordPosition;
3
+ removeRecordPosition: typeof import("./position").removeRecordPosition;
4
+ setView: (aiTable: import("@ai-table/state").AIViewTable, value: Partial<import("@ai-table/state").AITableView>, path: [string]) => void;
5
+ addView: (aiTable: import("@ai-table/state").AIViewTable, view: import("@ai-table/state").AITableView, path: [number]) => void;
6
+ removeView: (aiTable: import("@ai-table/state").AIViewTable, path: [string]) => void;
7
+ addField: typeof import("./field").addField;
8
+ moveField: typeof import("./field").moveField;
9
+ removeField: typeof import("./field").removeField;
10
+ setField: typeof import("./field").setField;
11
+ addRecord: typeof import("./record").addRecord;
12
+ updateFieldValue: typeof import("./record").updateFieldValue;
13
+ moveRecord: typeof import("./record").moveRecord;
14
+ removeRecord: typeof import("./record").removeRecord;
15
+ transform(aiTable: import("@ai-table/state").AIViewTable, action: import("@ai-table/state").AITableAction): void;
16
+ };
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;CAMnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AIViewTable, Positions } from "../types";
2
+ import { IdPath } from "@ai-table/grid";
3
+ export declare function setRecordPosition(aiTable: AIViewTable, position: Positions, path: IdPath): void;
4
+ export declare function removeRecordPosition(aiTable: AIViewTable, path: [string, string]): void;
5
+ export declare const PositionActions: {
6
+ setRecordPosition: typeof setRecordPosition;
7
+ removeRecordPosition: typeof removeRecordPosition;
8
+ };
9
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,WAAW,EAAE,SAAS,EAA8B,MAAM,UAAU,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,QAOxF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAMhF;AAED,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { AIFieldValueIdPath, AITableRecord, IdPath, NumberPath } from "@ai-table/grid";
2
+ import { AIViewTable } from "../types";
3
+ export declare function updateFieldValue(aiTable: AIViewTable, value: any, path: AIFieldValueIdPath): void;
4
+ export declare function addRecord(aiTable: AIViewTable, record: AITableRecord, path: NumberPath): void;
5
+ export declare function moveRecord(aiTable: AIViewTable, path: NumberPath, newPath: NumberPath): void;
6
+ export declare function removeRecord(aiTable: AIViewTable, path: IdPath): void;
7
+ export declare const RecordActions: {
8
+ addRecord: typeof addRecord;
9
+ updateFieldValue: typeof updateFieldValue;
10
+ moveRecord: typeof moveRecord;
11
+ removeRecord: typeof removeRecord;
12
+ };
13
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAA6F,WAAW,EAAE,MAAM,UAAU,CAAC;AAElI,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,QAW1F;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,QAOtF;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,QAOrF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,QAM9D;AAED,eAAO,MAAM,aAAa;;;;;CAKzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AITableView, AIViewTable } from '../../types';
1
+ import { AITableView, AIViewTable } from "../types";
2
2
  declare function setView(aiTable: AIViewTable, value: Partial<AITableView>, path: [string]): void;
3
3
  declare function addView(aiTable: AIViewTable, view: AITableView, path: [number]): void;
4
4
  declare function removeView(aiTable: AIViewTable, path: [string]): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,WAAW,EAAE,WAAW,EAAmC,MAAM,UAAU,CAAC;AAEhH,iBAAS,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAyBjF;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAOvE;AAED,iBAAS,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,QAMvD;AAED,eAAO,MAAM,WAAW;;;;CAIvB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { AITable, AITableField } from '@ai-table/grid';
2
+ import { ElementRef, Signal } from '@angular/core';
3
+ import { AIViewTable } 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: AIViewTable, field: Signal<AITableField>, origin?: HTMLElement | ElementRef<any>, position?: {
12
+ x: number;
13
+ y: number;
14
+ }) => import("ngx-tethys/popover").ThyPopoverRef<unknown, unknown, unknown> | undefined;
15
+ };
16
+ export declare const RemoveFieldItem: {
17
+ type: string;
18
+ name: string;
19
+ icon: string;
20
+ exec: (aiTable: AITable, field: Signal<AITableField>) => void;
21
+ };
22
+ //# sourceMappingURL=field-menu-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/field-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,OAAO,EAAE,YAAY,EAAoD,MAAM,gBAAgB,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;oBAId,WAAW,SAAS,OAAO,YAAY,CAAC,WAAW,WAAW,GAAG,WAAW,GAAG,CAAC,aAAa;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAmBxI,CAAC;AAEF,eAAO,MAAM,eAAe;;;;oBAIR,OAAO,SAAS,OAAO,YAAY,CAAC;CAGvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './field-menu-item';
2
+ export * from './view';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ActionName } from "../types";
2
+ export declare const VIEW_ACTIONS: ActionName[];
3
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,YAAY,cAAkE,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { AITableQueries } from '@ai-table/grid';
2
+ import { ActionName } from '../types';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvYWN0aW9uL2ZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsY0FBYyxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFDSCxVQUFVLEVBTWIsTUFBTSxVQUFVLENBQUM7QUFHbEIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFvQixFQUFFLEtBQW1CLEVBQUUsSUFBZ0I7SUFDaEYsTUFBTSxTQUFTLEdBQW1CO1FBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtRQUN6QixLQUFLO1FBQ0wsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQW9CLEVBQUUsSUFBZ0IsRUFBRSxPQUFtQjtJQUNqRixNQUFNLFNBQVMsR0FBb0I7UUFDL0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQzFCLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBb0IsRUFBRSxJQUFZO0lBQzFELE1BQU0sU0FBUyxHQUFzQjtRQUNqQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFdBQVc7UUFDNUIsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFnRCxPQUFvQixFQUFFLEtBQWlCLEVBQUUsSUFBWTtJQUN6SCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQU0sQ0FBQztJQUMxRCxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxVQUFVLEdBQWUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sYUFBYSxHQUFlLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxHQUFHLEdBQWMsQ0FBQztZQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQVEsQ0FBQztnQkFDcEMsQ0FBQztnQkFDRCxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDNUIsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQVEsQ0FBQztnQkFDdkMsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQW1CO1lBQzlCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUTtZQUN6QixVQUFVO1lBQ1YsYUFBYTtZQUNiLElBQUk7U0FDUCxDQUFDO1FBRUYsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUN4QixRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxRQUFRO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZVF1ZXJpZXMsIElkUGF0aCwgTnVtYmVyUGF0aCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCB7XG4gICAgQWN0aW9uTmFtZSxcbiAgICBBZGRGaWVsZEFjdGlvbixcbiAgICBNb3ZlRmllbGRBY3Rpb24sXG4gICAgUmVtb3ZlRmllbGRBY3Rpb24sXG4gICAgU2V0RmllbGRBY3Rpb24sXG4gICAgQUlWaWV3VGFibGVcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZVZpZXdGaWVsZCB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkRmllbGQoYWlUYWJsZTogQUlWaWV3VGFibGUsIGZpZWxkOiBBSVRhYmxlRmllbGQsIHBhdGg6IE51bWJlclBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZEZpZWxkQWN0aW9uID0ge1xuICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW92ZUZpZWxkKGFpVGFibGU6IEFJVmlld1RhYmxlLCBwYXRoOiBOdW1iZXJQYXRoLCBuZXdQYXRoOiBOdW1iZXJQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBNb3ZlRmllbGRBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuTW92ZUZpZWxkLFxuICAgICAgICBwYXRoLFxuICAgICAgICBuZXdQYXRoXG4gICAgfTtcbiAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVGaWVsZChhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcGF0aDogSWRQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBSZW1vdmVGaWVsZEFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RmllbGQ8VCBleHRlbmRzIEFJVGFibGVWaWV3RmllbGQgPSBBSVRhYmxlVmlld0ZpZWxkPihhaVRhYmxlOiBBSVZpZXdUYWJsZSwgdmFsdWU6IFBhcnRpYWw8VD4sIHBhdGg6IElkUGF0aCkge1xuICAgIGNvbnN0IGZpZWxkID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGQoYWlUYWJsZSwgcGF0aCkgYXMgVDtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydGllczogUGFydGlhbDxUPiA9IHt9O1xuICAgICAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPFQ+ID0ge307XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIFQ7XG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZmllbGRba10pICE9PSBKU09OLnN0cmluZ2lmeSh2YWx1ZVtrXSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoZmllbGQuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllc1trXSA9IGZpZWxkW2tdIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKG5ld1Byb3BlcnRpZXNba10gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllc1trXSA9IHZhbHVlW2tdIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcGVyYXRpb246IFNldEZpZWxkQWN0aW9uID0ge1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5TZXRGaWVsZCxcbiAgICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9O1xuXG4gICAgICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBGaWVsZEFjdGlvbnMgPSB7XG4gICAgYWRkRmllbGQsXG4gICAgbW92ZUZpZWxkLFxuICAgIHJlbW92ZUZpZWxkLFxuICAgIHNldEZpZWxkXG59O1xuIl19
@@ -0,0 +1,179 @@
1
+ import { ActionName } from '../types';
2
+ import { createDraft, finishDraft } from 'immer';
3
+ import { getDefaultFieldValue } from '@ai-table/grid';
4
+ import { createDefaultPositions, isPathEqual } from '../utils';
5
+ const apply = (aiTable, records, fields, views, action) => {
6
+ switch (action.type) {
7
+ case ActionName.UpdateFieldValue: {
8
+ const [recordId, fieldId] = action.path;
9
+ if (recordId && fieldId) {
10
+ const recordIndex = aiTable.records().findIndex((item) => item._id === recordId);
11
+ records[recordIndex].values[fieldId] = action.newFieldValue;
12
+ }
13
+ break;
14
+ }
15
+ case ActionName.AddRecord: {
16
+ const [recordIndex] = action.path;
17
+ if (recordIndex > -1) {
18
+ if (!action.record.positions) {
19
+ const activeView = aiTable.views().find((item) => item._id === aiTable.activeViewId());
20
+ let index = recordIndex;
21
+ if (activeView?.settings?.conditions) {
22
+ index = records.length;
23
+ }
24
+ action.record.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.records(), index);
25
+ }
26
+ records.splice(recordIndex, 0, action.record);
27
+ }
28
+ break;
29
+ }
30
+ case ActionName.AddField: {
31
+ const [fieldIndex] = action.path;
32
+ if (fieldIndex > -1) {
33
+ const newField = action.field;
34
+ newField.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.fields(), action.path[0]);
35
+ fields.splice(fieldIndex, 0, newField);
36
+ const newRecord = {
37
+ [newField._id]: getDefaultFieldValue(action.field)
38
+ };
39
+ records.forEach((item) => {
40
+ item.values = {
41
+ ...item.values,
42
+ ...newRecord
43
+ };
44
+ });
45
+ }
46
+ break;
47
+ }
48
+ case ActionName.MoveRecord: {
49
+ if (isPathEqual(action.path, action.newPath)) {
50
+ return;
51
+ }
52
+ const record = records[action.path[0]];
53
+ records.splice(action.path[0], 1);
54
+ records.splice(action.newPath[0], 0, record);
55
+ break;
56
+ }
57
+ case ActionName.MoveField: {
58
+ if (isPathEqual(action.path, action.newPath)) {
59
+ return;
60
+ }
61
+ const field = fields[action.path[0]];
62
+ fields.splice(action.path[0], 1);
63
+ fields.splice(action.newPath[0], 0, field);
64
+ break;
65
+ }
66
+ case ActionName.RemoveField: {
67
+ const [fieldId] = action.path;
68
+ const fieldIndex = aiTable.fields().findIndex((item) => item._id === fieldId);
69
+ if (fieldIndex > -1) {
70
+ fields.splice(fieldIndex, 1);
71
+ records.forEach((item) => {
72
+ delete item.values[fieldId];
73
+ });
74
+ }
75
+ break;
76
+ }
77
+ case ActionName.RemoveRecord: {
78
+ const [recordId] = action.path;
79
+ const recordIndex = aiTable.records().findIndex((item) => item._id === recordId);
80
+ if (recordIndex > -1) {
81
+ records.splice(recordIndex, 1);
82
+ }
83
+ break;
84
+ }
85
+ case ActionName.SetField: {
86
+ const field = fields.find((item) => item._id === action.path[0]);
87
+ if (field) {
88
+ for (const key in action.newProperties) {
89
+ const k = key;
90
+ const value = action.newProperties[k];
91
+ if (value == null) {
92
+ delete field[k];
93
+ }
94
+ else {
95
+ field[k] = value;
96
+ }
97
+ }
98
+ // properties that were previously defined, but are now missing, must be deleted
99
+ for (const key in action.properties) {
100
+ if (!action.newProperties.hasOwnProperty(key)) {
101
+ delete field[key];
102
+ }
103
+ }
104
+ }
105
+ break;
106
+ }
107
+ case ActionName.SetView: {
108
+ const view = views.find((item) => item._id === action.path[0]);
109
+ if (view) {
110
+ for (const key in action.newProperties) {
111
+ const k = key;
112
+ const value = action.newProperties[k];
113
+ if (value == null) {
114
+ delete view[k];
115
+ }
116
+ else {
117
+ view[k] = value;
118
+ }
119
+ }
120
+ // properties that were previously defined, but are now missing, must be deleted
121
+ for (const key in action.properties) {
122
+ if (!action.newProperties.hasOwnProperty(key)) {
123
+ delete view[key];
124
+ }
125
+ }
126
+ }
127
+ break;
128
+ }
129
+ case ActionName.AddView: {
130
+ const [viewIndex] = action.path;
131
+ if (viewIndex > -1) {
132
+ views.splice(viewIndex, 0, action.view);
133
+ }
134
+ break;
135
+ }
136
+ case ActionName.RemoveView: {
137
+ const [viewId] = action.path;
138
+ const viewIndex = views.findIndex((item) => item._id === viewId);
139
+ if (viewIndex > -1) {
140
+ views.splice(viewIndex, 1);
141
+ }
142
+ break;
143
+ }
144
+ case ActionName.AddRecordPosition: {
145
+ const { position, path } = action;
146
+ const record = records.find((item) => item._id === path[0]);
147
+ if (record) {
148
+ record.positions = {
149
+ ...record.positions,
150
+ ...position
151
+ };
152
+ }
153
+ break;
154
+ }
155
+ case ActionName.RemoveRecordPosition: {
156
+ const { path } = action;
157
+ const record = records.find((item) => item._id === path[1]);
158
+ delete record?.positions[path[0]];
159
+ break;
160
+ }
161
+ }
162
+ return {
163
+ records,
164
+ fields,
165
+ views
166
+ };
167
+ };
168
+ export const GeneralActions = {
169
+ transform(aiTable, action) {
170
+ const records = createDraft(aiTable.records());
171
+ const fields = createDraft(aiTable.fields());
172
+ const views = createDraft(aiTable.views());
173
+ apply(aiTable, records, fields, views, action);
174
+ aiTable.fields.set(finishDraft(fields));
175
+ aiTable.records.set(finishDraft(records));
176
+ aiTable.views.set(finishDraft(views));
177
+ }
178
+ };
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1SCxNQUFNLFVBQVUsQ0FBQztBQUMzSixPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLEVBQStCLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvRCxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQW9CLEVBQUUsT0FBMkIsRUFBRSxNQUFxQixFQUFFLEtBQW9CLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQ3BJLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLEtBQUssVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUMvQixNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDeEMsSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQ2pGLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsTUFBTTtRQUNWLENBQUM7UUFDRCxLQUFLLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxD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LElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE1BQU07UUFDVixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU87UUFDSCxPQUFPO1FBQ1AsTUFBTTtRQUNOLEtBQUs7S0FDUixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFNBQVMsQ0FBQyxPQUFvQixFQUFFLE1BQXFCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQXVCLENBQUM7UUFDckUsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBc0IsQ0FBQztRQUNsRSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDM0MsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUsIEFJVGFibGVBY3Rpb24sIEFJVGFibGVWaWV3LCBBSVRhYmxlVmlld0ZpZWxkLCBBSVRhYmxlVmlld0ZpZWxkcywgQUlUYWJsZVZpZXdSZWNvcmQsIEFJVGFibGVWaWV3UmVjb3JkcywgQUlWaWV3VGFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVEcmFmdCwgZmluaXNoRHJhZnQgfSBmcm9tICdpbW1lcic7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZHMsIGdldERlZmF1bHRGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgY3JlYXRlRGVmYXVsdFBvc2l0aW9ucywgaXNQYXRoRXF1YWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGFwcGx5ID0gKGFpVGFibGU6IEFJVmlld1RhYmxlLCByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsIGZpZWxkczogQUlUYWJsZUZpZWxkcywgdmlld3M6IEFJVGFibGVWaWV3W10sIGFjdGlvbjogQUlUYWJsZUFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWU6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZCwgZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJZCAmJiBmaWVsZElkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1tyZWNvcmRJbmRleF0udmFsdWVzW2ZpZWxkSWRdID0gYWN0aW9uLm5ld0ZpZWxkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcmVjb3JkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVWaWV3Py5zZXR0aW5ncz8uY29uZGl0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSByZWNvcmRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCkucG9zaXRpb25zID0gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUudmlld3MoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMCwgYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gYWN0aW9uLmZpZWxkO1xuICAgICAgICAgICAgICAgIChuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMgPSBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDAsIG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1JlY29yZCA9IHtcbiAgICAgICAgICAgICAgICAgICAgW25ld0ZpZWxkLl9pZF06IGdldERlZmF1bHRGaWVsZFZhbHVlKGFjdGlvbi5maWVsZClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4ubmV3UmVjb3JkXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuTW92ZVJlY29yZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCByZWNvcmQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLk1vdmVGaWVsZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1thY3Rpb24ucGF0aFswXV07XG4gICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoYWN0aW9uLm5ld1BhdGhbMF0sIDAsIGZpZWxkKTtcblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBhaVRhYmxlLmZpZWxkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoZmllbGRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLnZhbHVlc1tmaWVsZElkXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gYWlUYWJsZS5yZWNvcmRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcmVjb3JkSWQpO1xuICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ubmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFtrXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZFtrXSBhcyBhbnkpID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aW9uLm5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkWzxrZXlvZiBBSVRhYmxlRmllbGQ+a2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gdmlld3MuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlVmlldztcbiAgICAgICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlVmlldztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3W2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3WzxrZXlvZiBBSVRhYmxlVmlldz5rZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IFt2aWV3SW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAwLCBhY3Rpb24udmlldyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlVmlldzoge1xuICAgICAgICAgICAgY29uc3QgW3ZpZXdJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdJbmRleCA9IHZpZXdzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHZpZXdJZCk7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5BZGRSZWNvcmRQb3NpdGlvbjoge1xuICAgICAgICAgICAgY29uc3QgeyBwb3NpdGlvbiwgcGF0aCB9ID0gYWN0aW9uO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gcmVjb3Jkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcGF0aFswXSk7XG4gICAgICAgICAgICBpZiAocmVjb3JkKSB7XG4gICAgICAgICAgICAgICAgcmVjb3JkLnBvc2l0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVjb3JkLnBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgLi4ucG9zaXRpb25cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZFBvc2l0aW9uOiB7XG4gICAgICAgICAgICBjb25zdCB7IHBhdGggfSA9IGFjdGlvbjtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHBhdGhbMV0pO1xuICAgICAgICAgICAgZGVsZXRlIHJlY29yZD8ucG9zaXRpb25zW3BhdGhbMF1dO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVjb3JkcyxcbiAgICAgICAgZmllbGRzLFxuICAgICAgICB2aWV3c1xuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgR2VuZXJhbEFjdGlvbnMgPSB7XG4gICAgdHJhbnNmb3JtKGFpVGFibGU6IEFJVmlld1RhYmxlLCBhY3Rpb246IEFJVGFibGVBY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVjb3JkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUucmVjb3JkcygpKSBhcyBBSVRhYmxlVmlld1JlY29yZHM7XG4gICAgICAgIGNvbnN0IGZpZWxkcyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUuZmllbGRzKCkpIGFzIEFJVGFibGVWaWV3RmllbGRzO1xuICAgICAgICBjb25zdCB2aWV3cyA9IGNyZWF0ZURyYWZ0KGFpVGFibGUudmlld3MoKSk7XG4gICAgICAgIGFwcGx5KGFpVGFibGUsIHJlY29yZHMsIGZpZWxkcywgdmlld3MsIGFjdGlvbik7XG4gICAgICAgIGFpVGFibGUuZmllbGRzLnNldChmaW5pc2hEcmFmdChmaWVsZHMpKTtcbiAgICAgICAgYWlUYWJsZS5yZWNvcmRzLnNldChmaW5pc2hEcmFmdChyZWNvcmRzKSk7XG4gICAgICAgIGFpVGFibGUudmlld3Muc2V0KGZpbmlzaERyYWZ0KHZpZXdzKSk7XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { FieldActions } from './field';
2
+ import { GeneralActions } from './general';
3
+ import { PositionActions } from './position';
4
+ import { RecordActions } from './record';
5
+ import { ViewActions } from './view';
6
+ export const Actions = {
7
+ ...GeneralActions,
8
+ ...RecordActions,
9
+ ...FieldActions,
10
+ ...ViewActions,
11
+ ...PositionActions
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDbkIsR0FBRyxjQUFjO0lBQ2pCLEdBQUcsYUFBYTtJQUNoQixHQUFHLFlBQVk7SUFDZixHQUFHLFdBQVc7SUFDZCxHQUFHLGVBQWU7Q0FDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkQWN0aW9ucyB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgR2VuZXJhbEFjdGlvbnMgfSBmcm9tICcuL2dlbmVyYWwnO1xuaW1wb3J0IHsgUG9zaXRpb25BY3Rpb25zIH0gZnJvbSAnLi9wb3NpdGlvbic7XG5pbXBvcnQgeyBSZWNvcmRBY3Rpb25zIH0gZnJvbSAnLi9yZWNvcmQnO1xuaW1wb3J0IHsgVmlld0FjdGlvbnMgfSBmcm9tICcuL3ZpZXcnO1xuXG5leHBvcnQgY29uc3QgQWN0aW9ucyA9IHtcbiAgICAuLi5HZW5lcmFsQWN0aW9ucyxcbiAgICAuLi5SZWNvcmRBY3Rpb25zLFxuICAgIC4uLkZpZWxkQWN0aW9ucyxcbiAgICAuLi5WaWV3QWN0aW9ucyxcbiAgICAuLi5Qb3NpdGlvbkFjdGlvbnNcbn07XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { ActionName } from "../types";
2
+ export function setRecordPosition(aiTable, position, path) {
3
+ const operation = {
4
+ type: ActionName.AddRecordPosition,
5
+ position,
6
+ path
7
+ };
8
+ aiTable.apply(operation);
9
+ }
10
+ export function removeRecordPosition(aiTable, path) {
11
+ const operation = {
12
+ type: ActionName.RemoveRecordPosition,
13
+ path
14
+ };
15
+ aiTable.apply(operation);
16
+ }
17
+ export const PositionActions = {
18
+ setRecordPosition,
19
+ removeRecordPosition
20
+ };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvYWN0aW9uL3Bvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStFLE1BQU0sVUFBVSxDQUFDO0FBR25ILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUFvQixFQUFFLFFBQW1CLEVBQUUsSUFBWTtJQUNyRixNQUFNLFNBQVMsR0FBNEI7UUFDdkMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7UUFDbEMsUUFBUTtRQUNSLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE9BQW9CLEVBQUUsSUFBc0I7SUFDN0UsTUFBTSxTQUFTLEdBQStCO1FBQzFDLElBQUksRUFBRSxVQUFVLENBQUMsb0JBQW9CO1FBQ3JDLElBQUk7S0FDUCxDQUFDO0lBQ0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM3QixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLGlCQUFpQjtJQUNqQixvQkFBb0I7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbk5hbWUsIEFkZFJlY29yZFBvc2l0aW9uQWN0aW9uLCBBSVZpZXdUYWJsZSwgUG9zaXRpb25zLCBSZW1vdmVSZWNvcmRQb3NpdGlvbkFjdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgSWRQYXRoIH0gZnJvbSBcIkBhaS10YWJsZS9ncmlkXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRSZWNvcmRQb3NpdGlvbihhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcG9zaXRpb246IFBvc2l0aW9ucywgcGF0aDogSWRQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBBZGRSZWNvcmRQb3NpdGlvbkFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5BZGRSZWNvcmRQb3NpdGlvbixcbiAgICAgICAgcG9zaXRpb24sXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJlY29yZFBvc2l0aW9uKGFpVGFibGU6IEFJVmlld1RhYmxlLCBwYXRoOiBbc3RyaW5nLCBzdHJpbmddKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBSZW1vdmVSZWNvcmRQb3NpdGlvbkFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmRQb3NpdGlvbixcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgY29uc3QgUG9zaXRpb25BY3Rpb25zID0ge1xuICAgIHNldFJlY29yZFBvc2l0aW9uLFxuICAgIHJlbW92ZVJlY29yZFBvc2l0aW9uXG59O1xuIl19
@@ -0,0 +1,44 @@
1
+ import { AITableQueries } from "@ai-table/grid";
2
+ import { ActionName } from "../types";
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2FjdGlvbi9yZWNvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixjQUFjLEVBQXFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUEwQixVQUFVLEVBQXNFLE1BQU0sVUFBVSxDQUFDO0FBRWxJLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUFvQixFQUFFLEtBQVUsRUFBRSxJQUF3QjtJQUN2RixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNsQixNQUFNLFNBQVMsR0FBMkI7WUFDdEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7WUFDakMsVUFBVSxFQUFFLEtBQUs7WUFDakIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsSUFBSTtTQUNQLENBQUM7UUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFvQixFQUFFLE1BQXFCLEVBQUUsSUFBZ0I7SUFDbkYsTUFBTSxTQUFTLEdBQW9CO1FBQy9CLElBQUksRUFBRSxVQUFVLENBQUMsU0FBUztRQUMxQixNQUFNO1FBQ04sSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQW9CLEVBQUUsSUFBZ0IsRUFBRSxPQUFtQjtJQUNsRixNQUFNLFNBQVMsR0FBcUI7UUFDaEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVO1FBQzNCLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBb0IsRUFBRSxJQUFZO0lBQzNELE1BQU0sU0FBUyxHQUF1QjtRQUNsQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVk7UUFDN0IsSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsU0FBUztJQUNULGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsWUFBWTtDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSUZpZWxkVmFsdWVJZFBhdGgsIEFJVGFibGVRdWVyaWVzLCBBSVRhYmxlUmVjb3JkLCBJZFBhdGgsIE51bWJlclBhdGggfSBmcm9tIFwiQGFpLXRhYmxlL2dyaWRcIjtcbmltcG9ydCB7IFVwZGF0ZUZpZWxkVmFsdWVBY3Rpb24sIEFjdGlvbk5hbWUsIEFkZFJlY29yZEFjdGlvbiwgTW92ZVJlY29yZEFjdGlvbiwgUmVtb3ZlUmVjb3JkQWN0aW9uLCBBSVZpZXdUYWJsZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRmllbGRWYWx1ZShhaVRhYmxlOiBBSVZpZXdUYWJsZSwgdmFsdWU6IGFueSwgcGF0aDogQUlGaWVsZFZhbHVlSWRQYXRoKSB7XG4gICAgY29uc3QgZmllbGQgPSBBSVRhYmxlUXVlcmllcy5nZXRGaWVsZFZhbHVlKGFpVGFibGUsIHBhdGgpO1xuICAgIGlmIChmaWVsZCAhPT0gdmFsdWUpIHtcbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uOiBVcGRhdGVGaWVsZFZhbHVlQWN0aW9uID0ge1xuICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICAgICAgZmllbGRWYWx1ZTogZmllbGQsXG4gICAgICAgICAgICBuZXdGaWVsZFZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIHBhdGhcbiAgICAgICAgfTtcbiAgICAgICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlY29yZChhaVRhYmxlOiBBSVZpZXdUYWJsZSwgcmVjb3JkOiBBSVRhYmxlUmVjb3JkLCBwYXRoOiBOdW1iZXJQYXRoKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uOiBBZGRSZWNvcmRBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkUmVjb3JkLFxuICAgICAgICByZWNvcmQsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVSZWNvcmQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHBhdGg6IE51bWJlclBhdGgsIG5ld1BhdGg6IE51bWJlclBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IE1vdmVSZWNvcmRBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuTW92ZVJlY29yZCxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbmV3UGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUmVjb3JkKGFpVGFibGU6IEFJVmlld1RhYmxlLCBwYXRoOiBJZFBhdGgpIHtcbiAgICBjb25zdCBvcGVyYXRpb246IFJlbW92ZVJlY29yZEFjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQsXG4gICAgICAgIHBhdGhcbiAgICB9O1xuICAgIGFpVGFibGUuYXBwbHkob3BlcmF0aW9uKTtcbn1cblxuZXhwb3J0IGNvbnN0IFJlY29yZEFjdGlvbnMgPSB7XG4gICAgYWRkUmVjb3JkLFxuICAgIHVwZGF0ZUZpZWxkVmFsdWUsXG4gICAgbW92ZVJlY29yZCxcbiAgICByZW1vdmVSZWNvcmRcbn07XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { ActionName } from "../types";
2
+ function setView(aiTable, value, path) {
3
+ const view = aiTable.views().find((item) => item._id === path[0]);
4
+ if (view) {
5
+ const properties = {};
6
+ const newProperties = {};
7
+ for (const key in value) {
8
+ const k = key;
9
+ if (JSON.stringify(view[k]) !== JSON.stringify(value[k])) {
10
+ if (view.hasOwnProperty(k)) {
11
+ properties[k] = view[k];
12
+ }
13
+ if (newProperties[k] !== null) {
14
+ newProperties[k] = value[k];
15
+ }
16
+ }
17
+ }
18
+ const operation = {
19
+ type: ActionName.SetView,
20
+ properties,
21
+ newProperties,
22
+ path
23
+ };
24
+ aiTable.apply(operation);
25
+ }
26
+ }
27
+ function addView(aiTable, view, path) {
28
+ const operation = {
29
+ type: ActionName.AddView,
30
+ view,
31
+ path
32
+ };
33
+ aiTable.apply(operation);
34
+ }
35
+ function removeView(aiTable, path) {
36
+ const operation = {
37
+ type: ActionName.RemoveView,
38
+ path
39
+ };
40
+ aiTable.apply(operation);
41
+ }
42
+ export const ViewActions = {
43
+ setView,
44
+ addView,
45
+ removeView
46
+ };
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0RSxNQUFNLFVBQVUsQ0FBQztBQUVoSCxTQUFTLE9BQU8sQ0FBQyxPQUFvQixFQUFFLEtBQTJCLEVBQUUsSUFBYztJQUM5RSxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQUksSUFBSSxFQUFFLENBQUM7UUFDUCxNQUFNLFVBQVUsR0FBeUIsRUFBRSxDQUFDO1FBQzVDLE1BQU0sYUFBYSxHQUF5QixFQUFFLENBQUM7UUFDL0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsR0FBRyxHQUF3QixDQUFDO1lBQ25DLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN6QixVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUNuQyxDQUFDO2dCQUNELElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO29CQUM1QixhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBUSxDQUFDO2dCQUN2QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBa0I7WUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQ3hCLFVBQVU7WUFDVixhQUFhO1lBQ2IsSUFBSTtTQUNQLENBQUM7UUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxPQUFPLENBQUMsT0FBb0IsRUFBRSxJQUFpQixFQUFFLElBQWM7SUFDcEUsTUFBTSxTQUFTLEdBQWtCO1FBQzdCLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTztRQUN4QixJQUFJO1FBQ0osSUFBSTtLQUNQLENBQUM7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxPQUFvQixFQUFFLElBQWM7SUFDcEQsTUFBTSxTQUFTLEdBQXFCO1FBQ2hDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVTtRQUMzQixJQUFJO0tBQ1AsQ0FBQztJQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN2QixPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uTmFtZSwgQWRkVmlld0FjdGlvbiwgQUlUYWJsZVZpZXcsIEFJVmlld1RhYmxlLCBSZW1vdmVWaWV3QWN0aW9uLCBTZXRWaWV3QWN0aW9uIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmZ1bmN0aW9uIHNldFZpZXcoYWlUYWJsZTogQUlWaWV3VGFibGUsIHZhbHVlOiBQYXJ0aWFsPEFJVGFibGVWaWV3PiwgcGF0aDogW3N0cmluZ10pIHtcbiAgICBjb25zdCB2aWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBwYXRoWzBdKTtcbiAgICBpZiAodmlldykge1xuICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PiA9IHt9O1xuICAgICAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3PiA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlVmlldztcbiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeSh2aWV3W2tdKSAhPT0gSlNPTi5zdHJpbmdpZnkodmFsdWVba10pKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZpZXcuaGFzT3duUHJvcGVydHkoaykpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllc1trXSA9IHZpZXdba10gYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmV3UHJvcGVydGllc1trXSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzW2tdID0gdmFsdWVba10gYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wZXJhdGlvbjogU2V0Vmlld0FjdGlvbiA9IHtcbiAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0VmlldyxcbiAgICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9O1xuICAgICAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhZGRWaWV3KGFpVGFibGU6IEFJVmlld1RhYmxlLCB2aWV3OiBBSVRhYmxlVmlldywgcGF0aDogW251bWJlcl0pIHtcbiAgICBjb25zdCBvcGVyYXRpb246IEFkZFZpZXdBY3Rpb24gPSB7XG4gICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgdmlldyxcbiAgICAgICAgcGF0aFxuICAgIH07XG4gICAgYWlUYWJsZS5hcHBseShvcGVyYXRpb24pO1xufVxuXG5mdW5jdGlvbiByZW1vdmVWaWV3KGFpVGFibGU6IEFJVmlld1RhYmxlLCBwYXRoOiBbc3RyaW5nXSkge1xuICAgIGNvbnN0IG9wZXJhdGlvbjogUmVtb3ZlVmlld0FjdGlvbiA9IHtcbiAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICBwYXRoXG4gICAgfTtcbiAgICBhaVRhYmxlLmFwcGx5KG9wZXJhdGlvbik7XG59XG5cbmV4cG9ydCBjb25zdCBWaWV3QWN0aW9ucyA9IHtcbiAgICBzZXRWaWV3LFxuICAgIGFkZFZpZXcsXG4gICAgcmVtb3ZlVmlld1xufTsiXX0=
@@ -0,0 +1,39 @@
1
+ import { AI_TABLE_GRID_FIELD_SERVICE_MAP } from '@ai-table/grid';
2
+ import _ from 'lodash';
3
+ import { Actions } from '../action';
4
+ export const DividerMenuItem = {
5
+ type: 'divider'
6
+ };
7
+ export const EditFieldPropertyItem = {
8
+ type: 'editFieldProperty',
9
+ name: '编辑列',
10
+ icon: 'edit',
11
+ exec: (aiTable, field, origin, position) => {
12
+ const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
13
+ const copyField = _.cloneDeep(field());
14
+ if (origin && position) {
15
+ const popoverRef = fieldService?.editFieldProperty(aiTable, {
16
+ field: copyField,
17
+ isUpdate: true,
18
+ origin: origin,
19
+ position
20
+ });
21
+ if (popoverRef && fieldService && !fieldService.aiFieldConfig?.fieldPropertyEditor) {
22
+ popoverRef.componentInstance.setField.subscribe((value) => {
23
+ Actions.setField(aiTable, value.field, value.path);
24
+ });
25
+ }
26
+ return popoverRef;
27
+ }
28
+ return undefined;
29
+ }
30
+ };
31
+ export const RemoveFieldItem = {
32
+ type: 'removeField',
33
+ name: '删除列',
34
+ icon: 'trash',
35
+ exec: (aiTable, field) => {
36
+ Actions.removeField(aiTable, [field()._id]);
37
+ }
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2NvbnN0YW50cy9maWVsZC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLCtCQUErQixFQUEyRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFJLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3BDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixJQUFJLEVBQUUsU0FBUztDQUNsQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDakMsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLENBQUMsT0FBb0IsRUFBRSxLQUEyQixFQUFFLE1BQXNDLEVBQUUsUUFBbUMsRUFBRSxFQUFFO1FBQ3JJLE1BQU0sWUFBWSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hELEtBQUssRUFBRSxTQUFTO2dCQUNoQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUUsTUFBTztnQkFDZixRQUFRO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxVQUFVLElBQUksWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO2dCQUNoRixVQUFVLENBQUMsaUJBQWdELENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdEQsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxhQUFhO0lBQ25CLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEtBQTJCLEVBQUUsRUFBRTtRQUNwRCxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQXNCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCwgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRNZW51SXRlbSwgQUlUYWJsZUZpZWxkUHJvcGVydHlFZGl0b3IgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdkaXZpZGVyJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRGaWVsZFByb3BlcnR5SXRlbSA9IHtcbiAgICB0eXBlOiAnZWRpdEZpZWxkUHJvcGVydHknLFxuICAgIG5hbWU6ICfnvJbovpHliJcnLFxuICAgIGljb246ICdlZGl0JyxcbiAgICBleGVjOiAoYWlUYWJsZTogQUlWaWV3VGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPiwgb3JpZ2luPzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmPGFueT4sIHBvc2l0aW9uPzogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkU2VydmljZSA9IEFJX1RBQkxFX0dSSURfRklFTERfU0VSVklDRV9NQVAuZ2V0KGFpVGFibGUpO1xuICAgICAgICBjb25zdCBjb3B5RmllbGQ6IEFJVGFibGVGaWVsZCA9IF8uY2xvbmVEZWVwKGZpZWxkKCkpO1xuICAgICAgICBpZiAob3JpZ2luICYmIHBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBwb3BvdmVyUmVmID0gZmllbGRTZXJ2aWNlPy5lZGl0RmllbGRQcm9wZXJ0eShhaVRhYmxlLCB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGNvcHlGaWVsZCxcbiAgICAgICAgICAgICAgICBpc1VwZGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBvcmlnaW46IG9yaWdpbiEsXG4gICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHBvcG92ZXJSZWYgJiYgZmllbGRTZXJ2aWNlICYmICFmaWVsZFNlcnZpY2UuYWlGaWVsZENvbmZpZz8uZmllbGRQcm9wZXJ0eUVkaXRvcikge1xuICAgICAgICAgICAgICAgIChwb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFJVGFibGVGaWVsZFByb3BlcnR5RWRpdG9yKS5zZXRGaWVsZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIEFjdGlvbnMuc2V0RmllbGQoYWlUYWJsZSwgdmFsdWUuZmllbGQsIHZhbHVlLnBhdGgpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBSZW1vdmVGaWVsZEl0ZW0gPSB7XG4gICAgdHlwZTogJ3JlbW92ZUZpZWxkJyxcbiAgICBuYW1lOiAn5Yig6Zmk5YiXJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChhaVRhYmxlOiBBSVRhYmxlLCBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4pID0+IHtcbiAgICAgICAgQWN0aW9ucy5yZW1vdmVGaWVsZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbZmllbGQoKS5faWRdKTtcbiAgICB9XG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './field-menu-item';
2
+ export * from './view';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLW1lbnUtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnOyJdfQ==
@@ -0,0 +1,3 @@
1
+ import { ActionName } from "../types";
2
+ export const VIEW_ACTIONS = [ActionName.SetView, ActionName.AddView, ActionName.RemoveView];
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9jb25zdGFudHMvdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25OYW1lIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBWSUVXX0FDVElPTlMgPSBbQWN0aW9uTmFtZS5TZXRWaWV3LCBBY3Rpb25OYW1lLkFkZFZpZXcsIEFjdGlvbk5hbWUuUmVtb3ZlVmlld107XG4iXX0=