@ai-table/grid 0.0.40 → 0.0.41

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 (130) hide show
  1. package/components/cell-editors/select/select-editor.component.d.ts +3 -1
  2. package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
  3. package/components/context-menu/context-menu.component.d.ts +4 -1
  4. package/components/context-menu/context-menu.component.d.ts.map +1 -1
  5. package/components/drag/drag.component.d.ts +26 -0
  6. package/components/drag/drag.component.d.ts.map +1 -0
  7. package/components/drag/drag.component.scss +19 -0
  8. package/constants/file-icon.d.ts +32 -0
  9. package/constants/file-icon.d.ts.map +1 -0
  10. package/constants/grid.d.ts.map +1 -1
  11. package/constants/icon.d.ts +1 -0
  12. package/constants/icon.d.ts.map +1 -1
  13. package/constants/table.d.ts +4 -0
  14. package/constants/table.d.ts.map +1 -1
  15. package/core/constants/field.d.ts.map +1 -1
  16. package/core/types/ai-table.d.ts +3 -1
  17. package/core/types/ai-table.d.ts.map +1 -1
  18. package/core/types/core.d.ts +33 -2
  19. package/core/types/core.d.ts.map +1 -1
  20. package/core/utils/common.d.ts +3 -3
  21. package/core/utils/common.d.ts.map +1 -1
  22. package/core/utils/field.d.ts.map +1 -1
  23. package/core/utils/queries.d.ts +3 -1
  24. package/core/utils/queries.d.ts.map +1 -1
  25. package/esm2022/components/cell-editors/select/select-editor.component.mjs +22 -21
  26. package/esm2022/components/context-menu/context-menu.component.mjs +17 -5
  27. package/esm2022/components/drag/drag.component.mjs +150 -0
  28. package/esm2022/constants/file-icon.mjs +342 -0
  29. package/esm2022/constants/grid.mjs +2 -1
  30. package/esm2022/constants/icon.mjs +2 -1
  31. package/esm2022/constants/table.mjs +6 -2
  32. package/esm2022/core/constants/field.mjs +7 -1
  33. package/esm2022/core/types/ai-table.mjs +2 -2
  34. package/esm2022/core/types/core.mjs +9 -1
  35. package/esm2022/core/utils/common.mjs +3 -2
  36. package/esm2022/core/utils/field.mjs +8 -3
  37. package/esm2022/core/utils/queries.mjs +19 -13
  38. package/esm2022/grid-base.component.mjs +5 -3
  39. package/esm2022/grid.component.mjs +90 -4
  40. package/esm2022/renderer/components/field-icon.component.mjs +5 -2
  41. package/esm2022/renderer/creations/create-heads.mjs +5 -5
  42. package/esm2022/renderer/drawers/cell-drawer.mjs +74 -2
  43. package/esm2022/renderer/drawers/drawer.mjs +11 -2
  44. package/esm2022/services/event.service.mjs +12 -5
  45. package/esm2022/services/selection.service.mjs +22 -3
  46. package/esm2022/types/clipboard.mjs +2 -0
  47. package/esm2022/types/grid.mjs +1 -1
  48. package/esm2022/types/index.mjs +2 -1
  49. package/esm2022/types/row.mjs +1 -1
  50. package/esm2022/utils/clipboard/clipboard.mjs +77 -0
  51. package/esm2022/utils/clipboard/copy.mjs +92 -0
  52. package/esm2022/utils/clipboard/extract.mjs +19 -0
  53. package/esm2022/utils/clipboard/index.mjs +5 -0
  54. package/esm2022/utils/clipboard/paste.mjs +180 -0
  55. package/esm2022/utils/field/model/attachment.mjs +63 -0
  56. package/esm2022/utils/field/model/date.mjs +45 -2
  57. package/esm2022/utils/field/model/field.mjs +1 -1
  58. package/esm2022/utils/field/model/index.mjs +5 -3
  59. package/esm2022/utils/field/model/link.mjs +25 -1
  60. package/esm2022/utils/field/model/member.mjs +40 -1
  61. package/esm2022/utils/field/model/number.mjs +31 -1
  62. package/esm2022/utils/field/model/progress.mjs +34 -1
  63. package/esm2022/utils/field/model/rate.mjs +35 -1
  64. package/esm2022/utils/field/model/select.mjs +64 -1
  65. package/esm2022/utils/field/model/text.mjs +7 -1
  66. package/esm2022/utils/file.mjs +208 -0
  67. package/esm2022/utils/icon.mjs +48 -0
  68. package/esm2022/utils/index.mjs +2 -1
  69. package/esm2022/utils/match-keywords.mjs +3 -3
  70. package/fesm2022/ai-table-grid.mjs +2131 -433
  71. package/fesm2022/ai-table-grid.mjs.map +1 -1
  72. package/grid-base.component.d.ts +4 -2
  73. package/grid-base.component.d.ts.map +1 -1
  74. package/grid.component.d.ts +6 -1
  75. package/grid.component.d.ts.map +1 -1
  76. package/package.json +1 -1
  77. package/renderer/components/field-icon.component.d.ts.map +1 -1
  78. package/renderer/drawers/cell-drawer.d.ts +1 -0
  79. package/renderer/drawers/cell-drawer.d.ts.map +1 -1
  80. package/renderer/drawers/drawer.d.ts.map +1 -1
  81. package/services/event.service.d.ts.map +1 -1
  82. package/services/selection.service.d.ts +5 -1
  83. package/services/selection.service.d.ts.map +1 -1
  84. package/styles/styles.scss +2 -0
  85. package/types/clipboard.d.ts +5 -0
  86. package/types/clipboard.d.ts.map +1 -0
  87. package/types/grid.d.ts +22 -5
  88. package/types/grid.d.ts.map +1 -1
  89. package/types/index.d.ts +1 -0
  90. package/types/index.d.ts.map +1 -1
  91. package/types/row.d.ts +3 -1
  92. package/types/row.d.ts.map +1 -1
  93. package/utils/clipboard/clipboard.d.ts +8 -0
  94. package/utils/clipboard/clipboard.d.ts.map +1 -0
  95. package/utils/clipboard/copy.d.ts +5 -0
  96. package/utils/clipboard/copy.d.ts.map +1 -0
  97. package/utils/clipboard/extract.d.ts +3 -0
  98. package/utils/clipboard/extract.d.ts.map +1 -0
  99. package/utils/clipboard/index.d.ts +5 -0
  100. package/utils/clipboard/index.d.ts.map +1 -0
  101. package/utils/clipboard/paste.d.ts +10 -0
  102. package/utils/clipboard/paste.d.ts.map +1 -0
  103. package/utils/field/model/attachment.d.ts +17 -0
  104. package/utils/field/model/attachment.d.ts.map +1 -0
  105. package/utils/field/model/date.d.ts +9 -1
  106. package/utils/field/model/date.d.ts.map +1 -1
  107. package/utils/field/model/field.d.ts +4 -0
  108. package/utils/field/model/field.d.ts.map +1 -1
  109. package/utils/field/model/index.d.ts +1 -1
  110. package/utils/field/model/index.d.ts.map +1 -1
  111. package/utils/field/model/link.d.ts +9 -1
  112. package/utils/field/model/link.d.ts.map +1 -1
  113. package/utils/field/model/member.d.ts +8 -0
  114. package/utils/field/model/member.d.ts.map +1 -1
  115. package/utils/field/model/number.d.ts +9 -1
  116. package/utils/field/model/number.d.ts.map +1 -1
  117. package/utils/field/model/progress.d.ts +9 -1
  118. package/utils/field/model/progress.d.ts.map +1 -1
  119. package/utils/field/model/rate.d.ts +9 -1
  120. package/utils/field/model/rate.d.ts.map +1 -1
  121. package/utils/field/model/select.d.ts +16 -1
  122. package/utils/field/model/select.d.ts.map +1 -1
  123. package/utils/field/model/text.d.ts +2 -0
  124. package/utils/field/model/text.d.ts.map +1 -1
  125. package/utils/file.d.ts +11 -0
  126. package/utils/file.d.ts.map +1 -0
  127. package/utils/icon.d.ts +19 -0
  128. package/utils/icon.d.ts.map +1 -0
  129. package/utils/index.d.ts +1 -0
  130. package/utils/index.d.ts.map +1 -1
