@worktile/gantt 15.0.0 → 15.1.0-next.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/class/event.d.ts +13 -0
- package/class/item.d.ts +7 -1
- package/components/bar/bar-drag.d.ts +10 -0
- package/components/bar/bar.component.d.ts +2 -1
- package/components/bar/bar.component.scss +22 -0
- package/components/calendar/calendar.scss +91 -0
- package/components/calendar/grid/calendar-grid.component.d.ts +24 -0
- package/components/calendar/header/calendar-header.component.d.ts +21 -0
- package/components/icon/icons.d.ts +1 -0
- package/components/links/links.component.d.ts +5 -5
- package/components/main/gantt-main.component.d.ts +3 -3
- package/components/table/body/gantt-table-body.component.d.ts +58 -0
- package/components/table/gantt-table.component.scss +169 -85
- package/components/table/gantt-table.scss +271 -0
- package/components/table/header/gantt-table-header.component.d.ts +31 -0
- package/esm2020/class/event.mjs +5 -1
- package/esm2020/class/item.mjs +9 -4
- package/esm2020/components/bar/bar-drag.mjs +106 -42
- package/esm2020/components/bar/bar.component.mjs +8 -2
- package/esm2020/components/calendar/grid/calendar-grid.component.mjs +71 -0
- package/esm2020/components/calendar/header/calendar-header.component.mjs +67 -0
- package/esm2020/components/icon/icons.mjs +4 -2
- package/esm2020/components/links/links.component.mjs +72 -54
- package/esm2020/components/main/gantt-main.component.mjs +5 -5
- package/esm2020/components/table/body/gantt-table-body.component.mjs +286 -0
- package/esm2020/components/table/header/gantt-table-header.component.mjs +140 -0
- package/esm2020/gantt-dom.service.mjs +8 -12
- package/esm2020/gantt-item-upper.mjs +15 -6
- package/esm2020/gantt-print.service.mjs +2 -2
- package/esm2020/gantt-upper.mjs +18 -15
- package/esm2020/gantt.component.mjs +114 -24
- package/esm2020/gantt.module.mjs +25 -10
- package/esm2020/root.component.mjs +10 -8
- package/esm2020/table/gantt-table.component.mjs +12 -4
- package/esm2020/utils/helpers.mjs +11 -1
- package/fesm2015/worktile-gantt.mjs +900 -377
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +891 -379
- package/fesm2020/worktile-gantt.mjs.map +1 -1
- package/gantt-dom.service.d.ts +1 -0
- package/gantt-item-upper.d.ts +3 -2
- package/gantt-upper.d.ts +4 -1
- package/gantt.component.d.ts +20 -7
- package/gantt.component.scss +35 -0
- package/gantt.module.d.ts +18 -15
- package/package.json +1 -1
- package/root.component.d.ts +1 -1
- package/styles/index.scss +4 -2
- package/styles/variables.scss +9 -7
- package/table/gantt-table.component.d.ts +5 -2
- package/components/calendar/calendar.component.d.ts +0 -26
- package/components/table/gantt-table.component.d.ts +0 -42
- package/esm2020/components/calendar/calendar.component.mjs +0 -88
- package/esm2020/components/table/gantt-table.component.mjs +0 -166
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
@use '../../styles/variables';
|
|
2
|
+
|
|
3
|
+
@mixin gantt-table-item-base() {
|
|
4
|
+
display: flex;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
border-bottom: 1px solid variables.$gantt-border-color;
|
|
7
|
+
|
|
8
|
+
.gantt-table-column {
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
border-right: 1px solid variables.$gantt-border-color;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
position: relative;
|
|
13
|
+
|
|
14
|
+
&:last-child {
|
|
15
|
+
border-right: none;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@mixin gantt-table-item {
|
|
21
|
+
@include gantt-table-item-base();
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
&-first-level-group {
|
|
24
|
+
background: variables.$gantt-group-background-color;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&-with-group {
|
|
28
|
+
.gantt-table-column {
|
|
29
|
+
&:first-child {
|
|
30
|
+
padding: 0 15px 0 32px;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.gantt-table-column {
|
|
36
|
+
display: flex;
|
|
37
|
+
padding: variables.$gantt-table-td-padding;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.gantt-table-column-content {
|
|
41
|
+
flex: 1;
|
|
42
|
+
position: relative;
|
|
43
|
+
overflow: hidden;
|
|
44
|
+
text-overflow: ellipsis;
|
|
45
|
+
white-space: nowrap;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:hover {
|
|
49
|
+
background-color: variables.$gantt-container-background-color;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&-active {
|
|
53
|
+
background-color: rgba($color: variables.$gantt-table-header-drag-line-color, $alpha: 0.1);
|
|
54
|
+
&:hover {
|
|
55
|
+
background-color: rgba($color: variables.$gantt-table-header-drag-line-color, $alpha: 0.1);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.gantt-table-column {
|
|
60
|
+
display: flex;
|
|
61
|
+
padding: variables.$gantt-table-td-padding;
|
|
62
|
+
|
|
63
|
+
&:last-child {
|
|
64
|
+
border-right: none;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.gantt-table-column-content {
|
|
69
|
+
flex: 1;
|
|
70
|
+
position: relative;
|
|
71
|
+
overflow: hidden;
|
|
72
|
+
text-overflow: ellipsis;
|
|
73
|
+
white-space: nowrap;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.gantt-expand-icon {
|
|
77
|
+
display: inline-block;
|
|
78
|
+
width: 20px;
|
|
79
|
+
color: #aaa;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.gantt-drag-handle {
|
|
83
|
+
width: 1rem;
|
|
84
|
+
padding: 0 5px 0 0;
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
margin-left: -10px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&:hover {
|
|
91
|
+
background-color: variables.$gantt-container-background-color;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&-active {
|
|
95
|
+
background-color: rgba($color: variables.$gantt-table-header-drag-line-color, $alpha: 0.1);
|
|
96
|
+
&:hover {
|
|
97
|
+
background-color: rgba($color: variables.$gantt-table-header-drag-line-color, $alpha: 0.1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@mixin gantt-items-drag-drop() {
|
|
103
|
+
.cdk-drag-preview.gantt-table-item {
|
|
104
|
+
box-sizing: border-box;
|
|
105
|
+
box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.08);
|
|
106
|
+
opacity: 0.9;
|
|
107
|
+
@include gantt-table-item();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.gantt-table-body.gantt-table-draggable {
|
|
111
|
+
.cdk-drag-placeholder {
|
|
112
|
+
display: none !important;
|
|
113
|
+
& + .cdk-drop-list {
|
|
114
|
+
display: none !important;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.cdk-drag-disabled.gantt-table-item {
|
|
119
|
+
.gantt-drag-handle {
|
|
120
|
+
svg {
|
|
121
|
+
display: none;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&.gantt-table-dragging {
|
|
127
|
+
.gantt-table-item {
|
|
128
|
+
&:hover {
|
|
129
|
+
background: unset;
|
|
130
|
+
.gantt-drag-handle {
|
|
131
|
+
visibility: hidden !important;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.drag-item-hide {
|
|
138
|
+
display: none !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.drop-position-inside {
|
|
142
|
+
.gantt-table-column {
|
|
143
|
+
height: 100%;
|
|
144
|
+
border-top: 2px dashed variables.$gantt-primary-color !important;
|
|
145
|
+
border-bottom: 2px dashed variables.$gantt-primary-color !important;
|
|
146
|
+
&:first-child {
|
|
147
|
+
border-left: 2px dashed variables.$gantt-primary-color !important;
|
|
148
|
+
}
|
|
149
|
+
&:last-child {
|
|
150
|
+
border-right: 2px dashed variables.$gantt-primary-color !important;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.drop-position-before {
|
|
156
|
+
background: variables.$gantt-table-items-drop-background-color !important;
|
|
157
|
+
border-top: 2px solid variables.$gantt-primary-color !important;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.drop-position-after {
|
|
161
|
+
background: variables.$gantt-table-items-drop-background-color !important;
|
|
162
|
+
border-bottom: 2px solid variables.$gantt-primary-color !important;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.gantt-table-header {
|
|
168
|
+
text-align: center;
|
|
169
|
+
background: #fff;
|
|
170
|
+
height: variables.$gantt-header-height;
|
|
171
|
+
line-height: variables.$gantt-header-height;
|
|
172
|
+
box-shadow: variables.$gantt-side-shadow;
|
|
173
|
+
position: relative;
|
|
174
|
+
z-index: 3;
|
|
175
|
+
border-right: 1px solid variables.$gantt-border-color;
|
|
176
|
+
|
|
177
|
+
@include gantt-table-item();
|
|
178
|
+
|
|
179
|
+
.gantt-table-column {
|
|
180
|
+
font-weight: 400;
|
|
181
|
+
z-index: 1;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.gantt-table-body {
|
|
186
|
+
display: block;
|
|
187
|
+
.gantt-table-group {
|
|
188
|
+
display: flex;
|
|
189
|
+
height: variables.$gantt-group-height;
|
|
190
|
+
background: variables.$gantt-group-background-color;
|
|
191
|
+
padding: 0 10px;
|
|
192
|
+
align-items: center;
|
|
193
|
+
border-bottom: 1px solid variables.$gantt-border-color;
|
|
194
|
+
box-sizing: border-box;
|
|
195
|
+
position: relative;
|
|
196
|
+
|
|
197
|
+
.gantt-table-group-title {
|
|
198
|
+
cursor: pointer;
|
|
199
|
+
|
|
200
|
+
.expand-icon {
|
|
201
|
+
color: #aaa;
|
|
202
|
+
margin-right: 6px;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.gantt-table-item {
|
|
208
|
+
@include gantt-table-item();
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.gantt-expand-icon {
|
|
212
|
+
display: inline-block;
|
|
213
|
+
width: 20px;
|
|
214
|
+
color: #aaa;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.gantt-table-empty {
|
|
219
|
+
height: 100%;
|
|
220
|
+
position: relative;
|
|
221
|
+
.gantt-table-body-container {
|
|
222
|
+
position: absolute;
|
|
223
|
+
text-align: center;
|
|
224
|
+
top: 50%;
|
|
225
|
+
left: 50%;
|
|
226
|
+
transform: translate(-50%, -50%);
|
|
227
|
+
margin-top: 22px;
|
|
228
|
+
.empty-icon {
|
|
229
|
+
svg {
|
|
230
|
+
height: 78px;
|
|
231
|
+
width: 78px;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
.empty-text {
|
|
235
|
+
color: #cacaca;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
.table-resize-handle,
|
|
241
|
+
.column-resize-handle {
|
|
242
|
+
width: variables.$gantt-table-header-drag-line-width;
|
|
243
|
+
position: absolute;
|
|
244
|
+
top: 0;
|
|
245
|
+
right: 0;
|
|
246
|
+
bottom: 0;
|
|
247
|
+
cursor: ew-resize;
|
|
248
|
+
height: 5000px;
|
|
249
|
+
|
|
250
|
+
&:hover {
|
|
251
|
+
background: variables.$gantt-table-header-drag-line-color;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.column-resize-handle {
|
|
256
|
+
height: unset;
|
|
257
|
+
z-index: 1;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.table-resize-auxiliary-line {
|
|
261
|
+
width: variables.$gantt-table-header-drag-line-width;
|
|
262
|
+
background: variables.$gantt-table-header-drag-line-color;
|
|
263
|
+
position: absolute;
|
|
264
|
+
top: 0;
|
|
265
|
+
bottom: 0;
|
|
266
|
+
z-index: 100;
|
|
267
|
+
display: none;
|
|
268
|
+
height: 5000px;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
@include gantt-items-drag-drop();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { QueryList, OnInit, ElementRef, OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { NgxGanttTableColumnComponent } from '../../../table/gantt-column.component';
|
|
3
|
+
import { CdkDragEnd, CdkDragMove, CdkDragStart } from '@angular/cdk/drag-drop';
|
|
4
|
+
import { GanttAbstractComponent } from '../../../gantt-abstract';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare const defaultColumnWidth = 100;
|
|
7
|
+
export declare const minColumnWidth = 80;
|
|
8
|
+
export declare class GanttTableHeaderComponent implements OnInit, OnDestroy {
|
|
9
|
+
private elementRef;
|
|
10
|
+
private gantt;
|
|
11
|
+
private cdr;
|
|
12
|
+
dragStartLeft: number;
|
|
13
|
+
tableWidth: number;
|
|
14
|
+
private unsubscribe$;
|
|
15
|
+
columns: QueryList<NgxGanttTableColumnComponent>;
|
|
16
|
+
resizeLineElementRef: ElementRef<HTMLElement>;
|
|
17
|
+
className: string;
|
|
18
|
+
constructor(elementRef: ElementRef, gantt: GanttAbstractComponent, cdr: ChangeDetectorRef);
|
|
19
|
+
ngOnInit(): void;
|
|
20
|
+
private columnsChange;
|
|
21
|
+
private dragFixed;
|
|
22
|
+
onResizeStarted(event: CdkDragStart): void;
|
|
23
|
+
onResizeMoved(event: CdkDragMove, column?: NgxGanttTableColumnComponent): void;
|
|
24
|
+
onResizeEnded(event: CdkDragEnd, column: NgxGanttTableColumnComponent): void;
|
|
25
|
+
onOverallResizeEnded(event: CdkDragEnd): void;
|
|
26
|
+
private showAuxiliaryLine;
|
|
27
|
+
private hideAuxiliaryLine;
|
|
28
|
+
ngOnDestroy(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GanttTableHeaderComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GanttTableHeaderComponent, "gantt-table-header", never, { "columns": "columns"; }, {}, never, never, false, never>;
|
|
31
|
+
}
|
package/esm2020/class/event.mjs
CHANGED
|
@@ -12,4 +12,8 @@ export class GanttBarClickEvent {
|
|
|
12
12
|
}
|
|
13
13
|
export class GanttSelectedEvent {
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
export class GanttTableDragDroppedEvent {
|
|
16
|
+
}
|
|
17
|
+
export class GanttTableDragEnterPredicateContext {
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvY2xhc3MvZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLGNBQWM7Q0FFMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQUUzQjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FJOUI7QUFFRCxNQUFNLE9BQU8sc0JBQXNCO0NBR2xDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtDQUkvQjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FHOUI7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0NBRzlCO0FBRUQsTUFBTSxPQUFPLDBCQUEwQjtDQU10QztBQUlELE1BQU0sT0FBTyxtQ0FBbUM7Q0FJL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neEdhbnR0VGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0SXRlbSB9IGZyb20gJy4vaXRlbSc7XG5pbXBvcnQgeyBHYW50dExpbmtUeXBlIH0gZnJvbSAnLi9saW5rJztcblxuZXhwb3J0IGNsYXNzIEdhbnR0RHJhZ0V2ZW50PFQgPSB1bmtub3duPiB7XG4gICAgaXRlbTogR2FudHRJdGVtPFQ+O1xufVxuXG5leHBvcnQgY2xhc3MgR2FudHRUYWJsZUV2ZW50IHtcbiAgICBjb2x1bW5zOiBRdWVyeUxpc3Q8Tmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudD47XG59XG5cbmV4cG9ydCBjbGFzcyBHYW50dExpbmtEcmFnRXZlbnQ8VCA9IHVua25vd24+IHtcbiAgICBzb3VyY2U6IEdhbnR0SXRlbTxUPjtcbiAgICB0YXJnZXQ/OiBHYW50dEl0ZW08VD47XG4gICAgdHlwZT86IEdhbnR0TGlua1R5cGU7XG59XG5cbmV4cG9ydCBjbGFzcyBHYW50dExvYWRPblNjcm9sbEV2ZW50IHtcbiAgICBzdGFydDogbnVtYmVyO1xuICAgIGVuZDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR2FudHRMaW5lQ2xpY2tFdmVudDxUID0gdW5rbm93bj4ge1xuICAgIGV2ZW50OiBNb3VzZUV2ZW50O1xuICAgIHNvdXJjZTogR2FudHRJdGVtPFQ+O1xuICAgIHRhcmdldDogR2FudHRJdGVtPFQ+O1xufVxuXG5leHBvcnQgY2xhc3MgR2FudHRCYXJDbGlja0V2ZW50PFQgPSB1bmtub3duPiB7XG4gICAgZXZlbnQ6IEV2ZW50O1xuICAgIGl0ZW06IEdhbnR0SXRlbTxUPjtcbn1cblxuZXhwb3J0IGNsYXNzIEdhbnR0U2VsZWN0ZWRFdmVudDxUID0gdW5rbm93bj4ge1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICBzZWxlY3RlZFZhbHVlOiBHYW50dEl0ZW08VD4gfCBHYW50dEl0ZW08VD5bXTtcbn1cblxuZXhwb3J0IGNsYXNzIEdhbnR0VGFibGVEcmFnRHJvcHBlZEV2ZW50PFQgPSB1bmtub3duPiB7XG4gICAgc291cmNlOiBHYW50dEl0ZW08VD47XG4gICAgc291cmNlUGFyZW50OiBHYW50dEl0ZW08VD47XG4gICAgdGFyZ2V0OiBHYW50dEl0ZW08VD47XG4gICAgdGFyZ2V0UGFyZW50OiBHYW50dEl0ZW08VD47XG4gICAgZHJvcFBvc2l0aW9uOiBHYW50dFRhYmxlRHJvcFBvc2l0aW9uO1xufVxuXG5leHBvcnQgdHlwZSBHYW50dFRhYmxlRHJvcFBvc2l0aW9uID0gJ2JlZm9yZScgfCAnaW5zaWRlJyB8ICdhZnRlcic7XG5cbmV4cG9ydCBjbGFzcyBHYW50dFRhYmxlRHJhZ0VudGVyUHJlZGljYXRlQ29udGV4dDxUID0gdW5rbm93bj4ge1xuICAgIHNvdXJjZTogR2FudHRJdGVtPFQ+O1xuICAgIHRhcmdldDogR2FudHRJdGVtPFQ+O1xuICAgIGRyb3BQb3NpdGlvbjogR2FudHRUYWJsZURyb3BQb3NpdGlvbjtcbn1cbiJdfQ==
|
package/esm2020/class/item.mjs
CHANGED
|
@@ -11,7 +11,7 @@ export class GanttItemInternal {
|
|
|
11
11
|
get refs() {
|
|
12
12
|
return this.refs$.getValue();
|
|
13
13
|
}
|
|
14
|
-
constructor(item, options) {
|
|
14
|
+
constructor(item, level, options) {
|
|
15
15
|
this.refs$ = new BehaviorSubject(null);
|
|
16
16
|
this.origin = item;
|
|
17
17
|
this.id = this.origin.id;
|
|
@@ -30,14 +30,16 @@ export class GanttItemInternal {
|
|
|
30
30
|
this.barStyle = this.origin.barStyle;
|
|
31
31
|
this.linkable = this.origin.linkable === undefined ? true : this.origin.linkable;
|
|
32
32
|
this.draggable = this.origin.draggable === undefined ? true : this.origin.draggable;
|
|
33
|
+
this.itemDraggable = this.origin.itemDraggable;
|
|
33
34
|
this.expandable = this.origin.expandable || (this.origin.children || []).length > 0;
|
|
34
35
|
this.expanded = this.origin.expanded === undefined ? false : this.origin.expanded;
|
|
35
36
|
this.start = item.start ? new GanttDate(item.start) : null;
|
|
36
37
|
this.end = item.end ? new GanttDate(item.end) : null;
|
|
38
|
+
this.level = level;
|
|
37
39
|
// 默认填充 30 天
|
|
38
40
|
this.fillDays = options?.fillDays || 30;
|
|
39
41
|
this.children = (item.children || []).map((subItem) => {
|
|
40
|
-
return new GanttItemInternal(subItem, { fillDays: this.fillDays });
|
|
42
|
+
return new GanttItemInternal(subItem, level + 1, { fillDays: this.fillDays });
|
|
41
43
|
});
|
|
42
44
|
this.type = this.origin.type || GanttItemType.bar;
|
|
43
45
|
this.progress = this.origin.progress;
|
|
@@ -64,10 +66,13 @@ export class GanttItemInternal {
|
|
|
64
66
|
this.origin.start = this.start.getUnixTime();
|
|
65
67
|
this.origin.end = this.end.getUnixTime();
|
|
66
68
|
}
|
|
69
|
+
updateLevel(level) {
|
|
70
|
+
this.level = level;
|
|
71
|
+
}
|
|
67
72
|
addChildren(items) {
|
|
68
73
|
this.origin.children = items;
|
|
69
74
|
this.children = (items || []).map((subItem) => {
|
|
70
|
-
return new GanttItemInternal(subItem, { fillDays: this.fillDays });
|
|
75
|
+
return new GanttItemInternal(subItem, this.level + 1, { fillDays: this.fillDays });
|
|
71
76
|
});
|
|
72
77
|
}
|
|
73
78
|
setExpand(expanded) {
|
|
@@ -79,4 +84,4 @@ export class GanttItemInternal {
|
|
|
79
84
|
this.origin.links = this.links;
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jbGFzcy9pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWEsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBUWxELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsNEJBQVcsQ0FBQTtJQUNYLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFxQkQsTUFBTSxPQUFPLGlCQUFpQjtJQW1CMUIsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFJRCxZQUFZLElBQWUsRUFBRSxPQUE4QjtRQUYzRCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQTBDLElBQUksQ0FBQyxDQUFDO1FBR3ZFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO2dCQUMxQixPQUFPO29CQUNILElBQUksRUFBRSxhQUFhLENBQUMsRUFBRTtvQkFDdEIsSUFBSTtpQkFDUCxDQUFDO2FBQ0w7aUJBQU07Z0JBQ0gsT0FBTyxJQUFJLENBQUM7YUFDZjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyRCxhQUFhO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dExpbmssIEdhbnR0TGlua1R5cGUgfSBmcm9tICcuL2xpbmsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0SXRlbVJlZnMge1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGVudW0gR2FudHRJdGVtVHlwZSB7XG4gICAgYmFyID0gJ2JhcicsXG4gICAgcmFuZ2UgPSAncmFuZ2UnLFxuICAgIGN1c3RvbSA9ICdjdXN0b20nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FudHRJdGVtPFQgPSB1bmtub3duPiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXJ0PzogbnVtYmVyO1xuICAgIGVuZD86IG51bWJlcjtcbiAgICBncm91cF9pZD86IHN0cmluZztcbiAgICBsaW5rcz86IChHYW50dExpbmsgfCBzdHJpbmcpW107XG4gICAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgICBsaW5rYWJsZT86IGJvb2xlYW47XG4gICAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIGNoaWxkcmVuPzogR2FudHRJdGVtW107XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYmFyU3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICAgIG9yaWdpbj86IFQ7XG4gICAgdHlwZT86IEdhbnR0SXRlbVR5cGU7XG4gICAgcHJvZ3Jlc3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBHYW50dEl0ZW1JbnRlcm5hbCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXJ0OiBHYW50dERhdGU7XG4gICAgZW5kOiBHYW50dERhdGU7XG4gICAgbGlua3M6IEdhbnR0TGlua1tdO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhclN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgICBkcmFnZ2FibGU/OiBib29sZWFuO1xuICAgIGxpbmthYmxlPzogYm9vbGVhbjtcbiAgICBvcmlnaW46IEdhbnR0SXRlbTtcbiAgICBleHBhbmRhYmxlPzogYm9vbGVhbjtcbiAgICBleHBhbmRlZD86IGJvb2xlYW47XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICBjaGlsZHJlbjogR2FudHRJdGVtSW50ZXJuYWxbXTtcbiAgICB0eXBlPzogR2FudHRJdGVtVHlwZTtcbiAgICBwcm9ncmVzcz86IG51bWJlcjtcbiAgICBmaWxsRGF5cz86IG51bWJlcjtcblxuICAgIGdldCByZWZzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWZzJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHJlZnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IHdpZHRoOiBudW1iZXI7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KG51bGwpO1xuXG4gICAgY29uc3RydWN0b3IoaXRlbTogR2FudHRJdGVtLCBvcHRpb25zPzogeyBmaWxsRGF5czogbnVtYmVyIH0pIHtcbiAgICAgICAgdGhpcy5vcmlnaW4gPSBpdGVtO1xuICAgICAgICB0aGlzLmlkID0gdGhpcy5vcmlnaW4uaWQ7XG4gICAgICAgIHRoaXMubGlua3MgPSAodGhpcy5vcmlnaW4ubGlua3MgfHwgW10pLm1hcCgobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEdhbnR0TGlua1R5cGUuZnMsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29sb3IgPSB0aGlzLm9yaWdpbi5jb2xvcjtcbiAgICAgICAgdGhpcy5iYXJTdHlsZSA9IHRoaXMub3JpZ2luLmJhclN0eWxlO1xuICAgICAgICB0aGlzLmxpbmthYmxlID0gdGhpcy5vcmlnaW4ubGlua2FibGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLm9yaWdpbi5saW5rYWJsZTtcbiAgICAgICAgdGhpcy5kcmFnZ2FibGUgPSB0aGlzLm9yaWdpbi5kcmFnZ2FibGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLm9yaWdpbi5kcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRoaXMub3JpZ2luLmV4cGFuZGFibGUgfHwgKHRoaXMub3JpZ2luLmNoaWxkcmVuIHx8IFtdKS5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdGhpcy5vcmlnaW4uZXhwYW5kZWQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogdGhpcy5vcmlnaW4uZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBpdGVtLnN0YXJ0ID8gbmV3IEdhbnR0RGF0ZShpdGVtLnN0YXJ0KSA6IG51bGw7XG4gICAgICAgIHRoaXMuZW5kID0gaXRlbS5lbmQgPyBuZXcgR2FudHREYXRlKGl0ZW0uZW5kKSA6IG51bGw7XG4gICAgICAgIC8vICDpu5jorqTloavlhYUgMzAg5aSpXG4gICAgICAgIHRoaXMuZmlsbERheXMgPSBvcHRpb25zPy5maWxsRGF5cyB8fCAzMDtcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IChpdGVtLmNoaWxkcmVuIHx8IFtdKS5tYXAoKHN1Ykl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRJdGVtSW50ZXJuYWwoc3ViSXRlbSwgeyBmaWxsRGF5czogdGhpcy5maWxsRGF5cyB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMub3JpZ2luLnR5cGUgfHwgR2FudHRJdGVtVHlwZS5iYXI7XG4gICAgICAgIHRoaXMucHJvZ3Jlc3MgPSB0aGlzLm9yaWdpbi5wcm9ncmVzcztcbiAgICAgICAgLy8gZmlsbCBkYXlzIHdoZW4gc3RhcnQgb3IgZW5kIGlzIG51bGxcbiAgICAgICAgdGhpcy5maWxsSXRlbVN0YXJ0T3JFbmQoaXRlbSk7XG4gICAgfVxuXG4gICAgZmlsbEl0ZW1TdGFydE9yRW5kKGl0ZW06IEdhbnR0SXRlbSkge1xuICAgICAgICBpZiAodGhpcy5maWxsRGF5cyA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGxEYXlzID0gdGhpcy5maWxsRGF5cyAtIDE7XG4gICAgICAgICAgICBpZiAoaXRlbS5zdGFydCAmJiAhaXRlbS5lbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVuZCA9IG5ldyBHYW50dERhdGUoaXRlbS5zdGFydCkuYWRkRGF5cyhmaWxsRGF5cykuZW5kT2ZEYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaXRlbS5zdGFydCAmJiBpdGVtLmVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnQgPSBuZXcgR2FudHREYXRlKGl0ZW0uZW5kKS5hZGREYXlzKC1maWxsRGF5cykuc3RhcnRPZkRheSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlUmVmcyhyZWZzOiBHYW50dEl0ZW1SZWZzKSB7XG4gICAgICAgIHRoaXMucmVmcyQubmV4dChyZWZzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVEYXRlKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBzdGFydC5zdGFydE9mRGF5KCk7XG4gICAgICAgIHRoaXMuZW5kID0gZW5kLmVuZE9mRGF5KCk7XG4gICAgICAgIHRoaXMub3JpZ2luLnN0YXJ0ID0gdGhpcy5zdGFydC5nZXRVbml4VGltZSgpO1xuICAgICAgICB0aGlzLm9yaWdpbi5lbmQgPSB0aGlzLmVuZC5nZXRVbml4VGltZSgpO1xuICAgIH1cblxuICAgIGFkZENoaWxkcmVuKGl0ZW1zOiBHYW50dEl0ZW1bXSkge1xuICAgICAgICB0aGlzLm9yaWdpbi5jaGlsZHJlbiA9IGl0ZW1zO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gKGl0ZW1zIHx8IFtdKS5tYXAoKHN1Ykl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRJdGVtSW50ZXJuYWwoc3ViSXRlbSwgeyBmaWxsRGF5czogdGhpcy5maWxsRGF5cyB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0RXhwYW5kKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgdGhpcy5vcmlnaW4uZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICB9XG5cbiAgICBhZGRMaW5rKGxpbms6IEdhbnR0TGluaykge1xuICAgICAgICB0aGlzLmxpbmtzID0gWy4uLnRoaXMubGlua3MsIGxpbmtdO1xuICAgICAgICB0aGlzLm9yaWdpbi5saW5rcyA9IHRoaXMubGlua3M7XG4gICAgfVxufVxuIl19
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9jbGFzcy9pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQWEsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBU2xELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDckIsNEJBQVcsQ0FBQTtJQUNYLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFzQkQsTUFBTSxPQUFPLGlCQUFpQjtJQXNCMUIsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFJRCxZQUFZLElBQWUsRUFBRSxLQUFjLEVBQUUsT0FBOEI7UUFGM0UsVUFBSyxHQUFHLElBQUksZUFBZSxDQUEwQyxJQUFJLENBQUMsQ0FBQztRQUd2RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDMUIsT0FBTztvQkFDSCxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUU7b0JBQ3RCLElBQUk7aUJBQ1AsQ0FBQzthQUNMO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNqRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNwRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDM0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FB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Q3pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dExpbmssIEdhbnR0TGlua1R5cGUgfSBmcm9tICcuL2xpbmsnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4vdmlldy10eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBHYW50dEl0ZW1SZWZzIHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIEdhbnR0SXRlbVR5cGUge1xuICAgIGJhciA9ICdiYXInLFxuICAgIHJhbmdlID0gJ3JhbmdlJyxcbiAgICBjdXN0b20gPSAnY3VzdG9tJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0SXRlbTxUID0gdW5rbm93bj4ge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydD86IG51bWJlcjtcbiAgICBlbmQ/OiBudW1iZXI7XG4gICAgZ3JvdXBfaWQ/OiBzdHJpbmc7XG4gICAgbGlua3M/OiAoR2FudHRMaW5rIHwgc3RyaW5nKVtdO1xuICAgIGRyYWdnYWJsZT86IGJvb2xlYW47XG4gICAgaXRlbURyYWdnYWJsZT86IGJvb2xlYW47XG4gICAgbGlua2FibGU/OiBib29sZWFuO1xuICAgIGV4cGFuZGFibGU/OiBib29sZWFuO1xuICAgIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgICBjaGlsZHJlbj86IEdhbnR0SXRlbVtdO1xuICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIGJhclN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgICBvcmlnaW4/OiBUO1xuICAgIHR5cGU/OiBHYW50dEl0ZW1UeXBlO1xuICAgIHByb2dyZXNzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgR2FudHRJdGVtSW50ZXJuYWwge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydDogR2FudHREYXRlO1xuICAgIGVuZDogR2FudHREYXRlO1xuICAgIGxpbmtzOiBHYW50dExpbmtbXTtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBiYXJTdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgZHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgICBpdGVtRHJhZ2dhYmxlPzogYm9vbGVhbjtcbiAgICBsaW5rYWJsZT86IGJvb2xlYW47XG4gICAgb3JpZ2luOiBHYW50dEl0ZW07XG4gICAgZXhwYW5kYWJsZT86IGJvb2xlYW47XG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgY2hpbGRyZW46IEdhbnR0SXRlbUludGVybmFsW107XG4gICAgdHlwZT86IEdhbnR0SXRlbVR5cGU7XG4gICAgcHJvZ3Jlc3M/OiBudW1iZXI7XG4gICAgZmlsbERheXM/OiBudW1iZXI7XG4gICAgdmlld1R5cGU/OiBHYW50dFZpZXdUeXBlO1xuICAgIGxldmVsPzogbnVtYmVyO1xuXG4gICAgZ2V0IHJlZnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZnMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmVmcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgd2lkdGg6IG51bWJlcjsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4obnVsbCk7XG5cbiAgICBjb25zdHJ1Y3RvcihpdGVtOiBHYW50dEl0ZW0sIGxldmVsPzogbnVtYmVyLCBvcHRpb25zPzogeyBmaWxsRGF5czogbnVtYmVyIH0pIHtcbiAgICAgICAgdGhpcy5vcmlnaW4gPSBpdGVtO1xuICAgICAgICB0aGlzLmlkID0gdGhpcy5vcmlnaW4uaWQ7XG4gICAgICAgIHRoaXMubGlua3MgPSAodGhpcy5vcmlnaW4ubGlua3MgfHwgW10pLm1hcCgobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBsaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEdhbnR0TGlua1R5cGUuZnMsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29sb3IgPSB0aGlzLm9yaWdpbi5jb2xvcjtcbiAgICAgICAgdGhpcy5iYXJTdHlsZSA9IHRoaXMub3JpZ2luLmJhclN0eWxlO1xuICAgICAgICB0aGlzLmxpbmthYmxlID0gdGhpcy5vcmlnaW4ubGlua2FibGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLm9yaWdpbi5saW5rYWJsZTtcbiAgICAgICAgdGhpcy5kcmFnZ2FibGUgPSB0aGlzLm9yaWdpbi5kcmFnZ2FibGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLm9yaWdpbi5kcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuaXRlbURyYWdnYWJsZSA9IHRoaXMub3JpZ2luLml0ZW1EcmFnZ2FibGU7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IHRoaXMub3JpZ2luLmV4cGFuZGFibGUgfHwgKHRoaXMub3JpZ2luLmNoaWxkcmVuIHx8IFtdKS5sZW5ndGggPiAwO1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdGhpcy5vcmlnaW4uZXhwYW5kZWQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogdGhpcy5vcmlnaW4uZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMuc3RhcnQgPSBpdGVtLnN0YXJ0ID8gbmV3IEdhbnR0RGF0ZShpdGVtLnN0YXJ0KSA6IG51bGw7XG4gICAgICAgIHRoaXMuZW5kID0gaXRlbS5lbmQgPyBuZXcgR2FudHREYXRlKGl0ZW0uZW5kKSA6IG51bGw7XG4gICAgICAgIHRoaXMubGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgLy8gIOm7mOiupOWhq+WFhSAzMCDlpKlcbiAgICAgICAgdGhpcy5maWxsRGF5cyA9IG9wdGlvbnM/LmZpbGxEYXlzIHx8IDMwO1xuICAgICAgICB0aGlzLmNoaWxkcmVuID0gKGl0ZW0uY2hpbGRyZW4gfHwgW10pLm1hcCgoc3ViSXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dEl0ZW1JbnRlcm5hbChzdWJJdGVtLCBsZXZlbCArIDEsIHsgZmlsbERheXM6IHRoaXMuZmlsbERheXMgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnR5cGUgPSB0aGlzLm9yaWdpbi50eXBlIHx8IEdhbnR0SXRlbVR5cGUuYmFyO1xuICAgICAgICB0aGlzLnByb2dyZXNzID0gdGhpcy5vcmlnaW4ucHJvZ3Jlc3M7XG4gICAgICAgIC8vIGZpbGwgZGF5cyB3aGVuIHN0YXJ0IG9yIGVuZCBpcyBudWxsXG4gICAgICAgIHRoaXMuZmlsbEl0ZW1TdGFydE9yRW5kKGl0ZW0pO1xuICAgIH1cblxuICAgIGZpbGxJdGVtU3RhcnRPckVuZChpdGVtOiBHYW50dEl0ZW0pIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsbERheXMgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxsRGF5cyA9IHRoaXMuZmlsbERheXMgLSAxO1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3RhcnQgJiYgIWl0ZW0uZW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbmQgPSBuZXcgR2FudHREYXRlKGl0ZW0uc3RhcnQpLmFkZERheXMoZmlsbERheXMpLmVuZE9mRGF5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWl0ZW0uc3RhcnQgJiYgaXRlbS5lbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShpdGVtLmVuZCkuYWRkRGF5cygtZmlsbERheXMpLnN0YXJ0T2ZEYXkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVJlZnMocmVmczogR2FudHRJdGVtUmVmcykge1xuICAgICAgICB0aGlzLnJlZnMkLm5leHQocmVmcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0ZShzdGFydDogR2FudHREYXRlLCBlbmQ6IEdhbnR0RGF0ZSkge1xuICAgICAgICB0aGlzLnN0YXJ0ID0gc3RhcnQuc3RhcnRPZkRheSgpO1xuICAgICAgICB0aGlzLmVuZCA9IGVuZC5lbmRPZkRheSgpO1xuICAgICAgICB0aGlzLm9yaWdpbi5zdGFydCA9IHRoaXMuc3RhcnQuZ2V0VW5peFRpbWUoKTtcbiAgICAgICAgdGhpcy5vcmlnaW4uZW5kID0gdGhpcy5lbmQuZ2V0VW5peFRpbWUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVMZXZlbChsZXZlbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubGV2ZWwgPSBsZXZlbDtcbiAgICB9XG5cbiAgICBhZGRDaGlsZHJlbihpdGVtczogR2FudHRJdGVtW10pIHtcbiAgICAgICAgdGhpcy5vcmlnaW4uY2hpbGRyZW4gPSBpdGVtcztcbiAgICAgICAgdGhpcy5jaGlsZHJlbiA9IChpdGVtcyB8fCBbXSkubWFwKChzdWJJdGVtKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0SXRlbUludGVybmFsKHN1Ykl0ZW0sIHRoaXMubGV2ZWwgKyAxLCB7IGZpbGxEYXlzOiB0aGlzLmZpbGxEYXlzIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRFeHBhbmQoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLm9yaWdpbi5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgIH1cblxuICAgIGFkZExpbmsobGluazogR2FudHRMaW5rKSB7XG4gICAgICAgIHRoaXMubGlua3MgPSBbLi4udGhpcy5saW5rcywgbGlua107XG4gICAgICAgIHRoaXMub3JpZ2luLmxpbmtzID0gdGhpcy5saW5rcztcbiAgICB9XG59XG4iXX0=
|