@worktile/gantt 12.2.0-next.1 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/worktile-gantt.umd.js +175 -145
- package/bundles/worktile-gantt.umd.js.map +1 -1
- package/class/event.d.ts +2 -0
- package/class/index.d.ts +1 -0
- package/class/item.d.ts +1 -1
- package/class/link.d.ts +5 -5
- package/components/links/{paths → lines}/curve.d.ts +2 -3
- package/components/links/lines/factory.d.ts +5 -0
- package/components/links/{paths/path.d.ts → lines/line.d.ts} +1 -4
- package/components/links/{paths/line.d.ts → lines/straight.d.ts} +2 -2
- package/components/links/links.component.d.ts +1 -1
- package/esm2015/class/event.js +1 -1
- package/esm2015/class/index.js +2 -1
- package/esm2015/class/item.js +4 -3
- package/esm2015/class/link.js +6 -6
- package/esm2015/components/bar/bar-drag.js +35 -12
- package/esm2015/components/bar/bar.component.js +1 -1
- package/esm2015/components/links/lines/curve.js +96 -0
- package/esm2015/components/links/lines/factory.js +14 -0
- package/esm2015/components/links/lines/line.js +24 -0
- package/esm2015/components/links/lines/straight.js +58 -0
- package/esm2015/components/links/links.component.js +4 -4
- package/esm2015/gantt-drag-container.js +55 -38
- package/esm2015/gantt-upper.js +10 -2
- package/esm2015/gantt.component.js +7 -11
- package/esm2015/gantt.config.js +3 -3
- package/fesm2015/worktile-gantt.js +136 -124
- package/fesm2015/worktile-gantt.js.map +1 -1
- package/gantt-drag-container.d.ts +20 -8
- package/gantt-upper.d.ts +5 -3
- package/gantt.component.d.ts +1 -3
- package/gantt.config.d.ts +2 -2
- package/main.bundle.scss +31 -1
- package/package.json +1 -1
- package/components/links/paths/factory.d.ts +0 -5
- package/esm2015/components/links/paths/curve.js +0 -118
- package/esm2015/components/links/paths/factory.js +0 -14
- package/esm2015/components/links/paths/line.js +0 -59
- package/esm2015/components/links/paths/path.js +0 -31
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { __decorate, __param } from "tslib";
|
|
2
|
+
import { Inject } from '@angular/core';
|
|
3
|
+
import { GanttLinkType } from '../../../class/link';
|
|
4
|
+
import { GANTT_UPPER_TOKEN } from '../../../gantt-upper';
|
|
5
|
+
import { GanttLinkLine } from './line';
|
|
6
|
+
let GanttLinkLineCurve = class GanttLinkLineCurve extends GanttLinkLine {
|
|
7
|
+
constructor(ganttUpper) {
|
|
8
|
+
super();
|
|
9
|
+
this.ganttUpper = ganttUpper;
|
|
10
|
+
}
|
|
11
|
+
generateSSPath(source, target) {
|
|
12
|
+
const x1 = source.before.x;
|
|
13
|
+
const y1 = source.before.y;
|
|
14
|
+
const x4 = target.before.x;
|
|
15
|
+
const y4 = target.before.y;
|
|
16
|
+
const isMirror = y4 > y1 ? 0 : 1;
|
|
17
|
+
const radius = Math.abs(y4 - y1) / 2;
|
|
18
|
+
if (x4 > x1) {
|
|
19
|
+
return `M ${x1} ${y1}
|
|
20
|
+
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
21
|
+
L ${x4} ${y4}`;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return `M ${x1} ${y1}
|
|
25
|
+
L ${x4} ${y1}
|
|
26
|
+
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
generateFFPath(source, target) {
|
|
30
|
+
const x1 = source.after.x;
|
|
31
|
+
const y1 = source.after.y;
|
|
32
|
+
const x4 = target.after.x;
|
|
33
|
+
const y4 = target.after.y;
|
|
34
|
+
const isMirror = y4 > y1 ? 1 : 0;
|
|
35
|
+
const radius = Math.abs(y4 - y1) / 2;
|
|
36
|
+
if (x4 > x1) {
|
|
37
|
+
return `M ${x1} ${y1}
|
|
38
|
+
L ${x4} ${y1}
|
|
39
|
+
A ${radius} ${radius} 0 1 ${isMirror} ${x4} ${y4}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return `M ${x1} ${y1}
|
|
43
|
+
A ${radius} ${radius} 0 1 ${isMirror} ${x1} ${y4}
|
|
44
|
+
L ${x4} ${y4}`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
generateFSAndSFPath(source, target, type) {
|
|
48
|
+
var _a;
|
|
49
|
+
let x1 = source.after.x;
|
|
50
|
+
let y1 = source.after.y;
|
|
51
|
+
let x4 = target.before.x;
|
|
52
|
+
let y4 = target.before.y;
|
|
53
|
+
const bezierWeight = 0.5;
|
|
54
|
+
if (type === GanttLinkType.sf) {
|
|
55
|
+
x1 = target.after.x;
|
|
56
|
+
y1 = target.after.y;
|
|
57
|
+
x4 = source.before.x;
|
|
58
|
+
y4 = source.before.y;
|
|
59
|
+
}
|
|
60
|
+
let dx = Math.abs(x4 - x1) * bezierWeight;
|
|
61
|
+
let x2 = x1 + dx;
|
|
62
|
+
let x3 = x4 - dx;
|
|
63
|
+
const centerX = (x1 + x4) / 2;
|
|
64
|
+
const centerY = (y1 + y4) / 2;
|
|
65
|
+
let controlX = this.ganttUpper.styles.lineHeight / 2;
|
|
66
|
+
const controlY = this.ganttUpper.styles.lineHeight / 2;
|
|
67
|
+
if (x1 >= x4) {
|
|
68
|
+
if (Math.abs(y4 - y1) <= this.ganttUpper.styles.lineHeight) {
|
|
69
|
+
return `M ${x1} ${y1}
|
|
70
|
+
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${x1} ${y4 > y1 ? y1 + controlY : y1 - controlY}
|
|
71
|
+
L ${x4} ${y4 > y1 ? y4 - controlY : y4 + controlY}
|
|
72
|
+
C ${x4 - controlY} ${y4 > y1 ? y4 - controlY : y4 + controlY} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
73
|
+
`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
controlX = this.ganttUpper.styles.lineHeight;
|
|
77
|
+
return `M ${x1} ${y1}
|
|
78
|
+
C ${x1 + controlX} ${y1} ${x1 + controlX} ${y4 > y1 ? y1 + controlX : y1 - controlX} ${centerX} ${centerY}
|
|
79
|
+
C ${x4 - controlX} ${y4 > y1 ? y4 - controlX : y4 + controlX} ${x4 - controlX} ${y4} ${x4} ${y4}
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (((_a = this.ganttUpper.linkOptions) === null || _a === void 0 ? void 0 : _a.showArrow) && x4 - x1 < 200) {
|
|
84
|
+
dx = Math.max(Math.abs(y4 - y1) * bezierWeight, 60);
|
|
85
|
+
x2 = x1 + dx;
|
|
86
|
+
x3 = x4 - dx;
|
|
87
|
+
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
88
|
+
}
|
|
89
|
+
return `M ${x1} ${y1} C ${x2} ${y1} ${x3} ${y4} ${x4} ${y4}`;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
GanttLinkLineCurve = __decorate([
|
|
93
|
+
__param(0, Inject(GANTT_UPPER_TOKEN))
|
|
94
|
+
], GanttLinkLineCurve);
|
|
95
|
+
export { GanttLinkLineCurve };
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9saW5lcy9jdXJ2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFdkMsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBQ2pELFlBQStDLFVBQXNCO1FBQ2pFLEtBQUssRUFBRSxDQUFDO1FBRG1DLGVBQVUsR0FBVixVQUFVLENBQVk7SUFFckUsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxQixFQUFFLE1BQXFCO1FBQ3ZELE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDVCxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ1IsTUFBTSxJQUFJLE1BQU0sUUFBUSxRQUFRLElBQUksRUFBRSxJQUFJLEVBQUU7d0JBQzVDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUMxQjthQUFNO1lBQ0gsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUM5RDtJQUNMLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1QsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUM5RDthQUFNO1lBQ0gsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNSLE1BQU0sSUFBSSxNQUFNLFFBQVEsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFO3dCQUM1QyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lB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SSxPQUFPLElBQUksT0FBTzt3QkFDckcsRUFBRSxHQUFHLFFBQVEsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxJQUFJLEVBQUUsR0FBRyxRQUFRLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO3FCQUM5RixDQUFDO2FBQ1Q7U0FDSjthQUFNLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVywwQ0FBRSxTQUFTLEtBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUU7WUFDaEUsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2IsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0NBQ0osQ0FBQTtBQTFGWSxrQkFBa0I7SUFDZCxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0dBRDdCLGtCQUFrQixDQTBGOUI7U0ExRlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dExpbmtJdGVtLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4uLy4uLy4uL2dhbnR0LXVwcGVyJztcbmltcG9ydCB7IEdhbnR0TGlua0xpbmUgfSBmcm9tICcuL2xpbmUnO1xuXG5leHBvcnQgY2xhc3MgR2FudHRMaW5rTGluZUN1cnZlIGV4dGVuZHMgR2FudHRMaW5rTGluZSB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHJpdmF0ZSBnYW50dFVwcGVyOiBHYW50dFVwcGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2VuZXJhdGVTU1BhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0pIHtcbiAgICAgICAgY29uc3QgeDEgPSBzb3VyY2UuYmVmb3JlLng7XG4gICAgICAgIGNvbnN0IHkxID0gc291cmNlLmJlZm9yZS55O1xuICAgICAgICBjb25zdCB4NCA9IHRhcmdldC5iZWZvcmUueDtcbiAgICAgICAgY29uc3QgeTQgPSB0YXJnZXQuYmVmb3JlLnk7XG4gICAgICAgIGNvbnN0IGlzTWlycm9yID0geTQgPiB5MSA/IDAgOiAxO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBNYXRoLmFicyh5NCAtIHkxKSAvIDI7XG5cbiAgICAgICAgaWYgKHg0ID4geDEpIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBBICR7cmFkaXVzfSAke3JhZGl1c30gMCAxICR7aXNNaXJyb3J9ICR7eDF9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5NH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgQSAke3JhZGl1c30gJHtyYWRpdXN9IDAgMSAke2lzTWlycm9yfSAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2VuZXJhdGVGRlBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0pIHtcbiAgICAgICAgY29uc3QgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTEgPSBzb3VyY2UuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgeDQgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgY29uc3QgeTQgPSB0YXJnZXQuYWZ0ZXIueTtcbiAgICAgICAgY29uc3QgaXNNaXJyb3IgPSB5NCA+IHkxID8gMSA6IDA7XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9IE1hdGguYWJzKHk0IC0geTEpIC8gMjtcbiAgICAgICAgaWYgKHg0ID4geDEpIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4NH0gJHt5NH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEEgJHtyYWRpdXN9ICR7cmFkaXVzfSAwIDEgJHtpc01pcnJvcn0gJHt4MX0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgTCAke3g0fSAke3k0fWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZW5lcmF0ZUZTQW5kU0ZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtLCB0eXBlPzogR2FudHRMaW5rVHlwZSkge1xuICAgICAgICBsZXQgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgbGV0IHkxID0gc291cmNlLmFmdGVyLnk7XG4gICAgICAgIGxldCB4NCA9IHRhcmdldC5iZWZvcmUueDtcbiAgICAgICAgbGV0IHk0ID0gdGFyZ2V0LmJlZm9yZS55O1xuICAgICAgICBjb25zdCBiZXppZXJXZWlnaHQgPSAwLjU7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IEdhbnR0TGlua1R5cGUuc2YpIHtcbiAgICAgICAgICAgIHgxID0gdGFyZ2V0LmFmdGVyLng7XG4gICAgICAgICAgICB5MSA9IHRhcmdldC5hZnRlci55O1xuICAgICAgICAgICAgeDQgPSBzb3VyY2UuYmVmb3JlLng7XG4gICAgICAgICAgICB5NCA9IHNvdXJjZS5iZWZvcmUueTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkeCA9IE1hdGguYWJzKHg0IC0geDEpICogYmV6aWVyV2VpZ2h0O1xuICAgICAgICBsZXQgeDIgPSB4MSArIGR4O1xuICAgICAgICBsZXQgeDMgPSB4NCAtIGR4O1xuXG4gICAgICAgIGNvbnN0IGNlbnRlclggPSAoeDEgKyB4NCkgLyAyO1xuICAgICAgICBjb25zdCBjZW50ZXJZID0gKHkxICsgeTQpIC8gMjtcblxuICAgICAgICBsZXQgY29udHJvbFggPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQgLyAyO1xuICAgICAgICBjb25zdCBjb250cm9sWSA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMubGluZUhlaWdodCAvIDI7XG5cbiAgICAgICAgaWYgKHgxID49IHg0KSB7XG4gICAgICAgICAgICBpZiAoTWF0aC5hYnMoeTQgLSB5MSkgPD0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbFggOiB5MSAtIGNvbnRyb2xYfSAke3gxfSAke1xuICAgICAgICAgICAgICAgICAgICB5NCA+IHkxID8geTEgKyBjb250cm9sWSA6IHkxIC0gY29udHJvbFlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEwgJHt4NH0gJHt5NCA+IHkxID8geTQgLSBjb250cm9sWSA6IHk0ICsgY29udHJvbFl9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4NCAtIGNvbnRyb2xZfSAke3k0ID4geTEgPyB5NCAtIGNvbnRyb2xZIDogeTQgKyBjb250cm9sWX0gICR7eDQgLSBjb250cm9sWH0gJHt5NH0gJHt4NH0gJHt5NH1cbiAgICAgICAgICAgICAgICAgICAgYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udHJvbFggPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9XG4gICAgICAgICAgICAgICAgICAgIEMgJHt4MSArIGNvbnRyb2xYfSAke3kxfSAke3gxICsgY29udHJvbFh9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbFggOiB5MSAtIGNvbnRyb2xYfSAke2NlbnRlclh9ICR7Y2VudGVyWX1cbiAgICAgICAgICAgICAgICAgICAgQyAke3g0IC0gY29udHJvbFh9ICR7eTQgPiB5MSA/IHk0IC0gY29udHJvbFggOiB5NCArIGNvbnRyb2xYfSAke3g0IC0gY29udHJvbFh9ICR7eTR9ICR7eDR9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zPy5zaG93QXJyb3cgJiYgeDQgLSB4MSA8IDIwMCkge1xuICAgICAgICAgICAgZHggPSBNYXRoLm1heChNYXRoLmFicyh5NCAtIHkxKSAqIGJlemllcldlaWdodCwgNjApO1xuICAgICAgICAgICAgeDIgPSB4MSArIGR4O1xuICAgICAgICAgICAgeDMgPSB4NCAtIGR4O1xuICAgICAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9IEMgJHt4Mn0gJHt5MX0gJHt4M30gJHt5NH0gJHt4NH0gJHt5NH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGBNICR7eDF9ICR7eTF9IEMgJHt4Mn0gJHt5MX0gJHt4M30gJHt5NH0gJHt4NH0gJHt5NH1gO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GanttLinkLineType } from '../../../class/link';
|
|
2
|
+
import { GanttLinkLineCurve } from './curve';
|
|
3
|
+
import { GanttLinkLineStraight } from './straight';
|
|
4
|
+
export function createLineGenerator(type, ganttUpper) {
|
|
5
|
+
switch (type) {
|
|
6
|
+
case GanttLinkLineType.curve:
|
|
7
|
+
return new GanttLinkLineCurve(ganttUpper);
|
|
8
|
+
case GanttLinkLineType.straight:
|
|
9
|
+
return new GanttLinkLineStraight();
|
|
10
|
+
default:
|
|
11
|
+
throw new Error('gantt link path type invalid');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xpbmtzL2xpbmVzL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVuRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBdUIsRUFBRSxVQUF1QjtJQUNoRixRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssaUJBQWlCLENBQUMsS0FBSztZQUN4QixPQUFPLElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRO1lBQzNCLE9BQU8sSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZDO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0tBQ3ZEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0TGlua0xpbmVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rTGluZUN1cnZlIH0gZnJvbSAnLi9jdXJ2ZSc7XG5pbXBvcnQgeyBHYW50dExpbmtMaW5lU3RyYWlnaHQgfSBmcm9tICcuL3N0cmFpZ2h0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxpbmVHZW5lcmF0b3IodHlwZTogR2FudHRMaW5rTGluZVR5cGUsIGdhbnR0VXBwZXI/OiBHYW50dFVwcGVyKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgR2FudHRMaW5rTGluZVR5cGUuY3VydmU6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0TGlua0xpbmVDdXJ2ZShnYW50dFVwcGVyKTtcbiAgICAgICAgY2FzZSBHYW50dExpbmtMaW5lVHlwZS5zdHJhaWdodDpcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRMaW5rTGluZVN0cmFpZ2h0KCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dhbnR0IGxpbmsgcGF0aCB0eXBlIGludmFsaWQnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GanttLinkType } from '../../../class/link';
|
|
2
|
+
export class GanttLinkLine {
|
|
3
|
+
constructor() { }
|
|
4
|
+
generatePath(source, target, type) {
|
|
5
|
+
if (source.before && source.after && target.before && target.after) {
|
|
6
|
+
let path = '';
|
|
7
|
+
switch (type) {
|
|
8
|
+
case GanttLinkType.ss:
|
|
9
|
+
path = this.generateSSPath(source, target);
|
|
10
|
+
break;
|
|
11
|
+
case GanttLinkType.ff:
|
|
12
|
+
path = this.generateFFPath(source, target);
|
|
13
|
+
break;
|
|
14
|
+
case GanttLinkType.sf:
|
|
15
|
+
path = this.generateFSAndSFPath(source, target, type);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
path = this.generateFSAndSFPath(source, target);
|
|
19
|
+
}
|
|
20
|
+
return path;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jb21wb25lbnRzL2xpbmtzL2xpbmVzL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRSxNQUFNLE9BQWdCLGFBQWE7SUFDL0IsZ0JBQWUsQ0FBQztJQVFoQixZQUFZLENBQUMsTUFBcUIsRUFBRSxNQUFxQixFQUFFLElBQW1CO1FBQzFFLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoRSxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7WUFFZCxRQUFRLElBQUksRUFBRTtnQkFDVixLQUFLLGFBQWEsQ0FBQyxFQUFFO29CQUNqQixJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQzNDLE1BQU07Z0JBQ1YsS0FBSyxhQUFhLENBQUMsRUFBRTtvQkFDakIsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMzQyxNQUFNO2dCQUVWLEtBQUssYUFBYSxDQUFDLEVBQUU7b0JBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDdEQsTUFBTTtnQkFDVjtvQkFDSSxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2RDtZQUVELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dExpbmtJdGVtLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3MvbGluayc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHYW50dExpbmtMaW5lIHtcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBhYnN0cmFjdCBnZW5lcmF0ZVNTUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSk6IHN0cmluZztcblxuICAgIGFic3RyYWN0IGdlbmVyYXRlRkZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtKTogc3RyaW5nO1xuXG4gICAgYWJzdHJhY3QgZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSwgdHlwZT86IEdhbnR0TGlua1R5cGUpOiBzdHJpbmc7XG5cbiAgICBnZW5lcmF0ZVBhdGgoc291cmNlOiBHYW50dExpbmtJdGVtLCB0YXJnZXQ6IEdhbnR0TGlua0l0ZW0sIHR5cGU6IEdhbnR0TGlua1R5cGUpIHtcbiAgICAgICAgaWYgKHNvdXJjZS5iZWZvcmUgJiYgc291cmNlLmFmdGVyICYmIHRhcmdldC5iZWZvcmUgJiYgdGFyZ2V0LmFmdGVyKSB7XG4gICAgICAgICAgICBsZXQgcGF0aCA9ICcnO1xuXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEdhbnR0TGlua1R5cGUuc3M6XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSB0aGlzLmdlbmVyYXRlU1NQYXRoKHNvdXJjZSwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBHYW50dExpbmtUeXBlLmZmOlxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gdGhpcy5nZW5lcmF0ZUZGUGF0aChzb3VyY2UsIHRhcmdldCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBHYW50dExpbmtUeXBlLnNmOlxuICAgICAgICAgICAgICAgICAgICBwYXRoID0gdGhpcy5nZW5lcmF0ZUZTQW5kU0ZQYXRoKHNvdXJjZSwgdGFyZ2V0LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHRoaXMuZ2VuZXJhdGVGU0FuZFNGUGF0aChzb3VyY2UsIHRhcmdldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { GanttLinkLine } from './line';
|
|
2
|
+
import { GanttLinkType } from '../../../class/link';
|
|
3
|
+
export class GanttLinkLineStraight extends GanttLinkLine {
|
|
4
|
+
constructor() {
|
|
5
|
+
super();
|
|
6
|
+
this.pathControl = 20;
|
|
7
|
+
}
|
|
8
|
+
generateSSPath(source, target) {
|
|
9
|
+
const x1 = source.before.x;
|
|
10
|
+
const y1 = source.before.y;
|
|
11
|
+
const x4 = target.before.x;
|
|
12
|
+
const y4 = target.before.y;
|
|
13
|
+
const control = this.pathControl;
|
|
14
|
+
return `M ${x1} ${y1}
|
|
15
|
+
L ${x4 > x1 ? x1 - control : x4 - control} ${y1}
|
|
16
|
+
L ${x4 > x1 ? x1 - control : x4 - control} ${y4}
|
|
17
|
+
L ${x4} ${y4}`;
|
|
18
|
+
}
|
|
19
|
+
generateFFPath(source, target) {
|
|
20
|
+
const x1 = source.after.x;
|
|
21
|
+
const y1 = source.after.y;
|
|
22
|
+
const x4 = target.after.x;
|
|
23
|
+
const y4 = target.after.y;
|
|
24
|
+
const control = this.pathControl;
|
|
25
|
+
return `M ${x1} ${y1}
|
|
26
|
+
L ${x4 > x1 ? x4 + control : x1 + control} ${y1}
|
|
27
|
+
L ${x4 > x1 ? x4 + control : x1 + control} ${y4}
|
|
28
|
+
L ${x4} ${y4}`;
|
|
29
|
+
}
|
|
30
|
+
generateFSAndSFPath(source, target, type) {
|
|
31
|
+
let x1 = source.after.x;
|
|
32
|
+
let y1 = source.after.y;
|
|
33
|
+
let x4 = target.before.x;
|
|
34
|
+
let y4 = target.before.y;
|
|
35
|
+
const control = this.pathControl;
|
|
36
|
+
if (type === GanttLinkType.sf) {
|
|
37
|
+
x1 = target.after.x;
|
|
38
|
+
y1 = target.after.y;
|
|
39
|
+
x4 = source.before.x;
|
|
40
|
+
y4 = source.before.y;
|
|
41
|
+
}
|
|
42
|
+
if (x4 - x1 >= 40) {
|
|
43
|
+
return `M ${x1} ${y1}
|
|
44
|
+
L ${x1 + control} ${y1}
|
|
45
|
+
L ${x1 + control} ${y4}
|
|
46
|
+
L ${x4} ${y4}`;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return `M ${x1} ${y1}
|
|
50
|
+
L ${x1 + control} ${y1}
|
|
51
|
+
L ${x1 + control} ${y4 > y1 ? y1 + control : y1 - control}
|
|
52
|
+
L ${x4 - control} ${y4 > y1 ? y1 + control : y1 - control}
|
|
53
|
+
L ${x4 - control} ${y4}
|
|
54
|
+
L ${x4} ${y4}`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYWlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY29tcG9uZW50cy9saW5rcy9saW5lcy9zdHJhaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZDLE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGFBQWE7SUFHcEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUhKLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBSXpCLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRWpDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRTs0QkFDQSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQzNDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDM0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUIsRUFBRSxNQUFxQjtRQUN2RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRWpDLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRTs0QkFDQSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQzNDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDM0MsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFxQixFQUFFLE1BQXFCLEVBQUUsSUFBb0I7UUFDbEYsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVqQyxJQUFJLElBQUksS0FBSyxhQUFhLENBQUMsRUFBRSxFQUFFO1lBQzNCLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwQixFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDcEIsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4QjtRQUVELElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDZixPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUU7NEJBQ0osRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFOzRCQUNsQixFQUFFLEdBQUcsT0FBTyxJQUFJLEVBQUU7NEJBQ2xCLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUM5QjthQUFNO1lBQ0gsT0FBTyxLQUFLLEVBQUUsSUFBSSxFQUFFOzRCQUNKLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRTs0QkFDbEIsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTzs0QkFDckQsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTzs0QkFDckQsRUFBRSxHQUFHLE9BQU8sSUFBSSxFQUFFOzRCQUNsQixFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dExpbmtMaW5lIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IEdhbnR0TGlua0l0ZW0sIEdhbnR0TGlua1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jbGFzcy9saW5rJztcblxuZXhwb3J0IGNsYXNzIEdhbnR0TGlua0xpbmVTdHJhaWdodCBleHRlbmRzIEdhbnR0TGlua0xpbmUge1xuICAgIHByaXZhdGUgcGF0aENvbnRyb2wgPSAyMDtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdlbmVyYXRlU1NQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtKSB7XG4gICAgICAgIGNvbnN0IHgxID0gc291cmNlLmJlZm9yZS54O1xuICAgICAgICBjb25zdCB5MSA9IHNvdXJjZS5iZWZvcmUueTtcbiAgICAgICAgY29uc3QgeDQgPSB0YXJnZXQuYmVmb3JlLng7XG4gICAgICAgIGNvbnN0IHk0ID0gdGFyZ2V0LmJlZm9yZS55O1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5wYXRoQ29udHJvbDtcblxuICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCA+IHgxID8geDEgLSBjb250cm9sIDogeDQgLSBjb250cm9sfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0ID4geDEgPyB4MSAtIGNvbnRyb2wgOiB4NCAtIGNvbnRyb2x9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZUZGUGF0aChzb3VyY2U6IEdhbnR0TGlua0l0ZW0sIHRhcmdldDogR2FudHRMaW5rSXRlbSkge1xuICAgICAgICBjb25zdCB4MSA9IHNvdXJjZS5hZnRlci54O1xuICAgICAgICBjb25zdCB5MSA9IHNvdXJjZS5hZnRlci55O1xuICAgICAgICBjb25zdCB4NCA9IHRhcmdldC5hZnRlci54O1xuICAgICAgICBjb25zdCB5NCA9IHRhcmdldC5hZnRlci55O1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5wYXRoQ29udHJvbDtcblxuICAgICAgICByZXR1cm4gYE0gJHt4MX0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCA+IHgxID8geDQgKyBjb250cm9sIDogeDEgKyBjb250cm9sfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3g0ID4geDEgPyB4NCArIGNvbnRyb2wgOiB4MSArIGNvbnRyb2x9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICB9XG5cbiAgICBnZW5lcmF0ZUZTQW5kU0ZQYXRoKHNvdXJjZTogR2FudHRMaW5rSXRlbSwgdGFyZ2V0OiBHYW50dExpbmtJdGVtLCB0eXBlPzogR2FudHRMaW5rVHlwZSkge1xuICAgICAgICBsZXQgeDEgPSBzb3VyY2UuYWZ0ZXIueDtcbiAgICAgICAgbGV0IHkxID0gc291cmNlLmFmdGVyLnk7XG4gICAgICAgIGxldCB4NCA9IHRhcmdldC5iZWZvcmUueDtcbiAgICAgICAgbGV0IHk0ID0gdGFyZ2V0LmJlZm9yZS55O1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5wYXRoQ29udHJvbDtcblxuICAgICAgICBpZiAodHlwZSA9PT0gR2FudHRMaW5rVHlwZS5zZikge1xuICAgICAgICAgICAgeDEgPSB0YXJnZXQuYWZ0ZXIueDtcbiAgICAgICAgICAgIHkxID0gdGFyZ2V0LmFmdGVyLnk7XG4gICAgICAgICAgICB4NCA9IHNvdXJjZS5iZWZvcmUueDtcbiAgICAgICAgICAgIHk0ID0gc291cmNlLmJlZm9yZS55O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHg0IC0geDEgPj0gNDApIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3gxICsgY29udHJvbH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4MSArIGNvbnRyb2x9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgTSAke3gxfSAke3kxfVxuICAgICAgICAgICAgICAgICAgICAgICAgTCAke3gxICsgY29udHJvbH0gJHt5MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4MSArIGNvbnRyb2x9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbCA6IHkxIC0gY29udHJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCAtIGNvbnRyb2x9ICR7eTQgPiB5MSA/IHkxICsgY29udHJvbCA6IHkxIC0gY29udHJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEwgJHt4NCAtIGNvbnRyb2x9ICR7eTR9XG4gICAgICAgICAgICAgICAgICAgICAgICBMICR7eDR9ICR7eTR9YDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -4,7 +4,7 @@ import { takeUntil, skip, debounceTime } from 'rxjs/operators';
|
|
|
4
4
|
import { recursiveItems } from '../../utils/helpers';
|
|
5
5
|
import { GANTT_UPPER_TOKEN } from '../../gantt-upper';
|
|
6
6
|
import { LinkColors, GanttLinkType } from '../../class/link';
|
|
7
|
-
import {
|
|
7
|
+
import { createLineGenerator } from './lines/factory';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "../../gantt-drag-container";
|
|
10
10
|
import * as i2 from "@angular/common";
|
|
@@ -27,7 +27,7 @@ export class GanttLinksComponent {
|
|
|
27
27
|
this.ganttLinksOverlay = true;
|
|
28
28
|
}
|
|
29
29
|
ngOnInit() {
|
|
30
|
-
this.
|
|
30
|
+
this.linkLine = createLineGenerator(this.ganttUpper.linkOptions.lineType, this.ganttUpper);
|
|
31
31
|
this.showArrow = this.ganttUpper.linkOptions.showArrow;
|
|
32
32
|
this.buildLinks();
|
|
33
33
|
this.firstChange = false;
|
|
@@ -99,7 +99,7 @@ export class GanttLinksComponent {
|
|
|
99
99
|
color = LinkColors.blocked;
|
|
100
100
|
}
|
|
101
101
|
this.links.push({
|
|
102
|
-
path: this.
|
|
102
|
+
path: this.linkLine.generatePath(source, target, link.type),
|
|
103
103
|
source: source.origin,
|
|
104
104
|
target: target.origin,
|
|
105
105
|
type: link.type,
|
|
@@ -156,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImpor
|
|
|
156
156
|
type: HostBinding,
|
|
157
157
|
args: ['class.gantt-links-overlay']
|
|
158
158
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUtULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQStCLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLG1CQUFtQjtJQXVCNUIsWUFDc0MsVUFBc0IsRUFDaEQsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsa0JBQXNDO1FBSFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUExQnpDLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBRWxDLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLFlB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O2dCQWdCbUMsaUJBQWlCO3NCQUExRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBza2lwLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW50dEdyb3VwSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jbGFzcy9ncm91cCc7XG5pbXBvcnQgeyBHYW50dEl0ZW1JbnRlcm5hbCB9IGZyb20gJy4vLi4vLi4vY2xhc3MvaXRlbSc7XG5pbXBvcnQgeyBHYW50dExpbmVDbGlja0V2ZW50IH0gZnJvbSAnLi4vLi4vY2xhc3MvZXZlbnQnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtZHJhZy1jb250YWluZXInO1xuaW1wb3J0IHsgcmVjdXJzaXZlSXRlbXMgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IEdBTlRUX1VQUEVSX1RPS0VOLCBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rSXRlbSwgTGlua0ludGVybmFsLCBMaW5rQ29sb3JzLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dExpbmtQYXRoIH0gZnJvbSAnLi9wYXRocy9wYXRoJztcbmltcG9ydCB7IGdlbmVyYXRlUGF0aEZhY3RvcnkgfSBmcm9tICcuL3BhdGhzL2ZhY3RvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LWxpbmtzLW92ZXJsYXknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5rcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2FudHRMaW5rc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGdyb3VwczogR2FudHRHcm91cEludGVybmFsW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBHYW50dEl0ZW1JbnRlcm5hbFtdID0gW107XG5cbiAgICBAT3V0cHV0KCkgbGluZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmVDbGlja0V2ZW50PigpO1xuXG4gICAgcHVibGljIGxpbmtzOiBMaW5rSW50ZXJuYWxbXSA9IFtdO1xuXG4gICAgcHVibGljIGdhbnR0TGlua1R5cGVzID0gR2FudHRMaW5rVHlwZTtcblxuICAgIHB1YmxpYyBzaG93QXJyb3cgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGlua0l0ZW1zOiBHYW50dExpbmtJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBsaW5rUGF0aDogR2FudHRMaW5rUGF0aDtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZ2FudHQtbGlua3Mtb3ZlcmxheScpIGdhbnR0TGlua3NPdmVybGF5ID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZ2FudHREcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5saW5rUGF0aCA9IGdlbmVyYXRlUGF0aEZhY3RvcnkodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLmxpbmtQYXRoVHlwZSwgdGhpcy5nYW50dFVwcGVyKTtcblxuICAgICAgICB0aGlzLnNob3dBcnJvdyA9IHRoaXMuZ2FudHRVcHBlci5saW5rT3B0aW9ucy5zaG93QXJyb3c7XG4gICAgICAgIHRoaXMuYnVpbGRMaW5rcygpO1xuICAgICAgICB0aGlzLmZpcnN0Q2hhbmdlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5nYW50dERyYWdDb250YWluZXIuZHJhZ1N0YXJ0ZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgICB9KTtcblxuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci52aWV3Q2hhbmdlLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmV4cGFuZENoYW5nZSxcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci52aWV3LnN0YXJ0JCxcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5kcmFnRW5kZWQsXG4gICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIubGlua0RyYWdFbmRlZFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCBza2lwKDEpLCBkZWJvdW5jZVRpbWUoMCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRMaW5rcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCkge1xuICAgICAgICBpZiAoIXRoaXMuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRMaW5rcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlSXRlbVBvc2l0aW9uKCkge1xuICAgICAgICBjb25zdCBsaW5lSGVpZ2h0ID0gdGhpcy5nYW50dFVwcGVyLnN0eWxlcy5saW5lSGVpZ2h0O1xuICAgICAgICBjb25zdCBiYXJIZWlnaHQgPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmJhckhlaWdodDtcbiAgICAgICAgdGhpcy5saW5rSXRlbXMgPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBpdGVtTnVtID0gMDtcbiAgICAgICAgICAgIGxldCBncm91cE51bSA9IDA7XG4gICAgICAgICAgICB0aGlzLmdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIGdyb3VwTnVtKys7XG4gICAgICAgICAgICAgICAgaWYgKGdyb3VwLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gcmVjdXJzaXZlSXRlbXMoZ3JvdXAuaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpdGVtSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHkgPSAoZ3JvdXBOdW0gKyBpdGVtTnVtICsgaXRlbUluZGV4KSAqIGxpbmVIZWlnaHQgKyBpdGVtLnJlZnMueSArIGJhckhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtJdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogaXRlbS5yZWZzLnggKyBpdGVtLnJlZnMud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1OdW0gKz0gaXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSByZWN1cnNpdmVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHkgPSBpdGVtSW5kZXggKiBsaW5lSGVpZ2h0ICsgaXRlbS5yZWZzLnkgKyBiYXJIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIHRoaXMubGlua0l0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICAgICAgICBiZWZvcmU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IGl0ZW0ucmVmcy54LFxuICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhZnRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogaXRlbS5yZWZzLnggKyBpdGVtLnJlZnMud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnVpbGRMaW5rcygpIHtcbiAgICAgICAgdGhpcy5jb21wdXRlSXRlbVBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMubGlua3MgPSBbXTtcbiAgICAgICAgdGhpcy5saW5rSXRlbXMuZm9yRWFjaCgoc291cmNlKSA9PiB7XG4gICAgICAgICAgICBpZiAoc291cmNlLm9yaWdpbi5zdGFydCB8fCBzb3VyY2Uub3JpZ2luLmVuZCkge1xuICAgICAgICAgICAgICAgIHNvdXJjZS5saW5rcy5mb3JFYWNoKChsaW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMubGlua0l0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IGxpbmsubGluayk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgKHRhcmdldC5vcmlnaW4uc3RhcnQgfHwgdGFyZ2V0Lm9yaWdpbi5lbmQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29sb3IgPSBMaW5rQ29sb3JzLmRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluay50eXBlID09PSBHYW50dExpbmtUeXBlLmZzICYmIHNvdXJjZS5lbmQuZ2V0VGltZSgpID4gdGFyZ2V0LnN0YXJ0LmdldFRpbWUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gTGlua0NvbG9ycy5ibG9ja2VkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLmxpbmtQYXRoLmdlbmVyYXRlUGF0aChzb3VyY2UsIHRhcmdldCwgbGluay50eXBlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6IHNvdXJjZS5vcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXQub3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGxpbmsudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGluay5jb2xvciB8fCBjb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJhY2tCeShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBvbkxpbmVDbGljayhldmVudDogTW91c2VFdmVudCwgbGluazogTGlua0ludGVybmFsKSB7XG4gICAgICAgIHRoaXMubGluZUNsaWNrLmVtaXQoe1xuICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICBzb3VyY2U6IGxpbmsuc291cmNlLFxuICAgICAgICAgICAgdGFyZ2V0OiBsaW5rLnRhcmdldFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBtb3VzZUVudGVyUGF0aChsaW5rOiBMaW5rSW50ZXJuYWwpIHtcbiAgICAgICAgaWYgKGxpbmsuY29sb3IgPT09IExpbmtDb2xvcnMuZGVmYXVsdCkge1xuICAgICAgICAgICAgbGluay5jb2xvciA9IExpbmtDb2xvcnMuYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbW91c2VMZWF2ZVBhdGgobGluazogTGlua0ludGVybmFsKSB7XG4gICAgICAgIGlmIChsaW5rLmNvbG9yID09PSBMaW5rQ29sb3JzLmFjdGl2ZSkge1xuICAgICAgICAgICAgbGluay5jb2xvciA9IExpbmtDb2xvcnMuZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPHN2ZyBbYXR0ci53aWR0aF09XCJnYW50dFVwcGVyLnZpZXcud2lkdGhcIiBjbGFzcz1cImdhbnR0LWxpbmtzLW92ZXJsYXktbWFpblwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgPHBhdGhcbiAgICAgIFthdHRyLmRdPVwibGluay5wYXRoXCJcbiAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICBzdHJva2Utd2lkdGg9XCIyXCJcbiAgICAgIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCJcbiAgICAgIHBvaW50ZXItZXZlbnRzPVwibm9uZVwiXG4gICAgICBbYXR0ci5zdHlsZV09XCJsaW5rLnR5cGUgPT09IGdhbnR0TGlua1R5cGVzLnNmID8gJ21hcmtlci1zdGFydDogdXJsKCN0cmlhbmdsZScgKyBpICsgJyknIDogJ21hcmtlci1lbmQ6IHVybCgjdHJpYW5nbGUnICsgaSArICcpJ1wiXG4gICAgPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGNsYXNzPVwibGluay1saW5lXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGluZUNsaWNrKCRldmVudCwgbGluaylcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyUGF0aChsaW5rKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmVQYXRoKGxpbmspXCJcbiAgICAgICAgW2F0dHIuZF09XCJsaW5rLnBhdGhcIlxuICAgICAgICBzdHJva2U9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZS13aWR0aD1cIjlcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIGN1cnNvcj1cInBvaW50ZXJcIlxuICAgICAgPjwvcGF0aD5cbiAgICA8L2c+XG4gICAgPGRlZnMgKm5nSWY9XCJzaG93QXJyb3dcIj5cbiAgICAgIDxtYXJrZXJcbiAgICAgICAgKm5nSWY9XCJsaW5rLnR5cGUgPT09IGdhbnR0TGlua1R5cGVzLnNmOyBlbHNlIG1hcmtlckVuZFwiXG4gICAgICAgIFtpZF09XCIndHJpYW5nbGUnICsgaVwiXG4gICAgICAgIG1hcmtlclVuaXRzPVwic3Ryb2tlV2lkdGhcIlxuICAgICAgICBtYXJrZXJXaWR0aD1cIjVcIlxuICAgICAgICBtYXJrZXJIZWlnaHQ9XCI0XCJcbiAgICAgICAgcmVmWD1cIjVcIlxuICAgICAgICByZWZZPVwiMlwiXG4gICAgICAgIG9yaWVudD1cIjE4MFwiXG4gICAgICA+XG4gICAgICAgIDxwYXRoIFthdHRyLmZpbGxdPVwibGluay5jb2xvclwiIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCIgZD1cIk0gMCAwIEwgNSAyIEwgMCA0IHpcIiAvPlxuICAgICAgPC9tYXJrZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjbWFya2VyRW5kPlxuICAgICAgICA8bWFya2VyIFtpZF09XCIndHJpYW5nbGUnICsgaVwiIG1hcmtlclVuaXRzPVwic3Ryb2tlV2lkdGhcIiBtYXJrZXJXaWR0aD1cIjVcIiBtYXJrZXJIZWlnaHQ9XCI0XCIgcmVmWD1cIjVcIiByZWZZPVwiMlwiIG9yaWVudD1cImF1dG9cIj5cbiAgICAgICAgICA8cGF0aCBbYXR0ci5maWxsXT1cImxpbmsuY29sb3JcIiBbYXR0ci5zdHJva2VdPVwibGluay5jb2xvclwiIGQ9XCJNIDAgMCBMIDUgMiBMIDAgNCB6XCIgLz5cbiAgICAgICAgPC9tYXJrZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGVmcz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxsaW5lIGNsYXNzPVwibGluay1kcmFnZ2luZy1saW5lXCI+PC9saW5lPlxuPC9zdmc+XG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2NvbXBvbmVudHMvbGlua3MvbGlua3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUtULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQStCLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFPLG1CQUFtQjtJQXVCNUIsWUFDc0MsVUFBc0IsRUFDaEQsR0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsa0JBQXNDO1FBSFosZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNoRCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUExQnpDLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBRWxDLFVBQUssR0FBd0IsRUFBRSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLFlB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O2dCQWdCbUMsaUJBQWlCO3NCQUExRCxXQUFXO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBza2lwLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYW50dEdyb3VwSW50ZXJuYWwgfSBmcm9tICcuLi8uLi9jbGFzcy9ncm91cCc7XG5pbXBvcnQgeyBHYW50dEl0ZW1JbnRlcm5hbCB9IGZyb20gJy4vLi4vLi4vY2xhc3MvaXRlbSc7XG5pbXBvcnQgeyBHYW50dExpbmVDbGlja0V2ZW50IH0gZnJvbSAnLi4vLi4vY2xhc3MvZXZlbnQnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtZHJhZy1jb250YWluZXInO1xuaW1wb3J0IHsgcmVjdXJzaXZlSXRlbXMgfSBmcm9tICcuLi8uLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IEdBTlRUX1VQUEVSX1RPS0VOLCBHYW50dFVwcGVyIH0gZnJvbSAnLi4vLi4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rSXRlbSwgTGlua0ludGVybmFsLCBMaW5rQ29sb3JzLCBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi4vLi4vY2xhc3MvbGluayc7XG5pbXBvcnQgeyBHYW50dExpbmtMaW5lIH0gZnJvbSAnLi9saW5lcy9saW5lJztcbmltcG9ydCB7IGNyZWF0ZUxpbmVHZW5lcmF0b3IgfSBmcm9tICcuL2xpbmVzL2ZhY3RvcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2dhbnR0LWxpbmtzLW92ZXJsYXknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5rcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgR2FudHRMaW5rc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGdyb3VwczogR2FudHRHcm91cEludGVybmFsW10gPSBbXTtcblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBHYW50dEl0ZW1JbnRlcm5hbFtdID0gW107XG5cbiAgICBAT3V0cHV0KCkgbGluZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmVDbGlja0V2ZW50PigpO1xuXG4gICAgcHVibGljIGxpbmtzOiBMaW5rSW50ZXJuYWxbXSA9IFtdO1xuXG4gICAgcHVibGljIGdhbnR0TGlua1R5cGVzID0gR2FudHRMaW5rVHlwZTtcblxuICAgIHB1YmxpYyBzaG93QXJyb3cgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGlua0l0ZW1zOiBHYW50dExpbmtJdGVtW10gPSBbXTtcblxuICAgIHByaXZhdGUgZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBsaW5rTGluZTogR2FudHRMaW5rTGluZTtcblxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3QoKTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZ2FudHQtbGlua3Mtb3ZlcmxheScpIGdhbnR0TGlua3NPdmVybGF5ID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZ2FudHREcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXJcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5saW5rTGluZSA9IGNyZWF0ZUxpbmVHZW5lcmF0b3IodGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLmxpbmVUeXBlLCB0aGlzLmdhbnR0VXBwZXIpO1xuXG4gICAgICAgIHRoaXMuc2hvd0Fycm93ID0gdGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zLnNob3dBcnJvdztcbiAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgIHRoaXMuZmlyc3RDaGFuZ2UgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmdhbnR0RHJhZ0NvbnRhaW5lci5kcmFnU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXdDaGFuZ2UsXG4gICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIuZXhwYW5kQ2hhbmdlLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLnZpZXcuc3RhcnQkLFxuICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmRyYWdFbmRlZCxcbiAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5saW5rRHJhZ0VuZGVkXG4gICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIHNraXAoMSksIGRlYm91bmNlVGltZSgwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIGlmICghdGhpcy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5idWlsZExpbmtzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVJdGVtUG9zaXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGxpbmVIZWlnaHQgPSB0aGlzLmdhbnR0VXBwZXIuc3R5bGVzLmxpbmVIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGJhckhlaWdodCA9IHRoaXMuZ2FudHRVcHBlci5zdHlsZXMuYmFySGVpZ2h0O1xuICAgICAgICB0aGlzLmxpbmtJdGVtcyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5ncm91cHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbGV0IGl0ZW1OdW0gPSAwO1xuICAgICAgICAgICAgbGV0IGdyb3VwTnVtID0gMDtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgZ3JvdXBOdW0rKztcbiAgICAgICAgICAgICAgICBpZiAoZ3JvdXAuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSByZWN1cnNpdmVJdGVtcyhncm91cC5pdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGl0ZW1JbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeSA9IChncm91cE51bSArIGl0ZW1OdW0gKyBpdGVtSW5kZXgpICogbGluZUhlaWdodCArIGl0ZW0ucmVmcy55ICsgYmFySGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0l0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg6IGl0ZW0ucmVmcy54LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCArIGl0ZW0ucmVmcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbU51bSArPSBpdGVtcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlY3Vyc2l2ZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeSA9IGl0ZW1JbmRleCAqIGxpbmVIZWlnaHQgKyBpdGVtLnJlZnMueSArIGJhckhlaWdodCAvIDI7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogaXRlbS5yZWZzLngsXG4gICAgICAgICAgICAgICAgICAgICAgICB5XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFmdGVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4OiBpdGVtLnJlZnMueCArIGl0ZW0ucmVmcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidWlsZExpbmtzKCkge1xuICAgICAgICB0aGlzLmNvbXB1dGVJdGVtUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5saW5rcyA9IFtdO1xuICAgICAgICB0aGlzLmxpbmtJdGVtcy5mb3JFYWNoKChzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGlmIChzb3VyY2Uub3JpZ2luLnN0YXJ0IHx8IHNvdXJjZS5vcmlnaW4uZW5kKSB7XG4gICAgICAgICAgICAgICAgc291cmNlLmxpbmtzLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5saW5rSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gbGluay5saW5rKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldCAmJiAodGFyZ2V0Lm9yaWdpbi5zdGFydCB8fCB0YXJnZXQub3JpZ2luLmVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb2xvciA9IExpbmtDb2xvcnMuZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rLnR5cGUgPT09IEdhbnR0TGlua1R5cGUuZnMgJiYgc291cmNlLmVuZC5nZXRUaW1lKCkgPiB0YXJnZXQuc3RhcnQuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSBMaW5rQ29sb3JzLmJsb2NrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMubGlua0xpbmUuZ2VuZXJhdGVQYXRoKHNvdXJjZSwgdGFyZ2V0LCBsaW5rLnR5cGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlLm9yaWdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldC5vcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogbGluay50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaW5rLmNvbG9yIHx8IGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFja0J5KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIG9uTGluZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50LCBsaW5rOiBMaW5rSW50ZXJuYWwpIHtcbiAgICAgICAgdGhpcy5saW5lQ2xpY2suZW1pdCh7XG4gICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgIHNvdXJjZTogbGluay5zb3VyY2UsXG4gICAgICAgICAgICB0YXJnZXQ6IGxpbmsudGFyZ2V0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG1vdXNlRW50ZXJQYXRoKGxpbms6IExpbmtJbnRlcm5hbCkge1xuICAgICAgICBpZiAobGluay5jb2xvciA9PT0gTGlua0NvbG9ycy5kZWZhdWx0KSB7XG4gICAgICAgICAgICBsaW5rLmNvbG9yID0gTGlua0NvbG9ycy5hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3VzZUxlYXZlUGF0aChsaW5rOiBMaW5rSW50ZXJuYWwpIHtcbiAgICAgICAgaWYgKGxpbmsuY29sb3IgPT09IExpbmtDb2xvcnMuYWN0aXZlKSB7XG4gICAgICAgICAgICBsaW5rLmNvbG9yID0gTGlua0NvbG9ycy5kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8c3ZnIFthdHRyLndpZHRoXT1cImdhbnR0VXBwZXIudmlldy53aWR0aFwiIGNsYXNzPVwiZ2FudHQtbGlua3Mtb3ZlcmxheS1tYWluXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgbGlua3M7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlcIj5cbiAgICA8cGF0aFxuICAgICAgW2F0dHIuZF09XCJsaW5rLnBhdGhcIlxuICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgIHN0cm9rZS13aWR0aD1cIjJcIlxuICAgICAgW2F0dHIuc3Ryb2tlXT1cImxpbmsuY29sb3JcIlxuICAgICAgcG9pbnRlci1ldmVudHM9XCJub25lXCJcbiAgICAgIFthdHRyLnN0eWxlXT1cImxpbmsudHlwZSA9PT0gZ2FudHRMaW5rVHlwZXMuc2YgPyAnbWFya2VyLXN0YXJ0OiB1cmwoI3RyaWFuZ2xlJyArIGkgKyAnKScgOiAnbWFya2VyLWVuZDogdXJsKCN0cmlhbmdsZScgKyBpICsgJyknXCJcbiAgICA+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGhcbiAgICAgICAgY2xhc3M9XCJsaW5rLWxpbmVcIlxuICAgICAgICAoY2xpY2spPVwib25MaW5lQ2xpY2soJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXJQYXRoKGxpbmspXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwibW91c2VMZWF2ZVBhdGgobGluaylcIlxuICAgICAgICBbYXR0ci5kXT1cImxpbmsucGF0aFwiXG4gICAgICAgIHN0cm9rZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlLXdpZHRoPVwiOVwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgY3Vyc29yPVwicG9pbnRlclwiXG4gICAgICA+PC9wYXRoPlxuICAgIDwvZz5cbiAgICA8ZGVmcyAqbmdJZj1cInNob3dBcnJvd1wiPlxuICAgICAgPG1hcmtlclxuICAgICAgICAqbmdJZj1cImxpbmsudHlwZSA9PT0gZ2FudHRMaW5rVHlwZXMuc2Y7IGVsc2UgbWFya2VyRW5kXCJcbiAgICAgICAgW2lkXT1cIid0cmlhbmdsZScgKyBpXCJcbiAgICAgICAgbWFya2VyVW5pdHM9XCJzdHJva2VXaWR0aFwiXG4gICAgICAgIG1hcmtlcldpZHRoPVwiNVwiXG4gICAgICAgIG1hcmtlckhlaWdodD1cIjRcIlxuICAgICAgICByZWZYPVwiNVwiXG4gICAgICAgIHJlZlk9XCIyXCJcbiAgICAgICAgb3JpZW50PVwiMTgwXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggW2F0dHIuZmlsbF09XCJsaW5rLmNvbG9yXCIgW2F0dHIuc3Ryb2tlXT1cImxpbmsuY29sb3JcIiBkPVwiTSAwIDAgTCA1IDIgTCAwIDQgelwiIC8+XG4gICAgICA8L21hcmtlcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNtYXJrZXJFbmQ+XG4gICAgICAgIDxtYXJrZXIgW2lkXT1cIid0cmlhbmdsZScgKyBpXCIgbWFya2VyVW5pdHM9XCJzdHJva2VXaWR0aFwiIG1hcmtlcldpZHRoPVwiNVwiIG1hcmtlckhlaWdodD1cIjRcIiByZWZYPVwiNVwiIHJlZlk9XCIyXCIgb3JpZW50PVwiYXV0b1wiPlxuICAgICAgICAgIDxwYXRoIFthdHRyLmZpbGxdPVwibGluay5jb2xvclwiIFthdHRyLnN0cm9rZV09XCJsaW5rLmNvbG9yXCIgZD1cIk0gMCAwIEwgNSAyIEwgMCA0IHpcIiAvPlxuICAgICAgICA8L21hcmtlcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kZWZzPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGxpbmUgY2xhc3M9XCJsaW5rLWRyYWdnaW5nLWxpbmVcIj48L2xpbmU+XG48L3N2Zz5cbiJdfQ==
|
|
@@ -1,60 +1,77 @@
|
|
|
1
|
-
import { Injectable, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Injectable, EventEmitter, Inject } from '@angular/core';
|
|
2
|
+
import { GanttLinkType } from './class';
|
|
3
|
+
import { GANTT_UPPER_TOKEN } from './gantt-upper';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./gantt-upper";
|
|
6
|
+
function getDependencyType(path, dependencyTypes) {
|
|
7
|
+
if (dependencyTypes.includes(GanttLinkType.ss) && path.from.pos === InBarPosition.start && path.to.pos === InBarPosition.start) {
|
|
8
|
+
return GanttLinkType.ss;
|
|
9
|
+
}
|
|
10
|
+
if (dependencyTypes.includes(GanttLinkType.ff) && path.from.pos === InBarPosition.finish && path.to.pos === InBarPosition.finish) {
|
|
11
|
+
return GanttLinkType.ff;
|
|
12
|
+
}
|
|
13
|
+
if (dependencyTypes.includes(GanttLinkType.sf) && path.from.pos === InBarPosition.start && path.to.pos === InBarPosition.finish) {
|
|
14
|
+
return GanttLinkType.sf;
|
|
15
|
+
}
|
|
16
|
+
return GanttLinkType.fs;
|
|
17
|
+
}
|
|
18
|
+
export var InBarPosition;
|
|
19
|
+
(function (InBarPosition) {
|
|
20
|
+
InBarPosition["start"] = "start";
|
|
21
|
+
InBarPosition["finish"] = "finish";
|
|
22
|
+
})(InBarPosition || (InBarPosition = {}));
|
|
3
23
|
export class GanttDragContainer {
|
|
4
|
-
constructor() {
|
|
24
|
+
constructor(ganttUpper) {
|
|
25
|
+
this.ganttUpper = ganttUpper;
|
|
5
26
|
this.dragStarted = new EventEmitter();
|
|
6
27
|
this.dragMoved = new EventEmitter();
|
|
7
28
|
this.dragEnded = new EventEmitter();
|
|
8
29
|
this.linkDragStarted = new EventEmitter();
|
|
9
30
|
this.linkDragEntered = new EventEmitter();
|
|
10
31
|
this.linkDragEnded = new EventEmitter();
|
|
32
|
+
this.linkDragPath = { from: null, to: null };
|
|
11
33
|
}
|
|
12
|
-
emitLinkDragStarted(from
|
|
13
|
-
this.linkDraggingId = item.id;
|
|
14
|
-
this.
|
|
15
|
-
this.linkDragSource = this.linkDragFrom === 'source' ? item : null;
|
|
16
|
-
this.linkDragTarget = this.linkDragFrom === 'target' ? item : null;
|
|
34
|
+
emitLinkDragStarted(from) {
|
|
35
|
+
this.linkDraggingId = from.item.id;
|
|
36
|
+
this.linkDragPath.from = from;
|
|
17
37
|
this.linkDragStarted.emit({
|
|
18
|
-
source:
|
|
19
|
-
target:
|
|
38
|
+
source: from.item.origin,
|
|
39
|
+
target: null
|
|
20
40
|
});
|
|
21
41
|
}
|
|
22
|
-
emitLinkDragEntered(
|
|
23
|
-
|
|
24
|
-
this.linkDragTarget = item;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
this.linkDragSource = item;
|
|
28
|
-
}
|
|
42
|
+
emitLinkDragEntered(to) {
|
|
43
|
+
this.linkDragPath.to = to;
|
|
29
44
|
this.linkDragEntered.emit({
|
|
30
|
-
source: this.
|
|
31
|
-
target:
|
|
45
|
+
source: this.linkDragPath.from.item.origin,
|
|
46
|
+
target: to.item.origin
|
|
32
47
|
});
|
|
33
48
|
}
|
|
34
49
|
emitLinkDragLeaved() {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
50
|
+
this.linkDragPath.to = null;
|
|
51
|
+
}
|
|
52
|
+
emitLinkDragEnded(to) {
|
|
53
|
+
var _a;
|
|
54
|
+
this.linkDragPath.to = to;
|
|
55
|
+
const dependencyType = getDependencyType(this.linkDragPath, (_a = this.ganttUpper.linkOptions) === null || _a === void 0 ? void 0 : _a.dependencyTypes);
|
|
56
|
+
this.linkDragPath.from.item.addLink({
|
|
57
|
+
link: this.linkDragPath.to.item.id,
|
|
58
|
+
type: dependencyType
|
|
59
|
+
});
|
|
60
|
+
this.linkDragEnded.emit({
|
|
61
|
+
source: this.linkDragPath.from.item.origin,
|
|
62
|
+
target: this.linkDragPath.to.item.origin,
|
|
63
|
+
type: dependencyType
|
|
64
|
+
});
|
|
43
65
|
this.linkDraggingId = null;
|
|
44
|
-
|
|
45
|
-
this.linkDragSource.addLink(this.linkDragTarget.id);
|
|
46
|
-
this.linkDragEnded.emit({
|
|
47
|
-
source: this.linkDragSource.origin,
|
|
48
|
-
target: this.linkDragTarget.origin
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
this.linkDragSource = null;
|
|
52
|
-
this.linkDragTarget = null;
|
|
66
|
+
this.linkDragPath = { from: null, to: null };
|
|
53
67
|
}
|
|
54
68
|
}
|
|
55
|
-
GanttDragContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: GanttDragContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
69
|
+
GanttDragContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: GanttDragContainer, deps: [{ token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
70
|
GanttDragContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: GanttDragContainer });
|
|
57
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.2", ngImport: i0, type: GanttDragContainer, decorators: [{
|
|
58
72
|
type: Injectable
|
|
59
|
-
}], ctorParameters: function () { return [
|
|
60
|
-
|
|
73
|
+
}], ctorParameters: function () { return [{ type: i1.GanttUpper, decorators: [{
|
|
74
|
+
type: Inject,
|
|
75
|
+
args: [GANTT_UPPER_TOKEN]
|
|
76
|
+
}] }]; } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtZHJhZy1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvZ2FudHQtZHJhZy1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHeEMsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFOUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFrQixFQUFFLGVBQWdDO0lBQzNFLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxhQUFhLENBQUMsS0FBSyxFQUFFO1FBQzVILE9BQU8sYUFBYSxDQUFDLEVBQUUsQ0FBQztLQUMzQjtJQUNELElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQzlILE9BQU8sYUFBYSxDQUFDLEVBQUUsQ0FBQztLQUMzQjtJQUNELElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQzdILE9BQU8sYUFBYSxDQUFDLEVB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QVU7OzBCQWtCTSxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi9jbGFzcyc7XG5pbXBvcnQgeyBHYW50dERyYWdFdmVudCwgR2FudHRMaW5rRHJhZ0V2ZW50IH0gZnJvbSAnLi9jbGFzcy9ldmVudCc7XG5pbXBvcnQgeyBHYW50dEl0ZW1JbnRlcm5hbCB9IGZyb20gJy4vY2xhc3MvaXRlbSc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4vZ2FudHQtdXBwZXInO1xuXG5mdW5jdGlvbiBnZXREZXBlbmRlbmN5VHlwZShwYXRoOiBMaW5rRHJhZ1BhdGgsIGRlcGVuZGVuY3lUeXBlczogR2FudHRMaW5rVHlwZVtdKTogR2FudHRMaW5rVHlwZSB7XG4gICAgaWYgKGRlcGVuZGVuY3lUeXBlcy5pbmNsdWRlcyhHYW50dExpbmtUeXBlLnNzKSAmJiBwYXRoLmZyb20ucG9zID09PSBJbkJhclBvc2l0aW9uLnN0YXJ0ICYmIHBhdGgudG8ucG9zID09PSBJbkJhclBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgIHJldHVybiBHYW50dExpbmtUeXBlLnNzO1xuICAgIH1cbiAgICBpZiAoZGVwZW5kZW5jeVR5cGVzLmluY2x1ZGVzKEdhbnR0TGlua1R5cGUuZmYpICYmIHBhdGguZnJvbS5wb3MgPT09IEluQmFyUG9zaXRpb24uZmluaXNoICYmIHBhdGgudG8ucG9zID09PSBJbkJhclBvc2l0aW9uLmZpbmlzaCkge1xuICAgICAgICByZXR1cm4gR2FudHRMaW5rVHlwZS5mZjtcbiAgICB9XG4gICAgaWYgKGRlcGVuZGVuY3lUeXBlcy5pbmNsdWRlcyhHYW50dExpbmtUeXBlLnNmKSAmJiBwYXRoLmZyb20ucG9zID09PSBJbkJhclBvc2l0aW9uLnN0YXJ0ICYmIHBhdGgudG8ucG9zID09PSBJbkJhclBvc2l0aW9uLmZpbmlzaCkge1xuICAgICAgICByZXR1cm4gR2FudHRMaW5rVHlwZS5zZjtcbiAgICB9XG4gICAgcmV0dXJuIEdhbnR0TGlua1R5cGUuZnM7XG59XG5cbmV4cG9ydCBlbnVtIEluQmFyUG9zaXRpb24ge1xuICAgIHN0YXJ0ID0gJ3N0YXJ0JyxcbiAgICBmaW5pc2ggPSAnZmluaXNoJ1xufVxuXG5leHBvcnQgdHlwZSBMaW5rRHJhZ1Bvc2l0aW9uID0ge1xuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIGl0ZW06IEdhbnR0SXRlbUludGVybmFsO1xuICAgIHBvcz86IEluQmFyUG9zaXRpb247XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtEcmFnUGF0aCB7XG4gICAgZnJvbT86IExpbmtEcmFnUG9zaXRpb247XG4gICAgdG8/OiBMaW5rRHJhZ1Bvc2l0aW9uO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2FudHREcmFnQ29udGFpbmVyIHtcbiAgICBkcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R2FudHREcmFnRXZlbnQ+KCk7XG5cbiAgICBkcmFnTW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0RHJhZ0V2ZW50PigpO1xuXG4gICAgZHJhZ0VuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dERyYWdFdmVudD4oKTtcblxuICAgIGxpbmtEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R2FudHRMaW5rRHJhZ0V2ZW50PigpO1xuXG4gICAgbGlua0RyYWdFbnRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmtEcmFnRXZlbnQ+KCk7XG5cbiAgICBsaW5rRHJhZ0VuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmtEcmFnRXZlbnQ+KCk7XG5cbiAgICBsaW5rRHJhZ2dpbmdJZDogc3RyaW5nO1xuXG4gICAgbGlua0RyYWdQYXRoOiBMaW5rRHJhZ1BhdGggPSB7IGZyb206IG51bGwsIHRvOiBudWxsIH07XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcikge31cblxuICAgIGVtaXRMaW5rRHJhZ1N0YXJ0ZWQoZnJvbTogTGlua0RyYWdQb3NpdGlvbikge1xuICAgICAgICB0aGlzLmxpbmtEcmFnZ2luZ0lkID0gZnJvbS5pdGVtLmlkO1xuICAgICAgICB0aGlzLmxpbmtEcmFnUGF0aC5mcm9tID0gZnJvbTtcbiAgICAgICAgdGhpcy5saW5rRHJhZ1N0YXJ0ZWQuZW1pdCh7XG4gICAgICAgICAgICBzb3VyY2U6IGZyb20uaXRlbS5vcmlnaW4sXG4gICAgICAgICAgICB0YXJnZXQ6IG51bGxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZW1pdExpbmtEcmFnRW50ZXJlZCh0bzogTGlua0RyYWdQb3NpdGlvbikge1xuICAgICAgICB0aGlzLmxpbmtEcmFnUGF0aC50byA9IHRvO1xuICAgICAgICB0aGlzLmxpbmtEcmFnRW50ZXJlZC5lbWl0KHtcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5saW5rRHJhZ1BhdGguZnJvbS5pdGVtLm9yaWdpbixcbiAgICAgICAgICAgIHRhcmdldDogdG8uaXRlbS5vcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZW1pdExpbmtEcmFnTGVhdmVkKCkge1xuICAgICAgICB0aGlzLmxpbmtEcmFnUGF0aC50byA9IG51bGw7XG4gICAgfVxuXG4gICAgZW1pdExpbmtEcmFnRW5kZWQodG86IExpbmtEcmFnUG9zaXRpb24pIHtcbiAgICAgICAgdGhpcy5saW5rRHJhZ1BhdGgudG8gPSB0bztcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeVR5cGUgPSBnZXREZXBlbmRlbmN5VHlwZSh0aGlzLmxpbmtEcmFnUGF0aCwgdGhpcy5nYW50dFVwcGVyLmxpbmtPcHRpb25zPy5kZXBlbmRlbmN5VHlwZXMpO1xuICAgICAgICB0aGlzLmxpbmtEcmFnUGF0aC5mcm9tLml0ZW0uYWRkTGluayh7XG4gICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmtEcmFnUGF0aC50by5pdGVtLmlkLFxuICAgICAgICAgICAgdHlwZTogZGVwZW5kZW5jeVR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua0RyYWdFbmRlZC5lbWl0KHtcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5saW5rRHJhZ1BhdGguZnJvbS5pdGVtLm9yaWdpbixcbiAgICAgICAgICAgIHRhcmdldDogdGhpcy5saW5rRHJhZ1BhdGgudG8uaXRlbS5vcmlnaW4sXG4gICAgICAgICAgICB0eXBlOiBkZXBlbmRlbmN5VHlwZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5rRHJhZ2dpbmdJZCA9IG51bGw7XG4gICAgICAgIHRoaXMubGlua0RyYWdQYXRoID0geyBmcm9tOiBudWxsLCB0bzogbnVsbCB9O1xuICAgIH1cbn1cbiJdfQ==
|