@ai-table/grid 0.0.73 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/angular-konva/components/container.component.d.ts.map +1 -1
  2. package/angular-konva/components/shape.component.d.ts.map +1 -1
  3. package/angular-konva/components/stage.component.d.ts.map +1 -1
  4. package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
  5. package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
  6. package/components/cell-editors/link/edit-link/edit-link.component.d.ts.map +1 -1
  7. package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
  8. package/components/cell-editors/number/number-editor.component.d.ts.map +1 -1
  9. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  10. package/components/cell-editors/text/text-editor.component.d.ts.map +1 -1
  11. package/components/cell-views/select/option.component.d.ts.map +1 -1
  12. package/components/context-menu/context-menu.component.d.ts.map +1 -1
  13. package/components/drag/drag.component.d.ts.map +1 -1
  14. package/components/field-menu/field-menu.component.d.ts.map +1 -1
  15. package/components/field-setting/field-setting.component.d.ts.map +1 -1
  16. package/core/context.d.ts +2 -0
  17. package/core/context.d.ts.map +1 -1
  18. package/core/types/ai-table.d.ts.map +1 -1
  19. package/core/utils/field.d.ts.map +1 -1
  20. package/core/utils/queries.d.ts.map +1 -1
  21. package/core/utils/short-id.d.ts.map +1 -1
  22. package/dom-grid.component.d.ts.map +1 -1
  23. package/fesm2022/ai-table-grid.mjs +322 -310
  24. package/fesm2022/ai-table-grid.mjs.map +1 -1
  25. package/grid-base.component.d.ts +3 -1
  26. package/grid-base.component.d.ts.map +1 -1
  27. package/grid.component.d.ts +1 -1
  28. package/grid.component.d.ts.map +1 -1
  29. package/package.json +3 -5
  30. package/pipes/grid.pipe.d.ts.map +1 -1
  31. package/renderer/components/action-icon.component.d.ts.map +1 -1
  32. package/renderer/components/add-field-column.component.d.ts.map +1 -1
  33. package/renderer/components/cells/attachment.component.d.ts.map +1 -1
  34. package/renderer/components/cells/link.component.d.ts.map +1 -1
  35. package/renderer/components/cells/progress.component.d.ts.map +1 -1
  36. package/renderer/components/cells/rate.component.d.ts.map +1 -1
  37. package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
  38. package/renderer/components/cells.component.d.ts.map +1 -1
  39. package/renderer/components/field-head.component.d.ts +2 -2
  40. package/renderer/components/field-head.component.d.ts.map +1 -1
  41. package/renderer/components/field-icon.component.d.ts.map +1 -1
  42. package/renderer/components/frozen-cells.component.d.ts.map +1 -1
  43. package/renderer/components/frozen-heads.component.d.ts +1 -1
  44. package/renderer/components/frozen-heads.component.d.ts.map +1 -1
  45. package/renderer/components/frozen-placeholder-cells.component.d.ts.map +1 -1
  46. package/renderer/components/heads.component.d.ts +1 -1
  47. package/renderer/components/heads.component.d.ts.map +1 -1
  48. package/renderer/components/hover-cell.component.d.ts.map +1 -1
  49. package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
  50. package/renderer/components/icon.component.d.ts.map +1 -1
  51. package/renderer/components/other-rows.component.d.ts.map +1 -1
  52. package/renderer/components/placeholder-cells.component.d.ts.map +1 -1
  53. package/renderer/components/text.component.d.ts.map +1 -1
  54. package/renderer/creations/create-active-cell-border.d.ts.map +1 -1
  55. package/renderer/creations/create-cells.d.ts.map +1 -1
  56. package/renderer/creations/create-heads.d.ts.map +1 -1
  57. package/renderer/drawers/add-row-layout-drawer.d.ts +1 -1
  58. package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
  59. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  60. package/renderer/drawers/drawer.d.ts +1 -1
  61. package/renderer/renderer.component.d.ts +5 -4
  62. package/renderer/renderer.component.d.ts.map +1 -1
  63. package/types/cell.d.ts +2 -0
  64. package/types/cell.d.ts.map +1 -1
  65. package/types/component-config.d.ts +2 -0
  66. package/types/component-config.d.ts.map +1 -1
  67. package/types/grid.d.ts +4 -0
  68. package/types/grid.d.ts.map +1 -1
  69. package/types/row.d.ts +1 -0
  70. package/types/row.d.ts.map +1 -1
  71. package/utils/build.d.ts.map +1 -1
  72. package/utils/clipboard/clipboard.d.ts.map +1 -1
  73. package/utils/clipboard/copy.d.ts.map +1 -1
  74. package/utils/clipboard/paste.d.ts +5 -1
  75. package/utils/clipboard/paste.d.ts.map +1 -1
  76. package/utils/common.d.ts.map +1 -1
  77. package/utils/field/model/date.d.ts.map +1 -1
  78. package/utils/field/model/link.d.ts.map +1 -1
  79. package/utils/field/model/progress.d.ts.map +1 -1
  80. package/utils/field/model/text.d.ts.map +1 -1
  81. package/utils/get-text-width.d.ts.map +1 -1
  82. package/utils/i18n.d.ts +2 -0
  83. package/utils/i18n.d.ts.map +1 -1
  84. package/utils/match-keywords.d.ts.map +1 -1
  85. package/utils/position.d.ts.map +1 -1
  86. package/utils/style.d.ts.map +1 -1
  87. package/utils/text-measure.d.ts.map +1 -1
  88. package/utils/visible-range.d.ts.map +1 -1
  89. package/esm2022/ai-table-grid.mjs +0 -5
  90. package/esm2022/angular-konva/components/container.component.mjs +0 -29
  91. package/esm2022/angular-konva/components/container.token.mjs +0 -3
  92. package/esm2022/angular-konva/components/index.mjs +0 -4
  93. package/esm2022/angular-konva/components/shape.component.mjs +0 -142
  94. package/esm2022/angular-konva/components/stage.component.mjs +0 -123
  95. package/esm2022/angular-konva/index.mjs +0 -5
  96. package/esm2022/angular-konva/interfaces/component.mjs +0 -4
  97. package/esm2022/angular-konva/interfaces/config.mjs +0 -2
  98. package/esm2022/angular-konva/interfaces/event-object.mjs +0 -2
  99. package/esm2022/angular-konva/interfaces/index.mjs +0 -5
  100. package/esm2022/angular-konva/interfaces/shape.mjs +0 -42
  101. package/esm2022/angular-konva/utils/apply-node-props.mjs +0 -67
  102. package/esm2022/angular-konva/utils/common.mjs +0 -48
  103. package/esm2022/angular-konva/utils/index.mjs +0 -5
  104. package/esm2022/angular-konva/utils/types.mjs +0 -2
  105. package/esm2022/angular-konva/utils/update-picture.mjs +0 -7
  106. package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +0 -56
  107. package/esm2022/components/cell-editors/date/date-editor.component.mjs +0 -87
  108. package/esm2022/components/cell-editors/link/edit-link/edit-link.component.mjs +0 -81
  109. package/esm2022/components/cell-editors/link/link-editor.component.mjs +0 -122
  110. package/esm2022/components/cell-editors/number/number-editor.component.mjs +0 -41
  111. package/esm2022/components/cell-editors/select/select-editor.component.mjs +0 -74
  112. package/esm2022/components/cell-editors/text/text-editor.component.mjs +0 -76
  113. package/esm2022/components/cell-views/select/option.component.mjs +0 -28
  114. package/esm2022/components/context-menu/context-menu.component.mjs +0 -42
  115. package/esm2022/components/drag/drag.component.mjs +0 -300
  116. package/esm2022/components/field-menu/field-menu.component.mjs +0 -47
  117. package/esm2022/components/field-setting/field-setting.component.mjs +0 -142
  118. package/esm2022/components/index.mjs +0 -10
  119. package/esm2022/constants/colors.mjs +0 -19
  120. package/esm2022/constants/editor.mjs +0 -11
  121. package/esm2022/constants/file-icon.mjs +0 -342
  122. package/esm2022/constants/grid.mjs +0 -35
  123. package/esm2022/constants/icon.mjs +0 -30
  124. package/esm2022/constants/index.mjs +0 -7
  125. package/esm2022/constants/table.mjs +0 -78
  126. package/esm2022/constants/text.mjs +0 -23
  127. package/esm2022/core/constants/field.mjs +0 -107
  128. package/esm2022/core/context.mjs +0 -29
  129. package/esm2022/core/coordinate.mjs +0 -222
  130. package/esm2022/core/index.mjs +0 -6
  131. package/esm2022/core/types/ai-table.mjs +0 -57
  132. package/esm2022/core/types/core.mjs +0 -2
  133. package/esm2022/core/types/index.mjs +0 -3
  134. package/esm2022/core/utils/common.mjs +0 -45
  135. package/esm2022/core/utils/field.mjs +0 -64
  136. package/esm2022/core/utils/id-creator.mjs +0 -21
  137. package/esm2022/core/utils/index.mjs +0 -5
  138. package/esm2022/core/utils/queries.mjs +0 -80
  139. package/esm2022/core/utils/short-id.mjs +0 -53
  140. package/esm2022/dom-grid.component.mjs +0 -80
  141. package/esm2022/grid-base.component.mjs +0 -145
  142. package/esm2022/grid.component.mjs +0 -649
  143. package/esm2022/index.mjs +0 -2
  144. package/esm2022/pipes/grid.pipe.mjs +0 -110
  145. package/esm2022/pipes/index.mjs +0 -2
  146. package/esm2022/public-api.mjs +0 -12
  147. package/esm2022/renderer/components/action-icon.component.mjs +0 -117
  148. package/esm2022/renderer/components/add-field-column.component.mjs +0 -88
  149. package/esm2022/renderer/components/cells/attachment.component.mjs +0 -107
  150. package/esm2022/renderer/components/cells/cells.mjs +0 -6
  151. package/esm2022/renderer/components/cells/index.mjs +0 -7
  152. package/esm2022/renderer/components/cells/link.component.mjs +0 -89
  153. package/esm2022/renderer/components/cells/progress.component.mjs +0 -268
  154. package/esm2022/renderer/components/cells/rate.component.mjs +0 -153
  155. package/esm2022/renderer/components/cells/rich-text.component.mjs +0 -95
  156. package/esm2022/renderer/components/cells.component.mjs +0 -35
  157. package/esm2022/renderer/components/field-head.component.mjs +0 -146
  158. package/esm2022/renderer/components/field-icon.component.mjs +0 -72
  159. package/esm2022/renderer/components/frozen-cells.component.mjs +0 -36
  160. package/esm2022/renderer/components/frozen-heads.component.mjs +0 -214
  161. package/esm2022/renderer/components/frozen-placeholder-cells.component.mjs +0 -38
  162. package/esm2022/renderer/components/heads.component.mjs +0 -38
  163. package/esm2022/renderer/components/hover-cell.component.mjs +0 -104
  164. package/esm2022/renderer/components/hover-row-heads.component.mjs +0 -132
  165. package/esm2022/renderer/components/icon.component.mjs +0 -84
  166. package/esm2022/renderer/components/index.mjs +0 -15
  167. package/esm2022/renderer/components/other-rows.component.mjs +0 -68
  168. package/esm2022/renderer/components/placeholder-cells.component.mjs +0 -33
  169. package/esm2022/renderer/components/text.component.mjs +0 -67
  170. package/esm2022/renderer/creations/create-active-cell-border.mjs +0 -70
  171. package/esm2022/renderer/creations/create-cells.mjs +0 -190
  172. package/esm2022/renderer/creations/create-heads.mjs +0 -51
  173. package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +0 -98
  174. package/esm2022/renderer/drawers/cell-drawer.mjs +0 -673
  175. package/esm2022/renderer/drawers/drawer.mjs +0 -947
  176. package/esm2022/renderer/drawers/layout-drawer.mjs +0 -64
  177. package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +0 -131
  178. package/esm2022/renderer/index.mjs +0 -4
  179. package/esm2022/renderer/interfaces/hover-cell.mjs +0 -4
  180. package/esm2022/renderer/interfaces/index.mjs +0 -2
  181. package/esm2022/renderer/renderer.component.mjs +0 -197
  182. package/esm2022/services/event.service.mjs +0 -241
  183. package/esm2022/services/field.service.mjs +0 -56
  184. package/esm2022/services/index.mjs +0 -4
  185. package/esm2022/services/selection.service.mjs +0 -151
  186. package/esm2022/types/avatar.mjs +0 -27
  187. package/esm2022/types/canvas.mjs +0 -2
  188. package/esm2022/types/cell.mjs +0 -2
  189. package/esm2022/types/clipboard.mjs +0 -2
  190. package/esm2022/types/component-config.mjs +0 -7
  191. package/esm2022/types/field.mjs +0 -2
  192. package/esm2022/types/grid.mjs +0 -17
  193. package/esm2022/types/index.mjs +0 -10
  194. package/esm2022/types/layout.mjs +0 -2
  195. package/esm2022/types/row.mjs +0 -6
  196. package/esm2022/utils/build.mjs +0 -39
  197. package/esm2022/utils/cell.mjs +0 -80
  198. package/esm2022/utils/clear-cells.mjs +0 -23
  199. package/esm2022/utils/clipboard/clipboard.mjs +0 -88
  200. package/esm2022/utils/clipboard/copy.mjs +0 -99
  201. package/esm2022/utils/clipboard/extract.mjs +0 -38
  202. package/esm2022/utils/clipboard/index.mjs +0 -5
  203. package/esm2022/utils/clipboard/paste.mjs +0 -188
  204. package/esm2022/utils/common.mjs +0 -50
  205. package/esm2022/utils/field/field-operable.mjs +0 -2
  206. package/esm2022/utils/field/field.mjs +0 -20
  207. package/esm2022/utils/field/index.mjs +0 -4
  208. package/esm2022/utils/field/model/attachment.mjs +0 -56
  209. package/esm2022/utils/field/model/date.mjs +0 -141
  210. package/esm2022/utils/field/model/index.mjs +0 -12
  211. package/esm2022/utils/field/model/link.mjs +0 -56
  212. package/esm2022/utils/field/model/member.mjs +0 -81
  213. package/esm2022/utils/field/model/number.mjs +0 -59
  214. package/esm2022/utils/field/model/progress.mjs +0 -69
  215. package/esm2022/utils/field/model/rate.mjs +0 -58
  216. package/esm2022/utils/field/model/rich-text.mjs +0 -39
  217. package/esm2022/utils/field/model/select.mjs +0 -131
  218. package/esm2022/utils/field/model/text.mjs +0 -32
  219. package/esm2022/utils/field/operate.mjs +0 -73
  220. package/esm2022/utils/file.mjs +0 -116
  221. package/esm2022/utils/get-placeholder-cells.mjs +0 -66
  222. package/esm2022/utils/get-text-width.mjs +0 -30
  223. package/esm2022/utils/hover-cell.mjs +0 -25
  224. package/esm2022/utils/i18n.mjs +0 -87
  225. package/esm2022/utils/image-cache.mjs +0 -57
  226. package/esm2022/utils/index.mjs +0 -19
  227. package/esm2022/utils/match-keywords.mjs +0 -15
  228. package/esm2022/utils/os.mjs +0 -16
  229. package/esm2022/utils/position.mjs +0 -48
  230. package/esm2022/utils/style.mjs +0 -37
  231. package/esm2022/utils/text-measure.mjs +0 -122
  232. package/esm2022/utils/visible-range.mjs +0 -42
