@swimlane/ngx-datatable 16.1.1 → 19.0.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/README.md +1 -1
- package/assets/icons-reference.html +2 -2
- package/assets/icons.css +39 -19
- package/bundles/swimlane-ngx-datatable.umd.js +1663 -5743
- package/bundles/swimlane-ngx-datatable.umd.js.map +1 -1
- package/bundles/swimlane-ngx-datatable.umd.min.js +1 -1
- package/bundles/swimlane-ngx-datatable.umd.min.js.map +1 -1
- package/esm2015/lib/components/body/body-cell.component.js +5 -235
- package/esm2015/lib/components/body/body-group-header-template.directive.js +1 -13
- package/esm2015/lib/components/body/body-group-header.directive.js +1 -28
- package/esm2015/lib/components/body/body-row-wrapper.component.js +4 -86
- package/esm2015/lib/components/body/body-row.component.js +2 -153
- package/esm2015/lib/components/body/body.component.js +71 -303
- package/esm2015/lib/components/body/progress-bar.component.js +2 -6
- package/esm2015/lib/components/body/scroller.component.js +6 -82
- package/esm2015/lib/components/body/selection.component.js +7 -112
- package/esm2015/lib/components/body/summary/summary-row.component.js +10 -100
- package/esm2015/lib/components/columns/column-cell.directive.js +1 -13
- package/esm2015/lib/components/columns/column-header.directive.js +1 -13
- package/esm2015/lib/components/columns/column.directive.js +1 -89
- package/esm2015/lib/components/columns/tree.directive.js +1 -13
- package/esm2015/lib/components/datatable.component.js +49 -570
- package/esm2015/lib/components/footer/footer-template.directive.js +1 -13
- package/esm2015/lib/components/footer/footer.component.js +2 -41
- package/esm2015/lib/components/footer/footer.directive.js +2 -29
- package/esm2015/lib/components/footer/pager.component.js +3 -77
- package/esm2015/lib/components/header/header-cell.component.js +11 -130
- package/esm2015/lib/components/header/header.component.js +20 -193
- package/esm2015/lib/components/row-detail/row-detail-template.directive.js +1 -13
- package/esm2015/lib/components/row-detail/row-detail.directive.js +1 -29
- package/esm2015/lib/directives/draggable.directive.js +4 -72
- package/esm2015/lib/directives/long-press.directive.js +8 -88
- package/esm2015/lib/directives/orderable.directive.js +11 -104
- package/esm2015/lib/directives/resizeable.directive.js +14 -81
- package/esm2015/lib/directives/visibility.directive.js +9 -64
- package/esm2015/lib/events.js +6 -13
- package/esm2015/lib/ngx-datatable.module.js +2 -16
- package/esm2015/lib/services/column-changes.service.js +1 -18
- package/esm2015/lib/services/dimensions-helper.service.js +1 -9
- package/esm2015/lib/services/scrollbar-helper.service.js +1 -25
- package/esm2015/lib/types/click.type.js +6 -11
- package/esm2015/lib/types/column-mode.type.js +7 -12
- package/esm2015/lib/types/contextmenu.type.js +6 -11
- package/esm2015/lib/types/selection.type.js +9 -14
- package/esm2015/lib/types/sort-direction.type.js +6 -11
- package/esm2015/lib/types/sort-prop-dir.type.js +2 -15
- package/esm2015/lib/types/sort.type.js +6 -11
- package/esm2015/lib/types/table-column.type.js +2 -217
- package/esm2015/lib/utils/camel-case.js +4 -26
- package/esm2015/lib/utils/column-helper.js +1 -18
- package/esm2015/lib/utils/column-prop-getters.js +6 -21
- package/esm2015/lib/utils/column.js +1 -28
- package/esm2015/lib/utils/elm-from-point.js +3 -15
- package/esm2015/lib/utils/id.js +1 -6
- package/esm2015/lib/utils/keys.js +10 -21
- package/esm2015/lib/utils/math.js +4 -51
- package/esm2015/lib/utils/prefixes.js +5 -24
- package/esm2015/lib/utils/row-height-cache.js +6 -46
- package/esm2015/lib/utils/selection.js +1 -25
- package/esm2015/lib/utils/sort.js +9 -50
- package/esm2015/lib/utils/throttle.js +7 -41
- package/esm2015/lib/utils/translate.js +1 -17
- package/esm2015/lib/utils/tree.js +7 -56
- package/esm2015/public-api.js +56 -60
- package/esm2015/swimlane-ngx-datatable.js +2 -6
- package/fesm2015/swimlane-ngx-datatable.js +308 -3513
- package/fesm2015/swimlane-ngx-datatable.js.map +1 -1
- package/index.css +1 -1
- package/index.scss +1 -1
- package/lib/components/body/body-cell.component.d.ts +23 -14
- package/lib/components/body/body-group-header.directive.d.ts +1 -1
- package/lib/components/body/body-row-wrapper.component.d.ts +4 -2
- package/lib/components/body/body-row.component.d.ts +8 -5
- package/lib/components/body/body.component.d.ts +17 -10
- package/lib/components/columns/column.directive.d.ts +3 -3
- package/lib/components/datatable.component.d.ts +45 -38
- package/lib/components/footer/footer.component.d.ts +2 -2
- package/lib/components/footer/footer.directive.d.ts +1 -1
- package/lib/components/footer/pager.component.d.ts +7 -4
- package/lib/components/header/header-cell.component.d.ts +14 -9
- package/lib/components/header/header.component.d.ts +14 -7
- package/lib/components/row-detail/row-detail.directive.d.ts +1 -1
- package/lib/directives/long-press.directive.d.ts +2 -2
- package/lib/directives/resizeable.directive.d.ts +1 -0
- package/lib/ngx-datatable.module.d.ts +1 -1
- package/lib/services/column-changes.service.d.ts +1 -1
- package/lib/utils/throttle.d.ts +1 -1
- package/package.json +10 -13
- package/swimlane-ngx-datatable.metadata.json +1 -1
- package/themes/material.css +53 -51
- package/themes/material.scss +4 -2
- package/esm5/lib/components/body/body-cell.component.js +0 -667
- package/esm5/lib/components/body/body-group-header-template.directive.js +0 -26
- package/esm5/lib/components/body/body-group-header.directive.js +0 -109
- package/esm5/lib/components/body/body-row-wrapper.component.js +0 -181
- package/esm5/lib/components/body/body-row.component.js +0 -409
- package/esm5/lib/components/body/body.component.js +0 -1148
- package/esm5/lib/components/body/progress-bar.component.js +0 -19
- package/esm5/lib/components/body/scroller.component.js +0 -172
- package/esm5/lib/components/body/selection.component.js +0 -289
- package/esm5/lib/components/body/summary/summary-row.component.js +0 -179
- package/esm5/lib/components/columns/column-cell.directive.js +0 -24
- package/esm5/lib/components/columns/column-header.directive.js +0 -24
- package/esm5/lib/components/columns/column.directive.js +0 -167
- package/esm5/lib/components/columns/tree.directive.js +0 -24
- package/esm5/lib/components/datatable.component.js +0 -1848
- package/esm5/lib/components/footer/footer-template.directive.js +0 -24
- package/esm5/lib/components/footer/footer.component.js +0 -88
- package/esm5/lib/components/footer/footer.directive.js +0 -57
- package/esm5/lib/components/footer/pager.component.js +0 -214
- package/esm5/lib/components/header/header-cell.component.js +0 -351
- package/esm5/lib/components/header/header.component.js +0 -502
- package/esm5/lib/components/row-detail/row-detail-template.directive.js +0 -26
- package/esm5/lib/components/row-detail/row-detail.directive.js +0 -111
- package/esm5/lib/directives/draggable.directive.js +0 -194
- package/esm5/lib/directives/long-press.directive.js +0 -220
- package/esm5/lib/directives/orderable.directive.js +0 -274
- package/esm5/lib/directives/resizeable.directive.js +0 -178
- package/esm5/lib/directives/visibility.directive.js +0 -129
- package/esm5/lib/events.js +0 -14
- package/esm5/lib/ngx-datatable.module.js +0 -123
- package/esm5/lib/services/column-changes.service.js +0 -47
- package/esm5/lib/services/dimensions-helper.service.js +0 -30
- package/esm5/lib/services/scrollbar-helper.service.js +0 -60
- package/esm5/lib/types/click.type.js +0 -11
- package/esm5/lib/types/column-mode.type.js +0 -12
- package/esm5/lib/types/contextmenu.type.js +0 -11
- package/esm5/lib/types/selection.type.js +0 -14
- package/esm5/lib/types/sort-direction.type.js +0 -11
- package/esm5/lib/types/sort-prop-dir.type.js +0 -15
- package/esm5/lib/types/sort.type.js +0 -11
- package/esm5/lib/types/table-column.type.js +0 -217
- package/esm5/lib/utils/camel-case.js +0 -50
- package/esm5/lib/utils/column-helper.js +0 -145
- package/esm5/lib/utils/column-prop-getters.js +0 -111
- package/esm5/lib/utils/column.js +0 -130
- package/esm5/lib/utils/elm-from-point.js +0 -50
- package/esm5/lib/utils/id.js +0 -13
- package/esm5/lib/utils/keys.js +0 -21
- package/esm5/lib/utils/math.js +0 -271
- package/esm5/lib/utils/prefixes.js +0 -59
- package/esm5/lib/utils/row-height-cache.js +0 -264
- package/esm5/lib/utils/selection.js +0 -64
- package/esm5/lib/utils/sort.js +0 -180
- package/esm5/lib/utils/throttle.js +0 -94
- package/esm5/lib/utils/translate.js +0 -41
- package/esm5/lib/utils/tree.js +0 -157
- package/esm5/public-api.js +0 -68
- package/esm5/swimlane-ngx-datatable.js +0 -9
- package/fesm5/swimlane-ngx-datatable.js +0 -9695
- package/fesm5/swimlane-ngx-datatable.js.map +0 -1
- package/lib/test/jasmine-matchers.d.ts +0 -12
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Directive, TemplateRef } from '@angular/core';
|
|
6
|
-
var DatatableGroupHeaderTemplateDirective = /** @class */ (function () {
|
|
7
|
-
function DatatableGroupHeaderTemplateDirective(template) {
|
|
8
|
-
this.template = template;
|
|
9
|
-
}
|
|
10
|
-
DatatableGroupHeaderTemplateDirective.decorators = [
|
|
11
|
-
{ type: Directive, args: [{
|
|
12
|
-
selector: '[ngx-datatable-group-header-template]'
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
/** @nocollapse */
|
|
16
|
-
DatatableGroupHeaderTemplateDirective.ctorParameters = function () { return [
|
|
17
|
-
{ type: TemplateRef }
|
|
18
|
-
]; };
|
|
19
|
-
return DatatableGroupHeaderTemplateDirective;
|
|
20
|
-
}());
|
|
21
|
-
export { DatatableGroupHeaderTemplateDirective };
|
|
22
|
-
if (false) {
|
|
23
|
-
/** @type {?} */
|
|
24
|
-
DatatableGroupHeaderTemplateDirective.prototype.template;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1ncm91cC1oZWFkZXItdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN3aW1sYW5lL25neC1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9ib2R5L2JvZHktZ3JvdXAtaGVhZGVyLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQ7SUFJRSwrQ0FBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDOztnQkFKbEQsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSx1Q0FBdUM7aUJBQ2xEOzs7O2dCQUptQixXQUFXOztJQU8vQiw0Q0FBQztDQUFBLEFBTEQsSUFLQztTQUZZLHFDQUFxQzs7O0lBQ3BDLHlEQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25neC1kYXRhdGFibGUtZ3JvdXAtaGVhZGVyLXRlbXBsYXRlXSdcbn0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlR3JvdXBIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cbn1cbiJdfQ==
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Input, Output, EventEmitter, Directive, TemplateRef, ContentChild } from '@angular/core';
|
|
6
|
-
import { DatatableGroupHeaderTemplateDirective } from './body-group-header-template.directive';
|
|
7
|
-
var DatatableGroupHeaderDirective = /** @class */ (function () {
|
|
8
|
-
function DatatableGroupHeaderDirective() {
|
|
9
|
-
/**
|
|
10
|
-
* Row height is required when virtual scroll is enabled.
|
|
11
|
-
*/
|
|
12
|
-
this.rowHeight = 0;
|
|
13
|
-
/**
|
|
14
|
-
* Track toggling of group visibility
|
|
15
|
-
*/
|
|
16
|
-
this.toggle = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
Object.defineProperty(DatatableGroupHeaderDirective.prototype, "template", {
|
|
19
|
-
get: /**
|
|
20
|
-
* @return {?}
|
|
21
|
-
*/
|
|
22
|
-
function () {
|
|
23
|
-
return this._templateInput || this._templateQuery;
|
|
24
|
-
},
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true
|
|
27
|
-
});
|
|
28
|
-
/**
|
|
29
|
-
* Toggle the expansion of a group
|
|
30
|
-
*/
|
|
31
|
-
/**
|
|
32
|
-
* Toggle the expansion of a group
|
|
33
|
-
* @param {?} group
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
DatatableGroupHeaderDirective.prototype.toggleExpandGroup = /**
|
|
37
|
-
* Toggle the expansion of a group
|
|
38
|
-
* @param {?} group
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
function (group) {
|
|
42
|
-
this.toggle.emit({
|
|
43
|
-
type: 'group',
|
|
44
|
-
value: group
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Expand all groups
|
|
49
|
-
*/
|
|
50
|
-
/**
|
|
51
|
-
* Expand all groups
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
DatatableGroupHeaderDirective.prototype.expandAllGroups = /**
|
|
55
|
-
* Expand all groups
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
function () {
|
|
59
|
-
this.toggle.emit({
|
|
60
|
-
type: 'all',
|
|
61
|
-
value: true
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* Collapse all groups
|
|
66
|
-
*/
|
|
67
|
-
/**
|
|
68
|
-
* Collapse all groups
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
DatatableGroupHeaderDirective.prototype.collapseAllGroups = /**
|
|
72
|
-
* Collapse all groups
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
function () {
|
|
76
|
-
this.toggle.emit({
|
|
77
|
-
type: 'all',
|
|
78
|
-
value: false
|
|
79
|
-
});
|
|
80
|
-
};
|
|
81
|
-
DatatableGroupHeaderDirective.decorators = [
|
|
82
|
-
{ type: Directive, args: [{ selector: 'ngx-datatable-group-header' },] }
|
|
83
|
-
];
|
|
84
|
-
DatatableGroupHeaderDirective.propDecorators = {
|
|
85
|
-
rowHeight: [{ type: Input }],
|
|
86
|
-
_templateInput: [{ type: Input, args: ['template',] }],
|
|
87
|
-
_templateQuery: [{ type: ContentChild, args: [DatatableGroupHeaderTemplateDirective, { read: TemplateRef, static: true },] }],
|
|
88
|
-
toggle: [{ type: Output }]
|
|
89
|
-
};
|
|
90
|
-
return DatatableGroupHeaderDirective;
|
|
91
|
-
}());
|
|
92
|
-
export { DatatableGroupHeaderDirective };
|
|
93
|
-
if (false) {
|
|
94
|
-
/**
|
|
95
|
-
* Row height is required when virtual scroll is enabled.
|
|
96
|
-
* @type {?}
|
|
97
|
-
*/
|
|
98
|
-
DatatableGroupHeaderDirective.prototype.rowHeight;
|
|
99
|
-
/** @type {?} */
|
|
100
|
-
DatatableGroupHeaderDirective.prototype._templateInput;
|
|
101
|
-
/** @type {?} */
|
|
102
|
-
DatatableGroupHeaderDirective.prototype._templateQuery;
|
|
103
|
-
/**
|
|
104
|
-
* Track toggling of group visibility
|
|
105
|
-
* @type {?}
|
|
106
|
-
*/
|
|
107
|
-
DatatableGroupHeaderDirective.prototype.toggle;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1ncm91cC1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN3aW1sYW5lL25neC1kYXRhdGFibGUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9ib2R5L2JvZHktZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9GO0lBQUE7Ozs7UUFLVyxjQUFTLEdBQXVELENBQUMsQ0FBQzs7OztRQWVqRSxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUErQjNELENBQUM7SUF0Q0Msc0JBQUksbURBQVE7Ozs7UUFBWjtZQUNFLE9BQU8sSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3BELENBQUM7OztPQUFBO0lBT0Q7O09BRUc7Ozs7OztJQUNILHlEQUFpQjs7Ozs7SUFBakIsVUFBa0IsS0FBVTtRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7Ozs7O0lBQ0gsdURBQWU7Ozs7SUFBZjtRQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEtBQUs7WUFDWCxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCx5REFBaUI7Ozs7SUFBakI7UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNmLElBQUksRUFBRSxLQUFLO1lBQ1gsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOztnQkFsREYsU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLDRCQUE0QixFQUFFOzs7NEJBS2xELEtBQUs7aUNBRUwsS0FBSyxTQUFDLFVBQVU7aUNBR2hCLFlBQVksU0FBQyxxQ0FBcUMsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTt5QkFVdkYsTUFBTTs7SUErQlQsb0NBQUM7Q0FBQSxBQW5ERCxJQW1EQztTQWxEWSw2QkFBNkI7Ozs7OztJQUl4QyxrREFBMkU7O0lBRTNFLHVEQUNpQzs7SUFFakMsdURBQ2lDOzs7OztJQVNqQywrQ0FBeUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YXRhYmxlR3JvdXBIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYm9keS1ncm91cC1oZWFkZXItdGVtcGxhdGUuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnbmd4LWRhdGF0YWJsZS1ncm91cC1oZWFkZXInIH0pXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlR3JvdXBIZWFkZXJEaXJlY3RpdmUge1xuICAvKipcbiAgICogUm93IGhlaWdodCBpcyByZXF1aXJlZCB3aGVuIHZpcnR1YWwgc2Nyb2xsIGlzIGVuYWJsZWQuXG4gICAqL1xuICBASW5wdXQoKSByb3dIZWlnaHQ6IG51bWJlciB8ICgoZ3JvdXA/OiBhbnksIGluZGV4PzogbnVtYmVyKSA9PiBudW1iZXIpID0gMDtcblxuICBASW5wdXQoJ3RlbXBsYXRlJylcbiAgX3RlbXBsYXRlSW5wdXQ6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChEYXRhdGFibGVHcm91cEhlYWRlclRlbXBsYXRlRGlyZWN0aXZlLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgX3RlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgZ2V0IHRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZUlucHV0IHx8IHRoaXMuX3RlbXBsYXRlUXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogVHJhY2sgdG9nZ2xpbmcgb2YgZ3JvdXAgdmlzaWJpbGl0eVxuICAgKi9cbiAgQE91dHB1dCgpIHRvZ2dsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZXhwYW5zaW9uIG9mIGEgZ3JvdXBcbiAgICovXG4gIHRvZ2dsZUV4cGFuZEdyb3VwKGdyb3VwOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZS5lbWl0KHtcbiAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICB2YWx1ZTogZ3JvdXBcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBhbmQgYWxsIGdyb3Vwc1xuICAgKi9cbiAgZXhwYW5kQWxsR3JvdXBzKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlLmVtaXQoe1xuICAgICAgdHlwZTogJ2FsbCcsXG4gICAgICB2YWx1ZTogdHJ1ZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxhcHNlIGFsbCBncm91cHNcbiAgICovXG4gIGNvbGxhcHNlQWxsR3JvdXBzKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlLmVtaXQoe1xuICAgICAgdHlwZTogJ2FsbCcsXG4gICAgICB2YWx1ZTogZmFsc2VcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
|
-
*/
|
|
5
|
-
import { Component, Input, Output, EventEmitter, HostListener, ChangeDetectionStrategy, ChangeDetectorRef, KeyValueDiffers } from '@angular/core';
|
|
6
|
-
import { MouseEvent } from '../../events';
|
|
7
|
-
var DataTableRowWrapperComponent = /** @class */ (function () {
|
|
8
|
-
function DataTableRowWrapperComponent(cd, differs) {
|
|
9
|
-
this.cd = cd;
|
|
10
|
-
this.differs = differs;
|
|
11
|
-
this.rowContextmenu = new EventEmitter(false);
|
|
12
|
-
this.groupContext = {
|
|
13
|
-
group: this.row,
|
|
14
|
-
expanded: this.expanded,
|
|
15
|
-
rowIndex: this.rowIndex
|
|
16
|
-
};
|
|
17
|
-
this.rowContext = {
|
|
18
|
-
row: this.row,
|
|
19
|
-
expanded: this.expanded,
|
|
20
|
-
rowIndex: this.rowIndex
|
|
21
|
-
};
|
|
22
|
-
this._expanded = false;
|
|
23
|
-
this.rowDiffer = differs.find({}).create();
|
|
24
|
-
}
|
|
25
|
-
Object.defineProperty(DataTableRowWrapperComponent.prototype, "rowIndex", {
|
|
26
|
-
get: /**
|
|
27
|
-
* @return {?}
|
|
28
|
-
*/
|
|
29
|
-
function () {
|
|
30
|
-
return this._rowIndex;
|
|
31
|
-
},
|
|
32
|
-
set: /**
|
|
33
|
-
* @param {?} val
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
function (val) {
|
|
37
|
-
this._rowIndex = val;
|
|
38
|
-
this.rowContext.rowIndex = val;
|
|
39
|
-
this.groupContext.rowIndex = val;
|
|
40
|
-
this.cd.markForCheck();
|
|
41
|
-
},
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true
|
|
44
|
-
});
|
|
45
|
-
Object.defineProperty(DataTableRowWrapperComponent.prototype, "expanded", {
|
|
46
|
-
get: /**
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
function () {
|
|
50
|
-
return this._expanded;
|
|
51
|
-
},
|
|
52
|
-
set: /**
|
|
53
|
-
* @param {?} val
|
|
54
|
-
* @return {?}
|
|
55
|
-
*/
|
|
56
|
-
function (val) {
|
|
57
|
-
this._expanded = val;
|
|
58
|
-
this.groupContext.expanded = val;
|
|
59
|
-
this.rowContext.expanded = val;
|
|
60
|
-
this.cd.markForCheck();
|
|
61
|
-
},
|
|
62
|
-
enumerable: true,
|
|
63
|
-
configurable: true
|
|
64
|
-
});
|
|
65
|
-
/**
|
|
66
|
-
* @return {?}
|
|
67
|
-
*/
|
|
68
|
-
DataTableRowWrapperComponent.prototype.ngDoCheck = /**
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
function () {
|
|
72
|
-
if (this.rowDiffer.diff(this.row)) {
|
|
73
|
-
this.rowContext.row = this.row;
|
|
74
|
-
this.groupContext.group = this.row;
|
|
75
|
-
this.cd.markForCheck();
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* @param {?} $event
|
|
80
|
-
* @return {?}
|
|
81
|
-
*/
|
|
82
|
-
DataTableRowWrapperComponent.prototype.onContextmenu = /**
|
|
83
|
-
* @param {?} $event
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
function ($event) {
|
|
87
|
-
this.rowContextmenu.emit({ event: $event, row: this.row });
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* @return {?}
|
|
91
|
-
*/
|
|
92
|
-
DataTableRowWrapperComponent.prototype.getGroupHeaderStyle = /**
|
|
93
|
-
* @return {?}
|
|
94
|
-
*/
|
|
95
|
-
function () {
|
|
96
|
-
/** @type {?} */
|
|
97
|
-
var styles = {};
|
|
98
|
-
styles['transform'] = 'translate3d(' + this.offsetX + 'px, 0px, 0px)';
|
|
99
|
-
styles['backface-visibility'] = 'hidden';
|
|
100
|
-
styles['width'] = this.innerWidth;
|
|
101
|
-
return styles;
|
|
102
|
-
};
|
|
103
|
-
DataTableRowWrapperComponent.decorators = [
|
|
104
|
-
{ type: Component, args: [{
|
|
105
|
-
selector: 'datatable-row-wrapper',
|
|
106
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
107
|
-
template: "\n <div *ngIf=\"groupHeader && groupHeader.template\" class=\"datatable-group-header\" [ngStyle]=\"getGroupHeaderStyle()\">\n <ng-template\n *ngIf=\"groupHeader && groupHeader.template\"\n [ngTemplateOutlet]=\"groupHeader.template\"\n [ngTemplateOutletContext]=\"groupContext\"\n >\n </ng-template>\n </div>\n <ng-content *ngIf=\"(groupHeader && groupHeader.template && expanded) || (!groupHeader || !groupHeader.template)\">\n </ng-content>\n <div\n *ngIf=\"rowDetail && rowDetail.template && expanded\"\n [style.height.px]=\"detailRowHeight\"\n class=\"datatable-row-detail\"\n >\n <ng-template\n *ngIf=\"rowDetail && rowDetail.template\"\n [ngTemplateOutlet]=\"rowDetail.template\"\n [ngTemplateOutletContext]=\"rowContext\"\n >\n </ng-template>\n </div>\n ",
|
|
108
|
-
host: {
|
|
109
|
-
class: 'datatable-row-wrapper'
|
|
110
|
-
}
|
|
111
|
-
}] }
|
|
112
|
-
];
|
|
113
|
-
/** @nocollapse */
|
|
114
|
-
DataTableRowWrapperComponent.ctorParameters = function () { return [
|
|
115
|
-
{ type: ChangeDetectorRef },
|
|
116
|
-
{ type: KeyValueDiffers }
|
|
117
|
-
]; };
|
|
118
|
-
DataTableRowWrapperComponent.propDecorators = {
|
|
119
|
-
innerWidth: [{ type: Input }],
|
|
120
|
-
rowDetail: [{ type: Input }],
|
|
121
|
-
groupHeader: [{ type: Input }],
|
|
122
|
-
offsetX: [{ type: Input }],
|
|
123
|
-
detailRowHeight: [{ type: Input }],
|
|
124
|
-
row: [{ type: Input }],
|
|
125
|
-
groupedRows: [{ type: Input }],
|
|
126
|
-
rowContextmenu: [{ type: Output }],
|
|
127
|
-
rowIndex: [{ type: Input }],
|
|
128
|
-
expanded: [{ type: Input }],
|
|
129
|
-
onContextmenu: [{ type: HostListener, args: ['contextmenu', ['$event'],] }]
|
|
130
|
-
};
|
|
131
|
-
return DataTableRowWrapperComponent;
|
|
132
|
-
}());
|
|
133
|
-
export { DataTableRowWrapperComponent };
|
|
134
|
-
if (false) {
|
|
135
|
-
/** @type {?} */
|
|
136
|
-
DataTableRowWrapperComponent.prototype.innerWidth;
|
|
137
|
-
/** @type {?} */
|
|
138
|
-
DataTableRowWrapperComponent.prototype.rowDetail;
|
|
139
|
-
/** @type {?} */
|
|
140
|
-
DataTableRowWrapperComponent.prototype.groupHeader;
|
|
141
|
-
/** @type {?} */
|
|
142
|
-
DataTableRowWrapperComponent.prototype.offsetX;
|
|
143
|
-
/** @type {?} */
|
|
144
|
-
DataTableRowWrapperComponent.prototype.detailRowHeight;
|
|
145
|
-
/** @type {?} */
|
|
146
|
-
DataTableRowWrapperComponent.prototype.row;
|
|
147
|
-
/** @type {?} */
|
|
148
|
-
DataTableRowWrapperComponent.prototype.groupedRows;
|
|
149
|
-
/** @type {?} */
|
|
150
|
-
DataTableRowWrapperComponent.prototype.rowContextmenu;
|
|
151
|
-
/** @type {?} */
|
|
152
|
-
DataTableRowWrapperComponent.prototype.groupContext;
|
|
153
|
-
/** @type {?} */
|
|
154
|
-
DataTableRowWrapperComponent.prototype.rowContext;
|
|
155
|
-
/**
|
|
156
|
-
* @type {?}
|
|
157
|
-
* @private
|
|
158
|
-
*/
|
|
159
|
-
DataTableRowWrapperComponent.prototype.rowDiffer;
|
|
160
|
-
/**
|
|
161
|
-
* @type {?}
|
|
162
|
-
* @private
|
|
163
|
-
*/
|
|
164
|
-
DataTableRowWrapperComponent.prototype._expanded;
|
|
165
|
-
/**
|
|
166
|
-
* @type {?}
|
|
167
|
-
* @private
|
|
168
|
-
*/
|
|
169
|
-
DataTableRowWrapperComponent.prototype._rowIndex;
|
|
170
|
-
/**
|
|
171
|
-
* @type {?}
|
|
172
|
-
* @private
|
|
173
|
-
*/
|
|
174
|
-
DataTableRowWrapperComponent.prototype.cd;
|
|
175
|
-
/**
|
|
176
|
-
* @type {?}
|
|
177
|
-
* @private
|
|
178
|
-
*/
|
|
179
|
-
DataTableRowWrapperComponent.prototype.differs;
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS1yb3ctd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2JvZHkvYm9keS1yb3ctd3JhcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUVaLHVCQUF1QixFQUV2QixpQkFBaUIsRUFDakIsZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDO0lBK0VFLHNDQUFvQixFQUFxQixFQUFVLE9BQXdCO1FBQXZELE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUF4Q2pFLG1CQUFjLEdBQUcsSUFBSSxZQUFZLENBQWtDLEtBQUssQ0FBQyxDQUFDO1FBd0JwRixpQkFBWSxHQUFRO1lBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRztZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztRQUVGLGVBQVUsR0FBUTtZQUNoQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7UUFHTSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBSWpDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBeENELHNCQUFhLGtEQUFROzs7O1FBT3JCO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7Ozs7O1FBVEQsVUFBc0IsR0FBVztZQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFNRCxzQkFBYSxrREFBUTs7OztRQU9yQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDOzs7OztRQVRELFVBQXNCLEdBQVk7WUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLENBQUM7OztPQUFBOzs7O0lBMEJELGdEQUFTOzs7SUFBVDtRQUNFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNuQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Ozs7SUFHRCxvREFBYTs7OztJQURiLFVBQ2MsTUFBa0I7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs7O0lBRUQsMERBQW1COzs7SUFBbkI7O1lBQ1EsTUFBTSxHQUFHLEVBQUU7UUFFakIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztRQUN0RSxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFDekMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7Z0JBeEdGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLHUyQkF1QlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSx1QkFBdUI7cUJBQy9CO2lCQUNGOzs7O2dCQW5DQyxpQkFBaUI7Z0JBQ2pCLGVBQWU7Ozs2QkFvQ2QsS0FBSzs0QkFDTCxLQUFLOzhCQUNMLEtBQUs7MEJBQ0wsS0FBSztrQ0FDTCxLQUFLO3NCQUNMLEtBQUs7OEJBQ0wsS0FBSztpQ0FDTCxNQUFNOzJCQUVOLEtBQUs7MkJBV0wsS0FBSztnQ0F1Q0wsWUFBWSxTQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7SUFjekMsbUNBQUM7Q0FBQSxBQXpHRCxJQXlHQztTQTFFWSw0QkFBNEI7OztJQUN2QyxrREFBNEI7O0lBQzVCLGlEQUF3Qjs7SUFDeEIsbURBQTBCOztJQUMxQiwrQ0FBeUI7O0lBQ3pCLHVEQUE4Qjs7SUFDOUIsMkNBQWtCOztJQUNsQixtREFBMEI7O0lBQzFCLHNEQUFvRjs7SUF3QnBGLG9EQUlFOztJQUVGLGtEQUlFOzs7OztJQUVGLGlEQUEwQzs7Ozs7SUFDMUMsaURBQW1DOzs7OztJQUNuQyxpREFBMEI7Ozs7O0lBRWQsMENBQTZCOzs7OztJQUFFLCtDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIERvQ2hlY2ssXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBLZXlWYWx1ZURpZmZlcixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEtleVZhbHVlRGlmZmVyc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vdXNlRXZlbnQgfSBmcm9tICcuLi8uLi9ldmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhdGFibGUtcm93LXdyYXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2ICpuZ0lmPVwiZ3JvdXBIZWFkZXIgJiYgZ3JvdXBIZWFkZXIudGVtcGxhdGVcIiBjbGFzcz1cImRhdGF0YWJsZS1ncm91cC1oZWFkZXJcIiBbbmdTdHlsZV09XCJnZXRHcm91cEhlYWRlclN0eWxlKClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAqbmdJZj1cImdyb3VwSGVhZGVyICYmIGdyb3VwSGVhZGVyLnRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ3JvdXBIZWFkZXIudGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ3JvdXBDb250ZXh0XCJcbiAgICAgID5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIoZ3JvdXBIZWFkZXIgJiYgZ3JvdXBIZWFkZXIudGVtcGxhdGUgJiYgZXhwYW5kZWQpIHx8ICghZ3JvdXBIZWFkZXIgfHwgIWdyb3VwSGVhZGVyLnRlbXBsYXRlKVwiPlxuICAgIDwvbmctY29udGVudD5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cInJvd0RldGFpbCAmJiByb3dEZXRhaWwudGVtcGxhdGUgJiYgZXhwYW5kZWRcIlxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJkZXRhaWxSb3dIZWlnaHRcIlxuICAgICAgY2xhc3M9XCJkYXRhdGFibGUtcm93LWRldGFpbFwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICpuZ0lmPVwicm93RGV0YWlsICYmIHJvd0RldGFpbC50ZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJvd0RldGFpbC50ZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJyb3dDb250ZXh0XCJcbiAgICAgID5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RhdGF0YWJsZS1yb3ctd3JhcHBlcidcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVSb3dXcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgRG9DaGVjayB7XG4gIEBJbnB1dCgpIGlubmVyV2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgcm93RGV0YWlsOiBhbnk7XG4gIEBJbnB1dCgpIGdyb3VwSGVhZGVyOiBhbnk7XG4gIEBJbnB1dCgpIG9mZnNldFg6IG51bWJlcjtcbiAgQElucHV0KCkgZGV0YWlsUm93SGVpZ2h0OiBhbnk7XG4gIEBJbnB1dCgpIHJvdzogYW55O1xuICBASW5wdXQoKSBncm91cGVkUm93czogYW55O1xuICBAT3V0cHV0KCkgcm93Q29udGV4dG1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZXZlbnQ6IE1vdXNlRXZlbnQ7IHJvdzogYW55IH0+KGZhbHNlKTtcblxuICBASW5wdXQoKSBzZXQgcm93SW5kZXgodmFsOiBudW1iZXIpIHtcbiAgICB0aGlzLl9yb3dJbmRleCA9IHZhbDtcbiAgICB0aGlzLnJvd0NvbnRleHQucm93SW5kZXggPSB2YWw7XG4gICAgdGhpcy5ncm91cENvbnRleHQucm93SW5kZXggPSB2YWw7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9yb3dJbmRleDtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBleHBhbmRlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9leHBhbmRlZCA9IHZhbDtcbiAgICB0aGlzLmdyb3VwQ29udGV4dC5leHBhbmRlZCA9IHZhbDtcbiAgICB0aGlzLnJvd0NvbnRleHQuZXhwYW5kZWQgPSB2YWw7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cblxuICBncm91cENvbnRleHQ6IGFueSA9IHtcbiAgICBncm91cDogdGhpcy5yb3csXG4gICAgZXhwYW5kZWQ6IHRoaXMuZXhwYW5kZWQsXG4gICAgcm93SW5kZXg6IHRoaXMucm93SW5kZXhcbiAgfTtcblxuICByb3dDb250ZXh0OiBhbnkgPSB7XG4gICAgcm93OiB0aGlzLnJvdyxcbiAgICBleHBhbmRlZDogdGhpcy5leHBhbmRlZCxcbiAgICByb3dJbmRleDogdGhpcy5yb3dJbmRleFxuICB9O1xuXG4gIHByaXZhdGUgcm93RGlmZmVyOiBLZXlWYWx1ZURpZmZlcjx7fSwge30+O1xuICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yb3dJbmRleDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGRpZmZlcnM6IEtleVZhbHVlRGlmZmVycykge1xuICAgIHRoaXMucm93RGlmZmVyID0gZGlmZmVycy5maW5kKHt9KS5jcmVhdGUoKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yb3dEaWZmZXIuZGlmZih0aGlzLnJvdykpIHtcbiAgICAgIHRoaXMucm93Q29udGV4dC5yb3cgPSB0aGlzLnJvdztcbiAgICAgIHRoaXMuZ3JvdXBDb250ZXh0Lmdyb3VwID0gdGhpcy5yb3c7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgWyckZXZlbnQnXSlcbiAgb25Db250ZXh0bWVudSgkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnJvd0NvbnRleHRtZW51LmVtaXQoeyBldmVudDogJGV2ZW50LCByb3c6IHRoaXMucm93IH0pO1xuICB9XG5cbiAgZ2V0R3JvdXBIZWFkZXJTdHlsZSgpOiBhbnkge1xuICAgIGNvbnN0IHN0eWxlcyA9IHt9O1xuXG4gICAgc3R5bGVzWyd0cmFuc2Zvcm0nXSA9ICd0cmFuc2xhdGUzZCgnICsgdGhpcy5vZmZzZXRYICsgJ3B4LCAwcHgsIDBweCknO1xuICAgIHN0eWxlc1snYmFja2ZhY2UtdmlzaWJpbGl0eSddID0gJ2hpZGRlbic7XG4gICAgc3R5bGVzWyd3aWR0aCddID0gdGhpcy5pbm5lcldpZHRoO1xuXG4gICAgcmV0dXJuIHN0eWxlcztcbiAgfVxufVxuIl19
|