ngx-aur-mat-table 17.2.2-10 → 17.2.2-12
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/lib/drag-drop/aur-drag-drop.manager.mjs +99 -98
- package/esm2022/lib/drag-drop/can-drop-manager.mjs +29 -0
- package/esm2022/lib/drag-drop/drag-drop-mapping-manager.mjs +23 -0
- package/esm2022/lib/drag-drop/drag-preview-manager.mjs +38 -0
- package/esm2022/lib/drag-drop/model/aur-drag-drop-mapping.mjs +2 -0
- package/esm2022/lib/drag-drop/model/aur-drag-preview-component.mjs +2 -0
- package/esm2022/lib/ngx-aur-mat-table.component.mjs +15 -13
- package/esm2022/lib/providers/DragDropProvider.mjs +2 -3
- package/esm2022/public-api.mjs +4 -2
- package/fesm2022/ngx-aur-mat-table.mjs +178 -89
- package/fesm2022/ngx-aur-mat-table.mjs.map +1 -1
- package/lib/drag-drop/aur-drag-drop.manager.d.ts +48 -92
- package/lib/drag-drop/can-drop-manager.d.ts +8 -0
- package/lib/drag-drop/drag-drop-mapping-manager.d.ts +9 -0
- package/lib/drag-drop/drag-preview-manager.d.ts +11 -0
- package/lib/drag-drop/model/aur-drag-drop-mapping.d.ts +60 -0
- package/lib/drag-drop/model/aur-drag-preview-component.d.ts +13 -0
- package/lib/providers/DragDropProvider.d.ts +1 -2
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
|
@@ -1,113 +1,114 @@
|
|
|
1
|
-
import { first } from "rxjs";
|
|
1
|
+
import { finalize, first, map, of, switchMap, } from "rxjs";
|
|
2
|
+
import { CanDropManager } from "./can-drop-manager";
|
|
3
|
+
import { DragPreviewManager } from "./drag-preview-manager";
|
|
4
|
+
import { DragDropMappingManager } from "./drag-drop-mapping-manager";
|
|
5
|
+
/**
|
|
6
|
+
* Класс AurDragDropManager управляет процессом drag-and-drop, включая начало, выполнение и завершение перетаскивания.
|
|
7
|
+
* Он также управляет предварительным просмотром, проверкой возможности выполнения drop и обновлением данных после drop.
|
|
8
|
+
*/
|
|
2
9
|
export class AurDragDropManager {
|
|
10
|
+
static empty() {
|
|
11
|
+
return new AurDragDropManager(undefined, []);
|
|
12
|
+
}
|
|
3
13
|
constructor(viewContainerRef, mappings) {
|
|
4
|
-
this.viewContainerRef = viewContainerRef;
|
|
5
14
|
this.mappings = mappings;
|
|
6
|
-
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
9
|
-
if (!this.canDropStorage.has(m.sourceName)) {
|
|
10
|
-
this.canDropStorage.set(m.sourceName, new Set());
|
|
11
|
-
}
|
|
12
|
-
this.canDropStorage.get(m.sourceName).add(m.targetName);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
startDrag(sourceName, data, event) {
|
|
16
|
-
this.dragStartCtx = { name: sourceName, data: data };
|
|
17
|
-
this.showDragPreview(sourceName, event, data);
|
|
15
|
+
this.canDropManager = new CanDropManager(mappings);
|
|
16
|
+
this.previewManager = new DragPreviewManager(viewContainerRef, mappings);
|
|
17
|
+
this.mappingManager = new DragDropMappingManager(mappings);
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
sourceData: this.dragStartCtx.data,
|
|
26
|
-
sourceName: this.dragStartCtx.name,
|
|
27
|
-
sourceDataset: sourceDataset
|
|
28
|
-
});
|
|
29
|
-
return {
|
|
30
|
-
isValidDrop: true,
|
|
31
|
-
startDragContext: this.dragStartCtx,
|
|
32
|
-
endDragContext: this.dragEndCtx,
|
|
33
|
-
beforeDataSet: sourceDataset,
|
|
34
|
-
afterDataSet: afterDataSet,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return {
|
|
39
|
-
isValidDrop: false,
|
|
40
|
-
startDragContext: this.dragStartCtx,
|
|
41
|
-
beforeDataSet: sourceDataset,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
calcAfterDataSource(grabCtx) {
|
|
46
|
-
let mapping = this.mappings.find(m => m.sourceName === grabCtx.sourceName && m.targetName === grabCtx.targetName);
|
|
47
|
-
let mappedData = mapping.grabFn(grabCtx).pipe(first());
|
|
48
|
-
this.dragStartCtx = undefined;
|
|
49
|
-
this.dragEndCtx = undefined;
|
|
50
|
-
return mappedData;
|
|
19
|
+
/**
|
|
20
|
+
* Возвращает список всех возможных источников для перетаскивания
|
|
21
|
+
* @returns Массив имен источников
|
|
22
|
+
*/
|
|
23
|
+
get draggableSourceNames() {
|
|
24
|
+
return this.mappings?.map(mapping => mapping.sourceName) || [];
|
|
51
25
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Метод для начала перетаскивания, сохраняет начальный контекст, а также отображает Preview перетаскиваемого элемента
|
|
28
|
+
* @param sourceName Имя источника, с которого начинается перетаскивание
|
|
29
|
+
* @param draggedData Данные, которые перетаскиваются
|
|
30
|
+
* @param event Событие перетаскивания
|
|
31
|
+
* @throws Ошибка, если предыдущее перетаскивание еще не завершено
|
|
32
|
+
*/
|
|
33
|
+
startDrag(sourceName, draggedData, event) {
|
|
34
|
+
// if (this.startDragEvent) {
|
|
35
|
+
// throw new Error('Start new drag before complete current')
|
|
36
|
+
// }
|
|
37
|
+
this.startDragEvent = { sourceName, draggedData };
|
|
38
|
+
this.previewManager.showPreview(sourceName, event, draggedData);
|
|
58
39
|
}
|
|
59
|
-
|
|
60
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Метод для обработки события preventDefault для разрешения / запрещения drop на элементе
|
|
42
|
+
* @param targetName Имя цели, на которую происходит перетаскивание
|
|
43
|
+
* @param $event Событие перетаскивания
|
|
44
|
+
*/
|
|
45
|
+
canDropPreventDefault(targetName, $event) {
|
|
46
|
+
this.canDropManager.dropPreventDefault(this.startDragEvent?.sourceName, targetName, $event);
|
|
61
47
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Метод для выполнения drop на указанную цель
|
|
50
|
+
* @param targetDataset Данные целевой таблицы
|
|
51
|
+
* @param targetName Имя цели, на которую выполняется drop
|
|
52
|
+
* @param targetData Данные цели в которые выполняется drop
|
|
53
|
+
* @returns Observable с результатом drop операции
|
|
54
|
+
*/
|
|
55
|
+
drop(targetDataset, targetName, targetData) {
|
|
56
|
+
const mapping = this.getMapping(this.startDragEvent.sourceName, targetName);
|
|
57
|
+
const dropContext = this.buildDropContext(targetName, targetData, targetDataset);
|
|
58
|
+
const dropResult = mapping.dropFn(dropContext).pipe(first());
|
|
59
|
+
this.dropEvent = { targetName, targetData, dropResult };
|
|
60
|
+
return dropResult;
|
|
70
61
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
buildDropContext(targetName, targetData, targetDataSet) {
|
|
63
|
+
return {
|
|
64
|
+
targetName,
|
|
65
|
+
targetData,
|
|
66
|
+
targetDataset: targetDataSet,
|
|
67
|
+
sourceName: this.startDragEvent.sourceName,
|
|
68
|
+
sourceData: this.startDragEvent.draggedData,
|
|
77
69
|
};
|
|
78
|
-
return mappedData;
|
|
79
70
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
71
|
+
endDrag(sourceDataset) {
|
|
72
|
+
this.previewManager.removePreview();
|
|
73
|
+
if (!this.dropEvent) {
|
|
74
|
+
const dropResult = of({ isValid: false, updatedDataset: [] });
|
|
75
|
+
this.dropEvent = { targetName: '---?unknow-target?----', targetData: null, dropResult };
|
|
76
|
+
return dropResult;
|
|
77
|
+
}
|
|
78
|
+
return this.dropEvent.dropResult.pipe(switchMap(dropEvent => {
|
|
79
|
+
if (dropEvent.isValid) {
|
|
80
|
+
const grabContext = this.buildGrabContext(sourceDataset);
|
|
81
|
+
return this.calcDatasetAfterGrab(grabContext).pipe(map(updatedDataset => ({
|
|
82
|
+
isValid: true,
|
|
83
|
+
updatedDataset
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return of({
|
|
88
|
+
isValid: false,
|
|
89
|
+
updatedDataset: []
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}), finalize(() => {
|
|
93
|
+
this.dropEvent = undefined;
|
|
94
|
+
this.startDragEvent = undefined;
|
|
95
|
+
}));
|
|
85
96
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
buildGrabContext(sourceDataset) {
|
|
98
|
+
return {
|
|
99
|
+
targetName: this.dropEvent.targetName,
|
|
100
|
+
targetData: this.dropEvent.targetData,
|
|
101
|
+
sourceName: this.startDragEvent.sourceName,
|
|
102
|
+
sourceData: this.startDragEvent.draggedData,
|
|
103
|
+
sourceDataset: sourceDataset
|
|
104
|
+
};
|
|
89
105
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
// Динамически создаем компонент превью
|
|
94
|
-
this.currentPreviewComponentRef = this.viewContainerRef.createComponent(previewConstructor);
|
|
95
|
-
this.currentPreviewComponentRef.instance.data = data;
|
|
96
|
-
const nativePreview = this.currentPreviewComponentRef.location.nativeElement;
|
|
97
|
-
// Применение необходимых стилей к элементу превью
|
|
98
|
-
nativePreview.style.position = 'absolute';
|
|
99
|
-
nativePreview.style.top = '0';
|
|
100
|
-
nativePreview.style.left = '-9999px'; // Скрыть элемент за пределами экрана
|
|
101
|
-
document.body.appendChild(nativePreview); // Временно добавляем в DOM для отображения
|
|
102
|
-
event.dataTransfer?.setDragImage(nativePreview, 0, 0);
|
|
103
|
-
}
|
|
106
|
+
calcDatasetAfterGrab(grabCtx) {
|
|
107
|
+
const mapping = this.getMapping(this.startDragEvent.sourceName, this.dropEvent.targetName);
|
|
108
|
+
return mapping.grabFn(grabCtx).pipe(first());
|
|
104
109
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
document.body.removeChild(this.currentPreviewComponentRef.location.nativeElement);
|
|
108
|
-
this.currentPreviewComponentRef.destroy();
|
|
109
|
-
this.currentPreviewComponentRef = undefined;
|
|
110
|
-
}
|
|
110
|
+
getMapping(sourceName, targetName) {
|
|
111
|
+
return this.mappingManager.get(sourceName, targetName);
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxLQUFLLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBcUc3QyxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCLFlBQW9CLGdCQUFrQyxFQUNsQyxRQUF3QztRQUR4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBSjVELGdEQUFnRDtRQUN4QyxtQkFBYyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBSXRELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxVQUFrQixFQUFFLElBQWUsRUFBRSxLQUFnQjtRQUM3RCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUE7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFF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WUFFckQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFFN0Usa0RBQWtEO1lBQ2xELGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUMxQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDOUIsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMscUNBQXFDO1lBQzNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsMkNBQTJDO1lBRXJGLEtBQUssQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNILENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtmaXJzdCwgT2JzZXJ2YWJsZSwgdGFrZX0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKlxyXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSBtYXBwaW5nIGNvbmZpZ3VyYXRpb24gZm9yIGRyYWctYW5kLWRyb3AgZnVuY3Rpb25hbGl0eVxyXG4gKiBiZXR3ZWVuIGNvbXBvbmVudHMuIEl0IGRlZmluZXMgdGhlIHNvdXJjZSBjb21wb25lbnQgKGZyb20gd2hlcmUgZGF0YSBpcyBncmFiYmVkKVxyXG4gKiBhbmQgdGhlIHRhcmdldCBjb21wb25lbnQgKHdoZXJlIGRhdGEgaXMgZHJvcHBlZCksIGFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9ucyB0aGF0IGhhbmRsZVxyXG4gKiB0aGUgZ3JhYmJpbmcgYW5kIGRyb3BwaW5nIG9mIGRhdGEuXHJcbiAqXHJcbiAqIEB0ZW1wbGF0ZSBTT1VSQ0UgLSBUaGUgdHlwZSBvZiBkYXRhIHVzZWQgYnkgdGhlIHNvdXJjZSBjb21wb25lbnQuXHJcbiAqIEB0ZW1wbGF0ZSBUQVJHRVQgLSBUaGUgdHlwZSBvZiBkYXRhIHVzZWQgYnkgdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEF1ckRyYWdEcm9wTWFwcGluZzxTT1VSQ0UsIFRBUkdFVD4ge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc291cmNlIGNvbXBvbmVudCBmcm9tIHdoaWNoIGRhdGEgY2FuIGJlIGdyYWJiZWQuXHJcbiAgICogVGhpcyByZXByZXNlbnRzIHRoZSBjb21wb25lbnQgdGhhdCBhbGxvd3MgYSB1c2VyIHRvIGluaXRpYXRlIGEgZ3JhYiBhY3Rpb24uXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgc291cmNlTmFtZTogc3RyaW5nLFxyXG5cclxuICAvKipcclxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdGFyZ2V0IGNvbXBvbmVudCB3aGVyZSB0aGUgZGF0YSBjYW4gYmUgZHJvcHBlZC5cclxuICAgKiBUaGlzIHJlcHJlc2VudHMgdGhlIGNvbXBvbmVudCB0aGF0IGFjY2VwdHMgdGhlIGRyb3AgYWN0aW9uLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHRvIGhhbmRsZSBncmFiYmluZyBkYXRhIGZyb20gdGhlIHNvdXJjZSBjb21wb25lbnQuXHJcbiAgICogSXQgaXMgaW52b2tlZCBhZnRlciBhIGRyb3AgaGFzIG9jY3VycmVkLCBhbmQgaXQgZGVzY3JpYmVzIHdoYXQgc2hvdWxkXHJcbiAgICogaGFwcGVuIHRvIHRoZSBkYXRhIGluIHRoZSBzb3VyY2UgdGFibGUuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGdyYWIgY29udGV4dCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2UgYW5kIHRhcmdldC5cclxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBkYXRhIGVsZW1lbnRzIG9mIHR5cGUgU09VUkNFLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGdyYWJGbjogKGN0eDogZ3JhYkNvbnRleHQ8U09VUkNFLCBUQVJHRVQ+KSA9PiBPYnNlcnZhYmxlPFNPVVJDRVtdPlxyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgdG8gaGFuZGxlIHRoZSBkcm9wIGFjdGlvbiBpbiB0aGUgdGFyZ2V0IGNvbXBvbmVudC5cclxuICAgKiBJdCBpcyBpbnZva2VkIHdoZW4gdGhlIGRyb3AgZXZlbnQgb2NjdXJzLCBhbmQgaXQgZGVzY3JpYmVzIGhvdyB0byBwcm9jZXNzXHJcbiAgICogdGhlIGRhdGEgaW50byB0aGUgdGFyZ2V0IGNvbXBvbmVudC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgZHJvcCBjb250ZXh0IGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNvdXJjZSBhbmQgdGFyZ2V0LlxyXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGRhdGEgZWxlbWVudHMgb2YgdHlwZSBUQVJHRVQuXHJcbiAgICovXHJcbiAgcmVhZG9ubHkgZHJvcEZuOiAoY3R4OiBEcm9wQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4pID0+IE9ic2VydmFibGU8VEFSR0VUW10+LFxyXG5cclxuICByZWFkb25seSBwcmV2aWV3PzogbmV3ICgpID0+IEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PFNPVVJDRT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQntCx0YnQuNC5INC40L3RgtC10YDRhNC10LnRgSDQtNC70Y8g0LrQvtC80L/QvtC90LXQvdGC0L7Qsiwg0LrQvtGC0L7RgNGL0LUg0LjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPINCyINC60LDRh9C10YHRgtCy0LUg0L/RgNC10LLRjNGOXHJcbiAqINC00LvRjyDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPINC00LDQvdC90YvRhS4g0K3RgtC+INC+0LHQtdGB0L/QtdGH0LjQstCw0LXRgiDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INGB0L/QvtGB0L7QsSDQv9C10YDQtdC00LDRh9C4XHJcbiAqINC00LDQvdC90YvRhSDQsiDRgtCw0LrQuNC1INC60L7QvNC/0L7QvdC10L3RgtGLLlxyXG4gKlxyXG4gKiBAdGVtcGxhdGUgREFUQSAtINCi0LjQvyDQtNCw0L3QvdGL0YUsINC60L7RgtC+0YDRi9C1INCx0YPQtNGD0YIg0L/QtdGA0LXQtNCw0L3RiyDQsiDQutC+0LzQv9C+0L3QtdC90YIg0LTQu9GPINC/0YDQtdCy0YzRji5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXVyRHJhZ1ByZXZpZXdDb21wb25lbnQ8REFUQT4ge1xyXG4gIC8qKlxyXG4gICAqINCU0LDQvdC90YvQtSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQvtGC0L7QsdGA0LDQttCw0YLRjNGB0Y8g0LIg0LrQvtC80L/QvtC90LXQvdGC0LUg0L/RgNC10LLRjNGOLlxyXG4gICAqL1xyXG4gIGRhdGE6IERBVEFbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnU3RhcnRDb250ZXh0IHtcclxuICByZWFkb25seSBuYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgZGF0YTogdW5rbm93bltdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXVyRHJhZ0VuZENvbnRleHQge1xyXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSBkYXRhOiB1bmtub3duXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXVyRW5kRHJhZ0V2ZW50IHtcclxuICAvKipcclxuICAgKiDQtNGA0L7QvyDQsdGL0Lsg0L3QsCDRgNCw0LfRgNC10YjQtdC90L3QvtC8INGN0LvQtdC80LXQvdGC0LVcclxuICAgKi9cclxuICByZWFkb25seSBpc1ZhbGlkRHJvcDogYm9vbGVhbixcclxuICByZWFkb25seSBzdGFydERyYWdDb250ZXh0OiBBdXJEcmFnU3RhcnRDb250ZXh0LFxyXG4gIHJlYWRvbmx5IGVuZERyYWdDb250ZXh0PzogQXVyRHJhZ0VuZENvbnRleHQsXHJcbiAgcmVhZG9ubHkgYmVmb3JlRGF0YVNldDogdW5rbm93bltdLFxyXG4gIHJlYWRvbmx5IGFmdGVyRGF0YVNldD86IE9ic2VydmFibGU8dW5rbm93bltdPixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBncmFiQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4ge1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSBzb3VyY2VEYXRhOiBTT1VSQ0VbXSxcclxuICByZWFkb25seSBzb3VyY2VEYXRhc2V0OiBTT1VSQ0VbXSxcclxuXHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG4gIHJlYWRvbmx5IHRhcmdldERhdGE6IFRBUkdFVCxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcm9wQ29udGV4dDxTT1VSQ0UsIFRBUkdFVD4ge1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSBzb3VyY2VEYXRhOiBTT1VSQ0VbXSxcclxuXHJcbiAgcmVhZG9ubHkgdGFyZ2V0RGF0YXNldDogVEFSR0VUW10sXHJcbiAgcmVhZG9ubHkgdGFyZ2V0TmFtZTogc3RyaW5nLFxyXG4gIHJlYWRvbmx5IHRhcmdldERhdGE6IFRBUkdFVCxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEF1ckRyYWdEcm9wTWFuYWdlciB7XHJcblxyXG4gIHByaXZhdGUgZHJhZ1N0YXJ0Q3R4OiBBdXJEcmFnU3RhcnRDb250ZXh0IHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgZHJhZ0VuZEN0eDogQXVyRHJhZ0VuZENvbnRleHQgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBjdXJyZW50UHJldmlld0NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PGFueT4+IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvL2NhbiBkcm9wIFtrZXkgZnJvbSB0YWJsZSwgdmFsdWUgdG8gdGFibGUgbmFtZV1cclxuICBwcml2YXRlIGNhbkRyb3BTdG9yYWdlID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICB0aGlzLm1hcHBpbmdzLmZvckVhY2gobSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5jYW5Ecm9wU3RvcmFnZS5oYXMobS5zb3VyY2VOYW1lKSkge1xyXG4gICAgICAgIHRoaXMuY2FuRHJvcFN0b3JhZ2Uuc2V0KG0uc291cmNlTmFtZSwgbmV3IFNldCgpKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNhbkRyb3BTdG9yYWdlLmdldChtLnNvdXJjZU5hbWUpIS5hZGQobS50YXJnZXROYW1lKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhcnREcmFnKHNvdXJjZU5hbWU6IHN0cmluZywgZGF0YTogdW5rbm93bltdLCBldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICB0aGlzLmRyYWdTdGFydEN0eCA9IHtuYW1lOiBzb3VyY2VOYW1lLCBkYXRhOiBkYXRhfVxyXG4gICAgdGhpcy5zaG93RHJhZ1ByZXZpZXcoc291cmNlTmFtZSwgZXZlbnQsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBlbmREcmFnKHNvdXJjZURhdGFzZXQ6IHVua25vd25bXSk6IEF1ckVuZERyYWdFdmVudCB7XHJcbiAgICB0aGlzLnJlbW92ZURyYWdQcmV2aWV3KClcclxuICAgIGlmICh0aGlzLmRyYWdFbmRDdHg/Lm5hbWUgJiYgdGhpcy5jaGVja0NhbkRyb3AodGhpcy5kcmFnRW5kQ3R4IS5uYW1lKSkge1xyXG4gICAgICBjb25zdCBhZnRlckRhdGFTZXQgPSB0aGlzLmNhbGNBZnRlckRhdGFTb3VyY2Uoe1xyXG4gICAgICAgIHRhcmdldERhdGE6IHRoaXMuZHJhZ0VuZEN0eCEuZGF0YSxcclxuICAgICAgICB0YXJnZXROYW1lOiB0aGlzLmRyYWdFbmRDdHghLm5hbWUsXHJcbiAgICAgICAgc291cmNlRGF0YTogdGhpcy5kcmFnU3RhcnRDdHghLmRhdGEsXHJcbiAgICAgICAgc291cmNlTmFtZTogdGhpcy5kcmFnU3RhcnRDdHghLm5hbWUsXHJcbiAgICAgICAgc291cmNlRGF0YXNldDogc291cmNlRGF0YXNldFxyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlzVmFsaWREcm9wOiB0cnVlLFxyXG4gICAgICAgIHN0YXJ0RHJhZ0NvbnRleHQ6IHRoaXMuZHJhZ1N0YXJ0Q3R4ISxcclxuICAgICAgICBlbmREcmFnQ29udGV4dDogdGhpcy5kcmFnRW5kQ3R4ISxcclxuICAgICAgICBiZWZvcmVEYXRhU2V0OiBzb3VyY2VEYXRhc2V0LFxyXG4gICAgICAgIGFmdGVyRGF0YVNldDogYWZ0ZXJEYXRhU2V0LFxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlzVmFsaWREcm9wOiBmYWxzZSxcclxuICAgICAgICBzdGFydERyYWdDb250ZXh0OiB0aGlzLmRyYWdTdGFydEN0eCEsXHJcbiAgICAgICAgYmVmb3JlRGF0YVNldDogc291cmNlRGF0YXNldCxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsY0FmdGVyRGF0YVNvdXJjZShncmFiQ3R4OiBncmFiQ29udGV4dDxhbnksIGFueT4pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xyXG4gICAgbGV0IG1hcHBpbmcgPSB0aGlzLm1hcHBpbmdzLmZpbmQobSA9PiBtLnNvdXJjZU5hbWUgPT09IGdyYWJDdHguc291cmNlTmFtZSAmJiBtLnRhcmdldE5hbWUgPT09IGdyYWJDdHgudGFyZ2V0TmFtZSk7XHJcbiAgICBsZXQgbWFwcGVkRGF0YSA9IG1hcHBpbmchLmdyYWJGbihncmFiQ3R4KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRDdHggPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRyYWdFbmRDdHggPSB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gbWFwcGVkRGF0YTtcclxuICB9XHJcblxyXG4gIGNhbkRyb3AodGFyZ2V0TmFtZTogc3RyaW5nLCAkZXZlbnQ6IERyYWdFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY2FuRHJvcCA9IHRoaXMuY2hlY2tDYW5Ecm9wKHRhcmdldE5hbWUpO1xyXG4gICAgaWYgKGNhbkRyb3ApIHtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2FuRHJvcDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tDYW5Ecm9wKHRhcmdldE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY2FuRHJvcFN0b3JhZ2UuZ2V0KHRoaXMuZHJhZ1N0YXJ0Q3R4IS5uYW1lKT8uaGFzKHRhcmdldE5hbWUpID8/IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgb25Ecm9wKHRhcmdldERhdGFzZXQ6IHVua25vd25bXSwgdGFyZ2V0TmFtZTogc3RyaW5nLCB0YXJnZXREYXRhOiBhbnkpOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMub25Ecm9wSW50ZXJuYWwoe1xyXG4gICAgICBzb3VyY2VOYW1lOiB0aGlzLmRyYWdTdGFydEN0eCEubmFtZSxcclxuICAgICAgc291cmNlRGF0YTogdGhpcy5kcmFnU3RhcnRDdHghLmRhdGEsXHJcbiAgICAgIHRhcmdldE5hbWU6IHRhcmdldE5hbWUsXHJcbiAgICAgIHRhcmdldERhdGE6IHRhcmdldERhdGEsXHJcbiAgICAgIHRhcmdldERhdGFzZXQ6IHRhcmdldERhdGFzZXRcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvbkRyb3BJbnRlcm5hbChkcm9wQ3R4OiBEcm9wQ29udGV4dDxhbnksIGFueT4pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xyXG4gICAgbGV0IG1hcHBpbmcgPSB0aGlzLm1hcHBpbmdzLmZpbmQobSA9PiBtLnNvdXJjZU5hbWUgPT09IGRyb3BDdHguc291cmNlTmFtZSAmJiBtLnRhcmdldE5hbWUgPT09IGRyb3BDdHgudGFyZ2V0TmFtZSk7XHJcbiAgICBsZXQgbWFwcGVkRGF0YSA9IG1hcHBpbmchLmRyb3BGbihkcm9wQ3R4KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgdGhpcy5kcmFnRW5kQ3R4ID0ge1xyXG4gICAgICBuYW1lOiBkcm9wQ3R4LnRhcmdldE5hbWUsXHJcbiAgICAgIGRhdGE6IGRyb3BDdHgudGFyZ2V0RGF0YVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1hcHBlZERhdGE7XHJcbiAgfVxyXG5cclxuICBnZXQgZHJhZ2dhYmxlVGFibGVOYW1lcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBwaW5ncz8ubWFwKG1hcHBpbmcgPT4gbWFwcGluZy5zb3VyY2VOYW1lKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGdldFByZXZpZXdDb21wb25lbnQobmFtZTogc3RyaW5nKTogKG5ldyAoKSA9PiBBdXJEcmFnUHJldmlld0NvbXBvbmVudDxhbnk+KSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXBwaW5ncy5maW5kKHZhbHVlID0+IHZhbHVlLnNvdXJjZU5hbWUgPT09IG5hbWUpPy5wcmV2aWV3IHx8IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogQXVyRHJhZ0Ryb3BNYW5hZ2VyIHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBuZXcgQXVyRHJhZ0Ryb3BNYW5hZ2VyKHVuZGVmaW5lZCwgW10pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzaG93RHJhZ1ByZXZpZXcobmFtZTogc3RyaW5nLCBldmVudDogRHJhZ0V2ZW50LCBkYXRhOiBhbnkpIHtcclxuICAgIGxldCBwcmV2aWV3Q29uc3RydWN0b3IgPSB0aGlzLmdldFByZXZpZXdDb21wb25lbnQobmFtZSk7XHJcbiAgICBpZiAocHJldmlld0NvbnN0cnVjdG9yKSB7XHJcbiAgICAgIC8vINCU0LjQvdCw0LzQuNGH0LXRgdC60Lgg0YHQvtC30LTQsNC10Lwg0LrQvtC80L/QvtC90LXQvdGCINC/0YDQtdCy0YzRjlxyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChwcmV2aWV3Q29uc3RydWN0b3IpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmLmluc3RhbmNlLmRhdGEgPSBkYXRhO1xyXG5cclxuICAgICAgY29uc3QgbmF0aXZlUHJldmlldyA9IHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIC8vINCf0YDQuNC80LXQvdC10L3QuNC1INC90LXQvtCx0YXQvtC00LjQvNGL0YUg0YHRgtC40LvQtdC5INC6INGN0LvQtdC80LXQvdGC0YMg0L/RgNC10LLRjNGOXHJcbiAgICAgIG5hdGl2ZVByZXZpZXcuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICBuYXRpdmVQcmV2aWV3LnN0eWxlLnRvcCA9ICcwJztcclxuICAgICAgbmF0aXZlUHJldmlldy5zdHlsZS5sZWZ0ID0gJy05OTk5cHgnOyAvLyDQodC60YDRi9GC0Ywg0Y3Qu9C10LzQtdC90YIg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0Y3QutGA0LDQvdCwXHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmF0aXZlUHJldmlldyk7IC8vINCS0YDQtdC80LXQvdC90L4g0LTQvtCx0LDQstC70Y/QtdC8INCyIERPTSDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRj1xyXG5cclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyPy5zZXREcmFnSW1hZ2UobmF0aXZlUHJldmlldywgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZURyYWdQcmV2aWV3KCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvYXVyLWRyYWctZHJvcC5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxHQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQWVuRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBMEJ0QixNQUFNLENBQUMsS0FBSztRQUNqQixPQUFPLElBQUksa0JBQWtCLENBQUMsU0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxZQUFZLGdCQUFrQyxFQUMxQixRQUF3QztRQUF4QyxhQUFRLEdBQVIsUUFBUSxDQUFnQztRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pF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RyxTQUFTLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxhQUF3QjtRQUMvQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFVLENBQUMsVUFBVTtZQUN0QyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxVQUFVO1lBQ3RDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBZSxDQUFDLFVBQVU7WUFDM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFlLENBQUMsV0FBVztZQUM1QyxhQUFhLEVBQUUsYUFBYTtTQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQThCO1FBQ3pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RixPQUFPLE9BQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVPLFVBQVUsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZmluYWxpemUsIGZpcnN0LCBtYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAsfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0NhbkRyb3BNYW5hZ2VyfSBmcm9tIFwiLi9jYW4tZHJvcC1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7Vmlld0NvbnRhaW5lclJlZn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEcmFnUHJldmlld01hbmFnZXJ9IGZyb20gXCIuL2RyYWctcHJldmlldy1tYW5hZ2VyXCI7XHJcbmltcG9ydCB7RHJhZ0Ryb3BNYXBwaW5nTWFuYWdlcn0gZnJvbSBcIi4vZHJhZy1kcm9wLW1hcHBpbmctbWFuYWdlclwiO1xyXG5pbXBvcnQge0F1ckRyYWdEcm9wTWFwcGluZywgQXVyRHJvcFJlc3VsdCwgRHJvcENvbnRleHQsIEdyYWJDb250ZXh0fSBmcm9tIFwiLi9tb2RlbC9hdXItZHJhZy1kcm9wLW1hcHBpbmdcIjtcclxuXHJcblxyXG5pbnRlcmZhY2UgU3RhcnREcmFnRXZlbnQge1xyXG4gIHNvdXJjZU5hbWU6IHN0cmluZyxcclxuICBkcmFnZ2VkRGF0YTogdW5rbm93bltdLFxyXG59XHJcblxyXG5pbnRlcmZhY2UgRHJvcEV2ZW50IHtcclxuICB0YXJnZXROYW1lOiBzdHJpbmcsXHJcbiAgdGFyZ2V0RGF0YTogdW5rbm93bixcclxuICBkcm9wUmVzdWx0OiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ8YW55Pj5cclxufVxyXG5cclxuLyoqXHJcbiAqINCa0LvQsNGB0YEgQXVyRHJhZ0Ryb3BNYW5hZ2VyINGD0L/RgNCw0LLQu9GP0LXRgiDQv9GA0L7RhtC10YHRgdC+0LwgZHJhZy1hbmQtZHJvcCwg0LLQutC70Y7Rh9Cw0Y8g0L3QsNGH0LDQu9C+LCDQstGL0L/QvtC70L3QtdC90LjQtSDQuCDQt9Cw0LLQtdGA0YjQtdC90LjQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPLlxyXG4gKiDQntC9INGC0LDQutC20LUg0YPQv9GA0LDQstC70Y/QtdGCINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90YvQvCDQv9GA0L7RgdC80L7RgtGA0L7QvCwg0L/RgNC+0LLQtdGA0LrQvtC5INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LLRi9C/0L7Qu9C90LXQvdC40Y8gZHJvcCDQuCDQvtCx0L3QvtCy0LvQtdC90LjQtdC8INC00LDQvdC90YvRhSDQv9C+0YHQu9C1IGRyb3AuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQXVyRHJhZ0Ryb3BNYW5hZ2VyIHtcclxuICAvKipcclxuICAgKiDQnNC10L3QtdC00LbQtdGAINC00LvRjyDQv9GA0L7QstC10YDQutC4INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LLRi9C/0L7Qu9C90LXQvdC40Y8gZHJvcCDQvtC/0LXRgNCw0YbQuNC4XHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5Ecm9wTWFuYWdlcjogQ2FuRHJvcE1hbmFnZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqINCc0LXQvdC10LTQttC10YAg0LTQu9GPINGD0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90YvQvCDQv9GA0L7RgdC80L7RgtGA0L7QvCDQv9C10YDQtdGC0LDRgdC60LjQstCw0LXQvNC+0LPQviDRjdC70LXQvNC10L3RgtCwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBwcmV2aWV3TWFuYWdlcjogRHJhZ1ByZXZpZXdNYW5hZ2VyO1xyXG5cclxuICAvKipcclxuICAgKiDQnNC10L3QtdC00LbQtdGAINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDQvNCw0L/Qv9C40L3Qs9Cw0LzQuCDQvNC10LbQtNGDINC40YHRgtC+0YfQvdC40LrQvtC8INC4INGG0LXQu9GM0Y4g0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjRj1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFwcGluZ01hbmFnZXI6IERyYWdEcm9wTWFwcGluZ01hbmFnZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqINCh0L7QsdGL0YLQuNC1INC90LDRh9Cw0LvQsCDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPLCDRgdC+0LTQtdGA0LbQuNGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0LjRgdGC0L7Rh9C90LjQutC1INC4INC00LDQvdC90YvRhSwg0LrQvtGC0L7RgNGL0LUg0L/QtdGA0LXRgtCw0YHQutC40LLQsNGO0YLRgdGPXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGFydERyYWdFdmVudD86IFN0YXJ0RHJhZ0V2ZW50O1xyXG5cclxuICAvKipcclxuICAgKiDQodC+0LHRi9GC0LjQtSBkcm9wLCB1bmRlZmluZWQg0LXRgdC70LggZHJvcCDQsdGL0Lsg0L3QsCDQvdC10YDQsNC30YDQtdGI0LXQvdC90L7QvCDRjdC70LXQvNC10L3RgtC1XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkcm9wRXZlbnQ/OiBEcm9wRXZlbnQ7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogQXVyRHJhZ0Ryb3BNYW5hZ2VyIHtcclxuICAgIHJldHVybiBuZXcgQXVyRHJhZ0Ryb3BNYW5hZ2VyKHVuZGVmaW5lZCEsIFtdKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICB0aGlzLmNhbkRyb3BNYW5hZ2VyID0gbmV3IENhbkRyb3BNYW5hZ2VyKG1hcHBpbmdzKTtcclxuICAgIHRoaXMucHJldmlld01hbmFnZXIgPSBuZXcgRHJhZ1ByZXZpZXdNYW5hZ2VyKHZpZXdDb250YWluZXJSZWYsIG1hcHBpbmdzKTtcclxuICAgIHRoaXMubWFwcGluZ01hbmFnZXIgPSBuZXcgRHJhZ0Ryb3BNYXBwaW5nTWFuYWdlcihtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LLRgdC10YUg0LLQvtC30LzQvtC20L3Ri9GFINC40YHRgtC+0YfQvdC40LrQvtCyINC00LvRjyDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNGPXHJcbiAgICogQHJldHVybnMg0JzQsNGB0YHQuNCyINC40LzQtdC9INC40YHRgtC+0YfQvdC40LrQvtCyXHJcbiAgICovXHJcbiAgZ2V0IGRyYWdnYWJsZVNvdXJjZU5hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLm1hcHBpbmdzPy5tYXAobWFwcGluZyA9PiBtYXBwaW5nLnNvdXJjZU5hbWUpIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JzQtdGC0L7QtCDQtNC70Y8g0L3QsNGH0LDQu9CwINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y8sINGB0L7RhdGA0LDQvdGP0LXRgiDQvdCw0YfQsNC70YzQvdGL0Lkg0LrQvtC90YLQtdC60YHRgiwg0LAg0YLQsNC60LbQtSDQvtGC0L7QsdGA0LDQttCw0LXRgiBQcmV2aWV3INC/0LXRgNC10YLQsNGB0LrQuNCy0LDQtdC80L7Qs9C+INGN0LvQtdC80LXQvdGC0LBcclxuICAgKiBAcGFyYW0gc291cmNlTmFtZSDQmNC80Y8g0LjRgdGC0L7Rh9C90LjQutCwLCDRgSDQutC+0YLQvtGA0L7Qs9C+INC90LDRh9C40L3QsNC10YLRgdGPINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40LVcclxuICAgKiBAcGFyYW0gZHJhZ2dlZERhdGEg0JTQsNC90L3Ri9C1LCDQutC+0YLQvtGA0YvQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0Y7RgtGB0Y9cclxuICAgKiBAcGFyYW0gZXZlbnQg0KHQvtCx0YvRgtC40LUg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjRj1xyXG4gICAqIEB0aHJvd3Mg0J7RiNC40LHQutCwLCDQtdGB0LvQuCDQv9GA0LXQtNGL0LTRg9GJ0LXQtSDQv9C10YDQtdGC0LDRgdC60LjQstCw0L3QuNC1INC10YnQtSDQvdC1INC30LDQstC10YDRiNC10L3QvlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdGFydERyYWcoc291cmNlTmFtZTogc3RyaW5nLCBkcmFnZ2VkRGF0YTogdW5rbm93bltdLCBldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy5zdGFydERyYWdFdmVudCkge1xyXG4gICAgLy8gICB0aHJvdyBuZXcgRXJyb3IoJ1N0YXJ0IG5ldyBkcmFnIGJlZm9yZSBjb21wbGV0ZSBjdXJyZW50JylcclxuICAgIC8vIH1cclxuICAgIHRoaXMuc3RhcnREcmFnRXZlbnQgPSB7c291cmNlTmFtZSwgZHJhZ2dlZERhdGF9O1xyXG4gICAgdGhpcy5wcmV2aWV3TWFuYWdlci5zaG93UHJldmlldyhzb3VyY2VOYW1lLCBldmVudCwgZHJhZ2dlZERhdGEpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQnNC10YLQvtC0INC00LvRjyDQvtCx0YDQsNCx0L7RgtC60Lgg0YHQvtCx0YvRgtC40Y8gcHJldmVudERlZmF1bHQg0LTQu9GPINGA0LDQt9GA0LXRiNC10L3QuNGPIC8g0LfQsNC/0YDQtdGJ0LXQvdC40Y8gZHJvcCDQvdCwINGN0LvQtdC80LXQvdGC0LVcclxuICAgKiBAcGFyYW0gdGFyZ2V0TmFtZSDQmNC80Y8g0YbQtdC70LgsINC90LAg0LrQvtGC0L7RgNGD0Y4g0L/RgNC+0LjRgdGF0L7QtNC40YIg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjQtVxyXG4gICAqIEBwYXJhbSAkZXZlbnQg0KHQvtCx0YvRgtC40LUg0L/QtdGA0LXRgtCw0YHQutC40LLQsNC90LjRj1xyXG4gICAqL1xyXG4gIHB1YmxpYyBjYW5Ecm9wUHJldmVudERlZmF1bHQodGFyZ2V0TmFtZTogc3RyaW5nLCAkZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5Ecm9wTWFuYWdlci5kcm9wUHJldmVudERlZmF1bHQodGhpcy5zdGFydERyYWdFdmVudD8uc291cmNlTmFtZSwgdGFyZ2V0TmFtZSwgJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCc0LXRgtC+0LQg0LTQu9GPINCy0YvQv9C+0LvQvdC10L3QuNGPIGRyb3Ag0L3QsCDRg9C60LDQt9Cw0L3QvdGD0Y4g0YbQtdC70YxcclxuICAgKiBAcGFyYW0gdGFyZ2V0RGF0YXNldCDQlNCw0L3QvdGL0LUg0YbQtdC70LXQstC+0Lkg0YLQsNCx0LvQuNGG0YtcclxuICAgKiBAcGFyYW0gdGFyZ2V0TmFtZSDQmNC80Y8g0YbQtdC70LgsINC90LAg0LrQvtGC0L7RgNGD0Y4g0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyBkcm9wXHJcbiAgICogQHBhcmFtIHRhcmdldERhdGEg0JTQsNC90L3Ri9C1INGG0LXQu9C4INCyINC60L7RgtC+0YDRi9C1INCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8gZHJvcFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUg0YEg0YDQtdC30YPQu9GM0YLQsNGC0L7QvCBkcm9wINC+0L/QtdGA0LDRhtC40LhcclxuICAgKi9cclxuICBwdWJsaWMgZHJvcCh0YXJnZXREYXRhc2V0OiB1bmtub3duW10sIHRhcmdldE5hbWU6IHN0cmluZywgdGFyZ2V0RGF0YTogYW55KTogT2JzZXJ2YWJsZTxBdXJEcm9wUmVzdWx0PGFueT4+IHtcclxuICAgIGNvbnN0IG1hcHBpbmcgPSB0aGlzLmdldE1hcHBpbmcodGhpcy5zdGFydERyYWdFdmVudCEuc291cmNlTmFtZSwgdGFyZ2V0TmFtZSk7XHJcbiAgICBjb25zdCBkcm9wQ29udGV4dCA9IHRoaXMuYnVpbGREcm9wQ29udGV4dCh0YXJnZXROYW1lLCB0YXJnZXREYXRhLCB0YXJnZXREYXRhc2V0KVxyXG4gICAgY29uc3QgZHJvcFJlc3VsdCA9IG1hcHBpbmchLmRyb3BGbihkcm9wQ29udGV4dCkucGlwZShmaXJzdCgpKTtcclxuICAgIHRoaXMuZHJvcEV2ZW50ID0ge3RhcmdldE5hbWUsIHRhcmdldERhdGEsIGRyb3BSZXN1bHR9XHJcbiAgICByZXR1cm4gZHJvcFJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGREcm9wQ29udGV4dCh0YXJnZXROYW1lOiBzdHJpbmcsIHRhcmdldERhdGE6IGFueSwgdGFyZ2V0RGF0YVNldDogdW5rbm93bltdKTogRHJvcENvbnRleHQ8YW55LCBhbnk+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRhcmdldE5hbWUsXHJcbiAgICAgIHRhcmdldERhdGEsXHJcbiAgICAgIHRhcmdldERhdGFzZXQ6IHRhcmdldERhdGFTZXQsXHJcbiAgICAgIHNvdXJjZU5hbWU6IHRoaXMuc3RhcnREcmFnRXZlbnQhLnNvdXJjZU5hbWUsXHJcbiAgICAgIHNvdXJjZURhdGE6IHRoaXMuc3RhcnREcmFnRXZlbnQhLmRyYWdnZWREYXRhLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVuZERyYWcoc291cmNlRGF0YXNldDogdW5rbm93bltdKTogT2JzZXJ2YWJsZTxBdXJEcm9wUmVzdWx0PGFueT4+IHtcclxuICAgIHRoaXMucHJldmlld01hbmFnZXIucmVtb3ZlUHJldmlldygpO1xyXG5cclxuICAgIGlmICghdGhpcy5kcm9wRXZlbnQpIHtcclxuICAgICAgY29uc3QgZHJvcFJlc3VsdCA9IG9mKHtpc1ZhbGlkOiBmYWxzZSwgdXBkYXRlZERhdGFzZXQ6IFtdfSk7XHJcbiAgICAgIHRoaXMuZHJvcEV2ZW50ID0ge3RhcmdldE5hbWU6ICctLS0/dW5rbm93LXRhcmdldD8tLS0tJywgdGFyZ2V0RGF0YTogbnVsbCwgZHJvcFJlc3VsdH1cclxuICAgICAgcmV0dXJuIGRyb3BSZXN1bHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kcm9wRXZlbnQhLmRyb3BSZXN1bHQucGlwZShcclxuICAgICAgc3dpdGNoTWFwKGRyb3BFdmVudCA9PiB7XHJcbiAgICAgICAgaWYgKGRyb3BFdmVudC5pc1ZhbGlkKSB7XHJcbiAgICAgICAgICBjb25zdCBncmFiQ29udGV4dCA9IHRoaXMuYnVpbGRHcmFiQ29udGV4dChzb3VyY2VEYXRhc2V0KTtcclxuXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYWxjRGF0YXNldEFmdGVyR3JhYihncmFiQ29udGV4dCkucGlwZShcclxuICAgICAgICAgICAgbWFwKHVwZGF0ZWREYXRhc2V0ID0+ICh7XHJcbiAgICAgICAgICAgICAgaXNWYWxpZDogdHJ1ZSxcclxuICAgICAgICAgICAgICB1cGRhdGVkRGF0YXNldFxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBvZih7XHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICB1cGRhdGVkRGF0YXNldDogW11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRyb3BFdmVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnN0YXJ0RHJhZ0V2ZW50ID0gdW5kZWZpbmVkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRHcmFiQ29udGV4dChzb3VyY2VEYXRhc2V0OiB1bmtub3duW10pOiBHcmFiQ29udGV4dDxhbnksIGFueT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGFyZ2V0TmFtZTogdGhpcy5kcm9wRXZlbnQhLnRhcmdldE5hbWUsXHJcbiAgICAgIHRhcmdldERhdGE6IHRoaXMuZHJvcEV2ZW50IS50YXJnZXREYXRhLFxyXG4gICAgICBzb3VyY2VOYW1lOiB0aGlzLnN0YXJ0RHJhZ0V2ZW50IS5zb3VyY2VOYW1lLFxyXG4gICAgICBzb3VyY2VEYXRhOiB0aGlzLnN0YXJ0RHJhZ0V2ZW50IS5kcmFnZ2VkRGF0YSxcclxuICAgICAgc291cmNlRGF0YXNldDogc291cmNlRGF0YXNldFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYWxjRGF0YXNldEFmdGVyR3JhYihncmFiQ3R4OiBHcmFiQ29udGV4dDxhbnksIGFueT4pOiBPYnNlcnZhYmxlPHVua25vd25bXT4ge1xyXG4gICAgY29uc3QgbWFwcGluZyA9IHRoaXMuZ2V0TWFwcGluZyh0aGlzLnN0YXJ0RHJhZ0V2ZW50IS5zb3VyY2VOYW1lLCB0aGlzLmRyb3BFdmVudCEudGFyZ2V0TmFtZSk7XHJcbiAgICByZXR1cm4gbWFwcGluZyEuZ3JhYkZuKGdyYWJDdHgpLnBpcGUoZmlyc3QoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1hcHBpbmcoc291cmNlTmFtZTogc3RyaW5nLCB0YXJnZXROYW1lOiBzdHJpbmcpOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLm1hcHBpbmdNYW5hZ2VyLmdldChzb3VyY2VOYW1lLCB0YXJnZXROYW1lKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class CanDropManager {
|
|
2
|
+
constructor(mappings) {
|
|
3
|
+
//can drop [key from table, value to table name]
|
|
4
|
+
this.canDropStorage = new Map();
|
|
5
|
+
this.fillStorage(mappings);
|
|
6
|
+
}
|
|
7
|
+
fillStorage(mappings) {
|
|
8
|
+
mappings.forEach(m => {
|
|
9
|
+
if (!this.canDropStorage.has(m.sourceName)) {
|
|
10
|
+
this.canDropStorage.set(m.sourceName, new Set());
|
|
11
|
+
}
|
|
12
|
+
this.canDropStorage.get(m.sourceName).add(m.targetName);
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
canDrop(sourceName, targetName) {
|
|
16
|
+
if (!sourceName || !targetName) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return this.canDropStorage.get(sourceName)?.has(targetName) ?? false;
|
|
20
|
+
}
|
|
21
|
+
dropPreventDefault(sourceName, targetName, $event) {
|
|
22
|
+
const canDrop = this.canDrop(sourceName, targetName);
|
|
23
|
+
if (canDrop) {
|
|
24
|
+
$event.preventDefault();
|
|
25
|
+
}
|
|
26
|
+
return canDrop;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWRyb3AtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZHJhZy1kcm9wL2Nhbi1kcm9wLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxRQUF3QztRQUhwRCxnREFBZ0Q7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLEdBQUcsRUFBdUIsQ0FBQztRQUd0RCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBd0M7UUFDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsVUFBOEIsRUFBRSxVQUE4QjtRQUMzRSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxVQUE4QixFQUFFLFVBQWtCLEVBQUUsTUFBaUI7UUFDN0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDYW5Ecm9wTWFuYWdlciB7XHJcblxyXG4gIC8vY2FuIGRyb3AgW2tleSBmcm9tIHRhYmxlLCB2YWx1ZSB0byB0YWJsZSBuYW1lXVxyXG4gIHByaXZhdGUgY2FuRHJvcFN0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIHRoaXMuZmlsbFN0b3JhZ2UobWFwcGluZ3MpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxsU3RvcmFnZShtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICBtYXBwaW5ncy5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuY2FuRHJvcFN0b3JhZ2UuaGFzKG0uc291cmNlTmFtZSkpIHtcclxuICAgICAgICB0aGlzLmNhbkRyb3BTdG9yYWdlLnNldChtLnNvdXJjZU5hbWUsIG5ldyBTZXQoKSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYW5Ecm9wU3RvcmFnZS5nZXQobS5zb3VyY2VOYW1lKSEuYWRkKG0udGFyZ2V0TmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5Ecm9wKHNvdXJjZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdGFyZ2V0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXNvdXJjZU5hbWUgfHwgIXRhcmdldE5hbWUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FuRHJvcFN0b3JhZ2UuZ2V0KHNvdXJjZU5hbWUpPy5oYXModGFyZ2V0TmFtZSkgPz8gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZHJvcFByZXZlbnREZWZhdWx0KHNvdXJjZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCwgdGFyZ2V0TmFtZTogc3RyaW5nLCAkZXZlbnQ6IERyYWdFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY2FuRHJvcCA9IHRoaXMuY2FuRHJvcChzb3VyY2VOYW1lLCB0YXJnZXROYW1lKTtcclxuICAgIGlmIChjYW5Ecm9wKSB7XHJcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbkRyb3A7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export class DragDropMappingManager {
|
|
2
|
+
constructor(mappings) {
|
|
3
|
+
this.mappingsStorage = new Map();
|
|
4
|
+
this.fillStorage(mappings);
|
|
5
|
+
}
|
|
6
|
+
get(sourceName, targetName) {
|
|
7
|
+
const mapping = this.mappingsStorage.get(this.buildKey(sourceName, targetName));
|
|
8
|
+
if (!mapping) {
|
|
9
|
+
throw new Error(`Mapping for ${sourceName} -> ${targetName} was not found`);
|
|
10
|
+
}
|
|
11
|
+
return mapping;
|
|
12
|
+
}
|
|
13
|
+
fillStorage(mappings) {
|
|
14
|
+
mappings.forEach(mapping => this.mappingsStorage.set(this.buildKeyForMapping(mapping), mapping));
|
|
15
|
+
}
|
|
16
|
+
buildKeyForMapping(mapping) {
|
|
17
|
+
return this.buildKey(mapping.sourceName, mapping.targetName);
|
|
18
|
+
}
|
|
19
|
+
buildKey(sourceName, targetName) {
|
|
20
|
+
return `${sourceName}->${targetName}`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLW1hcHBpbmctbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hdXItbWF0LXRhYmxlL3NyYy9saWIvZHJhZy1kcm9wL2RyYWctZHJvcC1tYXBwaW5nLW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUFZLFFBQXdDO1FBRm5DLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXdDLENBQUM7UUFHakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFHLENBQUMsT0FBTyxFQUFDLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsVUFBVSxPQUFPLFVBQVUsZ0JBQWdCLENBQUMsQ0FBQTtRQUM3RSxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUF3QztRQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUFxQztRQUM5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLFFBQVEsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQ3JELE9BQU8sR0FBRyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBEcmFnRHJvcE1hcHBpbmdNYW5hZ2VyIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBtYXBwaW5nc1N0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55Pj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IobWFwcGluZ3M6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0KHNvdXJjZU5hbWU6IHN0cmluZywgdGFyZ2V0TmFtZTogc3RyaW5nKTogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PiB7XHJcbiAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5tYXBwaW5nc1N0b3JhZ2UuZ2V0KHRoaXMuYnVpbGRLZXkoc291cmNlTmFtZSwgdGFyZ2V0TmFtZSkpO1xyXG4gICAgaWYoIW1hcHBpbmcpe1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hcHBpbmcgZm9yICR7c291cmNlTmFtZX0gLT4gJHt0YXJnZXROYW1lfSB3YXMgbm90IGZvdW5kYClcclxuICAgIH1cclxuICAgIHJldHVybiBtYXBwaW5nO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaWxsU3RvcmFnZShtYXBwaW5nczogQXVyRHJhZ0Ryb3BNYXBwaW5nPGFueSwgYW55PltdKSB7XHJcbiAgICBtYXBwaW5ncy5mb3JFYWNoKG1hcHBpbmcgPT5cclxuICAgICAgdGhpcy5tYXBwaW5nc1N0b3JhZ2Uuc2V0KHRoaXMuYnVpbGRLZXlGb3JNYXBwaW5nKG1hcHBpbmcpLCBtYXBwaW5nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkS2V5Rm9yTWFwcGluZyhtYXBwaW5nOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+KTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmJ1aWxkS2V5KG1hcHBpbmcuc291cmNlTmFtZSwgbWFwcGluZy50YXJnZXROYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRLZXkoc291cmNlTmFtZTogc3RyaW5nLCB0YXJnZXROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3NvdXJjZU5hbWV9LT4ke3RhcmdldE5hbWV9YDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class DragPreviewManager {
|
|
2
|
+
constructor(viewContainerRef, mappings) {
|
|
3
|
+
this.viewContainerRef = viewContainerRef;
|
|
4
|
+
this.previewStorage = new Map();
|
|
5
|
+
this.fillStorage(mappings);
|
|
6
|
+
}
|
|
7
|
+
fillStorage(mappings) {
|
|
8
|
+
mappings.filter(m => m.preview)
|
|
9
|
+
.forEach(m => {
|
|
10
|
+
this.previewStorage.set(m.sourceName, m.preview);
|
|
11
|
+
});
|
|
12
|
+
console.log(this.previewStorage);
|
|
13
|
+
}
|
|
14
|
+
showPreview(sourceName, event, draggedData) {
|
|
15
|
+
console.log('sourceName', sourceName);
|
|
16
|
+
let previewConstructor = this.previewStorage.get(sourceName);
|
|
17
|
+
if (previewConstructor) {
|
|
18
|
+
// Динамически создаем компонент превью
|
|
19
|
+
this.currentPreviewComponentRef = this.viewContainerRef.createComponent(previewConstructor);
|
|
20
|
+
this.currentPreviewComponentRef.instance.data = draggedData;
|
|
21
|
+
const nativePreview = this.currentPreviewComponentRef.location.nativeElement;
|
|
22
|
+
// Применение необходимых стилей к элементу превью
|
|
23
|
+
nativePreview.style.position = 'absolute';
|
|
24
|
+
nativePreview.style.top = '0';
|
|
25
|
+
nativePreview.style.left = '-9999px'; // Скрыть элемент за пределами экрана
|
|
26
|
+
document.body.appendChild(nativePreview); // Временно добавляем в DOM для отображения
|
|
27
|
+
event.dataTransfer?.setDragImage(nativePreview, 0, 0);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
removePreview() {
|
|
31
|
+
if (this.currentPreviewComponentRef) {
|
|
32
|
+
document.body.removeChild(this.currentPreviewComponentRef.location.nativeElement);
|
|
33
|
+
this.currentPreviewComponentRef.destroy();
|
|
34
|
+
this.currentPreviewComponentRef = undefined;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1wcmV2aWV3LW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9kcmFnLXByZXZpZXctbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQW9CLGdCQUFrQyxFQUMxQyxRQUF3QztRQURoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSHJDLG1CQUFjLEdBQUcsSUFBSSxHQUFHLEVBQWtELENBQUM7UUFLMUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU8sV0FBVyxDQUFDLFFBQXdDO1FBQzFELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2FBQzVCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxVQUFrQixFQUFFLEtBQWdCLEVBQUUsV0FBc0I7UUFDN0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDckMsSUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDO1lBRTVELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBRTdFLGtEQUFrRDtZQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDMUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLHFDQUFxQztZQUMzRSxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztZQUVyRixLQUFLLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxTQUFTLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtBdXJEcmFnRHJvcE1hcHBpbmd9IGZyb20gXCIuL21vZGVsL2F1ci1kcmFnLWRyb3AtbWFwcGluZ1wiO1xyXG5pbXBvcnQge0F1ckRyYWdQcmV2aWV3Q29tcG9uZW50fSBmcm9tIFwiLi9tb2RlbC9hdXItZHJhZy1wcmV2aWV3LWNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIERyYWdQcmV2aWV3TWFuYWdlciB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJldmlld1N0b3JhZ2UgPSBuZXcgTWFwPHN0cmluZywgbmV3ICgpID0+IEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PGFueT4+KCk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50UHJldmlld0NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEF1ckRyYWdQcmV2aWV3Q29tcG9uZW50PGFueT4+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgICAgICAgbWFwcGluZ3M6IEF1ckRyYWdEcm9wTWFwcGluZzxhbnksIGFueT5bXSkge1xyXG4gICAgdGhpcy5maWxsU3RvcmFnZShtYXBwaW5ncyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbGxTdG9yYWdlKG1hcHBpbmdzOiBBdXJEcmFnRHJvcE1hcHBpbmc8YW55LCBhbnk+W10pIHtcclxuICAgIG1hcHBpbmdzLmZpbHRlcihtID0+IG0ucHJldmlldylcclxuICAgICAgLmZvckVhY2gobSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcmV2aWV3U3RvcmFnZS5zZXQobS5zb3VyY2VOYW1lLCBtLnByZXZpZXchKTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5wcmV2aWV3U3RvcmFnZSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UHJldmlldyhzb3VyY2VOYW1lOiBzdHJpbmcsIGV2ZW50OiBEcmFnRXZlbnQsIGRyYWdnZWREYXRhOiB1bmtub3duW10pIHtcclxuICAgIGNvbnNvbGUubG9nKCdzb3VyY2VOYW1lJywgc291cmNlTmFtZSlcclxuICAgIGxldCBwcmV2aWV3Q29uc3RydWN0b3IgPSB0aGlzLnByZXZpZXdTdG9yYWdlLmdldChzb3VyY2VOYW1lKTtcclxuICAgIGlmIChwcmV2aWV3Q29uc3RydWN0b3IpIHtcclxuICAgICAgLy8g0JTQuNC90LDQvNC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0LXQvCDQutC+0LzQv9C+0L3QtdC90YIg0L/RgNC10LLRjNGOXHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHByZXZpZXdDb25zdHJ1Y3Rvcik7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYuaW5zdGFuY2UuZGF0YSA9IGRyYWdnZWREYXRhO1xyXG5cclxuICAgICAgY29uc3QgbmF0aXZlUHJldmlldyA9IHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgIC8vINCf0YDQuNC80LXQvdC10L3QuNC1INC90LXQvtCx0YXQvtC00LjQvNGL0YUg0YHRgtC40LvQtdC5INC6INGN0LvQtdC80LXQvdGC0YMg0L/RgNC10LLRjNGOXHJcbiAgICAgIG5hdGl2ZVByZXZpZXcuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICBuYXRpdmVQcmV2aWV3LnN0eWxlLnRvcCA9ICcwJztcclxuICAgICAgbmF0aXZlUHJldmlldy5zdHlsZS5sZWZ0ID0gJy05OTk5cHgnOyAvLyDQodC60YDRi9GC0Ywg0Y3Qu9C10LzQtdC90YIg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0Y3QutGA0LDQvdCwXHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobmF0aXZlUHJldmlldyk7IC8vINCS0YDQtdC80LXQvdC90L4g0LTQvtCx0LDQstC70Y/QtdC8INCyIERPTSDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRj1xyXG5cclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyPy5zZXREcmFnSW1hZ2UobmF0aXZlUHJldmlldywgMCwgMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUHJldmlldygpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRQcmV2aWV3Q29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcclxuICAgICAgdGhpcy5jdXJyZW50UHJldmlld0NvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFByZXZpZXdDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctZHJvcC1tYXBwaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9kcmFnLWRyb3AvbW9kZWwvYXVyLWRyYWctZHJvcC1tYXBwaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7QXVyRHJhZ1ByZXZpZXdDb21wb25lbnR9IGZyb20gXCIuL2F1ci1kcmFnLXByZXZpZXctY29tcG9uZW50XCI7XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgbWFwcGluZyBjb25maWd1cmF0aW9uIGZvciBkcmFnLWFuZC1kcm9wIGZ1bmN0aW9uYWxpdHlcclxuICogYmV0d2VlbiBjb21wb25lbnRzLiBJdCBkZWZpbmVzIHRoZSBzb3VyY2UgY29tcG9uZW50IChmcm9tIHdoZXJlIGRhdGEgaXMgZ3JhYmJlZClcclxuICogYW5kIHRoZSB0YXJnZXQgY29tcG9uZW50ICh3aGVyZSBkYXRhIGlzIGRyb3BwZWQpLCBhcyB3ZWxsIGFzIHRoZSBmdW5jdGlvbnMgdGhhdCBoYW5kbGVcclxuICogdGhlIGdyYWJiaW5nIGFuZCBkcm9wcGluZyBvZiBkYXRhLlxyXG4gKlxyXG4gKiBAdGVtcGxhdGUgU09VUkNFIC0gVGhlIHR5cGUgb2YgZGF0YSB1c2VkIGJ5IHRoZSBzb3VyY2UgY29tcG9uZW50LlxyXG4gKiBAdGVtcGxhdGUgVEFSR0VUIC0gVGhlIHR5cGUgb2YgZGF0YSB1c2VkIGJ5IHRoZSB0YXJnZXQgY29tcG9uZW50LlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnRHJvcE1hcHBpbmc8U09VUkNFLCBUQVJHRVQ+IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNvdXJjZSBjb21wb25lbnQgZnJvbSB3aGljaCBkYXRhIGNhbiBiZSBncmFiYmVkLlxyXG4gICAqIFRoaXMgcmVwcmVzZW50cyB0aGUgY29tcG9uZW50IHRoYXQgYWxsb3dzIGEgdXNlciB0byBpbml0aWF0ZSBhIGdyYWIgYWN0aW9uLlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IHNvdXJjZU5hbWU6IHN0cmluZyxcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRhcmdldCBjb21wb25lbnQgd2hlcmUgdGhlIGRhdGEgY2FuIGJlIGRyb3BwZWQuXHJcbiAgICogVGhpcyByZXByZXNlbnRzIHRoZSBjb21wb25lbnQgdGhhdCBhY2NlcHRzIHRoZSBkcm9wIGFjdGlvbi5cclxuICAgKi9cclxuICByZWFkb25seSB0YXJnZXROYW1lOiBzdHJpbmcsXHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIGNhbGxlZCB0byBoYW5kbGUgZ3JhYmJpbmcgZGF0YSBmcm9tIHRoZSBzb3VyY2UgY29tcG9uZW50LlxyXG4gICAqIEl0IGlzIGludm9rZWQgYWZ0ZXIgYSBkcm9wIGhhcyBvY2N1cnJlZCwgYW5kIGl0IGRlc2NyaWJlcyB3aGF0IHNob3VsZFxyXG4gICAqIGhhcHBlbiB0byB0aGUgZGF0YSBpbiB0aGUgc291cmNlIHRhYmxlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGN0eCAtIFRoZSBncmFiIGNvbnRleHQgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc291cmNlIGFuZCB0YXJnZXQuXHJcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgZGF0YSBlbGVtZW50cyBvZiB0eXBlIFNPVVJDRS5cclxuICAgKi9cclxuICByZWFkb25seSBncmFiRm46IChjdHg6IEdyYWJDb250ZXh0PFNPVVJDRSwgVEFSR0VUPikgPT4gT2JzZXJ2YWJsZTxTT1VSQ0VbXT5cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHRvIGhhbmRsZSB0aGUgZHJvcCBhY3Rpb24gaW4gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICogSXQgaXMgaW52b2tlZCB3aGVuIHRoZSBkcm9wIGV2ZW50IG9jY3VycywgYW5kIGl0IGRlc2NyaWJlcyBob3cgdG8gcHJvY2Vzc1xyXG4gICAqIHRoZSBkYXRhIGludG8gdGhlIHRhcmdldCBjb21wb25lbnQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGRyb3AgY29udGV4dCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb3VyY2UgYW5kIHRhcmdldC5cclxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBkYXRhIGVsZW1lbnRzIG9mIHR5cGUgVEFSR0VULlxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IGRyb3BGbjogKGN0eDogRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+KSA9PiBPYnNlcnZhYmxlPEF1ckRyb3BSZXN1bHQ8VEFSR0VUPj4sXHJcblxyXG4gIHJlYWRvbmx5IHByZXZpZXc/OiBuZXcgKCkgPT4gQXVyRHJhZ1ByZXZpZXdDb21wb25lbnQ8U09VUkNFPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcm9wUmVzdWx0PFRBUkdFVD4ge1xyXG4gIGlzVmFsaWQ6IGJvb2xlYW47XHJcbiAgdXBkYXRlZERhdGFzZXQ6IFRBUkdFVFtdXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JhYkNvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFW10sXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YXNldDogU09VUkNFW10sXHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXREYXRhOiBUQVJHRVQsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcENvbnRleHQ8U09VUkNFLCBUQVJHRVQ+IHtcclxuICByZWFkb25seSBzb3VyY2VOYW1lOiBzdHJpbmcsXHJcbiAgcmVhZG9ubHkgc291cmNlRGF0YTogU09VUkNFW10sXHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldERhdGFzZXQ6IFRBUkdFVFtdLFxyXG4gIHJlYWRvbmx5IHRhcmdldE5hbWU6IHN0cmluZyxcclxuICByZWFkb25seSB0YXJnZXREYXRhOiBUQVJHRVQsXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVyLWRyYWctcHJldmlldy1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL2RyYWctZHJvcC9tb2RlbC9hdXItZHJhZy1wcmV2aWV3LWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqINCe0LHRidC40Lkg0LjQvdGC0LXRgNGE0LXQudGBINC00LvRjyDQutC+0LzQv9C+0L3QtdC90YLQvtCyLCDQutC+0YLQvtGA0YvQtSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8g0LIg0LrQsNGH0LXRgdGC0LLQtSDQv9GA0LXQstGM0Y5cclxuICog0LTQu9GPINC/0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40Y8g0LTQsNC90L3Ri9GFLiDQrdGC0L4g0L7QsdC10YHQv9C10YfQuNCy0LDQtdGCINGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0YHQv9C+0YHQvtCxINC/0LXRgNC10LTQsNGH0LhcclxuICog0LTQsNC90L3Ri9GFINCyINGC0LDQutC40LUg0LrQvtC80L/QvtC90LXQvdGC0YsuXHJcbiAqXHJcbiAqIEB0ZW1wbGF0ZSBEQVRBIC0g0KLQuNC/INC00LDQvdC90YvRhSwg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C10YDQtdC00LDQvdGLINCyINC60L7QvNC/0L7QvdC10L3RgiDQtNC70Y8g0L/RgNC10LLRjNGOLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdXJEcmFnUHJldmlld0NvbXBvbmVudDxEQVRBPiB7XHJcbiAgLyoqXHJcbiAgICog0JTQsNC90L3Ri9C1LCDQutC+0YLQvtGA0YvQtSDQsdGD0LTRg9GCINC+0YLQvtCx0YDQsNC20LDRgtGM0YHRjyDQsiDQutC+0LzQv9C+0L3QtdC90YLQtSDQv9GA0LXQstGM0Y4uXHJcbiAgICovXHJcbiAgZGF0YTogREFUQVtdO1xyXG59XHJcbiJdfQ==
|