@@ -1,188 +0,0 @@
1
- import { AITable, createDefaultField, createDefaultFieldName, getFieldOptions, getFieldValue, idCreator } from '../../core';
2
- import { readFromClipboard, aiTableFragmentAttribute, extractText } from '../clipboard';
3
- import { processPastedValueForSelect } from '../field/model/select';
4
- import { FieldModelMap } from '../field';
5
- import { AITableFieldType } from '@ai-table/utils';
6
- const aiTableAttributePattern = new RegExp(`${aiTableFragmentAttribute}="(.+?)"`, 'm');
7
- const decodeClipboardJsonData = (encoded) => {
8
- const decoded = decodeURIComponent(window.atob(encoded));
9
- return JSON.parse(decoded);
10
- };
11
- function extractContentFromClipboardText(clipboardText) {
12
- const contents = clipboardText
13
- .split('\n')
14
- .map((row) => row.split('\t'))
15
- .filter((row) => row.length > 0 && row.some((cell) => cell.trim().length > 0));
16
- return contents;
17
- }
18
- function processTableCell(cellHtml) {
19
- const linkPattern = /<a[^>]*?href=["']([^"']+)["'][^>]*?>([^<]*?)<\/a>/i;
20
- const match = cellHtml.match(linkPattern);
21
- const link = match ? { href: match[1], text: match[2] } : null;
22
- const content = link ? cellHtml.replace(linkPattern, `[LINK:${link.text}](${link.href})`) : cellHtml;
23
- const cleanContent = content
24
- .replace(/<[^>]+>/g, '')
25
- .replace(/&nbsp;/g, ' ')
26
- .replace(/\s+/g, ' ')
27
- .trim();
28
- return link ? cleanContent.replace(`[LINK:${link.text}](${link.href})`, `<a href="${link.href}">${link.text}</a>`) : cleanContent;
29
- }
30
- function extractContentFromClipboardHtml(clipboardHtml) {
31
- const tablePattern = /<table[^>]*>([\s\S]*?)<\/table>/i;
32
- const trPattern = /<tr[^>]*>([\s\S]*?)<\/tr>/gi;
33
- const tdPattern = /<td[^>]*?>([\s\S]*?)<\/td>/gi;
34
- try {
35
- const tableMatch = clipboardHtml.match(tablePattern);
36
- const tableContent = tableMatch ? tableMatch[1] : clipboardHtml;
37
- const rows = tableContent.match(trPattern) || [];
38
- return rows
39
- .map((row) => {
40
- const contents = [];
41
- let tdMatch;
42
- while ((tdMatch = tdPattern.exec(row)) !== null) {
43
- contents.push(processTableCell(tdMatch[1]));
44
- }
45
- return contents;
46
- })
47
- .filter((row) => row.length > 0);
48
- }
49
- catch (error) {
50
- console.warn('Failed to extract content from HTML:', error);
51
- return [];
52
- }
53
- }
54
- function extractAITableContentFromClipboardHtml(clipboardHtml) {
55
- const aiTableFragment = clipboardHtml.match(aiTableAttributePattern);
56
- if (aiTableFragment && !!aiTableFragment.length) {
57
- return decodeClipboardJsonData(aiTableFragment[1]);
58
- }
59
- return null;
60
- }
61
- const readClipboardData = async () => {
62
- const clipboardData = await readFromClipboard();
63
- let clipboardContent = [];
64
- let aiTableContent = null;
65
- if (clipboardData) {
66
- const clipboardHtml = clipboardData.html;
67
- const clipboardText = clipboardData.text;
68
- if (clipboardHtml) {
69
- aiTableContent = extractAITableContentFromClipboardHtml(clipboardHtml);
70
- clipboardContent = extractContentFromClipboardHtml(clipboardHtml);
71
- }
72
- if (!clipboardContent.length && clipboardText) {
73
- clipboardContent = extractContentFromClipboardText(clipboardText);
74
- }
75
- }
76
- return {
77
- clipboardContent,
78
- aiTableContent
79
- };
80
- };
81
- function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targetField, references) {
82
- let field = null;
83
- let record = null;
84
- if (aiTableContent) {
85
- const { fields, records } = aiTableContent;
86
- field = fields[fieldIndex];
87
- record = records[recordIndex];
88
- }
89
- if (targetField.type !== AITableFieldType.link) {
90
- plainText = extractText(plainText);
91
- }
92
- let originData = field && record ? { field, cellValue: getFieldValue(record, field) } : null;
93
- if (targetField.type === AITableFieldType.select) {
94
- let { existOptionIds, newOptions } = processPastedValueForSelect(plainText, targetField, originData);
95
- let newField = null;
96
- let newOptionIds = [];
97
- if (newOptions.length) {
98
- newField = {
99
- ...targetField,
100
- settings: {
101
- ...targetField.settings,
102
- options: [...(targetField.settings?.options || []), ...newOptions]
103
- }
104
- };
105
- newOptionIds = newOptions.map((option) => option._id).filter((id) => !!id);
106
- }
107
- const selectFieldValue = newOptionIds?.length ? [...existOptionIds, ...newOptionIds] : existOptionIds;
108
- return {
109
- value: selectFieldValue,
110
- newField
111
- };
112
- }
113
- return { value: FieldModelMap[targetField.type].toFieldValue(plainText, targetField, originData, references), newField: null };
114
- }
115
- function appendField(aiTable, originField, actions) {
116
- let defaultFieldValue;
117
- if (originField) {
118
- const fieldOptions = getFieldOptions(aiTable);
119
- defaultFieldValue = {
120
- ...originField,
121
- name: createDefaultFieldName(aiTable, fieldOptions.find((item) => item.type === originField.type)),
122
- _id: idCreator()
123
- };
124
- }
125
- else {
126
- defaultFieldValue = createDefaultField(aiTable, AITableFieldType.text);
127
- }
128
- actions.addField({
129
- defaultValue: defaultFieldValue
130
- });
131
- }
132
- export const writeToAITable = async (aiTable, actions) => {
133
- const selectedCells = Array.from(aiTable.selection().selectedCells);
134
- if (!selectedCells.length) {
135
- return;
136
- }
137
- const { clipboardContent, aiTableContent } = await readClipboardData();
138
- if (!clipboardContent.length) {
139
- return;
140
- }
141
- const [firstCell] = selectedCells;
142
- const [startRecordId, startFieldId] = firstCell.split(':');
143
- const startRowIndex = aiTable.context.visibleRowsIndexMap().get(startRecordId) ?? 0;
144
- const lastRowIndex = aiTable.context.linearRows().length - 1;
145
- const appendRowCount = clipboardContent.length - (lastRowIndex - startRowIndex);
146
- actions.addRecord({ count: appendRowCount });
147
- const startColIndex = aiTable.context.visibleColumnsIndexMap().get(startFieldId) ?? 0;
148
- const lastColIndex = aiTable.context.visibleColumnsIndexMap().size - 1;
149
- const copiedFieldLength = clipboardContent[0].length;
150
- const appendColCount = copiedFieldLength - (lastColIndex - startColIndex) - 1;
151
- const appendOffeset = copiedFieldLength - appendColCount;
152
- for (let i = 0; i < appendColCount; i++) {
153
- const originField = aiTableContent?.fields[appendOffeset + i] || null;
154
- appendField(aiTable, originField, actions);
155
- }
156
- const linearRows = aiTable.context.linearRows();
157
- const references = aiTable.context.references();
158
- let isPasteSuccess = false;
159
- let visibleFields = AITable.getVisibleFields(aiTable);
160
- clipboardContent.forEach((row, i) => {
161
- const targetRowIndex = startRowIndex + i;
162
- row.forEach((plainText, j) => {
163
- const targetColIndex = startColIndex + j;
164
- const targetRecord = linearRows[targetRowIndex];
165
- const targetField = visibleFields[targetColIndex];
166
- const recordIndex = i;
167
- const fieldIndex = j;
168
- const { value, newField } = getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targetField, references);
169
- if (newField) {
170
- actions.setField(newField);
171
- }
172
- if (value !== null) {
173
- try {
174
- actions.updateFieldValue({
175
- value,
176
- path: [targetRecord._id, targetField._id]
177
- });
178
- isPasteSuccess = true;
179
- }
180
- catch (error) {
181
- console.error('Failed to paste value:', error);
182
- }
183
- }
184
- });
185
- });
186
- return isPasteSuccess;
187
- };
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUVILGdCQUFnQixFQVFuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyx3QkFBd0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRXZGLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtJQUNoRCxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQztBQUVGLFNBQVMsK0JBQStCLENBQUMsYUFBcUI7SUFDMUQsTUFBTSxRQUFRLEdBQUcsYUFBYTtTQUN6QixLQUFLLENBQUMsSUFBSSxDQUFDO1NBQ1gsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FB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VyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDdEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFFdkgsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDWCxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDO29CQUNELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDckIsS0FBSzt3QkFDTCxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUM7cUJBQzVDLENBQUMsQ0FBQztvQkFDSCxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUNvbnRlbnQgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlLCBjcmVhdGVEZWZhdWx0RmllbGQsIGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUsIGdldEZpZWxkT3B0aW9ucywgZ2V0RmllbGRWYWx1ZSwgaWRDcmVhdG9yIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyByZWFkRnJvbUNsaXBib2FyZCwgYWlUYWJsZUZyYWdtZW50QXR0cmlidXRlLCBleHRyYWN0VGV4dCB9IGZyb20gJy4uL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QgfSBmcm9tICcuLi9maWVsZC9tb2RlbC9zZWxlY3QnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4uL2ZpZWxkJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZUZpZWxkLFxuICAgIEFJVGFibGVGaWVsZFR5cGUsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBTZWxlY3RTZXR0aW5ncyxcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zLFxuICAgIEFkZFJlY29yZE9wdGlvbnMsXG4gICAgQWRkRmllbGRPcHRpb25zLFxuICAgIEFJVGFibGVSZWZlcmVuY2VzXG59IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5cbmNvbnN0IGFpVGFibGVBdHRyaWJ1dGVQYXR0ZXJuID0gbmV3IFJlZ0V4cChgJHthaVRhYmxlRnJhZ21lbnRBdHRyaWJ1dGV9PVwiKC4rPylcImAsICdtJyk7XG5cbmNvbnN0IGRlY29kZUNsaXBib2FyZEpzb25EYXRhID0gKGVuY29kZWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZW5jb2RlZCkpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpO1xufTtcblxuZnVuY3Rpb24gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkVGV4dChjbGlwYm9hcmRUZXh0OiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICBjb25zdCBjb250ZW50cyA9IGNsaXBib2FyZFRleHRcbiAgICAgICAgLnNwbGl0KCdcXG4nKVxuICAgICAgICAubWFwKChyb3cpID0+IHJvdy5zcGxpdCgnXFx0JykpXG4gICAgICAgIC5maWx0ZXIoKHJvdykgPT4gcm93Lmxlbmd0aCA+IDAgJiYgcm93LnNvbWUoKGNlbGwpID0+IGNlbGwudHJpbSgpLmxlbmd0aCA+IDApKTtcblxuICAgIHJldHVybiBjb250ZW50cztcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc1RhYmxlQ2VsbChjZWxsSHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBsaW5rUGF0dGVybiA9IC88YVtePl0qP2hyZWY9W1wiJ10oW15cIiddKylbXCInXVtePl0qPz4oW148XSo/KTxcXC9hPi9pO1xuICAgIGNvbnN0IG1hdGNoID0gY2VsbEh0bWwubWF0Y2gobGlua1BhdHRlcm4pO1xuICAgIGNvbnN0IGxpbmsgPSBtYXRjaCA/IHsgaHJlZjogbWF0Y2hbMV0sIHRleHQ6IG1hdGNoWzJdIH0gOiBudWxsO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBsaW5rID8gY2VsbEh0bWwucmVwbGFjZShsaW5rUGF0dGVybiwgYFtMSU5LOiR7bGluay50ZXh0fV0oJHtsaW5rLmhyZWZ9KWApIDogY2VsbEh0bWw7XG5cbiAgICBjb25zdCBjbGVhbkNvbnRlbnQgPSBjb250ZW50XG4gICAgICAgIC5yZXBsYWNlKC88W14+XSs+L2csICcnKVxuICAgICAgICAucmVwbGFjZSgvJm5ic3A7L2csICcgJylcbiAgICAgICAgLnJlcGxhY2UoL1xccysvZywgJyAnKVxuICAgICAgICAudHJpbSgpO1xuXG4gICAgcmV0dXJuIGxpbmsgPyBjbGVhbkNvbnRlbnQucmVwbGFjZShgW0xJTks6JHtsaW5rLnRleHR9XSgke2xpbmsuaHJlZn0pYCwgYDxhIGhyZWY9XCIke2xpbmsuaHJlZn1cIj4ke2xpbmsudGV4dH08L2E+YCkgOiBjbGVhbkNvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbDogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgdGFibGVQYXR0ZXJuID0gLzx0YWJsZVtePl0qPihbXFxzXFxTXSo/KTxcXC90YWJsZT4vaTtcbiAgICBjb25zdCB0clBhdHRlcm4gPSAvPHRyW14+XSo+KFtcXHNcXFNdKj8pPFxcL3RyPi9naTtcbiAgICBjb25zdCB0ZFBhdHRlcm4gPSAvPHRkW14+XSo/PihbXFxzXFxTXSo/KTxcXC90ZD4vZ2k7XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCB0YWJsZU1hdGNoID0gY2xpcGJvYXJkSHRtbC5tYXRjaCh0YWJsZVBhdHRlcm4pO1xuICAgICAgICBjb25zdCB0YWJsZUNvbnRlbnQgPSB0YWJsZU1hdGNoID8gdGFibGVNYXRjaFsxXSA6IGNsaXBib2FyZEh0bWw7XG4gICAgICAgIGNvbnN0IHJvd3MgPSB0YWJsZUNvbnRlbnQubWF0Y2godHJQYXR0ZXJuKSB8fCBbXTtcblxuICAgICAgICByZXR1cm4gcm93c1xuICAgICAgICAgICAgLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudHM6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHRkTWF0Y2g7XG5cbiAgICAgICAgICAgICAgICB3aGlsZSAoKHRkTWF0Y2ggPSB0ZFBhdHRlcm4uZXhlYyhyb3cpKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5wdXNoKHByb2Nlc3NUYWJsZUNlbGwodGRNYXRjaFsxXSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBjb250ZW50cztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKChyb3cpID0+IHJvdy5sZW5ndGggPiAwKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBleHRyYWN0IGNvbnRlbnQgZnJvbSBIVE1MOicsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdEFJVGFibGVDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbDogc3RyaW5nKTogQUlUYWJsZUNvbnRlbnQgfCBudWxsIHtcbiAgICBjb25zdCBhaVRhYmxlRnJhZ21lbnQgPSBjbGlwYm9hcmRIdG1sLm1hdGNoKGFpVGFibGVBdHRyaWJ1dGVQYXR0ZXJuKTtcbiAgICBpZiAoYWlUYWJsZUZyYWdtZW50ICYmICEhYWlUYWJsZUZyYWdtZW50Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gZGVjb2RlQ2xpcGJvYXJkSnNvbkRhdGEoYWlUYWJsZUZyYWdtZW50WzFdKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmNvbnN0IHJlYWRDbGlwYm9hcmREYXRhID0gYXN5bmMgKCk6IFByb21pc2U8eyBjbGlwYm9hcmRDb250ZW50OiBzdHJpbmdbXVtdOyBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsIH0+ID0+IHtcbiAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYXdhaXQgcmVhZEZyb21DbGlwYm9hcmQoKTtcbiAgICBsZXQgY2xpcGJvYXJkQ29udGVudDogc3RyaW5nW11bXSA9IFtdO1xuICAgIGxldCBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChjbGlwYm9hcmREYXRhKSB7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZEh0bWwgPSBjbGlwYm9hcmREYXRhLmh0bWw7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZFRleHQgPSBjbGlwYm9hcmREYXRhLnRleHQ7XG5cbiAgICAgICAgaWYgKGNsaXBib2FyZEh0bWwpIHtcbiAgICAgICAgICAgIGFpVGFibGVDb250ZW50ID0gZXh0cmFjdEFJVGFibGVDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbCk7XG4gICAgICAgICAgICBjbGlwYm9hcmRDb250ZW50ID0gZXh0cmFjdENvbnRlbnRGcm9tQ2xpcGJvYXJkSHRtbChjbGlwYm9hcmRIdG1sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2xpcGJvYXJkQ29udGVudC5sZW5ndGggJiYgY2xpcGJvYXJkVGV4dCkge1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGVudCA9IGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZFRleHQoY2xpcGJvYXJkVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBjbGlwYm9hcmRDb250ZW50LFxuICAgICAgICBhaVRhYmxlQ29udGVudFxuICAgIH07XG59O1xuXG5mdW5jdGlvbiBnZXRQYXN0ZVZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIGFpVGFibGVDb250ZW50OiBBSVRhYmxlQ29udGVudCB8IG51bGwsXG4gICAgcmVjb3JkSW5kZXg6IG51bWJlcixcbiAgICBmaWVsZEluZGV4OiBudW1iZXIsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlc1xuKToge1xuICAgIHZhbHVlOiBGaWVsZFZhbHVlIHwgbnVsbDtcbiAgICBuZXdGaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbDtcbn0ge1xuICAgIGxldCBmaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHJlY29yZDogUGFydGlhbDxBSVRhYmxlUmVjb3JkPiB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGFpVGFibGVDb250ZW50KSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGRzLCByZWNvcmRzIH0gPSBhaVRhYmxlQ29udGVudDtcbiAgICAgICAgZmllbGQgPSBmaWVsZHNbZmllbGRJbmRleF07XG4gICAgICAgIHJlY29yZCA9IHJlY29yZHNbcmVjb3JkSW5kZXhdO1xuICAgIH1cblxuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlICE9PSBBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgcGxhaW5UZXh0ID0gZXh0cmFjdFRleHQocGxhaW5UZXh0KTtcbiAgICB9XG5cbiAgICBsZXQgb3JpZ2luRGF0YSA9IGZpZWxkICYmIHJlY29yZCA/IHsgZmllbGQsIGNlbGxWYWx1ZTogZ2V0RmllbGRWYWx1ZShyZWNvcmQsIGZpZWxkKSB9IDogbnVsbDtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgbGV0IHsgZXhpc3RPcHRpb25JZHMsIG5ld09wdGlvbnMgfSA9IHByb2Nlc3NQYXN0ZWRWYWx1ZUZvclNlbGVjdChwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICAgICAgbGV0IG5ld0ZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgbGV0IG5ld09wdGlvbklkczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBpZiAobmV3T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIG5ld0ZpZWxkID0ge1xuICAgICAgICAgICAgICAgIC4uLnRhcmdldEZpZWxkLFxuICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRhcmdldEZpZWxkLnNldHRpbmdzLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbLi4uKCh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW10pLCAuLi5uZXdPcHRpb25zXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuZXdPcHRpb25JZHMgPSBuZXdPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uX2lkKS5maWx0ZXIoKGlkKSA9PiAhIWlkKSBhcyBzdHJpbmdbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdEZpZWxkVmFsdWUgPSBuZXdPcHRpb25JZHM/Lmxlbmd0aCA/IFsuLi5leGlzdE9wdGlvbklkcywgLi4ubmV3T3B0aW9uSWRzXSA6IGV4aXN0T3B0aW9uSWRzO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHNlbGVjdEZpZWxkVmFsdWUsXG4gICAgICAgICAgICBuZXdGaWVsZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlOiBGaWVsZE1vZGVsTWFwW3RhcmdldEZpZWxkLnR5cGVdLnRvRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhLCByZWZlcmVuY2VzKSwgbmV3RmllbGQ6IG51bGwgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQWN0aW9ucyB7XG4gICAgdXBkYXRlRmllbGRWYWx1ZTogKGRhdGE6IFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zKSA9PiB2b2lkO1xuICAgIHNldEZpZWxkOiAoZmllbGQ6IEFJVGFibGVGaWVsZCkgPT4gdm9pZDtcbiAgICBhZGRSZWNvcmQ6IChkYXRhOiBBZGRSZWNvcmRPcHRpb25zKSA9PiB2b2lkO1xuICAgIGFkZEZpZWxkOiAoZGF0YTogQWRkRmllbGRPcHRpb25zKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRGaWVsZChhaVRhYmxlOiBBSVRhYmxlLCBvcmlnaW5GaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCwgYWN0aW9uczogQUlUYWJsZUFjdGlvbnMpIHtcbiAgICBsZXQgZGVmYXVsdEZpZWxkVmFsdWU6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPjtcblxuICAgIGlmIChvcmlnaW5GaWVsZCkge1xuICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnMgPSBnZXRGaWVsZE9wdGlvbnMoYWlUYWJsZSk7XG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlID0ge1xuICAgICAgICAgICAgLi4ub3JpZ2luRmllbGQsXG4gICAgICAgICAgICBuYW1lOiBjcmVhdGVEZWZhdWx0RmllbGROYW1lKGFpVGFibGUsIGZpZWxkT3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IG9yaWdpbkZpZWxkLnR5cGUpISksXG4gICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSBjcmVhdGVEZWZhdWx0RmllbGQoYWlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZS50ZXh0KTtcbiAgICB9XG5cbiAgICBhY3Rpb25zLmFkZEZpZWxkKHtcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0RmllbGRWYWx1ZVxuICAgIH0pO1xufVxuXG5leHBvcnQgY29uc3Qgd3JpdGVUb0FJVGFibGUgPSBhc3luYyAoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZUFjdGlvbnMpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gQXJyYXkuZnJvbShhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkQ2VsbHMpO1xuICAgIGlmICghc2VsZWN0ZWRDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGNsaXBib2FyZENvbnRlbnQsIGFpVGFibGVDb250ZW50IH0gPSBhd2FpdCByZWFkQ2xpcGJvYXJkRGF0YSgpO1xuICAgIGlmICghY2xpcGJvYXJkQ29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtmaXJzdENlbGxdID0gc2VsZWN0ZWRDZWxscztcbiAgICBjb25zdCBbc3RhcnRSZWNvcmRJZCwgc3RhcnRGaWVsZElkXSA9IGZpcnN0Q2VsbC5zcGxpdCgnOicpO1xuXG4gICAgY29uc3Qgc3RhcnRSb3dJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZVJvd3NJbmRleE1hcCgpLmdldChzdGFydFJlY29yZElkKSA/PyAwO1xuICAgIGNvbnN0IGxhc3RSb3dJbmRleCA9IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgYXBwZW5kUm93Q291bnQgPSBjbGlwYm9hcmRDb250ZW50Lmxlbmd0aCAtIChsYXN0Um93SW5kZXggLSBzdGFydFJvd0luZGV4KTtcbiAgICBhY3Rpb25zLmFkZFJlY29yZCh7IGNvdW50OiBhcHBlbmRSb3dDb3VudCB9KTtcblxuICAgIGNvbnN0IHN0YXJ0Q29sSW5kZXggPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVDb2x1bW5zSW5kZXhNYXAoKS5nZXQoc3RhcnRGaWVsZElkKSA/PyAwO1xuICAgIGNvbnN0IGxhc3RDb2xJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpLnNpemUgLSAxO1xuICAgIGNvbnN0IGNvcGllZEZpZWxkTGVuZ3RoID0gY2xpcGJvYXJkQ29udGVudFswXS5sZW5ndGg7XG4gICAgY29uc3QgYXBwZW5kQ29sQ291bnQgPSBjb3BpZWRGaWVsZExlbmd0aCAtIChsYXN0Q29sSW5kZXggLSBzdGFydENvbEluZGV4KSAtIDE7XG4gICAgY29uc3QgYXBwZW5kT2ZmZXNldCA9IGNvcGllZEZpZWxkTGVuZ3RoIC0gYXBwZW5kQ29sQ291bnQ7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFwcGVuZENvbENvdW50OyBpKyspIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRmllbGQgPSBhaVRhYmxlQ29udGVudD8uZmllbGRzW2FwcGVuZE9mZmVzZXQgKyBpXSB8fCBudWxsO1xuICAgICAgICBhcHBlbmRGaWVsZChhaVRhYmxlLCBvcmlnaW5GaWVsZCwgYWN0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZWFyUm93cyA9IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpO1xuICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBhaVRhYmxlLmNvbnRleHQhLnJlZmVyZW5jZXMoKTtcbiAgICBsZXQgaXNQYXN0ZVN1Y2Nlc3MgPSBmYWxzZTtcbiAgICBsZXQgdmlzaWJsZUZpZWxkcyA9IEFJVGFibGUuZ2V0VmlzaWJsZUZpZWxkcyhhaVRhYmxlKTtcblxuICAgIGNsaXBib2FyZENvbnRlbnQuZm9yRWFjaCgocm93LCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldFJvd0luZGV4ID0gc3RhcnRSb3dJbmRleCArIGk7XG4gICAgICAgIHJvdy5mb3JFYWNoKChwbGFpblRleHQsIGopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gc3RhcnRDb2xJbmRleCArIGo7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRSZWNvcmQgPSBsaW5lYXJSb3dzW3RhcmdldFJvd0luZGV4XTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEZpZWxkID0gdmlzaWJsZUZpZWxkc1t0YXJnZXRDb2xJbmRleF07XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGk7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gajtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUsIG5ld0ZpZWxkIH0gPSBnZXRQYXN0ZVZhbHVlKHBsYWluVGV4dCwgYWlUYWJsZUNvbnRlbnQsIHJlY29yZEluZGV4LCBmaWVsZEluZGV4LCB0YXJnZXRGaWVsZCwgcmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXdGaWVsZCkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMuc2V0RmllbGQobmV3RmllbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbdGFyZ2V0UmVjb3JkLl9pZCwgdGFyZ2V0RmllbGQuX2lkXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXNQYXN0ZVN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBwYXN0ZSB2YWx1ZTonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpc1Bhc3RlU3VjY2Vzcztcbn07XG4iXX0=
@@ -1,50 +0,0 @@
1
- import { AI_TABLE_BLANK } from '../constants';
2
- /**
3
- * 生成目标名称
4
- */
5
- export const generateTargetName = ({ targetName, fieldId, recordId, mouseStyle, source }) => {
6
- const flag = '$';
7
- return `${targetName}.${fieldId || flag}.${recordId || flag}.${mouseStyle || flag}.${source || flag}`;
8
- };
9
- /**
10
- * 取目标名称
11
- */
12
- export const getTargetName = (targetName) => {
13
- if (targetName == null || targetName === '')
14
- return AI_TABLE_BLANK;
15
- return targetName.split('.')[0];
16
- };
17
- /**
18
- * Parse targetName for built-in information
19
- */
20
- export const getDetailByTargetName = (_targetName) => {
21
- if (_targetName == null) {
22
- return {
23
- targetName: null,
24
- fieldId: null,
25
- recordId: null,
26
- mouseStyle: null
27
- };
28
- }
29
- const flag = '$';
30
- const [targetName, fieldId, recordId, mouseStyle, source] = _targetName.split('.');
31
- return {
32
- targetName,
33
- fieldId: fieldId === flag ? null : fieldId,
34
- recordId: recordId === flag ? null : recordId,
35
- mouseStyle: mouseStyle === flag ? null : mouseStyle,
36
- source: source === flag ? null : source
37
- };
38
- };
39
- /**
40
- * 转换为字符串
41
- * @param value
42
- * @returns
43
- */
44
- export const castToString = (value) => {
45
- if (value == null) {
46
- return null;
47
- }
48
- return typeof value !== 'string' ? String(value) : value;
49
- };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHOUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBNEIsRUFBRSxFQUFFO0lBQ2xILE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNqQixPQUFPLEdBQUcsVUFBVSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUMxRyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQTBCLEVBQUUsRUFBRTtJQUN4RCxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxLQUFLLEVBQUU7UUFBRSxPQUFPLGNBQWMsQ0FBQztJQUNuRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFdBQTBCLEVBQTJCLEVBQUU7SUFDekYsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTztZQUNILFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxVQUFVLEVBQUUsSUFBSTtTQUNuQixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNqQixNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkYsT0FBTztRQUNILFVBQVU7UUFDVixPQUFPLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPO1FBQzFDLFFBQVEsRUFBRSxRQUFRLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFDN0MsVUFBVSxFQUFFLFVBQVUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNuRCxNQUFNLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNO0tBQzFDLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBYSxFQUFpQixFQUFFO0lBQ3pELElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDN0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlfVEFCTEVfQkxBTksgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZVRhcmdldE5hbWVEZXRhaWwsIEFJVGFibGVUYXJnZXROYW1lT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiDnlJ/miJDnm67moIflkI3np7BcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlVGFyZ2V0TmFtZSA9ICh7IHRhcmdldE5hbWUsIGZpZWxkSWQsIHJlY29yZElkLCBtb3VzZVN0eWxlLCBzb3VyY2UgfTogQUlUYWJsZVRhcmdldE5hbWVPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgZmxhZyA9ICckJztcbiAgICByZXR1cm4gYCR7dGFyZ2V0TmFtZX0uJHtmaWVsZElkIHx8IGZsYWd9LiR7cmVjb3JkSWQgfHwgZmxhZ30uJHttb3VzZVN0eWxlIHx8IGZsYWd9LiR7c291cmNlIHx8IGZsYWd9YDtcbn07XG5cbi8qKlxuICogIOWPluebruagh+WQjeensFxuICovXG5leHBvcnQgY29uc3QgZ2V0VGFyZ2V0TmFtZSA9ICh0YXJnZXROYW1lPzogc3RyaW5nIHwgbnVsbCkgPT4ge1xuICAgIGlmICh0YXJnZXROYW1lID09IG51bGwgfHwgdGFyZ2V0TmFtZSA9PT0gJycpIHJldHVybiBBSV9UQUJMRV9CTEFOSztcbiAgICByZXR1cm4gdGFyZ2V0TmFtZS5zcGxpdCgnLicpWzBdO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0YXJnZXROYW1lIGZvciBidWlsdC1pbiBpbmZvcm1hdGlvblxuICovXG5leHBvcnQgY29uc3QgZ2V0RGV0YWlsQnlUYXJnZXROYW1lID0gKF90YXJnZXROYW1lOiBzdHJpbmcgfCBudWxsKTogQUlUYWJsZVRhcmdldE5hbWVEZXRhaWwgPT4ge1xuICAgIGlmIChfdGFyZ2V0TmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0YXJnZXROYW1lOiBudWxsLFxuICAgICAgICAgICAgZmllbGRJZDogbnVsbCxcbiAgICAgICAgICAgIHJlY29yZElkOiBudWxsLFxuICAgICAgICAgICAgbW91c2VTdHlsZTogbnVsbFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGZsYWcgPSAnJCc7XG4gICAgY29uc3QgW3RhcmdldE5hbWUsIGZpZWxkSWQsIHJlY29yZElkLCBtb3VzZVN0eWxlLCBzb3VyY2VdID0gX3RhcmdldE5hbWUuc3BsaXQoJy4nKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0YXJnZXROYW1lLFxuICAgICAgICBmaWVsZElkOiBmaWVsZElkID09PSBmbGFnID8gbnVsbCA6IGZpZWxkSWQsXG4gICAgICAgIHJlY29yZElkOiByZWNvcmRJZCA9PT0gZmxhZyA/IG51bGwgOiByZWNvcmRJZCxcbiAgICAgICAgbW91c2VTdHlsZTogbW91c2VTdHlsZSA9PT0gZmxhZyA/IG51bGwgOiBtb3VzZVN0eWxlLFxuICAgICAgICBzb3VyY2U6IHNvdXJjZSA9PT0gZmxhZyA/IG51bGwgOiBzb3VyY2VcbiAgICB9O1xufTtcblxuLyoqXG4gKiDovazmjaLkuLrlrZfnrKbkuLJcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGNvbnN0IGNhc3RUb1N0cmluZyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnID8gU3RyaW5nKHZhbHVlKSA6IHZhbHVlO1xufTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb3BlcmFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9maWVsZC1vcGVyYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcywgRmllbGRCYXNlLCBGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi8uLi9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZE9wZXJhYmxlPFRGQyA9IHN0cmluZywgVENWIGV4dGVuZHMgRmllbGRWYWx1ZSA9IEZpZWxkVmFsdWU+IGV4dGVuZHMgRmllbGRCYXNlIHtcbiAgICBpc01lZXRGaWx0ZXIoXG4gICAgICAgIGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxURkM+LFxuICAgICAgICBjZWxsVmFsdWU6IFRDVixcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICAgIGFpVGFibGU6IEFJVGFibGU7XG4gICAgICAgICAgICBmaWVsZDogQUlUYWJsZUZpZWxkO1xuICAgICAgICB9XG4gICAgKTogYm9vbGVhbjtcbiAgICBjb21wYXJlKFxuICAgICAgICBjZWxsVmFsdWUxOiBUQ1YsXG4gICAgICAgIGNlbGxWYWx1ZTI6IFRDVixcbiAgICAgICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgb3B0aW9uczogeyBhaVRhYmxlOiBBSVRhYmxlOyBmaWVsZDogQUlUYWJsZUZpZWxkIH1cbiAgICApOiBudW1iZXI7XG5cbiAgICB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IFRDViB9IHwgbnVsbCxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogVENWIHwgbnVsbDtcbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { AITableFieldType, FieldModelBaseMap } from '@ai-table/utils';
2
- import { AttachmentField, DateField, LinkField, MemberField, NumberField, ProgressField, RateField, RichTextField, SelectField, TextField } from './model';
3
- export const FieldModelMap = {
4
- ...FieldModelBaseMap,
5
- [AITableFieldType.text]: new TextField(),
6
- [AITableFieldType.richText]: new RichTextField(),
7
- [AITableFieldType.select]: new SelectField(),
8
- [AITableFieldType.date]: new DateField(),
9
- [AITableFieldType.createdAt]: new DateField(),
10
- [AITableFieldType.updatedAt]: new DateField(),
11
- [AITableFieldType.number]: new NumberField(),
12
- [AITableFieldType.rate]: new RateField(),
13
- [AITableFieldType.link]: new LinkField(),
14
- [AITableFieldType.member]: new MemberField(),
15
- [AITableFieldType.progress]: new ProgressField(),
16
- [AITableFieldType.createdBy]: new MemberField(),
17
- [AITableFieldType.updatedBy]: new MemberField(),
18
- [AITableFieldType.attachment]: new AttachmentField()
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsU0FBUyxFQUNULGFBQWEsRUFDYixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sU0FBUyxDQUFDO0FBRWpCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBOEQ7SUFDcEYsR0FBRyxpQkFBaUI7SUFDcEIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksYUFBYSxFQUFFO0lBQ2hELENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxXQUFXLEVBQUU7SUFDNUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQzdDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDN0MsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDeEMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksYUFBYSxFQUFFO0lBQ2hELENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxXQUFXLEVBQUU7SUFDL0MsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUMvQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksZUFBZSxFQUFFO0NBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlLCBGaWVsZE1vZGVsQmFzZU1hcCB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5pbXBvcnQgeyBGaWVsZE9wZXJhYmxlIH0gZnJvbSAnLi9maWVsZC1vcGVyYWJsZSc7XG5pbXBvcnQge1xuICAgIEF0dGFjaG1lbnRGaWVsZCxcbiAgICBEYXRlRmllbGQsXG4gICAgTGlua0ZpZWxkLFxuICAgIE1lbWJlckZpZWxkLFxuICAgIE51bWJlckZpZWxkLFxuICAgIFByb2dyZXNzRmllbGQsXG4gICAgUmF0ZUZpZWxkLFxuICAgIFJpY2hUZXh0RmllbGQsXG4gICAgU2VsZWN0RmllbGQsXG4gICAgVGV4dEZpZWxkXG59IGZyb20gJy4vbW9kZWwnO1xuXG5leHBvcnQgY29uc3QgRmllbGRNb2RlbE1hcDogUmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkT3BlcmFibGU8dW5rbm93biwgdW5rbm93bj4+ID0ge1xuICAgIC4uLkZpZWxkTW9kZWxCYXNlTWFwLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnRleHRdOiBuZXcgVGV4dEZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUucmljaFRleHRdOiBuZXcgUmljaFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnNlbGVjdF06IG5ldyBTZWxlY3RGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmRhdGVdOiBuZXcgRGF0ZUZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0XTogbmV3IERhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdF06IG5ldyBEYXRlRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5udW1iZXJdOiBuZXcgTnVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5yYXRlXTogbmV3IFJhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmxpbmtdOiBuZXcgTGlua0ZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUubWVtYmVyXTogbmV3IE1lbWJlckZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3NdOiBuZXcgUHJvZ3Jlc3NGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnRdOiBuZXcgQXR0YWNobWVudEZpZWxkKClcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './field';
2
- export * from './model';
3
- export * from './operate';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL29wZXJhdGUnO1xuIl19
@@ -1,56 +0,0 @@
1
- import { AITableFilterOperation, AttachmentFieldBase, AITableFieldType, isEmpty } from '@ai-table/utils';
2
- import { compareString, hasIntersect, isMeetFilter } from '../operate';
3
- export class AttachmentField extends AttachmentFieldBase {
4
- isMeetFilter(condition, cellValue) {
5
- switch (condition.operation) {
6
- case AITableFilterOperation.empty:
7
- return isEmpty(cellValue);
8
- case AITableFilterOperation.exists:
9
- return !isEmpty(cellValue);
10
- case AITableFilterOperation.in:
11
- return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
12
- case AITableFilterOperation.nin:
13
- return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
14
- default:
15
- return isMeetFilter(condition, cellValue);
16
- }
17
- }
18
- compare(cellValue1, cellValue2, references, sortKey, options) {
19
- const value1 = cellValueToSortValue(cellValue1, options.field, references, sortKey);
20
- const value2 = cellValueToSortValue(cellValue2, options.field, references, sortKey);
21
- return compareString(value1, value2);
22
- }
23
- toFieldValue(plainText, targetField, originData, references) {
24
- return toAttachmentFieldValue(plainText, targetField, originData, references);
25
- }
26
- }
27
- export function toAttachmentFieldValue(plainText, targetField, originData, references) {
28
- if (originData) {
29
- const { field, cellValue } = originData;
30
- if (field.type === AITableFieldType.attachment) {
31
- const attachmentIds = Object.keys(references?.attachments || {});
32
- const validAttachmentIds = (cellValue || []).filter((id) => attachmentIds.includes(id));
33
- if (validAttachmentIds.length > 0) {
34
- return validAttachmentIds;
35
- }
36
- }
37
- }
38
- return null;
39
- }
40
- function cellValueToSortValue(cellValue, field, references, sortKey = 'title') {
41
- let values = [];
42
- if (cellValue?.length && references) {
43
- for (let index = 0; index < cellValue.length; index++) {
44
- const attachmentInfo = references?.attachments[cellValue[index]];
45
- if (!attachmentInfo) {
46
- continue;
47
- }
48
- const value = attachmentInfo[sortKey];
49
- if (value) {
50
- values.push(value);
51
- }
52
- }
53
- }
54
- return values && values.length ? values.join(', ') : null;
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2F0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHNCQUFzQixFQUV0QixtQkFBbUIsRUFJbkIsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDVixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd2RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFDcEQsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBK0I7UUFDbkYsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RGLEtBQUssc0JBQXNCLENBQUMsR0FBRztnQkFDM0IsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZGO2dCQUNJLE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FDSCxVQUFnQyxFQUNoQyxVQUFnQyxFQUNoQyxVQUE2QixFQUM3QixPQUFlLEVBQ2YsT0FHQztRQUVELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwRixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEYsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZLENBQ1IsU0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBcUUsRUFDckUsVUFBOEI7UUFFOUIsT0FBTyxzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLFNBQWlCLEVBQ2pCLFdBQXlCLEVBQ3pCLFVBQXFFLEVBQ3JFLFVBQThCO0lBRTlCLElBQUksVUFBVSxFQUFFLENBQUM7UUFDYixNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQ3pCLFNBQStCLEVBQy9CLEtBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLE9BQU8sR0FBRyxPQUFPO0lBRWpCLElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUMxQixJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbEIsU0FBUztZQUNiLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLFxuICAgIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24sXG4gICAgQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgQXR0YWNobWVudEZpZWxkQmFzZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQXR0YWNobWVudEZpZWxkVmFsdWUsXG4gICAgRmllbGRWYWx1ZSxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIGlzRW1wdHlcbn0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIGhhc0ludGVyc2VjdCwgaXNNZWV0RmlsdGVyIH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5pbXBvcnQgeyBGaWVsZE9wZXJhYmxlIH0gZnJvbSAnLi4vZmllbGQtb3BlcmFibGUnO1xuXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudEZpZWxkIGV4dGVuZHMgQXR0YWNobWVudEZpZWxkQmFzZSBpbXBsZW1lbnRzIEZpZWxkT3BlcmFibGU8c3RyaW5nLCBBdHRhY2htZW50RmllbGRWYWx1ZT4ge1xuICAgIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmIGhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgIWhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogQXR0YWNobWVudEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgICAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcyxcbiAgICAgICAgc29ydEtleTogc3RyaW5nLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlO1xuICAgICAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZDtcbiAgICAgICAgfVxuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIG9wdGlvbnMuZmllbGQsIHJlZmVyZW5jZXMsIHNvcnRLZXkpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyLCBvcHRpb25zLmZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogQXR0YWNobWVudEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRvQXR0YWNobWVudEZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9BdHRhY2htZW50RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUgfSxcbiAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnRJZHMgPSBPYmplY3Qua2V5cyhyZWZlcmVuY2VzPy5hdHRhY2htZW50cyB8fCB7fSk7XG4gICAgICAgICAgICBjb25zdCB2YWxpZEF0dGFjaG1lbnRJZHMgPSAoY2VsbFZhbHVlIHx8IFtdKS5maWx0ZXIoKGlkKSA9PiBhdHRhY2htZW50SWRzLmluY2x1ZGVzKGlkKSk7XG4gICAgICAgICAgICBpZiAodmFsaWRBdHRhY2htZW50SWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRBdHRhY2htZW50SWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShcbiAgICBjZWxsVmFsdWU6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgc29ydEtleSA9ICd0aXRsZSdcbik6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKGNlbGxWYWx1ZT8ubGVuZ3RoICYmIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNlbGxWYWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnRJbmZvID0gcmVmZXJlbmNlcz8uYXR0YWNobWVudHNbY2VsbFZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0YWNobWVudEluZm9bc29ydEtleV07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID8gdmFsdWVzLmpvaW4oJywgJykgOiBudWxsO1xufVxuIl19
@@ -1,141 +0,0 @@
1
- import { fromUnixTime, subDays } from 'date-fns';
2
- import { isArray, TinyDate } from 'ngx-tethys/util';
3
- import { AITableFilterOperation, DateFieldBase, isDateValid, AITableFieldType, isEmpty } from '@ai-table/utils';
4
- import { compareNumber, isMeetFilter } from '../operate';
5
- import { isNil } from 'lodash';
6
- import { transformCellValue } from '../../cell';
7
- export class DateField extends DateFieldBase {
8
- transformCellValue(cellValue, options) {
9
- return transformCellValue(options.aiTable, options.field, cellValue);
10
- }
11
- isMeetFilter(condition, cellValue) {
12
- const [left, right] = this.getTimeRange(condition.value);
13
- if (isNil(cellValue)) {
14
- return condition.operation === AITableFilterOperation.empty;
15
- }
16
- switch (condition.operation) {
17
- case AITableFilterOperation.empty:
18
- return isEmpty(cellValue.timestamp) || cellValue.timestamp === 0;
19
- case AITableFilterOperation.exists:
20
- return !isEmpty(cellValue.timestamp) && cellValue.timestamp !== 0;
21
- case AITableFilterOperation.eq:
22
- return left <= cellValue.timestamp && cellValue.timestamp < right;
23
- case AITableFilterOperation.gt:
24
- return cellValue.timestamp > right;
25
- case AITableFilterOperation.lt:
26
- return cellValue.timestamp < left;
27
- case AITableFilterOperation.between:
28
- return left <= cellValue.timestamp && cellValue.timestamp < right;
29
- default:
30
- return isMeetFilter(condition, cellValue);
31
- }
32
- }
33
- compare(cellValue1, cellValue2) {
34
- const value1 = cellValueToSortValue(cellValue1);
35
- const value2 = cellValueToSortValue(cellValue2);
36
- return compareNumber(value1, value2);
37
- }
38
- toFieldValue(plainText, targetField, originData) {
39
- return toDateFieldValue(plainText, targetField, originData);
40
- }
41
- getTimeRange(value) {
42
- switch (value) {
43
- case 'today':
44
- return [new TinyDate(new Date()).startOfDay().getUnixTime(), new TinyDate(new Date()).endOfDay().getUnixTime()];
45
- case 'current_week':
46
- return [
47
- new TinyDate().startOfWeek({ weekStartsOn: 1 }).getUnixTime(),
48
- new TinyDate().endOfWeek({ weekStartsOn: 1 }).getUnixTime()
49
- ];
50
- case 'yesterday':
51
- return [
52
- new TinyDate(subDays(new Date(), 1)).startOfDay().getUnixTime(),
53
- new TinyDate(subDays(new Date(), 1)).endOfDay().getUnixTime()
54
- ];
55
- case 'current_month':
56
- return [new TinyDate().startOfMonth().getUnixTime(), new TinyDate().endOfMonth().getUnixTime()];
57
- default:
58
- if (isArray(value)) {
59
- return [
60
- new TinyDate(fromUnixTime(value[0])).startOfDay().getUnixTime(),
61
- new TinyDate(fromUnixTime(value[1])).endOfDay().getUnixTime()
62
- ];
63
- }
64
- return [
65
- new TinyDate(fromUnixTime(value)).startOfDay().getUnixTime(),
66
- new TinyDate(fromUnixTime(value)).endOfDay().getUnixTime()
67
- ];
68
- }
69
- }
70
- }
71
- export function toDateFieldValue(plainText, targetField, originData) {
72
- if (targetField.type === AITableFieldType.createdAt || targetField.type === AITableFieldType.updatedAt) {
73
- return null;
74
- }
75
- if (originData) {
76
- const { field, cellValue } = originData;
77
- switch (field.type) {
78
- case AITableFieldType.date:
79
- return cellValue;
80
- default:
81
- break;
82
- }
83
- }
84
- const texts = plainText
85
- .split(',')
86
- .map((text) => text.trim())
87
- .filter((text) => !!text);
88
- const value = texts && texts.length ? texts[0].trim() : plainText.trim();
89
- const dateValue = transformDateValue(value);
90
- if (dateValue) {
91
- return dateValue;
92
- }
93
- return null;
94
- }
95
- function cellValueToSortValue(cellValue) {
96
- if (isNil(cellValue) || !isDateValid(cellValue)) {
97
- return 0;
98
- }
99
- return cellValue?.timestamp ?? 0;
100
- }
101
- function transformDateValue(text) {
102
- const value = text.trim();
103
- if (!value || isEmpty(value))
104
- return null;
105
- // 基础日期格式:支持识别 - / . 年月日 作为分隔符
106
- const datePattern = String.raw `(?:(\d{2}|\d{4})[-/.年](\d{1,2})[-/.月](\d{1,2})日?)`;
107
- const timePattern = String.raw `(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?`;
108
- const pattern = new RegExp(`^${datePattern}${timePattern}$`);
109
- const match = value.match(pattern);
110
- if (!match)
111
- return null;
112
- try {
113
- let [_, year, month, day] = match;
114
- if (year.length === 2) {
115
- const currentYear = new Date().getFullYear();
116
- const century = Math.floor(currentYear / 100) * 100;
117
- const twoDigitYear = parseInt(year);
118
- year = String(twoDigitYear > currentYear % 100 ? century - 100 + twoDigitYear : century + twoDigitYear);
119
- }
120
- const monthNum = parseInt(month);
121
- const dayNum = parseInt(day);
122
- if (monthNum < 1 || monthNum > 12) {
123
- console.warn('Invalid month:', monthNum);
124
- return null;
125
- }
126
- const maxDays = new Date(parseInt(year), monthNum, 0).getDate();
127
- if (dayNum < 1 || dayNum > maxDays) {
128
- console.warn('Invalid day:', dayNum);
129
- return null;
130
- }
131
- const standardDate = `${year}-${String(monthNum).padStart(2, '0')}-${String(dayNum).padStart(2, '0')}`;
132
- return {
133
- timestamp: new TinyDate(standardDate).getUnixTime()
134
- };
135
- }
136
- catch (error) {
137
- console.warn('Invalid date:', value);
138
- return null;
139
- }
140
- }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBRUgsc0JBQXNCLEVBQ3RCLGFBQWEsRUFFYixXQUFXLEVBRVgsZ0JBQWdCLEVBR2hCLE9BQU8sRUFDVixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDL0IsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWhELE1BQU0sT0FBTyxTQUFVLFNBQVEsYUFBYTtJQUMvQixrQkFBa0IsQ0FBQyxTQUFxQixFQUFFLE9BQXFCO1FBQ3BFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUF5QjtRQUM3RSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTyxTQUFTLENBQUMsU0FBUyxLQUFLLHNCQUFzQixDQUFDLEtBQUssQ0FBQztRQUNoRSxDQUFDO1FBQ0QsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFB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LENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2RyxPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUN0RCxDQUFDO0lBQ04sQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21Vbml4VGltZSwgc3ViRGF5cyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGlzQXJyYXksIFRpbnlEYXRlIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZUZpbHRlckNvbmRpdGlvbixcbiAgICBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLFxuICAgIERhdGVGaWVsZEJhc2UsXG4gICAgRmllbGRPcHRpb25zLFxuICAgIGlzRGF0ZVZhbGlkLFxuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIERhdGVGaWVsZFZhbHVlLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgaXNFbXB0eVxufSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgRmllbGRPcGVyYWJsZSB9IGZyb20gJy4uL2ZpZWxkLW9wZXJhYmxlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIsIGlzTWVldEZpbHRlciB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQ2VsbFZhbHVlIH0gZnJvbSAnLi4vLi4vY2VsbCc7XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBEYXRlRmllbGRCYXNlIGltcGxlbWVudHMgRmllbGRPcGVyYWJsZTxzdHJpbmcsIERhdGVGaWVsZFZhbHVlPiB7XG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtQ2VsbFZhbHVlKGNlbGxWYWx1ZTogRmllbGRWYWx1ZSwgb3B0aW9uczogRmllbGRPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1DZWxsVmFsdWUob3B0aW9ucy5haVRhYmxlLCBvcHRpb25zLmZpZWxkISwgY2VsbFZhbHVlKTtcbiAgICB9XG5cbiAgICBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpIHtcbiAgICAgICAgY29uc3QgW2xlZnQsIHJpZ2h0XSA9IHRoaXMuZ2V0VGltZVJhbmdlKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgIGlmIChpc05pbChjZWxsVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZGl0aW9uLm9wZXJhdGlvbiA9PT0gQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUudGltZXN0YW1wKSB8fCBjZWxsVmFsdWUudGltZXN0YW1wID09PSAwO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCAhPT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lcTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5ndDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUudGltZXN0YW1wIDwgbGVmdDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5iZXR3ZWVuOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0IDw9IGNlbGxWYWx1ZS50aW1lc3RhbXAgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCA8IHJpZ2h0O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbXBhcmUoY2VsbFZhbHVlMTogRGF0ZUZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IERhdGVGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUxID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIpO1xuICAgICAgICByZXR1cm4gY29tcGFyZU51bWJlcih2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b0RhdGVGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cblxuICAgIGdldFRpbWVSYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICAgICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICAgICAgY2FzZSAndG9kYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUobmV3IERhdGUoKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuZW5kT2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAneWVzdGVyZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBEYXRlKCksIDEpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVudF9tb250aCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVGlueURhdGUoKS5zdGFydE9mTW9udGgoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZVswXSBhcyBudW1iZXIpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMV0gYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZUZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfVxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRBdCB8fCB0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLmRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0ZXh0cyA9IHBsYWluVGV4dFxuICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAubWFwKCh0ZXh0KSA9PiB0ZXh0LnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcigodGV4dCkgPT4gISF0ZXh0KTtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHRzICYmIHRleHRzLmxlbmd0aCA/IHRleHRzWzBdLnRyaW0oKSA6IHBsYWluVGV4dC50cmltKCk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdHJhbnNmb3JtRGF0ZVZhbHVlKHZhbHVlKTtcbiAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIGlmIChpc05pbChjZWxsVmFsdWUpIHx8ICFpc0RhdGVWYWxpZChjZWxsVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICByZXR1cm4gY2VsbFZhbHVlPy50aW1lc3RhbXAgPz8gMDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZVZhbHVlKHRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHQudHJpbSgpO1xuICAgIGlmICghdmFsdWUgfHwgaXNFbXB0eSh2YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gICAgLy8g5Z+656GA5pel5pyf5qC85byP77ya5pSv5oyB6K+G5YirIC0gLyAuIOW5tOaciOaXpSDkvZzkuLrliIbpmpTnrKZcbiAgICBjb25zdCBkYXRlUGF0dGVybiA9IFN0cmluZy5yYXdgKD86KFxcZHsyfXxcXGR7NH0pWy0vLuW5tF0oXFxkezEsMn0pWy0vLuaciF0oXFxkezEsMn0p5pelPylgO1xuICAgIGNvbnN0IHRpbWVQYXR0ZXJuID0gU3RyaW5nLnJhd2AoPzpcXHMrKFxcZHsxLDJ9KTooXFxkezEsMn0pKD86OihcXGR7MSwyfSkpPyk/YDtcblxuICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKGBeJHtkYXRlUGF0dGVybn0ke3RpbWVQYXR0ZXJufSRgKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHBhdHRlcm4pO1xuXG4gICAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG5cbiAgICB0cnkge1xuICAgICAgICBsZXQgW18sIHllYXIsIG1vbnRoLCBkYXldID0gbWF0Y2g7XG5cbiAgICAgICAgaWYgKHllYXIubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50WWVhciA9IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnR1cnkgPSBNYXRoLmZsb29yKGN1cnJlbnRZZWFyIC8gMTAwKSAqIDEwMDtcbiAgICAgICAgICAgIGNvbnN0IHR3b0RpZ2l0WWVhciA9IHBhcnNlSW50KHllYXIpO1xuICAgICAgICAgICAgeWVhciA9IFN0cmluZyh0d29EaWdpdFllYXIgPiBjdXJyZW50WWVhciAlIDEwMCA/IGNlbnR1cnkgLSAxMDAgKyB0d29EaWdpdFllYXIgOiBjZW50dXJ5ICsgdHdvRGlnaXRZZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1vbnRoTnVtID0gcGFyc2VJbnQobW9udGgpO1xuICAgICAgICBjb25zdCBkYXlOdW0gPSBwYXJzZUludChkYXkpO1xuXG4gICAgICAgIGlmIChtb250aE51bSA8IDEgfHwgbW9udGhOdW0gPiAxMikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIG1vbnRoOicsIG1vbnRoTnVtKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4RGF5cyA9IG5ldyBEYXRlKHBhcnNlSW50KHllYXIpLCBtb250aE51bSwgMCkuZ2V0RGF0ZSgpO1xuICAgICAgICBpZiAoZGF5TnVtIDwgMSB8fCBkYXlOdW0gPiBtYXhEYXlzKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgZGF5OicsIGRheU51bSk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YW5kYXJkRGF0ZSA9IGAke3llYXJ9LSR7U3RyaW5nKG1vbnRoTnVtKS5wYWRTdGFydCgyLCAnMCcpfS0ke1N0cmluZyhkYXlOdW0pLnBhZFN0YXJ0KDIsICcwJyl9YDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IFRpbnlEYXRlKHN0YW5kYXJkRGF0ZSkuZ2V0VW5peFRpbWUoKVxuICAgICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBkYXRlOicsIHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- export * from '../../../core';
2
- export * from './attachment';
3
- export * from './date';
4
- export * from './link';
5
- export * from './member';
6
- export * from './number';
7
- export * from './progress';
8
- export * from './rate';
9
- export * from './rich-text';
10
- export * from './select';
11
- export * from './text';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdHRhY2htZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmsnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcyc7XG5leHBvcnQgKiBmcm9tICcuL3JhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yaWNoLXRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbiJdfQ==