@ai-table/grid 0.0.41 → 0.0.43
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.
- package/esm2022/components/cell-editors/link/link-editor.component.mjs +2 -2
- package/esm2022/components/drag/drag.component.mjs +2 -2
- package/esm2022/grid.component.mjs +4 -3
- package/esm2022/utils/clipboard/clipboard.mjs +19 -8
- package/esm2022/utils/clipboard/paste.mjs +43 -27
- package/esm2022/utils/field/model/date.mjs +36 -7
- package/esm2022/utils/field/model/select.mjs +2 -2
- package/fesm2022/ai-table-grid.mjs +100 -44
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/utils/clipboard/clipboard.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts.map +1 -1
@@ -14,27 +14,39 @@ function extractContentFromClipboardText(clipboardText) {
|
|
14
14
|
.filter((row) => row.length > 0 && row.some((cell) => cell.trim().length > 0));
|
15
15
|
return contents;
|
16
16
|
}
|
17
|
+
function processTableCell(cellHtml) {
|
18
|
+
const linkPattern = /<a[^>]*?href=["']([^"']+)["'][^>]*?>([^<]*?)<\/a>/i;
|
19
|
+
const match = cellHtml.match(linkPattern);
|
20
|
+
const link = match ? { href: match[1], text: match[2] } : null;
|
21
|
+
const content = link ? cellHtml.replace(linkPattern, `[LINK:${link.text}](${link.href})`) : cellHtml;
|
22
|
+
const cleanContent = content
|
23
|
+
.replace(/<[^>]+>/g, '')
|
24
|
+
.replace(/ /g, ' ')
|
25
|
+
.replace(/\s+/g, ' ')
|
26
|
+
.trim();
|
27
|
+
return link ? cleanContent.replace(`[LINK:${link.text}](${link.href})`, `<a href="${link.href}">${link.text}</a>`) : cleanContent;
|
28
|
+
}
|
17
29
|
function extractContentFromClipboardHtml(clipboardHtml) {
|
18
30
|
const tablePattern = /<table[^>]*>([\s\S]*?)<\/table>/i;
|
19
31
|
const trPattern = /<tr[^>]*>([\s\S]*?)<\/tr>/gi;
|
20
|
-
const
|
21
|
-
const contents = [];
|
32
|
+
const tdPattern = /<td[^>]*?>([\s\S]*?)<\/td>/gi;
|
22
33
|
try {
|
23
34
|
const tableMatch = clipboardHtml.match(tablePattern);
|
24
35
|
const tableContent = tableMatch ? tableMatch[1] : clipboardHtml;
|
25
36
|
const rows = tableContent.match(trPattern) || [];
|
26
|
-
rows
|
27
|
-
|
28
|
-
const
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
}
|
33
|
-
contents
|
34
|
-
})
|
35
|
-
|
37
|
+
return rows
|
38
|
+
.map((row) => {
|
39
|
+
const contents = [];
|
40
|
+
let tdMatch;
|
41
|
+
while ((tdMatch = tdPattern.exec(row)) !== null) {
|
42
|
+
contents.push(processTableCell(tdMatch[1]));
|
43
|
+
}
|
44
|
+
return contents;
|
45
|
+
})
|
46
|
+
.filter((row) => row.length > 0);
|
36
47
|
}
|
37
48
|
catch (error) {
|
49
|
+
console.warn('Failed to extract content from HTML:', error);
|
38
50
|
return [];
|
39
51
|
}
|
40
52
|
}
|
@@ -82,21 +94,25 @@ function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targe
|
|
82
94
|
let originData = field && record ? { field, cellValue: getFieldValue(record, field) } : null;
|
83
95
|
if (targetField.type === AITableFieldType.select) {
|
84
96
|
let { existOptionIds, newOptions } = processPastedValueForSelect(plainText, targetField, originData);
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
97
|
+
let newField = null;
|
98
|
+
let newOptionIds = [];
|
99
|
+
if (newOptions.length) {
|
100
|
+
newOptions = newOptions.map((option) => {
|
101
|
+
return {
|
102
|
+
...option,
|
103
|
+
_id: idCreator()
|
104
|
+
};
|
105
|
+
});
|
106
|
+
newField = {
|
107
|
+
...targetField,
|
108
|
+
settings: {
|
109
|
+
...targetField.settings,
|
110
|
+
options: [...(targetField.settings?.options || []), ...newOptions]
|
111
|
+
}
|
89
112
|
};
|
90
|
-
|
91
|
-
|
92
|
-
|
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];
|
113
|
+
newOptionIds = newOptions.map((option) => option._id).filter((id) => !!id);
|
114
|
+
}
|
115
|
+
const selectFieldValue = newOptionIds?.length ? [...existOptionIds, ...newOptionIds] : existOptionIds;
|
100
116
|
return {
|
101
117
|
value: selectFieldValue,
|
102
118
|
newField
|
@@ -177,4 +193,4 @@ export const writeToAITable = async (aiTable, actions) => {
|
|
177
193
|
});
|
178
194
|
return isPasteSuccess;
|
179
195
|
};
|
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
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy91dGlscy9jbGlwYm9hcmQvcGFzdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILE9BQU8sRUFFUCxnQkFBZ0IsRUFFaEIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixZQUFZLEVBRVosYUFBYSxFQUNiLFNBQVMsRUFHWixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRSxNQUFNLHVCQUF1QixHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsd0JBQXdCLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUV2RixNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDaEQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixTQUFTLCtCQUErQixDQUFDLGFBQXFCO0lBQzFELE1BQU0sUUFBUSxHQUFHLGFBQWE7U0FDekIsS0FBSyxDQUFDLElBQUksQ0FBQztTQUNYLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENB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QUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZUNvbnRlbnQsIEFJVGFibGVSZWZlcmVuY2VzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBBSVRhYmxlLFxuICAgIEFJVGFibGVGaWVsZCxcbiAgICBBSVRhYmxlRmllbGRUeXBlLFxuICAgIEFJVGFibGVSZWNvcmQsXG4gICAgY3JlYXRlRGVmYXVsdEZpZWxkLFxuICAgIGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUsXG4gICAgRmllbGRPcHRpb25zLFxuICAgIEZpZWxkVmFsdWUsXG4gICAgZ2V0RmllbGRWYWx1ZSxcbiAgICBpZENyZWF0b3IsXG4gICAgU2VsZWN0U2V0dGluZ3MsXG4gICAgVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyByZWFkRnJvbUNsaXBib2FyZCwgYWlUYWJsZUZyYWdtZW50QXR0cmlidXRlLCBleHRyYWN0VGV4dCB9IGZyb20gJy4uL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBGaWVsZE1vZGVsTWFwIH0gZnJvbSAnLi4vZmllbGQvbW9kZWwnO1xuaW1wb3J0IHsgcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0IH0gZnJvbSAnLi4vZmllbGQvbW9kZWwvc2VsZWN0JztcbmltcG9ydCB7IEFkZFJlY29yZE9wdGlvbnMsIEFkZEZpZWxkT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5jb25zdCBhaVRhYmxlQXR0cmlidXRlUGF0dGVybiA9IG5ldyBSZWdFeHAoYCR7YWlUYWJsZUZyYWdtZW50QXR0cmlidXRlfT1cIiguKz8pXCJgLCAnbScpO1xuXG5jb25zdCBkZWNvZGVDbGlwYm9hcmRKc29uRGF0YSA9IChlbmNvZGVkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGVuY29kZWQpKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVkKTtcbn07XG5cbmZ1bmN0aW9uIGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZFRleHQoY2xpcGJvYXJkVGV4dDogc3RyaW5nKTogc3RyaW5nW11bXSB7XG4gICAgY29uc3QgY29udGVudHMgPSBjbGlwYm9hcmRUZXh0XG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLm1hcCgocm93KSA9PiByb3cuc3BsaXQoJ1xcdCcpKVxuICAgICAgICAuZmlsdGVyKChyb3cpID0+IHJvdy5sZW5ndGggPiAwICYmIHJvdy5zb21lKChjZWxsKSA9PiBjZWxsLnRyaW0oKS5sZW5ndGggPiAwKSk7XG5cbiAgICByZXR1cm4gY29udGVudHM7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NUYWJsZUNlbGwoY2VsbEh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbGlua1BhdHRlcm4gPSAvPGFbXj5dKj9ocmVmPVtcIiddKFteXCInXSspW1wiJ11bXj5dKj8+KFtePF0qPyk8XFwvYT4vaTtcbiAgICBjb25zdCBtYXRjaCA9IGNlbGxIdG1sLm1hdGNoKGxpbmtQYXR0ZXJuKTtcbiAgICBjb25zdCBsaW5rID0gbWF0Y2ggPyB7IGhyZWY6IG1hdGNoWzFdLCB0ZXh0OiBtYXRjaFsyXSB9IDogbnVsbDtcbiAgICBjb25zdCBjb250ZW50ID0gbGluayA/IGNlbGxIdG1sLnJlcGxhY2UobGlua1BhdHRlcm4sIGBbTElOSzoke2xpbmsudGV4dH1dKCR7bGluay5ocmVmfSlgKSA6IGNlbGxIdG1sO1xuXG4gICAgY29uc3QgY2xlYW5Db250ZW50ID0gY29udGVudFxuICAgICAgICAucmVwbGFjZSgvPFtePl0rPi9nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoLyZuYnNwOy9nLCAnICcpXG4gICAgICAgIC5yZXBsYWNlKC9cXHMrL2csICcgJylcbiAgICAgICAgLnRyaW0oKTtcblxuICAgIHJldHVybiBsaW5rID8gY2xlYW5Db250ZW50LnJlcGxhY2UoYFtMSU5LOiR7bGluay50ZXh0fV0oJHtsaW5rLmhyZWZ9KWAsIGA8YSBocmVmPVwiJHtsaW5rLmhyZWZ9XCI+JHtsaW5rLnRleHR9PC9hPmApIDogY2xlYW5Db250ZW50O1xufVxuXG5mdW5jdGlvbiBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IHRhYmxlUGF0dGVybiA9IC88dGFibGVbXj5dKj4oW1xcc1xcU10qPyk8XFwvdGFibGU+L2k7XG4gICAgY29uc3QgdHJQYXR0ZXJuID0gLzx0cltePl0qPihbXFxzXFxTXSo/KTxcXC90cj4vZ2k7XG4gICAgY29uc3QgdGRQYXR0ZXJuID0gLzx0ZFtePl0qPz4oW1xcc1xcU10qPyk8XFwvdGQ+L2dpO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGFibGVNYXRjaCA9IGNsaXBib2FyZEh0bWwubWF0Y2godGFibGVQYXR0ZXJuKTtcbiAgICAgICAgY29uc3QgdGFibGVDb250ZW50ID0gdGFibGVNYXRjaCA/IHRhYmxlTWF0Y2hbMV0gOiBjbGlwYm9hcmRIdG1sO1xuICAgICAgICBjb25zdCByb3dzID0gdGFibGVDb250ZW50Lm1hdGNoKHRyUGF0dGVybikgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIHJvd3NcbiAgICAgICAgICAgIC5tYXAoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgICAgIGxldCB0ZE1hdGNoO1xuXG4gICAgICAgICAgICAgICAgd2hpbGUgKCh0ZE1hdGNoID0gdGRQYXR0ZXJuLmV4ZWMocm93KSkgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudHMucHVzaChwcm9jZXNzVGFibGVDZWxsKHRkTWF0Y2hbMV0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudHM7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmZpbHRlcigocm93KSA9PiByb3cubGVuZ3RoID4gMCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdGYWlsZWQgdG8gZXh0cmFjdCBjb250ZW50IGZyb20gSFRNTDonLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWw6IHN0cmluZyk6IEFJVGFibGVDb250ZW50IHwgbnVsbCB7XG4gICAgY29uc3QgYWlUYWJsZUZyYWdtZW50ID0gY2xpcGJvYXJkSHRtbC5tYXRjaChhaVRhYmxlQXR0cmlidXRlUGF0dGVybik7XG4gICAgaWYgKGFpVGFibGVGcmFnbWVudCAmJiAhIWFpVGFibGVGcmFnbWVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZUNsaXBib2FyZEpzb25EYXRhKGFpVGFibGVGcmFnbWVudFsxXSk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuXG5jb25zdCByZWFkQ2xpcGJvYXJkRGF0YSA9IGFzeW5jICgpOiBQcm9taXNlPHsgY2xpcGJvYXJkQ29udGVudDogc3RyaW5nW11bXTsgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCB9PiA9PiB7XG4gICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGF3YWl0IHJlYWRGcm9tQ2xpcGJvYXJkKCk7XG4gICAgbGV0IGNsaXBib2FyZENvbnRlbnQ6IHN0cmluZ1tdW10gPSBbXTtcbiAgICBsZXQgYWlUYWJsZUNvbnRlbnQ6IEFJVGFibGVDb250ZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBpZiAoY2xpcGJvYXJkRGF0YSkge1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRIdG1sID0gY2xpcGJvYXJkRGF0YS5odG1sO1xuICAgICAgICBjb25zdCBjbGlwYm9hcmRUZXh0ID0gY2xpcGJvYXJkRGF0YS50ZXh0O1xuXG4gICAgICAgIGlmIChjbGlwYm9hcmRIdG1sKSB7XG4gICAgICAgICAgICBhaVRhYmxlQ29udGVudCA9IGV4dHJhY3RBSVRhYmxlQ29udGVudEZyb21DbGlwYm9hcmRIdG1sKGNsaXBib2FyZEh0bWwpO1xuICAgICAgICAgICAgY2xpcGJvYXJkQ29udGVudCA9IGV4dHJhY3RDb250ZW50RnJvbUNsaXBib2FyZEh0bWwoY2xpcGJvYXJkSHRtbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsaXBib2FyZENvbnRlbnQubGVuZ3RoICYmIGNsaXBib2FyZFRleHQpIHtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRlbnQgPSBleHRyYWN0Q29udGVudEZyb21DbGlwYm9hcmRUZXh0KGNsaXBib2FyZFRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgY2xpcGJvYXJkQ29udGVudCxcbiAgICAgICAgYWlUYWJsZUNvbnRlbnRcbiAgICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0UGFzdGVWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICBhaVRhYmxlQ29udGVudDogQUlUYWJsZUNvbnRlbnQgfCBudWxsLFxuICAgIHJlY29yZEluZGV4OiBudW1iZXIsXG4gICAgZmllbGRJbmRleDogbnVtYmVyLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgcmVmZXJlbmNlczogQUlUYWJsZVJlZmVyZW5jZXNcbik6IHtcbiAgICB2YWx1ZTogRmllbGRWYWx1ZSB8IG51bGw7XG4gICAgbmV3RmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGw7XG59IHtcbiAgICBsZXQgZmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwgPSBudWxsO1xuICAgIGxldCByZWNvcmQ6IFBhcnRpYWw8QUlUYWJsZVJlY29yZD4gfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChhaVRhYmxlQ29udGVudCkge1xuICAgICAgICBjb25zdCB7IGZpZWxkcywgcmVjb3JkcyB9ID0gYWlUYWJsZUNvbnRlbnQ7XG4gICAgICAgIGZpZWxkID0gZmllbGRzW2ZpZWxkSW5kZXhdO1xuICAgICAgICByZWNvcmQgPSByZWNvcmRzW3JlY29yZEluZGV4XTtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5hdHRhY2htZW50IHx8IChmaWVsZCAmJiBmaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmF0dGFjaG1lbnQpKSB7XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBudWxsLCBuZXdGaWVsZDogbnVsbCB9O1xuICAgIH1cbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSAhPT0gQUlUYWJsZUZpZWxkVHlwZS5saW5rKSB7XG4gICAgICAgIHBsYWluVGV4dCA9IGV4dHJhY3RUZXh0KHBsYWluVGV4dCk7XG4gICAgfVxuXG4gICAgbGV0IG9yaWdpbkRhdGEgPSBmaWVsZCAmJiByZWNvcmQgPyB7IGZpZWxkLCBjZWxsVmFsdWU6IGdldEZpZWxkVmFsdWUocmVjb3JkLCBmaWVsZCkgfSA6IG51bGw7XG4gICAgaWYgKHRhcmdldEZpZWxkLnR5cGUgPT09IEFJVGFibGVGaWVsZFR5cGUuc2VsZWN0KSB7XG4gICAgICAgIGxldCB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH0gPSBwcm9jZXNzUGFzdGVkVmFsdWVGb3JTZWxlY3QocGxhaW5UZXh0LCB0YXJnZXRGaWVsZCwgb3JpZ2luRGF0YSk7XG4gICAgICAgIGxldCBuZXdGaWVsZDogQUlUYWJsZUZpZWxkIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGxldCBuZXdPcHRpb25JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgaWYgKG5ld09wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBuZXdPcHRpb25zID0gbmV3T3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLm9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgX2lkOiBpZENyZWF0b3IoKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG5ld0ZpZWxkID0ge1xuICAgICAgICAgICAgICAgIC4uLnRhcmdldEZpZWxkLFxuICAgICAgICAgICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnRhcmdldEZpZWxkLnNldHRpbmdzLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBbLi4uKCh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW10pLCAuLi5uZXdPcHRpb25zXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuZXdPcHRpb25JZHMgPSBuZXdPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uX2lkKS5maWx0ZXIoKGlkKSA9PiAhIWlkKSBhcyBzdHJpbmdbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdEZpZWxkVmFsdWUgPSBuZXdPcHRpb25JZHM/Lmxlbmd0aCA/IFsuLi5leGlzdE9wdGlvbklkcywgLi4ubmV3T3B0aW9uSWRzXSA6IGV4aXN0T3B0aW9uSWRzO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHNlbGVjdEZpZWxkVmFsdWUsXG4gICAgICAgICAgICBuZXdGaWVsZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHZhbHVlOiBGaWVsZE1vZGVsTWFwW3RhcmdldEZpZWxkLnR5cGVdLnRvRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhLCByZWZlcmVuY2VzKSwgbmV3RmllbGQ6IG51bGwgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlUGFzdGVBY3Rpb25zIHtcbiAgICB1cGRhdGVGaWVsZFZhbHVlOiAoZGF0YTogVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnMpID0+IHZvaWQ7XG4gICAgc2V0RmllbGQ6IChmaWVsZDogQUlUYWJsZUZpZWxkKSA9PiB2b2lkO1xuICAgIGFkZFJlY29yZDogKGRhdGE6IEFkZFJlY29yZE9wdGlvbnMpID0+IHZvaWQ7XG4gICAgYWRkRmllbGQ6IChkYXRhOiBBZGRGaWVsZE9wdGlvbnMpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZFJlY29yZChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlUGFzdGVBY3Rpb25zKSB7XG4gICAgY29uc3QgYWxsUmVjb3JkcyA9IGFpVGFibGUucmVjb3JkcygpO1xuICAgIGNvbnN0IGxhc3RSZWNvcmRJZCA9IGFsbFJlY29yZHMubGVuZ3RoID4gMCA/IGFsbFJlY29yZHNbYWxsUmVjb3Jkcy5sZW5ndGggLSAxXS5faWQgOiAnJztcbiAgICBhY3Rpb25zLmFkZFJlY29yZCh7XG4gICAgICAgIG9yaWdpbklkOiBsYXN0UmVjb3JkSWRcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmllbGQoYWlUYWJsZTogQUlUYWJsZSwgb3JpZ2luRmllbGQ6IEFJVGFibGVGaWVsZCB8IG51bGwsIGFjdGlvbnM6IEFJVGFibGVQYXN0ZUFjdGlvbnMpIHtcbiAgICBjb25zdCBsYXN0RmllbGRJZCA9IGFpVGFibGUuZmllbGRzKCkubGVuZ3RoID4gMCA/IGFpVGFibGUuZmllbGRzKClbYWlUYWJsZS5maWVsZHMoKS5sZW5ndGggLSAxXS5faWQgOiAnJztcbiAgICBsZXQgZGVmYXVsdEZpZWxkVmFsdWU6IFBhcnRpYWw8QUlUYWJsZUZpZWxkPjtcbiAgICBpZiAob3JpZ2luRmllbGQpIHtcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWUgPSB7XG4gICAgICAgICAgICAuLi5vcmlnaW5GaWVsZCxcbiAgICAgICAgICAgIG5hbWU6IGNyZWF0ZURlZmF1bHRGaWVsZE5hbWUoYWlUYWJsZSwgRmllbGRPcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gb3JpZ2luRmllbGQudHlwZSkhKSxcbiAgICAgICAgICAgIF9pZDogaWRDcmVhdG9yKClcbiAgICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBkZWZhdWx0RmllbGRWYWx1ZSA9IGNyZWF0ZURlZmF1bHRGaWVsZChhaVRhYmxlLCBBSVRhYmxlRmllbGRUeXBlLnRleHQpO1xuICAgIH1cblxuICAgIGFjdGlvbnMuYWRkRmllbGQoe1xuICAgICAgICBvcmlnaW5JZDogbGFzdEZpZWxkSWQsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdEZpZWxkVmFsdWVcbiAgICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHdyaXRlVG9BSVRhYmxlID0gYXN5bmMgKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVQYXN0ZUFjdGlvbnMpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZENlbGxzID0gQXJyYXkuZnJvbShhaVRhYmxlLnNlbGVjdGlvbigpLnNlbGVjdGVkQ2VsbHMpO1xuICAgIGlmICghc2VsZWN0ZWRDZWxscy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGNsaXBib2FyZENvbnRlbnQsIGFpVGFibGVDb250ZW50IH0gPSBhd2FpdCByZWFkQ2xpcGJvYXJkRGF0YSgpO1xuICAgIGlmICghY2xpcGJvYXJkQ29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IFtmaXJzdENlbGxdID0gc2VsZWN0ZWRDZWxscztcbiAgICBjb25zdCBbc3RhcnRSZWNvcmRJZCwgc3RhcnRGaWVsZElkXSA9IGZpcnN0Q2VsbC5zcGxpdCgnOicpO1xuICAgIGNvbnN0IHN0YXJ0Um93SW5kZXggPSBhaVRhYmxlLmNvbnRleHQhLnZpc2libGVSb3dzSW5kZXhNYXAoKS5nZXQoc3RhcnRSZWNvcmRJZCkgPz8gMDtcbiAgICBjb25zdCBzdGFydENvbEluZGV4ID0gYWlUYWJsZS5jb250ZXh0IS52aXNpYmxlQ29sdW1uc0luZGV4TWFwKCkuZ2V0KHN0YXJ0RmllbGRJZCkgPz8gMDtcbiAgICBjb25zdCByZWZlcmVuY2VzID0gYWlUYWJsZS5jb250ZXh0IS5yZWZlcmVuY2VzKCk7XG4gICAgbGV0IGlzUGFzdGVTdWNjZXNzID0gZmFsc2U7XG5cbiAgICBjbGlwYm9hcmRDb250ZW50LmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRSb3dJbmRleCA9IHN0YXJ0Um93SW5kZXggKyBpO1xuICAgICAgICBpZiAodGFyZ2V0Um93SW5kZXggPj0gYWlUYWJsZS5jb250ZXh0IS5saW5lYXJSb3dzKCkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgYXBwZW5kUmVjb3JkKGFpVGFibGUsIGFjdGlvbnMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcm93LmZvckVhY2goKHBsYWluVGV4dCwgaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29sSW5kZXggPSBzdGFydENvbEluZGV4ICsgajtcbiAgICAgICAgICAgIGlmICh0YXJnZXRDb2xJbmRleCA+PSBBSVRhYmxlLmdldFZpc2libGVGaWVsZHMoYWlUYWJsZSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luRmllbGQgPSBhaVRhYmxlQ29udGVudD8uZmllbGRzW2pdIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgYXBwZW5kRmllbGQoYWlUYWJsZSwgb3JpZ2luRmllbGQsIGFjdGlvbnMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0YXJnZXRSZWNvcmQgPSBhaVRhYmxlLmNvbnRleHQhLmxpbmVhclJvd3MoKVt0YXJnZXRSb3dJbmRleF07XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRGaWVsZCA9IEFJVGFibGUuZ2V0VmlzaWJsZUZpZWxkcyhhaVRhYmxlKVt0YXJnZXRDb2xJbmRleF07XG4gICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGk7XG4gICAgICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gajtcbiAgICAgICAgICAgIGNvbnN0IHsgdmFsdWUsIG5ld0ZpZWxkIH0gPSBnZXRQYXN0ZVZhbHVlKHBsYWluVGV4dCwgYWlUYWJsZUNvbnRlbnQsIHJlY29yZEluZGV4LCBmaWVsZEluZGV4LCB0YXJnZXRGaWVsZCwgcmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgIGlmIChuZXdGaWVsZCkge1xuICAgICAgICAgICAgICAgIGFjdGlvbnMuc2V0RmllbGQobmV3RmllbGQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbdGFyZ2V0UmVjb3JkLl9pZCwgdGFyZ2V0RmllbGQuX2lkXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXNQYXN0ZVN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpc1Bhc3RlU3VjY2Vzcztcbn07XG4iXX0=
|
@@ -95,13 +95,42 @@ function cellValueToSortValue(cellValue) {
|
|
95
95
|
}
|
96
96
|
function transformDateValue(text) {
|
97
97
|
const value = text.trim();
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
98
|
+
if (!value || isEmpty(value))
|
99
|
+
return null;
|
100
|
+
// 基础日期格式:支持识别 - / . 年月日 作为分隔符
|
101
|
+
const datePattern = String.raw `(?:(\d{2}|\d{4})[-/.年](\d{1,2})[-/.月](\d{1,2})日?)`;
|
102
|
+
const timePattern = String.raw `(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?`;
|
103
|
+
const pattern = new RegExp(`^${datePattern}${timePattern}$`);
|
104
|
+
const match = value.match(pattern);
|
105
|
+
if (!match)
|
106
|
+
return null;
|
107
|
+
try {
|
108
|
+
let [_, year, month, day] = match;
|
109
|
+
if (year.length === 2) {
|
110
|
+
const currentYear = new Date().getFullYear();
|
111
|
+
const century = Math.floor(currentYear / 100) * 100;
|
112
|
+
const twoDigitYear = parseInt(year);
|
113
|
+
year = String(twoDigitYear > currentYear % 100 ? century - 100 + twoDigitYear : century + twoDigitYear);
|
114
|
+
}
|
115
|
+
const monthNum = parseInt(month);
|
116
|
+
const dayNum = parseInt(day);
|
117
|
+
if (monthNum < 1 || monthNum > 12) {
|
118
|
+
console.warn('Invalid month:', monthNum);
|
119
|
+
return null;
|
120
|
+
}
|
121
|
+
const maxDays = new Date(parseInt(year), monthNum, 0).getDate();
|
122
|
+
if (dayNum < 1 || dayNum > maxDays) {
|
123
|
+
console.warn('Invalid day:', dayNum);
|
124
|
+
return null;
|
125
|
+
}
|
126
|
+
const standardDate = `${year}-${String(monthNum).padStart(2, '0')}-${String(dayNum).padStart(2, '0')}`;
|
127
|
+
return {
|
128
|
+
timestamp: new TinyDate(standardDate).getUnixTime()
|
102
129
|
};
|
103
|
-
return dateValue;
|
104
130
|
}
|
105
|
-
|
131
|
+
catch (error) {
|
132
|
+
console.warn('Invalid date:', value);
|
133
|
+
return null;
|
134
|
+
}
|
106
135
|
}
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEUsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQixPQUFPLFNBQVMsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZDLEtBQUssc0JBQXNCLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QyxLQUFLLHNCQUFzQixDQUFDLE9BQU87Z0JBQy9CLE9BQU8sSUFBSSxJQUFJLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdEU7Z0JBQ0ksT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU8sQ0FBQyxVQUEwQixFQUFFLFVBQTBCO1FBQ25FLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRVEsWUFBWSxDQUNqQixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUEyRDtRQUUzRCxPQUFPLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFpQztRQUMxQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ1osS0FBSyxPQUFPO2dCQUNSLE9BQU8sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEgsS0FBSyxjQUFjO2dCQUNmLE9BQU87b0JBQ0gsSUFBSSxRQUFRLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUU7b0JBQzdELElBQUksUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFO2lCQUM5RCxDQUFDO1lBQ04sS0FBSyxXQUFXO2dCQUNaLE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7b0JBQy9ELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFO2lCQUNoRSxDQUFDO1lBQ04sS0FBSyxlQUFlO2dCQUNoQixPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDcEc7Z0JBQ0ksSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDakIsT0FBTzt3QkFDSCxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUU7d0JBQ3pFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTtxQkFDMUUsQ0FBQztnQkFDTixDQUFDO2dCQUNELE9BQU87b0JBQ0gsSUFBSSxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUN0RSxJQUFJLFFBQVEsQ0FBQyxZQUFZLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUU7aUJBQ3ZFLENBQUM7UUFDVixDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixTQUFpQixFQUNqQixXQUF5QixFQUN6QixVQUEyRDtJQUUzRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckcsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksVUFBVSxFQUFFLENBQUM7UUFDYixNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUN4QyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3RCLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtnQkFDdEIsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hELElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ1osT0FBTyxTQUFTLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQ0QsTUFBTTtZQUNWO2dCQUNJLE1BQU07UUFDZCxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxTQUF5QjtJQUNuRCxPQUFPLFNBQVMsRUFBRSxTQUFTLENBQUM7QUFDaEMsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBWTtJQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsTUFBTSxPQUFPLEdBQUcseUJBQXlCLENBQUM7SUFFMUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHO1lBQ2QsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUMvQyxDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVW5peFRpbWUsIHN1YkRheXMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBpc0FycmF5LCBUaW55RGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQnO1xuaW1wb3J0IHsgQUlUYWJsZUZpbHRlckNvbmRpdGlvbiwgQUlUYWJsZUZpbHRlck9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgRGF0ZUZpZWxkVmFsdWUsIEZpZWxkVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGNvbXBhcmVOdW1iZXIgfSBmcm9tICcuLi9vcGVyYXRlJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBEYXRlRmllbGRWYWx1ZSkge1xuICAgICAgICBjb25zdCBbbGVmdCwgcmlnaHRdID0gdGhpcy5nZXRUaW1lUmFuZ2UoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgc3dpdGNoIChjb25kaXRpb24ub3BlcmF0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZW1wdHk6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgfHwgY2VsbFZhbHVlLnRpbWVzdGFtcCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5leGlzdHM6XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpc0VtcHR5KGNlbGxWYWx1ZS50aW1lc3RhbXApICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgIT09IDA7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxlZnQgPD0gY2VsbFZhbHVlLnRpbWVzdGFtcCAmJiBjZWxsVmFsdWUudGltZXN0YW1wIDwgcmlnaHQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZ3Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZS50aW1lc3RhbXAgPiByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5sdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA8IGxlZnQ7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uYmV0d2VlbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IERhdGVGaWVsZFZhbHVlLCBjZWxsVmFsdWUyOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHZhbHVlMSA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTEpO1xuICAgICAgICBjb25zdCB2YWx1ZTIgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUyKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVOdW1iZXIodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHRvRmllbGRWYWx1ZShcbiAgICAgICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9XG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9EYXRlRmllbGRWYWx1ZShwbGFpblRleHQsIHRhcmdldEZpZWxkLCBvcmlnaW5EYXRhKTtcbiAgICB9XG5cbiAgICBnZXRUaW1lUmFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW25ldyBUaW55RGF0ZShuZXcgRGF0ZSgpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBjYXNlICdjdXJyZW50X3dlZWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZSgpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ3llc3RlcmRheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKHN1YkRheXMobmV3IERhdGUoKSwgMSkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfbW9udGgnOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKCkuc3RhcnRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKSwgbmV3IFRpbnlEYXRlKCkuZW5kT2ZNb250aCgpLmdldFVuaXhUaW1lKCldO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMF0gYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlWzFdIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLFxuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoZnJvbVVuaXhUaW1lKHZhbHVlIGFzIG51bWJlcikpLmVuZE9mRGF5KCkuZ2V0VW5peFRpbWUoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGVGaWVsZFZhbHVlKFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbik6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBpZiAodGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQXQgfHwgdGFyZ2V0RmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKG9yaWdpbkRhdGEpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgY2VsbFZhbHVlIH0gPSBvcmlnaW5EYXRhO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWU7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUudGV4dDpcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVmFsdWUgPSB0cmFuc2Zvcm1EYXRlVmFsdWUoY2VsbFZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHRyYW5zZm9ybURhdGVWYWx1ZShwbGFpblRleHQpO1xuICAgICAgICBpZiAoZGF0ZVZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZVZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogRGF0ZUZpZWxkVmFsdWUpOiBudW1iZXIge1xuICAgIHJldHVybiBjZWxsVmFsdWU/LnRpbWVzdGFtcDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZVZhbHVlKHRleHQ6IHN0cmluZyk6IEZpZWxkVmFsdWUgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRleHQudHJpbSgpO1xuICAgIGNvbnN0IHBhdHRlcm4gPSAvXlxcZHs0fS1cXGR7MSwyfS1cXGR7MSwyfSQvO1xuXG4gICAgaWYgKHZhbHVlICYmICFpc0VtcHR5KHZhbHVlKSAmJiBwYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogbmV3IFRpbnlEYXRlKHZhbHVlKS5nZXRVbml4VGltZSgpXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3V0aWxzL2ZpZWxkL21vZGVsL2RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdkMsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBQ3ZCLFlBQVksQ0FBQyxTQUF5QyxFQUFFLFNBQXlCO1FBQ3RGLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsUUFBUSxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsS0FBSyxzQkFBc0IsQ0FBQyxLQUFLO2dCQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUM7WUFDckUsS0FBSyxzQkFBc0IsQ0FBQyxNQUFNO2dCQUM5QixPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsU0FBUyxLQUFLLENBQUMsQ0FBQztZQUN0RSxLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9B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QUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLFFBQVEsR0FBRyxDQUFDLElBQUksUUFBUSxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEUsSUFBSSxNQUFNLEdBQUcsQ0FBQyxJQUFJLE1BQU0sR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2RyxPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLFdBQVcsRUFBRTtTQUN0RCxDQUFDO0lBQ04sQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21Vbml4VGltZSwgc3ViRGF5cyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGlzQXJyYXksIFRpbnlEYXRlIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBEYXRlRmllbGRWYWx1ZSwgRmllbGRWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgY29tcGFyZU51bWJlciB9IGZyb20gJy4uL29wZXJhdGUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBEYXRlRmllbGQgZXh0ZW5kcyBGaWVsZCB7XG4gICAgb3ZlcnJpZGUgaXNNZWV0RmlsdGVyKGNvbmRpdGlvbjogQUlUYWJsZUZpbHRlckNvbmRpdGlvbjxzdHJpbmc+LCBjZWxsVmFsdWU6IERhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgIGNvbnN0IFtsZWZ0LCByaWdodF0gPSB0aGlzLmdldFRpbWVSYW5nZShjb25kaXRpb24udmFsdWUpO1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi5vcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lbXB0eTpcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNFbXB0eShjZWxsVmFsdWUudGltZXN0YW1wKSB8fCBjZWxsVmFsdWUudGltZXN0YW1wID09PSAwO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmV4aXN0czpcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzRW1wdHkoY2VsbFZhbHVlLnRpbWVzdGFtcCkgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCAhPT0gMDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5lcTpcbiAgICAgICAgICAgICAgICByZXR1cm4gbGVmdCA8PSBjZWxsVmFsdWUudGltZXN0YW1wICYmIGNlbGxWYWx1ZS50aW1lc3RhbXAgPCByaWdodDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5ndDpcbiAgICAgICAgICAgICAgICByZXR1cm4gY2VsbFZhbHVlLnRpbWVzdGFtcCA+IHJpZ2h0O1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBjZWxsVmFsdWUudGltZXN0YW1wIDwgbGVmdDtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5iZXR3ZWVuOlxuICAgICAgICAgICAgICAgIHJldHVybiBsZWZ0IDw9IGNlbGxWYWx1ZS50aW1lc3RhbXAgJiYgY2VsbFZhbHVlLnRpbWVzdGFtcCA8IHJpZ2h0O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIuaXNNZWV0RmlsdGVyKGNvbmRpdGlvbiwgY2VsbFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNvbXBhcmUoY2VsbFZhbHVlMTogRGF0ZUZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IERhdGVGaWVsZFZhbHVlKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWUxID0gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlMSk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIpO1xuICAgICAgICByZXR1cm4gY29tcGFyZU51bWJlcih2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH1cbiAgICApOiBGaWVsZFZhbHVlIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0b0RhdGVGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cblxuICAgIGdldFRpbWVSYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICAgICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICAgICAgY2FzZSAndG9kYXknOlxuICAgICAgICAgICAgICAgIHJldHVybiBbbmV3IFRpbnlEYXRlKG5ldyBEYXRlKCkpLnN0YXJ0T2ZEYXkoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUobmV3IERhdGUoKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXTtcbiAgICAgICAgICAgIGNhc2UgJ2N1cnJlbnRfd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKCkuZW5kT2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAneWVzdGVyZGF5JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICBuZXcgVGlueURhdGUoc3ViRGF5cyhuZXcgRGF0ZSgpLCAxKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShzdWJEYXlzKG5ldyBEYXRlKCksIDEpKS5lbmRPZkRheSgpLmdldFVuaXhUaW1lKClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVudF9tb250aCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtuZXcgVGlueURhdGUoKS5zdGFydE9mTW9udGgoKS5nZXRVbml4VGltZSgpLCBuZXcgVGlueURhdGUoKS5lbmRPZk1vbnRoKCkuZ2V0VW5peFRpbWUoKV07XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFRpbnlEYXRlKGZyb21Vbml4VGltZSh2YWx1ZVswXSBhcyBudW1iZXIpKS5zdGFydE9mRGF5KCkuZ2V0VW5peFRpbWUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWVbMV0gYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuc3RhcnRPZkRheSgpLmdldFVuaXhUaW1lKCksXG4gICAgICAgICAgICAgICAgICAgIG5ldyBUaW55RGF0ZShmcm9tVW5peFRpbWUodmFsdWUgYXMgbnVtYmVyKSkuZW5kT2ZEYXkoKS5nZXRVbml4VGltZSgpXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZUZpZWxkVmFsdWUoXG4gICAgcGxhaW5UZXh0OiBzdHJpbmcsXG4gICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICBvcmlnaW5EYXRhPzogeyBmaWVsZDogQUlUYWJsZUZpZWxkOyBjZWxsVmFsdWU6IEZpZWxkVmFsdWUgfVxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGlmICh0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRBdCB8fCB0YXJnZXRGaWVsZC50eXBlID09PSBBSVRhYmxlRmllbGRUeXBlLnVwZGF0ZWRBdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAob3JpZ2luRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkLCBjZWxsVmFsdWUgfSA9IG9yaWdpbkRhdGE7XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLmRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNlbGxWYWx1ZTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS50ZXh0OlxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVWYWx1ZSA9IHRyYW5zZm9ybURhdGVWYWx1ZShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0ZVZhbHVlID0gdHJhbnNmb3JtRGF0ZVZhbHVlKHBsYWluVGV4dCk7XG4gICAgICAgIGlmIChkYXRlVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY2VsbFZhbHVlVG9Tb3J0VmFsdWUoY2VsbFZhbHVlOiBEYXRlRmllbGRWYWx1ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNlbGxWYWx1ZT8udGltZXN0YW1wO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1EYXRlVmFsdWUodGV4dDogc3RyaW5nKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGV4dC50cmltKCk7XG4gICAgaWYgKCF2YWx1ZSB8fCBpc0VtcHR5KHZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgICAvLyDln7rnoYDml6XmnJ/moLzlvI/vvJrmlK/mjIHor4bliKsgLSAvIC4g5bm05pyI5pelIOS9nOS4uuWIhumalOesplxuICAgIGNvbnN0IGRhdGVQYXR0ZXJuID0gU3RyaW5nLnJhd2AoPzooXFxkezJ9fFxcZHs0fSlbLS8u5bm0XShcXGR7MSwyfSlbLS8u5pyIXShcXGR7MSwyfSnml6U/KWA7XG4gICAgY29uc3QgdGltZVBhdHRlcm4gPSBTdHJpbmcucmF3YCg/OlxccysoXFxkezEsMn0pOihcXGR7MSwyfSkoPzo6KFxcZHsxLDJ9KSk/KT9gO1xuXG4gICAgY29uc3QgcGF0dGVybiA9IG5ldyBSZWdFeHAoYF4ke2RhdGVQYXR0ZXJufSR7dGltZVBhdHRlcm59JGApO1xuICAgIGNvbnN0IG1hdGNoID0gdmFsdWUubWF0Y2gocGF0dGVybik7XG5cbiAgICBpZiAoIW1hdGNoKSByZXR1cm4gbnVsbDtcblxuICAgIHRyeSB7XG4gICAgICAgIGxldCBbXywgeWVhciwgbW9udGgsIGRheV0gPSBtYXRjaDtcblxuICAgICAgICBpZiAoeWVhci5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgY29uc3QgY2VudHVyeSA9IE1hdGguZmxvb3IoY3VycmVudFllYXIgLyAxMDApICogMTAwO1xuICAgICAgICAgICAgY29uc3QgdHdvRGlnaXRZZWFyID0gcGFyc2VJbnQoeWVhcik7XG4gICAgICAgICAgICB5ZWFyID0gU3RyaW5nKHR3b0RpZ2l0WWVhciA+IGN1cnJlbnRZZWFyICUgMTAwID8gY2VudHVyeSAtIDEwMCArIHR3b0RpZ2l0WWVhciA6IGNlbnR1cnkgKyB0d29EaWdpdFllYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbW9udGhOdW0gPSBwYXJzZUludChtb250aCk7XG4gICAgICAgIGNvbnN0IGRheU51bSA9IHBhcnNlSW50KGRheSk7XG5cbiAgICAgICAgaWYgKG1vbnRoTnVtIDwgMSB8fCBtb250aE51bSA+IDEyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0ludmFsaWQgbW9udGg6JywgbW9udGhOdW0pO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXhEYXlzID0gbmV3IERhdGUocGFyc2VJbnQoeWVhciksIG1vbnRoTnVtLCAwKS5nZXREYXRlKCk7XG4gICAgICAgIGlmIChkYXlOdW0gPCAxIHx8IGRheU51bSA+IG1heERheXMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBkYXk6JywgZGF5TnVtKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhbmRhcmREYXRlID0gYCR7eWVhcn0tJHtTdHJpbmcobW9udGhOdW0pLnBhZFN0YXJ0KDIsICcwJyl9LSR7U3RyaW5nKGRheU51bSkucGFkU3RhcnQoMiwgJzAnKX1gO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGltZXN0YW1wOiBuZXcgVGlueURhdGUoc3RhbmRhcmREYXRlKS5nZXRVbml4VGltZSgpXG4gICAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdJbnZhbGlkIGRhdGU6JywgdmFsdWUpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
|
@@ -58,7 +58,7 @@ export function processPastedValueForSelect(plainText, targetField, originData)
|
|
58
58
|
if (targetOptionIds.includes(id)) {
|
59
59
|
existOptionIds.push(id);
|
60
60
|
}
|
61
|
-
else if (targetFieldOptions.some((option) => option.text === originOptionsMap[id]
|
61
|
+
else if (targetFieldOptions.some((option) => option.text === originOptionsMap[id]?.text)) {
|
62
62
|
const option = targetFieldOptions.find((option) => option.text === originOptionsMap[id].text);
|
63
63
|
existOptionIds.push(option._id);
|
64
64
|
}
|
@@ -116,4 +116,4 @@ function cellValueToSortValue(cellValue, field) {
|
|
116
116
|
}
|
117
117
|
return texts && texts.length ? texts.join(',') : null;
|
118
118
|
}
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUFxRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpELE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMs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QzFGLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlU2VsZWN0T3B0aW9uLCBGaWVsZFZhbHVlLCBTZWxlY3RGaWVsZFZhbHVlLCBTZWxlY3RTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5nLCBoYXNJbnRlcnNlY3QgfSBmcm9tICcuLi9vcGVyYXRlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBTZWxlY3RGaWVsZFZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiAhaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IEZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IEZpZWxkVmFsdWUsIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTEgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUxLCBmaWVsZCk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIsIGZpZWxkKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3Qgb3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKS5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRyYW5zZm9ybVZhbHVlKSAmJiB0cmFuc2Zvcm1WYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVZhbHVlLmZvckVhY2goKG9wdGlvbklkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKG9wdGlvbi50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9TZWxlY3RGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiB7IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXTsgbmV3T3B0aW9uczogUGFydGlhbDxBSVRhYmxlU2VsZWN0T3B0aW9uPltdIH0ge1xuICAgIGNvbnN0IHRhcmdldEZpZWxkT3B0aW9ucyA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW107XG4gICAgbGV0IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBuZXdPcHRpb25zOiBQYXJ0aWFsPEFJVGFibGVTZWxlY3RPcHRpb24+W10gPSBbXTtcbiAgICBsZXQgY2VsbEZ1bGxUZXh0czogc3RyaW5nW10gPSBwbGFpblRleHQuc3BsaXQoJywnKS5tYXAoKHRleHQpID0+IHRleHQudHJpbSgpKTtcblxuICAgIGNvbnN0IHsgZmllbGQsIGNlbGxWYWx1ZSB9ID0gb3JpZ2luRGF0YSB8fCB7fTtcbiAgICBpZiAoZmllbGQgJiYgZmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgaWYgKGNlbGxWYWx1ZSAmJiBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgJiYgY2VsbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0T3B0aW9uSWRzID0gdGFyZ2V0RmllbGRPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uX2lkKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICAgICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRPcHRpb25JZHMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4aXN0T3B0aW9uSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0RmllbGRPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IG9yaWdpbk9wdGlvbnNNYXBbaWRdLnRleHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IHRhcmdldEZpZWxkT3B0aW9ucy5maW5kKChvcHRpb246IEFJVGFibGVTZWxlY3RPcHRpb24pID0+IG9wdGlvbi50ZXh0ID09PSBvcmlnaW5PcHRpb25zTWFwW2lkXS50ZXh0KTtcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RPcHRpb25JZHMucHVzaChvcHRpb24hLl9pZCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luT3B0aW9uID0gb3JpZ2luT3B0aW9uc01hcFtpZF07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW5PcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld09wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogb3JpZ2luT3B0aW9uLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogb3JpZ2luT3B0aW9uLmljb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG9yaWdpbk9wdGlvbi5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZ19jb2xvcjogb3JpZ2luT3B0aW9uLmJnX2NvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY2VsbEZ1bGxUZXh0cy5mb3JFYWNoKCh0ZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSB0YXJnZXRGaWVsZE9wdGlvbnMuZmluZCgob3B0aW9uKSA9PiBvcHRpb24udGV4dCA9PT0gdGV4dCk7XG4gICAgICAgICAgICBvcHRpb24gPyBleGlzdE9wdGlvbklkcy5wdXNoKG9wdGlvbi5faWQpIDogbmV3T3B0aW9ucy5wdXNoKHsgdGV4dCB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNNdWx0aXBsZSA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/LmlzX211bHRpcGxlO1xuICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzLCBuZXdPcHRpb25zIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGV4aXN0T3B0aW9uSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtleGlzdE9wdGlvbklkc1swXV0sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobmV3T3B0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtuZXdPcHRpb25zWzBdXSB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkczogW10sIG5ld09wdGlvbnM6IFtdIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTogU2VsZWN0RmllbGRWYWx1ZSwgZmllbGQ6IEFJVGFibGVGaWVsZCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghY2VsbFZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB0ZXh0czogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBvcHRpb25zTWFwID0gaGVscGVycy5rZXlCeSgoZmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpLm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICBpZiAoY2VsbFZhbHVlICYmIEFycmF5LmlzQXJyYXkoY2VsbFZhbHVlKSAmJiBjZWxsVmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChvcHRpb25JZCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICBpZiAob3B0aW9uICYmIG9wdGlvbi50ZXh0KSB7XG4gICAgICAgICAgICAgICAgdGV4dHMucHVzaChvcHRpb24udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dHMgJiYgdGV4dHMubGVuZ3RoID8gdGV4dHMuam9pbignLCcpIDogbnVsbDtcbn1cbiJdfQ==
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdXRpbHMvZmllbGQvbW9kZWwvc2VsZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBMEIsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQWdCLGdCQUFnQixFQUFxRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXpELE1BQU0sT0FBTyxXQUFZLFNBQVEsS0FBSztJQUN6QixZQUFZLENBQUMsU0FBeUMsRUFBRSxTQUEyQjtRQUN4RixRQUFRLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixLQUFLLHNCQUFzQixDQUFDLEtBQUs7Z0JBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQixLQUFLLHNCQUFzQixDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEYsS0FBSyxzQkFBc0IsQ0FBQyxHQUFHO2dCQUMzQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMs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QzFGLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoZWxwZXJzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlRmlsdGVyQ29uZGl0aW9uLCBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlU2VsZWN0T3B0aW9uLCBGaWVsZFZhbHVlLCBTZWxlY3RGaWVsZFZhbHVlLCBTZWxlY3RTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5nLCBoYXNJbnRlcnNlY3QgfSBmcm9tICcuLi9vcGVyYXRlJztcblxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkIGV4dGVuZHMgRmllbGQge1xuICAgIG92ZXJyaWRlIGlzTWVldEZpbHRlcihjb25kaXRpb246IEFJVGFibGVGaWx0ZXJDb25kaXRpb248c3RyaW5nPiwgY2VsbFZhbHVlOiBTZWxlY3RGaWVsZFZhbHVlKSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLm9wZXJhdGlvbikge1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmVtcHR5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGNlbGxWYWx1ZSk7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWx0ZXJPcGVyYXRpb24uZXhpc3RzOlxuICAgICAgICAgICAgICAgIHJldHVybiAhaXNFbXB0eShjZWxsVmFsdWUpO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmlsdGVyT3BlcmF0aW9uLmluOlxuICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KGNvbmRpdGlvbi52YWx1ZSkgJiYgaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpbHRlck9wZXJhdGlvbi5uaW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY29uZGl0aW9uLnZhbHVlKSAmJiAhaGFzSW50ZXJzZWN0KGNlbGxWYWx1ZSwgY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmlzTWVldEZpbHRlcihjb25kaXRpb24sIGNlbGxWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb21wYXJlKGNlbGxWYWx1ZTE6IEZpZWxkVmFsdWUsIGNlbGxWYWx1ZTI6IEZpZWxkVmFsdWUsIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZTEgPSBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWUxLCBmaWVsZCk7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IGNlbGxWYWx1ZVRvU29ydFZhbHVlKGNlbGxWYWx1ZTIsIGZpZWxkKTtcbiAgICAgICAgcmV0dXJuIGNvbXBhcmVTdHJpbmcodmFsdWUxLCB2YWx1ZTIpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGNlbGxGdWxsVGV4dCh0cmFuc2Zvcm1WYWx1ZTogc3RyaW5nW10sIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBzdHJpbmdbXSB7XG4gICAgICAgIGxldCBmdWxsVGV4dDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY29uc3Qgb3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKS5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgICAgIGlmICh0cmFuc2Zvcm1WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRyYW5zZm9ybVZhbHVlKSAmJiB0cmFuc2Zvcm1WYWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybVZhbHVlLmZvckVhY2goKG9wdGlvbklkKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gb3B0aW9uc01hcFtvcHRpb25JZF07XG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBmdWxsVGV4dC5wdXNoKG9wdGlvbi50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVsbFRleHQ7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgdG9GaWVsZFZhbHVlKFxuICAgICAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICAgICAgdGFyZ2V0RmllbGQ6IEFJVGFibGVGaWVsZCxcbiAgICAgICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4gICAgKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdG9TZWxlY3RGaWVsZFZhbHVlKHBsYWluVGV4dCwgdGFyZ2V0RmllbGQsIG9yaWdpbkRhdGEpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU2VsZWN0RmllbGRWYWx1ZShcbiAgICBwbGFpblRleHQ6IHN0cmluZyxcbiAgICB0YXJnZXRGaWVsZDogQUlUYWJsZUZpZWxkLFxuICAgIG9yaWdpbkRhdGE/OiB7IGZpZWxkOiBBSVRhYmxlRmllbGQ7IGNlbGxWYWx1ZTogRmllbGRWYWx1ZSB9IHwgbnVsbFxuKTogRmllbGRWYWx1ZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc1Bhc3RlZFZhbHVlRm9yU2VsZWN0KFxuICAgIHBsYWluVGV4dDogc3RyaW5nLFxuICAgIHRhcmdldEZpZWxkOiBBSVRhYmxlRmllbGQsXG4gICAgb3JpZ2luRGF0YT86IHsgZmllbGQ6IEFJVGFibGVGaWVsZDsgY2VsbFZhbHVlOiBGaWVsZFZhbHVlIH0gfCBudWxsXG4pOiB7IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXTsgbmV3T3B0aW9uczogUGFydGlhbDxBSVRhYmxlU2VsZWN0T3B0aW9uPltdIH0ge1xuICAgIGNvbnN0IHRhcmdldEZpZWxkT3B0aW9ucyA9ICh0YXJnZXRGaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW107XG4gICAgbGV0IGV4aXN0T3B0aW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBuZXdPcHRpb25zOiBQYXJ0aWFsPEFJVGFibGVTZWxlY3RPcHRpb24+W10gPSBbXTtcbiAgICBsZXQgY2VsbEZ1bGxUZXh0czogc3RyaW5nW10gPSBwbGFpblRleHQuc3BsaXQoJywnKS5tYXAoKHRleHQpID0+IHRleHQudHJpbSgpKTtcblxuICAgIGNvbnN0IHsgZmllbGQsIGNlbGxWYWx1ZSB9ID0gb3JpZ2luRGF0YSB8fCB7fTtcbiAgICBpZiAoZmllbGQgJiYgZmllbGQudHlwZSA9PT0gQUlUYWJsZUZpZWxkVHlwZS5zZWxlY3QpIHtcbiAgICAgICAgaWYgKGNlbGxWYWx1ZSAmJiBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgJiYgY2VsbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0T3B0aW9uSWRzID0gdGFyZ2V0RmllbGRPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uX2lkKTtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbnNNYXAgPSBoZWxwZXJzLmtleUJ5KChmaWVsZC5zZXR0aW5ncyBhcyBTZWxlY3RTZXR0aW5ncyk/Lm9wdGlvbnMgfHwgW10sICdfaWQnKTtcbiAgICAgICAgICAgIGNlbGxWYWx1ZS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRPcHRpb25JZHMuaW5jbHVkZXMoaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGV4aXN0T3B0aW9uSWRzLnB1c2goaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0RmllbGRPcHRpb25zLnNvbWUoKG9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IG9yaWdpbk9wdGlvbnNNYXBbaWRdPy50ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb24gPSB0YXJnZXRGaWVsZE9wdGlvbnMuZmluZCgob3B0aW9uOiBBSVRhYmxlU2VsZWN0T3B0aW9uKSA9PiBvcHRpb24udGV4dCA9PT0gb3JpZ2luT3B0aW9uc01hcFtpZF0udGV4dCk7XG4gICAgICAgICAgICAgICAgICAgIGV4aXN0T3B0aW9uSWRzLnB1c2gob3B0aW9uIS5faWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWdpbk9wdGlvbiA9IG9yaWdpbk9wdGlvbnNNYXBbaWRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ2luT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdPcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IG9yaWdpbk9wdGlvbi50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246IG9yaWdpbk9wdGlvbi5pY29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBvcmlnaW5PcHRpb24uY29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmdfY29sb3I6IG9yaWdpbk9wdGlvbi5iZ19jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNlbGxGdWxsVGV4dHMuZm9yRWFjaCgodGV4dCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gdGFyZ2V0RmllbGRPcHRpb25zLmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnRleHQgPT09IHRleHQpO1xuICAgICAgICAgICAgb3B0aW9uID8gZXhpc3RPcHRpb25JZHMucHVzaChvcHRpb24uX2lkKSA6IG5ld09wdGlvbnMucHVzaCh7IHRleHQgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSAodGFyZ2V0RmllbGQuc2V0dGluZ3MgYXMgU2VsZWN0U2V0dGluZ3MpPy5pc19tdWx0aXBsZTtcbiAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICByZXR1cm4geyBleGlzdE9wdGlvbklkcywgbmV3T3B0aW9ucyB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChleGlzdE9wdGlvbklkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGV4aXN0T3B0aW9uSWRzOiBbZXhpc3RPcHRpb25JZHNbMF1dLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5ld09wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbbmV3T3B0aW9uc1swXV0gfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZXhpc3RPcHRpb25JZHM6IFtdLCBuZXdPcHRpb25zOiBbXSB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjZWxsVmFsdWVUb1NvcnRWYWx1ZShjZWxsVmFsdWU6IFNlbGVjdEZpZWxkVmFsdWUsIGZpZWxkOiBBSVRhYmxlRmllbGQpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWNlbGxWYWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgdGV4dHM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3B0aW9uc01hcCA9IGhlbHBlcnMua2V5QnkoKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKS5vcHRpb25zIHx8IFtdLCAnX2lkJyk7XG4gICAgaWYgKGNlbGxWYWx1ZSAmJiBBcnJheS5pc0FycmF5KGNlbGxWYWx1ZSkgJiYgY2VsbFZhbHVlLmxlbmd0aCkge1xuICAgICAgICBjZWxsVmFsdWUuZm9yRWFjaCgob3B0aW9uSWQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IG9wdGlvbnNNYXBbb3B0aW9uSWRdO1xuICAgICAgICAgICAgaWYgKG9wdGlvbiAmJiBvcHRpb24udGV4dCkge1xuICAgICAgICAgICAgICAgIHRleHRzLnB1c2gob3B0aW9uLnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRzICYmIHRleHRzLmxlbmd0aCA/IHRleHRzLmpvaW4oJywnKSA6IG51bGw7XG59XG4iXX0=
|
@@ -1089,7 +1089,7 @@ class LinkCellEditorComponent extends AbstractEditCellEditor {
|
|
1089
1089
|
}
|
1090
1090
|
updateValue() {
|
1091
1091
|
if (!this.isValidLink({ text: this.text, url: this.url ?? '' })) {
|
1092
|
-
this.notifyService.error(
|
1092
|
+
this.notifyService.error('链接格式不正确');
|
1093
1093
|
return;
|
1094
1094
|
}
|
1095
1095
|
this.modelValue = this.createLinkValue({ text: this.text, url: this.url ?? '' });
|
@@ -2434,13 +2434,24 @@ const readFromClipboard = async () => {
|
|
2434
2434
|
clipboardData.text = clipboardText;
|
2435
2435
|
}
|
2436
2436
|
else {
|
2437
|
-
const
|
2438
|
-
|
2439
|
-
|
2440
|
-
|
2441
|
-
|
2442
|
-
|
2443
|
-
|
2437
|
+
const pastePromise = new Promise((resolve) => {
|
2438
|
+
const textarea = document.createElement('textarea');
|
2439
|
+
document.body.appendChild(textarea);
|
2440
|
+
const handlePaste = (e) => {
|
2441
|
+
const text = e.clipboardData?.getData('text') || '';
|
2442
|
+
const html = e.clipboardData?.getData('text/html') || '';
|
2443
|
+
resolve({
|
2444
|
+
text,
|
2445
|
+
html: html || undefined
|
2446
|
+
});
|
2447
|
+
textarea.removeEventListener('paste', handlePaste);
|
2448
|
+
};
|
2449
|
+
textarea.addEventListener('paste', handlePaste);
|
2450
|
+
textarea.focus();
|
2451
|
+
document.execCommand('paste');
|
2452
|
+
document.body.removeChild(textarea);
|
2453
|
+
});
|
2454
|
+
clipboardData = await pastePromise;
|
2444
2455
|
}
|
2445
2456
|
return clipboardData;
|
2446
2457
|
}
|
@@ -2700,14 +2711,43 @@ function cellValueToSortValue$4(cellValue) {
|
|
2700
2711
|
}
|
2701
2712
|
function transformDateValue(text) {
|
2702
2713
|
const value = text.trim();
|
2703
|
-
|
2704
|
-
|
2705
|
-
|
2706
|
-
|
2714
|
+
if (!value || isEmpty(value))
|
2715
|
+
return null;
|
2716
|
+
// 基础日期格式:支持识别 - / . 年月日 作为分隔符
|
2717
|
+
const datePattern = String.raw `(?:(\d{2}|\d{4})[-/.年](\d{1,2})[-/.月](\d{1,2})日?)`;
|
2718
|
+
const timePattern = String.raw `(?:\s+(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?`;
|
2719
|
+
const pattern = new RegExp(`^${datePattern}${timePattern}$`);
|
2720
|
+
const match = value.match(pattern);
|
2721
|
+
if (!match)
|
2722
|
+
return null;
|
2723
|
+
try {
|
2724
|
+
let [_, year, month, day] = match;
|
2725
|
+
if (year.length === 2) {
|
2726
|
+
const currentYear = new Date().getFullYear();
|
2727
|
+
const century = Math.floor(currentYear / 100) * 100;
|
2728
|
+
const twoDigitYear = parseInt(year);
|
2729
|
+
year = String(twoDigitYear > currentYear % 100 ? century - 100 + twoDigitYear : century + twoDigitYear);
|
2730
|
+
}
|
2731
|
+
const monthNum = parseInt(month);
|
2732
|
+
const dayNum = parseInt(day);
|
2733
|
+
if (monthNum < 1 || monthNum > 12) {
|
2734
|
+
console.warn('Invalid month:', monthNum);
|
2735
|
+
return null;
|
2736
|
+
}
|
2737
|
+
const maxDays = new Date(parseInt(year), monthNum, 0).getDate();
|
2738
|
+
if (dayNum < 1 || dayNum > maxDays) {
|
2739
|
+
console.warn('Invalid day:', dayNum);
|
2740
|
+
return null;
|
2741
|
+
}
|
2742
|
+
const standardDate = `${year}-${String(monthNum).padStart(2, '0')}-${String(dayNum).padStart(2, '0')}`;
|
2743
|
+
return {
|
2744
|
+
timestamp: new TinyDate(standardDate).getUnixTime()
|
2707
2745
|
};
|
2708
|
-
return dateValue;
|
2709
2746
|
}
|
2710
|
-
|
2747
|
+
catch (error) {
|
2748
|
+
console.warn('Invalid date:', value);
|
2749
|
+
return null;
|
2750
|
+
}
|
2711
2751
|
}
|
2712
2752
|
|
2713
2753
|
class LinkField extends Field {
|
@@ -3082,7 +3122,7 @@ function processPastedValueForSelect(plainText, targetField, originData) {
|
|
3082
3122
|
if (targetOptionIds.includes(id)) {
|
3083
3123
|
existOptionIds.push(id);
|
3084
3124
|
}
|
3085
|
-
else if (targetFieldOptions.some((option) => option.text === originOptionsMap[id]
|
3125
|
+
else if (targetFieldOptions.some((option) => option.text === originOptionsMap[id]?.text)) {
|
3086
3126
|
const option = targetFieldOptions.find((option) => option.text === originOptionsMap[id].text);
|
3087
3127
|
existOptionIds.push(option._id);
|
3088
3128
|
}
|
@@ -3288,27 +3328,39 @@ function extractContentFromClipboardText(clipboardText) {
|
|
3288
3328
|
.filter((row) => row.length > 0 && row.some((cell) => cell.trim().length > 0));
|
3289
3329
|
return contents;
|
3290
3330
|
}
|
3331
|
+
function processTableCell(cellHtml) {
|
3332
|
+
const linkPattern = /<a[^>]*?href=["']([^"']+)["'][^>]*?>([^<]*?)<\/a>/i;
|
3333
|
+
const match = cellHtml.match(linkPattern);
|
3334
|
+
const link = match ? { href: match[1], text: match[2] } : null;
|
3335
|
+
const content = link ? cellHtml.replace(linkPattern, `[LINK:${link.text}](${link.href})`) : cellHtml;
|
3336
|
+
const cleanContent = content
|
3337
|
+
.replace(/<[^>]+>/g, '')
|
3338
|
+
.replace(/ /g, ' ')
|
3339
|
+
.replace(/\s+/g, ' ')
|
3340
|
+
.trim();
|
3341
|
+
return link ? cleanContent.replace(`[LINK:${link.text}](${link.href})`, `<a href="${link.href}">${link.text}</a>`) : cleanContent;
|
3342
|
+
}
|
3291
3343
|
function extractContentFromClipboardHtml(clipboardHtml) {
|
3292
3344
|
const tablePattern = /<table[^>]*>([\s\S]*?)<\/table>/i;
|
3293
3345
|
const trPattern = /<tr[^>]*>([\s\S]*?)<\/tr>/gi;
|
3294
|
-
const
|
3295
|
-
const contents = [];
|
3346
|
+
const tdPattern = /<td[^>]*?>([\s\S]*?)<\/td>/gi;
|
3296
3347
|
try {
|
3297
3348
|
const tableMatch = clipboardHtml.match(tablePattern);
|
3298
3349
|
const tableContent = tableMatch ? tableMatch[1] : clipboardHtml;
|
3299
3350
|
const rows = tableContent.match(trPattern) || [];
|
3300
|
-
rows
|
3301
|
-
|
3302
|
-
const
|
3303
|
-
|
3304
|
-
|
3305
|
-
|
3306
|
-
}
|
3307
|
-
contents
|
3308
|
-
})
|
3309
|
-
|
3351
|
+
return rows
|
3352
|
+
.map((row) => {
|
3353
|
+
const contents = [];
|
3354
|
+
let tdMatch;
|
3355
|
+
while ((tdMatch = tdPattern.exec(row)) !== null) {
|
3356
|
+
contents.push(processTableCell(tdMatch[1]));
|
3357
|
+
}
|
3358
|
+
return contents;
|
3359
|
+
})
|
3360
|
+
.filter((row) => row.length > 0);
|
3310
3361
|
}
|
3311
3362
|
catch (error) {
|
3363
|
+
console.warn('Failed to extract content from HTML:', error);
|
3312
3364
|
return [];
|
3313
3365
|
}
|
3314
3366
|
}
|
@@ -3356,21 +3408,25 @@ function getPasteValue(plainText, aiTableContent, recordIndex, fieldIndex, targe
|
|
3356
3408
|
let originData = field && record ? { field, cellValue: getFieldValue(record, field) } : null;
|
3357
3409
|
if (targetField.type === AITableFieldType.select) {
|
3358
3410
|
let { existOptionIds, newOptions } = processPastedValueForSelect(plainText, targetField, originData);
|
3359
|
-
|
3360
|
-
|
3361
|
-
|
3362
|
-
|
3411
|
+
let newField = null;
|
3412
|
+
let newOptionIds = [];
|
3413
|
+
if (newOptions.length) {
|
3414
|
+
newOptions = newOptions.map((option) => {
|
3415
|
+
return {
|
3416
|
+
...option,
|
3417
|
+
_id: idCreator()
|
3418
|
+
};
|
3419
|
+
});
|
3420
|
+
newField = {
|
3421
|
+
...targetField,
|
3422
|
+
settings: {
|
3423
|
+
...targetField.settings,
|
3424
|
+
options: [...(targetField.settings?.options || []), ...newOptions]
|
3425
|
+
}
|
3363
3426
|
};
|
3364
|
-
|
3365
|
-
|
3366
|
-
|
3367
|
-
settings: {
|
3368
|
-
...targetField.settings,
|
3369
|
-
options: [...(targetField.settings?.options || []), ...newOptions]
|
3370
|
-
}
|
3371
|
-
};
|
3372
|
-
const newOptionIds = newOptions.map((option) => option._id).filter((id) => !!id);
|
3373
|
-
const selectFieldValue = [...existOptionIds, ...newOptionIds];
|
3427
|
+
newOptionIds = newOptions.map((option) => option._id).filter((id) => !!id);
|
3428
|
+
}
|
3429
|
+
const selectFieldValue = newOptionIds?.length ? [...existOptionIds, ...newOptionIds] : existOptionIds;
|
3374
3430
|
return {
|
3375
3431
|
value: selectFieldValue,
|
3376
3432
|
newField
|
@@ -8629,7 +8685,7 @@ class AITableDragComponent {
|
|
8629
8685
|
const coordinate = drag.coordinate;
|
8630
8686
|
switch (drag.type) {
|
8631
8687
|
case DragType.field:
|
8632
|
-
const fields = aiTable.
|
8688
|
+
const fields = aiTable.gridData().fields;
|
8633
8689
|
let width = 0;
|
8634
8690
|
fields.forEach((field, index) => {
|
8635
8691
|
if (drag.sourceIds.has(field._id)) {
|
@@ -9218,7 +9274,7 @@ class AITableGrid extends AITableGridBase {
|
|
9218
9274
|
});
|
9219
9275
|
}
|
9220
9276
|
handleFieldDragStart() {
|
9221
|
-
if (this.aiTableGridSelectionService.selectedFields.size > 0) {
|
9277
|
+
if (!this.aiReadonly() && this.aiTableGridSelectionService.selectedFields.size > 0) {
|
9222
9278
|
this.aiTableGridSelectionService.drag({
|
9223
9279
|
type: DragType.field,
|
9224
9280
|
sourceIds: this.aiTableGridSelectionService.selectedFields,
|
@@ -9237,7 +9293,7 @@ class AITableGrid extends AITableGridBase {
|
|
9237
9293
|
dragEnd(data) {
|
9238
9294
|
switch (data.type) {
|
9239
9295
|
case DragType.field:
|
9240
|
-
if (data.fieldsIndex && data.targetIndex) {
|
9296
|
+
if (data.fieldsIndex && isNumber(data.targetIndex)) {
|
9241
9297
|
for (let i = 0; i < data.fieldsIndex.length; i++) {
|
9242
9298
|
this.aiMoveField.emit({
|
9243
9299
|
path: [data.fieldsIndex[i]],
|