@@ -0,0 +1,180 @@
1
+ import { AITable, AITableFieldType, createDefaultField, createDefaultFieldName, FieldOptions, getFieldValue, idCreator } from '../../core';
2
+ import { readFromClipboard, aiTableFragmentAttribute, extractText } from '../clipboard';
3
+ import { FieldModelMap } from '../field/model';
4
+ import { processPastedValueForSelect } from '../field/model/select';
5
+ const aiTableAttributePattern = new RegExp(`${aiTableFragmentAttribute}="(.+?)"`, 'm');
6
+ const decodeClipboardJsonData = (encoded) => {
7
+ const decoded = decodeURIComponent(window.atob(encoded));
8
+ return JSON.parse(decoded);
9
+ };
10
+ function extractContentFromClipboardText(clipboardText) {
11
+ const contents = clipboardText
12
+ .split('\n')
13
+ .map((row) => row.split('\t'))
14
+ .filter((row) => row.length > 0 && row.some((cell) => cell.trim().length > 0));
15
+ return contents;
16
+ }
17
+ function extractContentFromClipboardHtml(clipboardHtml) {
18
+ const tablePattern = /<table[^>]*>([\s\S]*?)<\/table>/i;
19
+ const trPattern = /<tr[^>]*>([\s\S]*?)<\/tr>/gi;
20
+ const cellPattern = /<td[^>]*>([\s\S]*?)<\/td>/gi;
21
+ const contents = [];
22
+ try {
23
+ const tableMatch = clipboardHtml.match(tablePattern);
24
+ const tableContent = tableMatch ? tableMatch[1] : clipboardHtml;
25
+ const rows = tableContent.match(trPattern) || [];
26
+ rows.forEach((row) => {
27
+ const rowContent = [];
28
+ const cells = row.match(cellPattern) || [];
29
+ cells.forEach((cell) => {
30
+ const content = cell.replace(/<td>|<\/td>/g, '').trim();
31
+ rowContent.push(content);
32
+ });
33
+ contents.push(rowContent);
34
+ });
35
+ return contents;
36
+ }
37
+ catch (error) {
38
+ return [];
39
+ }
40
+ }
41
+ function extractAITableContentFromClipboardHtml(clipboardHtml) {
42
+ const aiTableFragment = clipboardHtml.match(aiTableAttributePattern);
43
+ if (aiTableFragment && !!aiTableFragment.length) {
44
+ return decodeClipboardJsonData(aiTableFragment[1]);
45
+ }
46
+ return null;
47
+ }
48
+ const readClipboardData = async () => {
49
+ const clipboardData = await readFromClipboard();
50
+ let clipboardContent = [];
51
+ let aiTableContent = null;
52
+ if (clipboardData) {
53
+ const clipboardHtml = clipboardData.html;
54
+ const clipboardText = clipboardData.text;
55
+ if (clipboardHtml) {
56
+ aiTableContent = extractAITableContentFromClipboardHtml(clipboardHtml);
57
+ clipboardContent = extractContentFromClipboardHtml(clipboardHtml);
58
+ }
59
+ if (!clipboardContent.length && clipboardText) {
60
+ clipboardContent = extractContentFromClipboardText(clipboardText);
61
+ }
62
+ }
63
+ return {
64
+ clipboardContent,
65
+ aiTableContent
66
+ };
67
+ };
68
+ function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targetField, references) {
69
+ let field = null;
70
+ let record = null;
71
+ if (aiTableContent) {
72
+ const { fields, records } = aiTableContent;
73
+ field = fields[fieldIndex];
74
+ record = records[recordIndex];
75
+ }
76
+ if (targetField.type === AITableFieldType.attachment || (field && field.type === AITableFieldType.attachment)) {
77
+ return { value: null, newField: null };
78
+ }
79
+ if (targetField.type !== AITableFieldType.link) {
80
+ plainText = extractText(plainText);
81
+ }
82
+ let originData = field && record ? { field, cellValue: getFieldValue(record, field) } : null;
83
+ if (targetField.type === AITableFieldType.select) {
84
+ let { existOptionIds, newOptions } = processPastedValueForSelect(plainText, targetField, originData);
85
+ newOptions = newOptions.map((option) => {
86
+ return {
87
+ ...option,
88
+ _id: idCreator()
89
+ };
90
+ });
91
+ const newField = {
92
+ ...targetField,
93
+ settings: {
94
+ ...targetField.settings,
95
+ options: [...(targetField.settings?.options || []), ...newOptions]
96
+ }
97
+ };
98
+ const newOptionIds = newOptions.map((option) => option._id).filter((id) => !!id);
99
+ const selectFieldValue = [...existOptionIds, ...newOptionIds];
100
+ return {
101
+ value: selectFieldValue,
102
+ newField
103
+ };
104
+ }
105
+ return { value: FieldModelMap[targetField.type].toFieldValue(plainText, targetField, originData, references), newField: null };
106
+ }
107
+ function appendRecord(aiTable, actions) {
108
+ const allRecords = aiTable.records();
109
+ const lastRecordId = allRecords.length > 0 ? allRecords[allRecords.length - 1]._id : '';
110
+ actions.addRecord({
111
+ originId: lastRecordId
112
+ });
113
+ }
114
+ function appendField(aiTable, originField, actions) {
115
+ const lastFieldId = aiTable.fields().length > 0 ? aiTable.fields()[aiTable.fields().length - 1]._id : '';
116
+ let defaultFieldValue;
117
+ if (originField) {
118
+ defaultFieldValue = {
119
+ ...originField,
120
+ name: createDefaultFieldName(aiTable, FieldOptions.find((item) => item.type === originField.type)),
121
+ _id: idCreator()
122
+ };
123
+ }
124
+ else {
125
+ defaultFieldValue = createDefaultField(aiTable, AITableFieldType.text);
126
+ }
127
+ actions.addField({
128
+ originId: lastFieldId,
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 startColIndex = aiTable.context.visibleColumnsIndexMap().get(startFieldId) ?? 0;
145
+ const references = aiTable.context.references();
146
+ let isPasteSuccess = false;
147
+ clipboardContent.forEach((row, i) => {
148
+ const targetRowIndex = startRowIndex + i;
149
+ if (targetRowIndex >= aiTable.context.linearRows().length - 1) {
150
+ appendRecord(aiTable, actions);
151
+ }
152
+ row.forEach((plainText, j) => {
153
+ const targetColIndex = startColIndex + j;
154
+ if (targetColIndex >= AITable.getVisibleFields(aiTable).length) {
155
+ const originField = aiTableContent?.fields[j] || null;
156
+ appendField(aiTable, originField, actions);
157
+ }
158
+ const targetRecord = aiTable.context.linearRows()[targetRowIndex];
159
+ const targetField = AITable.getVisibleFields(aiTable)[targetColIndex];
160
+ const recordIndex = i;
161
+ const fieldIndex = j;
162
+ const { value, newField } = getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targetField, references);
163
+ if (newField) {
164
+ actions.setField(newField);
165
+ }
166
+ if (value !== null) {
167
+ try {
168
+ actions.updateFieldValue({
169
+ value,
170
+ path: [targetRecord._id, targetField._id]
171
+ });
172
+ isPasteSuccess = true;
173
+ }
174
+ catch (error) { }
175
+ }
176
+ });
177
+ });
178
+ return isPasteSuccess;
179
+ };
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBRVosYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sY0FBYyxDQUFDO0FBQzFCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVDb250ZW50LCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZSxcbiAgICBBSVRhYmxlRmllbGQsXG4gICAgQUlUYWJsZUZpZWxkVHlwZSxcbiAgICBBSVRhYmxlUmVjb3JkLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZCxcbiAgICBjcmVhdGVEZWZhdWx0RmllbGROYW1lLFxuICAgIEZpZWxkT3B0aW9ucyxcbiAgICBGaWVsZFZhbHVlLFxuICAgIGdldEZpZWxkVmFsdWUsXG4gICAgaWRDcmVhdG9yLFxuICAgIFNlbGVjdFNldHRpbmdzLFxuICAgIFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zXG59IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgcmVhZEZyb21DbGlwYm9hcmQsIGFpVGFibGVGcmFnbWVudEF0dHJpYnV0ZSwgZXh0cmFjdFRleHQgfSBmcm9tICcuLi9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgRmllbGRNb2RlbE1hcCB9IGZyb20gJy4uL2ZpZWxkL21vZGVsJztcbmltcG9ydCB7IHByb2Nlc3NQYXN0ZWRWYWx1ZUZvclNlbGVjdCB9IGZyb20gJy4uL2ZpZWxkL21vZGVsL3NlbGVjdCc7XG5pbXBvcnQgeyBBZGRSZWNvcmRPcHRpb25zLCBBZGRGaWVsZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb3JlJztcblxuY29uc3QgYWlUYWJsZUF0dHJpYnV0ZVBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke2FpVGFibGVGcmFnbWVudEF0dHJpYnV0ZX09XCIoLis/KVwiYCwgJ20nKTtcblxuY29uc3QgZGVjb2RlQ2xpcGJvYXJkSnNvbkRhdGEgPSAoZW5jb2RlZDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihlbmNvZGVkKSk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZCk7XG59O1xuXG5mdW5jdGlvbiBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRUZXh0KGNsaXBib2FyZFRleHQ6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGNvbnRlbnRzID0gY2xpcGJvYXJkVGV4dFxuICAgICAgICAuc3BsaXQoJ1xcbicpXG4gICAgICAgIC5tYXAoKHJvdykgPT4gcm93LnNwbGl0KCdcXHQnKSlcbiAgICAgICAgLmZpbHRlcigocm93KSA9PiByb3cubGVuZ3RoID4gMCAmJiByb3cuc29tZSgoY2VsbCkgPT4gY2VsbC50cmltKCkubGVuZ3RoID4gMCkpO1xuXG4gICAgcmV0dXJuIGNvbnRlbnRzO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IHRhYmxlUGF0dGVybiA9IC88dGFibGVbXj5dKj4oW1xcc1xcU10qPyk8XFwvdGFibGU+L2k7XG4gICAgY29uc3QgdHJQYXR0ZXJuID0gLzx0cltePl0qPihbXFxzXFxTXSo/KTxcXC90cj4vZ2k7XG4gICAgY29uc3QgY2VsbFBhdHRlcm4gPSAvPHRkW14+XSo+KFtcXHNcXFNdKj8pPFxcL3RkPi9naTtcbiAgICBjb25zdCBjb250ZW50czogc3RyaW5nW11bXSA9IFtdO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGFibGVNYXRjaCA9IGNsaXBib2FyZEh0bWwubWF0Y2godGFibGVQYXR0ZXJuKTtcbiAgICAgICAgY29uc3QgdGFibGVDb250ZW50ID0gdGFibGVNYXRjaCA/IHRhYmxlTWF0Y2hbMV0gOiBjbGlwYm9hcmRIdG1sO1xuICAgICAgICBjb25zdCByb3dzID0gdGFibGVDb250ZW50Lm1hdGNoKHRyUGF0dGVybikgfHwgW107XG5cbiAgICAgICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJvd0NvbnRlbnQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgICAgICBjb25zdCBjZWxscyA9IHJvdy5tYXRjaChjZWxsUGF0dGVybikgfHwgW107XG5cbiAgICAgICAgICAgIGNlbGxzLmZvckVhY2goKGNlbGwpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gY2VsbC5yZXBsYWNlKC88dGQ+fDxcXC90ZD4vZywgJycpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICByb3dDb250ZW50LnB1c2goY29udGVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29udGVudHMucHVzaChyb3dDb250ZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnRzO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IEFJVGFibGVDb250ZW50IHwgbnVsbCB7XG4gICAgY29uc3QgYWlUYWJsZUZyYWdtZW50ID0gY2xpcGJvYXJkSHRtbC5tYXRjaChhaVRhYmxlQXR0cmlidXRlUGF0dGVybik7XG4gICAgaWYgKGFpVGFibGVGcmFnbWVudCAmJiAhIWFpVGFibGVGcmFnbWVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZUNsaXBib2FyZEpzb25EYXRhKGFpVGFibGVGcmFnbWVudFsxXSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5jb25zdCByZWFkQ2xpcGJvYXJkRGF0YSA9IGFzeW5jICgpOiBQcm9taXNlPHsgY2xpcGJvYXJkQ29udGVudDogc3RyaW5nW11bXTsgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCB9PiA9PiB7XG4gICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGF3YWl0IHJlYWRGcm9tQ2xpcGJvYXJkKCk7XG4gICAgbGV0IGNsaXBib2FyZENvbnRlbnQ6IHN0cmluZ1tdW10gPSBbXTtcbiAgICBsZXQgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRIdG1sID0gY2xpcGJvYXJkRGF0YS5odG1sO1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRUZXh0ID0gY2xpcGJvYXJkRGF0YS50ZXh0O1xuXG4gICAgICAgIGlmIChjbGlwYm9hcmRIdG1sKSB7XG4gICAgICAgICAgICBhaVRhYmxlQ29udGVudCA9IGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWwpO1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGVudCA9IGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoICYmIGNsaXBib2FyZFRleHQpIHtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRlbnQgPSBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRUZXh0KGNsaXBib2FyZFRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgYWlUYWJsZUNvbnRlbnRcbiAgICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0UGFzdGVWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsLFxuICAgIHJlY29yZEluZGV4OiBudW1iZXIsXG4gICAgZmllbGRJbmRleDogbnVtYmVyLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXNcbik6IHtcbiAgICB2YWx1ZTogRmllbGRWYWx1ZSB8IG51bGw7XG4gICAgbmV3RmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGw7XG59IHtcbiAgICBsZXQgZmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwgPSBudWxsO1xuICAgIGxldCByZWNvcmQ6IFBhcnRpYWw8QUlUYWJsZVJlY29yZD4gfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChhaVRhYmxlQ29udGVudCkge1xuICAgICAgICBjb25zdCB7IGZpZWxkcywgcmVjb3JkcyB9ID0gYWlUYWJsZUNvbnRlbnQ7XG4gICAgICAgIGZpZWxkID0gZmllbGRzW2ZpZWxkSW5kZXhdO1xuICAgICAgICByZWNvcmQgPSByZWNvcmRzW3JlY29yZEluZGV4XTtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5hdHRhY2htZW50IHx8IChmaWVsZCAmJiBmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQpKSB7XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBuZXdGaWVsZDogbnVsbCB9O1xuICAgIH1cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSAhPT0gQUlUYWJsZUZpZWxkVHlwZS5saW5rKSB7XG4gICAgICAgIHBsYWluVGV4dCA9IGV4dHJhY3RUZXh0KHBsYWluVGV4dCk7XG4gICAgfVxuXG4gICAgbGV0IG9yaWdpbkRhdGEgPSBmaWVsZCAmJiByZWNvcmQgPyB7IGZpZWxkLCBjZWxsVmFsdWU6IGdldEZpZWxkVmFsdWUocmVjb3JkLCBmaWVsZCkgfSA6IG51bGw7XG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuc2VsZWN0KSB7XG4gICAgICAgIGxldCB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH0gPSBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG5cbiAgICAgICAgbmV3T3B0aW9ucyA9IG5ld09wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uLFxuICAgICAgICAgICAgICAgIF9pZDogaWRDcmVhdG9yKClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBuZXdGaWVsZCA9IHtcbiAgICAgICAgICAgIC4uLnRhcmdldEZpZWxkLFxuICAgICAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAgICAgICAuLi50YXJnZXRGaWVsZC5zZXR0aW5ncyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBbLi4uKCh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW10pLCAuLi5uZXdPcHRpb25zXVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBuZXdPcHRpb25JZHMgPSBuZXdPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uX2lkKS5maWx0ZXIoKGlkKSA9PiAhIWlkKSBhcyBzdHJpbmdbXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0RmllbGRWYWx1ZSA9IFsuLi5leGlzdE9wdGlvbklkcywgLi4ubmV3T3B0aW9uSWRzXTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RGaWVsZFZhbHVlLFxuICAgICAgICAgICAgbmV3RmllbGRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB2YWx1ZTogRmllbGRNb2RlbE1hcFt0YXJnZXRGaWVsZC50eXBlXS50b0ZpZWxkVmFsdWUocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSwgcmVmZXJlbmNlcyksIG5ld0ZpZWxkOiBudWxsIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVBhc3RlQWN0aW9ucyB7XG4gICAgdXBkYXRlRmllbGRWYWx1ZTogKGRhdGE6IFVwZGF0ZUZpZWxkVmFsdWVPcHRpb25zKSA9PiB2b2lkO1xuICAgIHNldEZpZWxkOiAoZmllbGQ6IEFJVGFibGVGaWVsZCkgPT4gdm9pZDtcbiAgICBhZGRSZWNvcmQ6IChkYXRhOiBBZGRSZWNvcmRPcHRpb25zKSA9PiB2b2lkO1xuICAgIGFkZEZpZWxkOiAoZGF0YTogQWRkRmllbGRPcHRpb25zKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRSZWNvcmQoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZVBhc3RlQWN0aW9ucykge1xuICAgIGNvbnN0IGFsbFJlY29yZHMgPSBhaVRhYmxlLnJlY29yZHMoKTtcbiAgICBjb25zdCBsYXN0UmVjb3JkSWQgPSBhbGxSZWNvcmRzLmxlbmd0aCA+IDAgPyBhbGxSZWNvcmRzW2FsbFJlY29yZHMubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgYWN0aW9ucy5hZGRSZWNvcmQoe1xuICAgICAgICBvcmlnaW5JZDogbGFzdFJlY29yZElkXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEZpZWxkKGFpVGFibGU6IEFJVGFibGUsIG9yaWdpbkZpZWxkOiBBSVRhYmxlRmllbGQgfCBudWxsLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSB7XG4gICAgY29uc3QgbGFzdEZpZWxkSWQgPSBhaVRhYmxlLmZpZWxkcygpLmxlbmd0aCA+IDAgPyBhaVRhYmxlLmZpZWxkcygpW2FpVGFibGUuZmllbGRzKCkubGVuZ3RoIC0gMV0uX2lkIDogJyc7XG4gICAgbGV0IGRlZmF1bHRGaWVsZFZhbHVlOiBQYXJ0aWFsPEFJVGFibGVGaWVsZD47XG4gICAgaWYgKG9yaWdpbkZpZWxkKSB7XG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlID0ge1xuICAgICAgICAgICAgLi4ub3JpZ2luRmllbGQsXG4gICAgICAgICAgICBuYW1lOiBjcmVhdGVEZWZhdWx0RmllbGROYW1lKGFpVGFibGUsIEZpZWxkT3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IG9yaWdpbkZpZWxkLnR5cGUpISksXG4gICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSBjcmVhdGVEZWZhdWx0RmllbGQoYWlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZS50ZXh0KTtcbiAgICB9XG5cbiAgICBhY3Rpb25zLmFkZEZpZWxkKHtcbiAgICAgICAgb3JpZ2luSWQ6IGxhc3RGaWVsZElkLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRGaWVsZFZhbHVlXG4gICAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZVRvQUlUYWJsZSA9IGFzeW5jIChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRDZWxscyA9IEFycmF5LmZyb20oYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzKTtcbiAgICBpZiAoIXNlbGVjdGVkQ2VsbHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgeyBjbGlwYm9hcmRDb250ZW50LCBhaVRhYmxlQ29udGVudCB9ID0gYXdhaXQgcmVhZENsaXBib2FyZERhdGEoKTtcbiAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBbZmlyc3RDZWxsXSA9IHNlbGVjdGVkQ2VsbHM7XG4gICAgY29uc3QgW3N0YXJ0UmVjb3JkSWQsIHN0YXJ0RmllbGRJZF0gPSBmaXJzdENlbGwuc3BsaXQoJzonKTtcbiAgICBjb25zdCBzdGFydFJvd0luZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlUm93c0luZGV4TWFwKCkuZ2V0KHN0YXJ0UmVjb3JkSWQpID8/IDA7XG4gICAgY29uc3Qgc3RhcnRDb2xJbmRleCA9IGFpVGFibGUuY29udGV4dCEudmlzaWJsZUNvbHVtbnNJbmRleE1hcCgpLmdldChzdGFydEZpZWxkSWQpID8/IDA7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IGFpVGFibGUuY29udGV4dCEucmVmZXJlbmNlcygpO1xuICAgIGxldCBpc1Bhc3RlU3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgY2xpcGJvYXJkQ29udGVudC5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBzdGFydFJvd0luZGV4ICsgaTtcbiAgICAgICAgaWYgKHRhcmdldFJvd0luZGV4ID49IGFpVGFibGUuY29udGV4dCEubGluZWFyUm93cygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGFwcGVuZFJlY29yZChhaVRhYmxlLCBhY3Rpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJvdy5mb3JFYWNoKChwbGFpblRleHQsIGopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gc3RhcnRDb2xJbmRleCArIGo7XG4gICAgICAgICAgICBpZiAodGFyZ2V0Q29sSW5kZXggPj0gQUlUYWJsZS5nZXRWaXNpYmxlRmllbGRzKGFpVGFibGUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbkZpZWxkID0gYWlUYWJsZUNvbnRlbnQ/LmZpZWxkc1tqXSB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGFwcGVuZEZpZWxkKGFpVGFibGUsIG9yaWdpbkZpZWxkLCBhY3Rpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UmVjb3JkID0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKClbdGFyZ2V0Um93SW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RmllbGQgPSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSlbdGFyZ2V0Q29sSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBpO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGo7XG4gICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBuZXdGaWVsZCB9ID0gZ2V0UGFzdGVWYWx1ZShwbGFpblRleHQsIGFpVGFibGVDb250ZW50LCByZWNvcmRJbmRleCwgZmllbGRJbmRleCwgdGFyZ2V0RmllbGQsIHJlZmVyZW5jZXMpO1xuXG4gICAgICAgICAgICBpZiAobmV3RmllbGQpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25zLnNldEZpZWxkKG5ld0ZpZWxkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldFJlY29yZC5faWQsIHRhcmdldEZpZWxkLl9pZF1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlzUGFzdGVTdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaXNQYXN0ZVN1Y2Nlc3M7XG59O1xuIl19
@@ -0,0 +1,63 @@
1
+ import { AITableFilterOperation } from '../../../types';
2
+ import { isEmpty } from '../../common';
3
+ import { compareString, hasIntersect } from '../operate';
4
+ import { Field } from './field';
5
+ export class AttachmentField extends Field {
6
+ isMeetFilter(condition, cellValue) {
7
+ switch (condition.operation) {
8
+ case AITableFilterOperation.empty:
9
+ return isEmpty(cellValue);
10
+ case AITableFilterOperation.exists:
11
+ return !isEmpty(cellValue);
12
+ case AITableFilterOperation.in:
13
+ return Array.isArray(condition.value) && hasIntersect(cellValue, condition.value);
14
+ case AITableFilterOperation.nin:
15
+ return Array.isArray(condition.value) && !hasIntersect(cellValue, condition.value);
16
+ default:
17
+ return super.isMeetFilter(condition, cellValue);
18
+ }
19
+ }
20
+ compare(cellValue1, cellValue2, field, references, sortKey) {
21
+ const value1 = cellValueToSortValue(cellValue1, field, references, sortKey);
22
+ const value2 = cellValueToSortValue(cellValue2, field, references, sortKey);
23
+ return compareString(value1, value2);
24
+ }
25
+ cellFullText(transformValue, field, references) {
26
+ let fullText = [];
27
+ if (transformValue?.length && references) {
28
+ for (let index = 0; index < transformValue.length; index++) {
29
+ const attachmentInfo = references?.attachments[transformValue[index]];
30
+ if (!attachmentInfo) {
31
+ continue;
32
+ }
33
+ if (attachmentInfo.title) {
34
+ fullText.push(attachmentInfo.title);
35
+ }
36
+ }
37
+ }
38
+ return fullText;
39
+ }
40
+ toFieldValue(plainText, targetField, originData, references) {
41
+ return toAttachmentFieldValue(plainText, targetField, originData, references);
42
+ }
43
+ }
44
+ export function toAttachmentFieldValue(plainText, targetField, originData, references) {
45
+ return null;
46
+ }
47
+ function cellValueToSortValue(cellValue, field, references, sortKey = 'title') {
48
+ let values = [];
49
+ if (cellValue?.length && references) {
50
+ for (let index = 0; index < cellValue.length; index++) {
51
+ const attachmentInfo = references?.attachments[cellValue[index]];
52
+ if (!attachmentInfo) {
53
+ continue;
54
+ }
55
+ const value = attachmentInfo[sortKey];
56
+ if (value) {
57
+ values.push(value);
58
+ }
59
+ }
60
+ }
61
+ return values && values.length ? values.join(', ') : null;
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2F0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFaEMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsS0FBSztJQUM3QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUErQjtRQUM1RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FDWixVQUFnQyxFQUNoQyxVQUFnQyxFQUNoQyxLQUFtQixFQUNuQixVQUE2QixFQUM3QixPQUFlO1FBRWYsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUUsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUUsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUSxZQUFZLENBQUMsY0FBd0IsRUFBRSxLQUFtQixFQUFFLFVBQThCO1FBQy9GLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLGNBQWMsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDdkMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDekQsTUFBTSxjQUFjLEdBQUcsVUFBVSxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUNsQixTQUFTO2dCQUNiLENBQUM7Z0JBQ0QsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRVEsWUFBWSxDQUNqQixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUFxRSxFQUNyRSxVQUE4QjtRQUU5QixPQUFPLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsU0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBcUUsRUFDckUsVUFBOEI7SUFFOUIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQ3pCLFNBQStCLEVBQy9CLEtBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLE9BQU8sR0FBRyxPQUFPO0lBRWpCLElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUMxQixJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbEIsU0FBUztZQUNiLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUM5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBdHRhY2htZW50RmllbGRWYWx1ZSwgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiwgQUlUYWJsZVJlZmVyZW5jZXMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIGhhc0ludGVyc2VjdCB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogQXR0YWNobWVudEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoXG4gICAgICAgIGNlbGxWYWx1ZTE6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgICAgICBjZWxsVmFsdWUyOiBBdHRhY2htZW50RmllbGRWYWx1ZSxcbiAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk6IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIGZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMiwgZmllbGQsIHJlZmVyZW5jZXMsIHNvcnRLZXkpO1xuICAgICAgICByZXR1cm4gY29tcGFyZVN0cmluZyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBzdHJpbmdbXSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgZnVsbFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZT8ubGVuZ3RoICYmIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2Zvcm1WYWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRhY2htZW50SW5mbyA9IHJlZmVyZW5jZXM/LmF0dGFjaG1lbnRzW3RyYW5zZm9ybVZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICAgICAgaWYgKCFhdHRhY2htZW50SW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnRJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2goYXR0YWNobWVudEluZm8udGl0bGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSB9LFxuICAgICAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbiAgICApOiBBdHRhY2htZW50RmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9BdHRhY2htZW50RmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhLCByZWZlcmVuY2VzKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0F0dGFjaG1lbnRGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBBdHRhY2htZW50RmllbGRWYWx1ZSB9LFxuICAgIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlc1xuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShcbiAgICBjZWxsVmFsdWU6IEF0dGFjaG1lbnRGaWVsZFZhbHVlLFxuICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgc29ydEtleSA9ICd0aXRsZSdcbik6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKGNlbGxWYWx1ZT8ubGVuZ3RoICYmIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNlbGxWYWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnRJbmZvID0gcmVmZXJlbmNlcz8uYXR0YWNobWVudHNbY2VsbFZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXR0YWNobWVudEluZm9bc29ydEtleV07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID8gdmFsdWVzLmpvaW4oJywgJykgOiBudWxsO1xufVxuIl19
@@ -1,8 +1,10 @@
1
1
  import { fromUnixTime, subDays } from 'date-fns';
2
- import { isArray, isEmpty, TinyDate } from 'ngx-tethys/util';
2
+ import { isArray, TinyDate } from 'ngx-tethys/util';
3
3
  import { Field } from './field';
4
4
  import { AITableFilterOperation } from '../../../types';
5
+ import { AITableFieldType } from '../../../core';
5
6
  import { compareNumber } from '../operate';
7
+ import { isEmpty } from '../../common';
6
8
  export class DateField extends Field {
7
9
  isMeetFilter(condition, cellValue) {
8
10
  const [left, right] = this.getTimeRange(condition.value);
@@ -28,6 +30,9 @@ export class DateField extends Field {
28
30
  const value2 = cellValueToSortValue(cellValue2);
29
31
  return compareNumber(value1, value2);
30
32
  }
33
+ toFieldValue(plainText, targetField, originData) {
34
+ return toDateFieldValue(plainText, targetField, originData);
35
+ }
31
36
  getTimeRange(value) {
32
37
  switch (value) {
33
38
  case 'today':
@@ -58,7 +63,45 @@ export class DateField extends Field {
58
63
  }
59
64
  }
60
65
  }
66
+ export function toDateFieldValue(plainText, targetField, originData) {
67
+ if (targetField.type === AITableFieldType.createdAt || targetField.type === AITableFieldType.updatedAt) {
68
+ return null;
69
+ }
70
+ if (originData) {
71
+ const { field, cellValue } = originData;
72
+ switch (field.type) {
73
+ case AITableFieldType.date:
74
+ return cellValue;
75
+ case AITableFieldType.text:
76
+ const dateValue = transformDateValue(cellValue);
77
+ if (dateValue) {
78
+ return dateValue;
79
+ }
80
+ break;
81
+ default:
82
+ break;
83
+ }
84
+ }
85
+ else {
86
+ const dateValue = transformDateValue(plainText);
87
+ if (dateValue) {
88
+ return dateValue;
89
+ }
90
+ }
91
+ return null;
92
+ }
61
93
  function cellValueToSortValue(cellValue) {
62
94
  return cellValue?.timestamp;
63
95
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNoQyxPQUFPLEVBQTBCLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBeUI7UUFDdEYsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUNyRSxLQUFLLHNCQUFzQixDQUFDLE1BQU07Z0JBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxJQUFJLElBQUksU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0RSxLQUFLLHNC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QUUsU0FBUyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVW5peFRpbWUsIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBpc0VtcHR5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IERhdGVGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBjb21wYXJlTnVtYmVyIH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IFtsZWZ0LCByaWdodF0gPSB0aGlzLmdldFRpbWVSYW5nZShjb25kaXRpb24udmFsdWUpO1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUudGltZXN0YW1wKSB8fCBjZWxsVmFsdWUudGltZXN0YW1wID09PSAwO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCAhPT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lcTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5ndDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUudGltZXN0YW1wIDwgbGVmdDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5iZXR3ZWVuOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0IDw9IGNlbGxWYWx1ZS50aW1lc3RhbXAgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCA8IHJpZ2h0O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRGF0ZUZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IERhdGVGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUxID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIpO1xuICAgICAgICByZXR1cm4gY29tcGFyZU51bWJlcih2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgZ2V0VGltZVJhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBudW1iZXJbXSkge1xuICAgICAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlICd0b2RheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVGlueURhdGUobmV3IERhdGUoKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksIG5ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVudF93ZWVrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5zdGFydE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoKS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjYXNlICd5ZXN0ZXJkYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBEYXRlKCksIDEpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X21vbnRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZNb250aCgpLmdldFVuaXhUaW1lKCksIG5ldyBUaW55RGF0ZSgpLmVuZE9mTW9udGgoKS5nZXRVbml4VGltZSgpXTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzBdIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZVsxXSBhcyBudW1iZXIpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZSBhcyBudW1iZXIpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZSBhcyBudW1iZXIpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY2VsbFZhbHVlPy50aW1lc3RhbXA7XG59XG4iXX0=
96
+ function transformDateValue(text) {
97
+ const value = text.trim();
98
+ const pattern = /^\d{4}-\d{1,2}-\d{1,2}$/;
99
+ if (value && !isEmpty(value) && pattern.test(value)) {
100
+ const dateValue = {
101
+ timestamp: new TinyDate(value).getUnixTime()
102
+ };
103
+ return dateValue;
104
+ }
105
+ return null;
106
+ }
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9B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Q0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUM7SUFFMUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHO1lBQ2QsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUMvQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVW5peFRpbWUsIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRGF0ZUZpZWxkVmFsdWUsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBEYXRlRmllbGRWYWx1ZSkge1xuICAgICAgICBjb25zdCBbbGVmdCwgcmlnaHRdID0gdGhpcy5nZXRUaW1lUmFuZ2UoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgfHwgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgIT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZ3Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPiByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA8IGxlZnQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uYmV0d2VlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IERhdGVGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9EYXRlRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfbW9udGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMF0gYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzFdIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQgfHwgdGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbkRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUudGV4dDpcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVmFsdWUgPSB0cmFuc2Zvcm1EYXRlVmFsdWUoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHRyYW5zZm9ybURhdGVWYWx1ZShwbGFpblRleHQpO1xuICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIHJldHVybiBjZWxsVmFsdWU/LnRpbWVzdGFtcDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZVZhbHVlKHRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHQudHJpbSgpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSAvXlxcZHs0fS1cXGR7MSwyfS1cXGR7MSwyfSQvO1xuXG4gICAgaWYgKHZhbHVlICYmICFpc0VtcHR5KHZhbHVlKSAmJiBwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IFRpbnlEYXRlKHZhbHVlKS5nZXRVbml4VGltZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19
@@ -35,4 +35,4 @@ export class Field {
35
35
  }
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLHNCQUFzQixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBRW5HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFnQixLQUFLO0lBVXZCLEtBQUs7SUFDTCxZQUFZLENBQUMsU0FBaUMsRUFBRSxTQUFxQjtRQUNqRSxRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUssQ0FBQztZQUNsQyxLQUFLLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzdELENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7SUFDTCxZQUFZLENBQUMsY0FBbUIsRUFBRSxLQUFtQixFQUFFLFVBQThCO1FBQ2pGLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUF1RSxFQUFFLFNBQXFCO1FBQ3ZHLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDaEIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBQ0QsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24sIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpZWxkIHtcbiAgICAvLyDmjpLluo9cbiAgICBhYnN0cmFjdCBjb21wYXJlKFxuICAgICAgICBjZWxsVmFsdWUxOiBGaWVsZFZhbHVlLFxuICAgICAgICBjZWxsVmFsdWUyOiBGaWVsZFZhbHVlLFxuICAgICAgICBmaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk/OiBzdHJpbmdcbiAgICApOiBudW1iZXI7XG5cbiAgICAvLyDnrZvpgIlcbiAgICBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNFbXB0eU9yTm90KGNvbmRpdGlvbi5vcGVyYXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDmn6Xmib5cbiAgICBjZWxsRnVsbFRleHQodHJhbnNmb3JtVmFsdWU6IGFueSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgZnVsbFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICghaXNFbXB0eSh0cmFuc2Zvcm1WYWx1ZSkpIHtcbiAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2goU3RyaW5nKHRyYW5zZm9ybVZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cblxuICAgIGlzRW1wdHlPck5vdChvcGVyYXRpb246IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHkgfCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0cywgY2VsbFZhbHVlOiBGaWVsZFZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czoge1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY29tcGFyZSBvcGVyYXRvciB0eXBlIGVycm9yJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLHNCQUFzQixFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBRW5HLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFnQixLQUFLO0lBa0J2QixLQUFLO0lBQ0wsWUFBWSxDQUFDLFNBQWlDLEVBQUUsU0FBcUI7UUFDakUsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7WUFDbEMsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO0lBQ0wsWUFBWSxDQUFDLGNBQW1CLEVBQUUsS0FBbUIsRUFBRSxVQUE4QjtRQUNqRixJQUFJLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQzNCLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBdUUsRUFBRSxTQUFxQjtRQUN2RyxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2hCLEtBQUssc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsQ0FBQztZQUNELEtBQUssc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZCB7XG4gICAgLy8g5o6S5bqPXG4gICAgYWJzdHJhY3QgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogRmllbGRWYWx1ZSxcbiAgICAgICAgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSxcbiAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgICAgICBzb3J0S2V5Pzogc3RyaW5nXG4gICAgKTogbnVtYmVyO1xuXG4gICAgLy8g57KY6LS0XG4gICAgYWJzdHJhY3QgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsLFxuICAgICAgICByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXNcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbDtcblxuICAgIC8vIOetm+mAiVxuICAgIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIGNlbGxWYWx1ZTogRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc0VtcHR5T3JOb3QoY29uZGl0aW9uLm9wZXJhdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOafpeaJvlxuICAgIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogYW55LCBmaWVsZDogQUlUYWJsZUZpZWxkLCByZWZlcmVuY2VzPzogQUlUYWJsZVJlZmVyZW5jZXMpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgaWYgKCFpc0VtcHR5KHRyYW5zZm9ybVZhbHVlKSkge1xuICAgICAgICAgICAgZnVsbFRleHQucHVzaChTdHJpbmcodHJhbnNmb3JtVmFsdWUpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgaXNFbXB0eU9yTm90KG9wZXJhdGlvbjogQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eSB8IEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzLCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChvcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eToge1xuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb21wYXJlIG9wZXJhdG9yIHR5cGUgZXJyb3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { AITableFieldType } from '../../../core';
2
+ import { AttachmentField } from './attachment';
2
3
  import { DateField } from './date';
3
4
  import { LinkField } from './link';
4
5
  import { MemberField } from './member';
@@ -7,7 +8,7 @@ import { ProgressField } from './progress';
7
8
  import { RateField } from './rate';
8
9
  import { SelectField } from './select';
9
10
  import { TextField } from './text';
10
- export const ViewOperationMap = {
11
+ export const FieldModelMap = {
11
12
  [AITableFieldType.text]: new TextField(),
12
13
  [AITableFieldType.richText]: new TextField(),
13
14
  [AITableFieldType.select]: new SelectField(),
@@ -20,6 +21,7 @@ export const ViewOperationMap = {
20
21
  [AITableFieldType.member]: new MemberField(),
21
22
  [AITableFieldType.progress]: new ProgressField(),
22
23
  [AITableFieldType.createdBy]: new MemberField(),
23
- [AITableFieldType.updatedBy]: new MemberField()
24
+ [AITableFieldType.updatedBy]: new MemberField(),
25
+ [AITableFieldType.attachment]: new AttachmentField()
24
26
  };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUduQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRW5DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQztJQUM3RCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDNUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDN0MsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUM3QyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQzVDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDeEMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQzVDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxhQUFhLEVBQUU7SUFDaEQsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUMvQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0NBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBEYXRlRmllbGQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuaW1wb3J0IHsgTGlua0ZpZWxkIH0gZnJvbSAnLi9saW5rJztcbmltcG9ydCB7IE1lbWJlckZpZWxkIH0gZnJvbSAnLi9tZW1iZXInO1xuaW1wb3J0IHsgTnVtYmVyRmllbGQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBQcm9ncmVzc0ZpZWxkIH0gZnJvbSAnLi9wcm9ncmVzcyc7XG5pbXBvcnQgeyBSYXRlRmllbGQgfSBmcm9tICcuL3JhdGUnO1xuaW1wb3J0IHsgU2VsZWN0RmllbGQgfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3RleHQnO1xuXG5leHBvcnQgY29uc3QgVmlld09wZXJhdGlvbk1hcDogUmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkPiA9IHtcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS50ZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnJpY2hUZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnNlbGVjdF06IG5ldyBTZWxlY3RGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmRhdGVdOiBuZXcgRGF0ZUZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0XTogbmV3IERhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdF06IG5ldyBEYXRlRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5udW1iZXJdOiBuZXcgTnVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5yYXRlXTogbmV3IFJhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmxpbmtdOiBuZXcgTGlua0ZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUubWVtYmVyXTogbmV3IE1lbWJlckZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3NdOiBuZXcgUHJvZ3Jlc3NGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpXG59O1xuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9maWVsZC9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBR25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFvQztJQUMxRCxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDNUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUM1QyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksU0FBUyxFQUFFO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDN0MsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUM3QyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQzVDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxTQUFTLEVBQUU7SUFDeEMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQzVDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxhQUFhLEVBQUU7SUFDaEQsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsRUFBRTtJQUMvQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksV0FBVyxFQUFFO0lBQy9DLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxlQUFlLEVBQUU7Q0FDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWVsZCB9IGZyb20gJy4vYXR0YWNobWVudCc7XG5pbXBvcnQgeyBEYXRlRmllbGQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuL2ZpZWxkJztcblxuaW1wb3J0IHsgTGlua0ZpZWxkIH0gZnJvbSAnLi9saW5rJztcbmltcG9ydCB7IE1lbWJlckZpZWxkIH0gZnJvbSAnLi9tZW1iZXInO1xuaW1wb3J0IHsgTnVtYmVyRmllbGQgfSBmcm9tICcuL251bWJlcic7XG5pbXBvcnQgeyBQcm9ncmVzc0ZpZWxkIH0gZnJvbSAnLi9wcm9ncmVzcyc7XG5pbXBvcnQgeyBSYXRlRmllbGQgfSBmcm9tICcuL3JhdGUnO1xuaW1wb3J0IHsgU2VsZWN0RmllbGQgfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3RleHQnO1xuXG5leHBvcnQgY29uc3QgRmllbGRNb2RlbE1hcDogUmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkPiA9IHtcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS50ZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnJpY2hUZXh0XTogbmV3IFRleHRGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnNlbGVjdF06IG5ldyBTZWxlY3RGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmRhdGVdOiBuZXcgRGF0ZUZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEF0XTogbmV3IERhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdF06IG5ldyBEYXRlRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5udW1iZXJdOiBuZXcgTnVtYmVyRmllbGQoKSxcbiAgICBbQUlUYWJsZUZpZWxkVHlwZS5yYXRlXTogbmV3IFJhdGVGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmxpbmtdOiBuZXcgTGlua0ZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUubWVtYmVyXTogbmV3IE1lbWJlckZpZWxkKCksXG4gICAgW0FJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3NdOiBuZXcgUHJvZ3Jlc3NGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRCeV06IG5ldyBNZW1iZXJGaWVsZCgpLFxuICAgIFtBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnRdOiBuZXcgQXR0YWNobWVudEZpZWxkKClcbn07XG4iXX0=
@@ -1,4 +1,6 @@
1
+ import { AITableFieldType } from '../../../core';
1
2
  import { AITableFilterOperation } from '../../../types';
3
+ import { extractText, extractLinkHref } from '../../clipboard';
2
4
  import { isEmpty } from '../../common';
3
5
  import { compareString, stringInclude } from '../operate';
4
6
  import { Field } from './field';
@@ -26,8 +28,30 @@ export class LinkField extends Field {
26
28
  }
27
29
  return texts;
28
30
  }
31
+ toFieldValue(plainText, targetField, originData) {
32
+ return toLinkFieldValue(plainText, targetField, originData);
33
+ }
34
+ }
35
+ export function toLinkFieldValue(plainText, targetField, originData) {
36
+ if (originData) {
37
+ const { field, cellValue } = originData;
38
+ if (field.type === AITableFieldType.link) {
39
+ return cellValue;
40
+ }
41
+ }
42
+ else {
43
+ const url = extractLinkHref(plainText);
44
+ const text = extractText(plainText);
45
+ if (url && text) {
46
+ return {
47
+ url,
48
+ text
49
+ };
50
+ }
51
+ }
52
+ return null;
29
53
  }
30
54
  function cellValueToSortValue(cellValue) {
31
55
  return (cellValue && cellValue.text && cellValue.text.trim()) || null;
32
56
  }
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoQyxNQUFNLE9BQU8sU0FBVSxTQUFRLEtBQUs7SUFDdkIsWUFBWSxDQUFDLFNBQXlDLEVBQUUsU0FBcUI7UUFDbEYsTUFBTSxhQUFhLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztRQUN0QyxRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xDLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUFzQixFQUFFLFVBQXNCO1FBQzNELE9BQU8sYUFBYSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVRLFlBQVksQ0FBQyxjQUE4QjtRQUNoRCxJQUFJLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUF5QjtJQUNuRCxPQUFPLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRWYWx1ZSwgTGlua0ZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIHN0cmluZ0luY2x1ZGUgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgY29uc3QgY2VsbFRleHRWYWx1ZSA9IGNlbGxWYWx1ZT8udGV4dDtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFRleHRWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5jb250YWluOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVGV4dFZhbHVlKSAmJiBzdHJpbmdJbmNsdWRlKGNlbGxUZXh0VmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb21wYXJlU3RyaW5nKGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpLCBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBMaW5rRmllbGRWYWx1ZSk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IHRleHRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoIWlzRW1wdHkodHJhbnNmb3JtVmFsdWU/LnRleHQpKSB7XG4gICAgICAgICAgICB0ZXh0cy5wdXNoKHRyYW5zZm9ybVZhbHVlLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZXh0cztcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogTGlua0ZpZWxkVmFsdWUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gKGNlbGxWYWx1ZSAmJiBjZWxsVmFsdWUudGV4dCAmJiBjZWxsVmFsdWUudGV4dC50cmltKCkpIHx8IG51bGw7XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2xpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUN2QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUFxQjtRQUNsRixNQUFNLGFBQWEsR0FBRyxTQUFTLEVBQUUsSUFBSSxDQUFDO1FBQ3RDLFFBQVEsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLEtBQUssc0JBQXNCLENBQUMsS0FBSztnQkFDN0IsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEMsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ25DLEtBQUssc0JBQXNCLENBQUMsT0FBTztnQkFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRjtnQkFDSSxPQUFPLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0lBRVEsT0FBTyxDQUFDLFVBQXNCLEVBQUUsVUFBc0I7UUFDM0QsT0FBTyxhQUFhLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRVEsWUFBWSxDQUFDLGNBQThCO1FBQ2hELElBQUksS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRVEsWUFBWSxDQUNqQixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUFrRTtRQUVsRSxPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUFrRTtJQUVsRSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDeEMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDZCxPQUFPO2dCQUNILEdBQUc7Z0JBQ0gsSUFBSTthQUNQLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLFNBQXlCO0lBQ25ELE9BQU8sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkVmFsdWUsIExpbmtGaWVsZFZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZXh0cmFjdFRleHQsIGV4dHJhY3RMaW5rSHJlZiB9IGZyb20gJy4uLy4uL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IGNvbXBhcmVTdHJpbmcsIHN0cmluZ0luY2x1ZGUgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IEZpZWxkVmFsdWUpIHtcbiAgICAgICAgY29uc3QgY2VsbFRleHRWYWx1ZSA9IGNlbGxWYWx1ZT8udGV4dDtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFRleHRWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5jb250YWluOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVGV4dFZhbHVlKSAmJiBzdHJpbmdJbmNsdWRlKGNlbGxUZXh0VmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVGV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRmllbGRWYWx1ZSwgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb21wYXJlU3RyaW5nKGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpLCBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBMaW5rRmllbGRWYWx1ZSk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IHRleHRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoIWlzRW1wdHkodHJhbnNmb3JtVmFsdWU/LnRleHQpKSB7XG4gICAgICAgICAgICB0ZXh0cy5wdXNoKHRyYW5zZm9ybVZhbHVlLnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZXh0cztcbiAgICB9XG5cbiAgICBvdmVycmlkZSB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b0xpbmtGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGlua0ZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSB8IG51bGxcbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmxpbmspIHtcbiAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB1cmwgPSBleHRyYWN0TGlua0hyZWYocGxhaW5UZXh0KTtcbiAgICAgICAgY29uc3QgdGV4dCA9IGV4dHJhY3RUZXh0KHBsYWluVGV4dCk7XG4gICAgICAgIGlmICh1cmwgJiYgdGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgdGV4dFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlOiBMaW5rRmllbGRWYWx1ZSk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAoY2VsbFZhbHVlICYmIGNlbGxWYWx1ZS50ZXh0ICYmIGNlbGxWYWx1ZS50ZXh0LnRyaW0oKSkgfHwgbnVsbDtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { AITableFieldType } from '../../../core';
1
2
  import { AITableFilterOperation } from '../../../types';
2
3
  import { isEmpty } from '../../common';
3
4
  import { compareString, hasIntersect } from '../operate';
@@ -37,6 +38,44 @@ export class MemberField extends Field {
37
38
  }
38
39
  return fullText;
39
40
  }
41
+ toFieldValue(plainText, targetField, originData, references) {
42
+ return toMemberFieldValue(plainText, targetField, originData, references);
43
+ }
44
+ }
45
+ export function toMemberFieldValue(plainText, targetField, originData, references) {
46
+ if (targetField.type == AITableFieldType.createdBy || targetField.type == AITableFieldType.updatedBy) {
47
+ return null;
48
+ }
49
+ const isMultiple = targetField.settings?.is_multiple;
50
+ if (originData) {
51
+ const { field, cellValue } = originData;
52
+ switch (field.type) {
53
+ case AITableFieldType.member:
54
+ if (Array.isArray(cellValue) && cellValue.length) {
55
+ return isMultiple ? cellValue : [cellValue[0]];
56
+ }
57
+ break;
58
+ default:
59
+ break;
60
+ }
61
+ }
62
+ plainText = plainText.trim();
63
+ const hasMemberInfo = references && references.members && Object.keys(references.members).length;
64
+ if (plainText && hasMemberInfo) {
65
+ const memberNames = plainText.split(',').map((id) => id.trim());
66
+ const memberInfos = Object.values(references.members);
67
+ let validMemberIds = [];
68
+ memberNames.forEach((memberName) => {
69
+ const memberInfo = memberInfos.find((member) => member.display_name === memberName);
70
+ if (memberInfo) {
71
+ validMemberIds.push(memberInfo.uid);
72
+ }
73
+ });
74
+ if (validMemberIds.length) {
75
+ return isMultiple ? validMemberIds : [validMemberIds[0]];
76
+ }
77
+ }
78
+ return null;
40
79
  }
41
80
  function cellValueToSortValue(cellValue, field, references, sortKey = 'display_name') {
42
81
  let values = [];
@@ -54,4 +93,4 @@ function cellValueToSortValue(cellValue, field, references, sortKey = 'display_n
54
93
  }
55
94
  return values && values.length ? values.join(', ') : null;
56
95
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvbWVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBMEIsc0JBQXNCLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FDWixVQUFzQixFQUN0QixVQUFzQixFQUN0QixLQUFtQixFQUNuQixVQUE2QixFQUM3QixPQUFlO1FBRWYsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUUsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUUsT0FBTyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUSxZQUFZLENBQUMsY0FBd0IsRUFBRSxLQUFtQixFQUFFLFVBQThCO1FBQy9GLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM1QixJQUFJLGNBQWMsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7WUFDdkMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDekQsTUFBTSxRQUFRLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNaLFNBQVM7Z0JBQ2IsQ0FBQztnQkFDRCxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELFNBQVMsb0JBQW9CLENBQ3pCLFNBQTJCLEVBQzNCLEtBQW1CLEVBQ25CLFVBQTZCLEVBQzdCLE9BQU8sR0FBRyxjQUFjO0lBRXhCLElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztJQUMxQixJQUFJLFNBQVMsRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbEMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNwRCxNQUFNLFFBQVEsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDWixTQUFTO1lBQ2IsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNSLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQsIEZpZWxkVmFsdWUsIE1lbWJlckZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWx0ZXJDb25kaXRpb24sIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24sIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5nLCBoYXNJbnRlcnNlY3QgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5cbmV4cG9ydCBjbGFzcyBNZW1iZXJGaWVsZCBleHRlbmRzIEZpZWxkIHtcbiAgICBvdmVycmlkZSBpc01lZXRGaWx0ZXIoY29uZGl0aW9uOiBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uPHN0cmluZz4sIGNlbGxWYWx1ZTogTWVtYmVyRmllbGRWYWx1ZSkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmIGhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24ubmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgIWhhc0ludGVyc2VjdChjZWxsVmFsdWUsIGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBzdXBlci5pc01lZXRGaWx0ZXIoY29uZGl0aW9uLCBjZWxsVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29tcGFyZShcbiAgICAgICAgY2VsbFZhbHVlMTogRmllbGRWYWx1ZSxcbiAgICAgICAgY2VsbFZhbHVlMjogRmllbGRWYWx1ZSxcbiAgICAgICAgZmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgICAgIHNvcnRLZXk6IHN0cmluZ1xuICAgICk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEsIGZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgY29uc3QgdmFsdWUyID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMiwgZmllbGQsIHJlZmVyZW5jZXMsIHNvcnRLZXkpO1xuICAgICAgICByZXR1cm4gY29tcGFyZVN0cmluZyh2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY2VsbEZ1bGxUZXh0KHRyYW5zZm9ybVZhbHVlOiBzdHJpbmdbXSwgZmllbGQ6IEFJVGFibGVGaWVsZCwgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzKTogc3RyaW5nW10ge1xuICAgICAgICBsZXQgZnVsbFRleHQ6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZT8ubGVuZ3RoICYmIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0cmFuc2Zvcm1WYWx1ZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VySW5mbyA9IHJlZmVyZW5jZXM/Lm1lbWJlcnNbdHJhbnNmb3JtVmFsdWVbaW5kZXhdXTtcbiAgICAgICAgICAgICAgICBpZiAoIXVzZXJJbmZvKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodXNlckluZm8uZGlzcGxheV9uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bGxUZXh0LnB1c2godXNlckluZm8uZGlzcGxheV9uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bGxUZXh0O1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoXG4gICAgY2VsbFZhbHVlOiBNZW1iZXJGaWVsZFZhbHVlLFxuICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXMsXG4gICAgc29ydEtleSA9ICdkaXNwbGF5X25hbWUnXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBsZXQgdmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChjZWxsVmFsdWU/Lmxlbmd0aCAmJiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjZWxsVmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCB1c2VySW5mbyA9IHJlZmVyZW5jZXM/Lm1lbWJlcnNbY2VsbFZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICBpZiAoIXVzZXJJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXNlckluZm9bc29ydEtleV07XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoID8gdmFsdWVzLmpvaW4oJywgJykgOiBudWxsO1xufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvbWVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQWdELE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBMEIsc0JBQXNCLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkY7Z0JBQ0ksT0FBTyxLQUFLLENBQUMs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QUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNaLFNBQVM7WUFDYixDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElkIH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZFR5cGUsIEZpZWxkVmFsdWUsIE1lbWJlckZpZWxkVmFsdWUsIE1lbWJlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLCBBSVRhYmxlUmVmZXJlbmNlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgY29tcGFyZVN0cmluZywgaGFzSW50ZXJzZWN0IH0gZnJvbSAnLi4vb3BlcmF0ZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuXG5leHBvcnQgY2xhc3MgTWVtYmVyRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IE1lbWJlckZpZWxkVmFsdWUpIHtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiBoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLm5pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjb25kaXRpb24udmFsdWUpICYmICFoYXNJbnRlcnNlY3QoY2VsbFZhbHVlLCBjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoXG4gICAgICAgIGNlbGxWYWx1ZTE6IEZpZWxkVmFsdWUsXG4gICAgICAgIGNlbGxWYWx1ZTI6IEZpZWxkVmFsdWUsXG4gICAgICAgIGZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgICAgICBzb3J0S2V5OiBzdHJpbmdcbiAgICApOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTEgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUxLCBmaWVsZCwgcmVmZXJlbmNlcywgc29ydEtleSk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIsIGZpZWxkLCByZWZlcmVuY2VzLCBzb3J0S2V5KTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQsIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlcyk6IHN0cmluZ1tdIHtcbiAgICAgICAgbGV0IGZ1bGxUZXh0OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAodHJhbnNmb3JtVmFsdWU/Lmxlbmd0aCAmJiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdHJhbnNmb3JtVmFsdWUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXNlckluZm8gPSByZWZlcmVuY2VzPy5tZW1iZXJzW3RyYW5zZm9ybVZhbHVlW2luZGV4XV07XG4gICAgICAgICAgICAgICAgaWYgKCF1c2VySW5mbykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHVzZXJJbmZvLmRpc3BsYXlfbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKHVzZXJJbmZvLmRpc3BsYXlfbmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdWxsVGV4dDtcbiAgICB9XG5cbiAgICBvdmVycmlkZSB0b0ZpZWxkVmFsdWUoXG4gICAgICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgICAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgICAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfSxcbiAgICAgICAgcmVmZXJlbmNlcz86IEFJVGFibGVSZWZlcmVuY2VzXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9NZW1iZXJGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEsIHJlZmVyZW5jZXMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTWVtYmVyRmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9LFxuICAgIHJlZmVyZW5jZXM/OiBBSVRhYmxlUmVmZXJlbmNlc1xuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09IEFJVGFibGVGaWVsZFR5cGUuY3JlYXRlZEJ5IHx8IHRhcmdldEZpZWxkLnR5cGUgPT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQnkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBNZW1iZXJTZXR0aW5ncyk/LmlzX211bHRpcGxlO1xuICAgIGlmIChvcmlnaW5EYXRhKSB7XG4gICAgICAgIGNvbnN0IHsgZmllbGQsIGNlbGxWYWx1ZSB9ID0gb3JpZ2luRGF0YTtcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUubWVtYmVyOlxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgJiYgY2VsbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXNNdWx0aXBsZSA/IGNlbGxWYWx1ZSA6IFtjZWxsVmFsdWVbMF1dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwbGFpblRleHQgPSBwbGFpblRleHQudHJpbSgpO1xuICAgIGNvbnN0IGhhc01lbWJlckluZm8gPSByZWZlcmVuY2VzICYmIHJlZmVyZW5jZXMubWVtYmVycyAmJiBPYmplY3Qua2V5cyhyZWZlcmVuY2VzLm1lbWJlcnMpLmxlbmd0aDtcbiAgICBpZiAocGxhaW5UZXh0ICYmIGhhc01lbWJlckluZm8pIHtcbiAgICAgICAgY29uc3QgbWVtYmVyTmFtZXMgPSBwbGFpblRleHQuc3BsaXQoJywnKS5tYXAoKGlkKSA9PiBpZC50cmltKCkpO1xuICAgICAgICBjb25zdCBtZW1iZXJJbmZvcyA9IE9iamVjdC52YWx1ZXMocmVmZXJlbmNlcy5tZW1iZXJzKTtcbiAgICAgICAgbGV0IHZhbGlkTWVtYmVySWRzOiBNZW1iZXJGaWVsZFZhbHVlID0gW107XG4gICAgICAgIG1lbWJlck5hbWVzLmZvckVhY2goKG1lbWJlck5hbWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbWJlckluZm8gPSBtZW1iZXJJbmZvcy5maW5kKChtZW1iZXIpID0+IG1lbWJlci5kaXNwbGF5X25hbWUgPT09IG1lbWJlck5hbWUpO1xuICAgICAgICAgICAgaWYgKG1lbWJlckluZm8pIHtcbiAgICAgICAgICAgICAgICB2YWxpZE1lbWJlcklkcy5wdXNoKG1lbWJlckluZm8udWlkIGFzIElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh2YWxpZE1lbWJlcklkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBpc011bHRpcGxlID8gdmFsaWRNZW1iZXJJZHMgOiBbdmFsaWRNZW1iZXJJZHNbMF1dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKFxuICAgIGNlbGxWYWx1ZTogTWVtYmVyRmllbGRWYWx1ZSxcbiAgICBmaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIHJlZmVyZW5jZXM6IEFJVGFibGVSZWZlcmVuY2VzLFxuICAgIHNvcnRLZXkgPSAnZGlzcGxheV9uYW1lJ1xuKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IHZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgICBpZiAoY2VsbFZhbHVlPy5sZW5ndGggJiYgcmVmZXJlbmNlcykge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2VsbFZhbHVlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3QgdXNlckluZm8gPSByZWZlcmVuY2VzPy5tZW1iZXJzW2NlbGxWYWx1ZVtpbmRleF1dO1xuICAgICAgICAgICAgaWYgKCF1c2VySW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHVzZXJJbmZvW3NvcnRLZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA/IHZhbHVlcy5qb2luKCcsICcpIDogbnVsbDtcbn1cbiJdfQ==