@pepperi-addons/ngx-composite-lib 0.0.16-beta.35 → 0.0.16-beta.36
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/pepperi-addons-ngx-composite-lib-color-settings.umd.js +126 -126
- package/bundles/pepperi-addons-ngx-composite-lib-data-view-builder.umd.js +338 -338
- package/bundles/pepperi-addons-ngx-composite-lib-file-status-panel.umd.js +89 -89
- package/bundles/pepperi-addons-ngx-composite-lib-generic-form.umd.js +647 -647
- package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js +1005 -998
- package/bundles/pepperi-addons-ngx-composite-lib-generic-list.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-composite-lib-group-buttons-settings.umd.js +179 -179
- package/bundles/pepperi-addons-ngx-composite-lib-shadow-settings.umd.js +117 -117
- package/bundles/pepperi-addons-ngx-composite-lib.umd.js +598 -598
- package/color-settings/color-settings.component.d.ts +23 -23
- package/color-settings/color-settings.model.d.ts +5 -5
- package/color-settings/color-settings.module.d.ts +12 -12
- package/color-settings/pepperi-addons-ngx-composite-lib-color-settings.d.ts +5 -5
- package/color-settings/public-api.d.ts +3 -3
- package/core/common/directives/index.d.ts +1 -1
- package/core/common/directives/public-api.d.ts +1 -1
- package/core/common/directives/reset-configuration-field.directive.d.ts +39 -39
- package/core/common/index.d.ts +1 -1
- package/core/common/public-api.d.ts +2 -2
- package/core/common/services/dimx.service.d.ts +32 -32
- package/core/common/services/index.d.ts +1 -1
- package/core/common/services/public-api.d.ts +2 -2
- package/core/common/services/utilities.service.d.ts +6 -6
- package/core/index.d.ts +1 -1
- package/core/public-api.d.ts +1 -1
- package/data-view-builder/data-view-builder.component.d.ts +35 -35
- package/data-view-builder/data-view-builder.model.d.ts +1 -1
- package/data-view-builder/data-view-builder.module.d.ts +23 -23
- package/data-view-builder/data-view-builder.service.d.ts +14 -14
- package/data-view-builder/menu-data-view/menu-data-view.component.d.ts +36 -36
- package/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.d.ts +5 -5
- package/data-view-builder/public-api.d.ts +3 -3
- package/esm2015/color-settings/color-settings.component.js +84 -84
- package/esm2015/color-settings/color-settings.model.js +8 -8
- package/esm2015/color-settings/color-settings.module.js +39 -39
- package/esm2015/color-settings/pepperi-addons-ngx-composite-lib-color-settings.js +4 -4
- package/esm2015/color-settings/public-api.js +6 -6
- package/esm2015/core/common/directives/index.js +4 -4
- package/esm2015/core/common/directives/public-api.js +4 -4
- package/esm2015/core/common/directives/reset-configuration-field.directive.js +139 -139
- package/esm2015/core/common/index.js +4 -4
- package/esm2015/core/common/public-api.js +5 -5
- package/esm2015/core/common/services/dimx.service.js +49 -49
- package/esm2015/core/common/services/index.js +4 -4
- package/esm2015/core/common/services/public-api.js +5 -5
- package/esm2015/core/common/services/utilities.service.js +18 -18
- package/esm2015/core/index.js +4 -4
- package/esm2015/core/public-api.js +4 -4
- package/esm2015/data-view-builder/data-view-builder.component.js +121 -121
- package/esm2015/data-view-builder/data-view-builder.model.js +1 -1
- package/esm2015/data-view-builder/data-view-builder.module.js +81 -81
- package/esm2015/data-view-builder/data-view-builder.service.js +38 -38
- package/esm2015/data-view-builder/menu-data-view/menu-data-view.component.js +121 -121
- package/esm2015/data-view-builder/pepperi-addons-ngx-composite-lib-data-view-builder.js +4 -4
- package/esm2015/data-view-builder/public-api.js +6 -6
- package/esm2015/file-status-panel/file-status-panel.component.js +38 -38
- package/esm2015/file-status-panel/file-status-panel.model.js +8 -8
- package/esm2015/file-status-panel/file-status-panel.module.js +55 -55
- package/esm2015/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.js +4 -4
- package/esm2015/file-status-panel/public-api.js +6 -6
- package/esm2015/generic-form/generic-form.component.js +189 -189
- package/esm2015/generic-form/generic-form.model.js +1 -1
- package/esm2015/generic-form/generic-form.module.js +73 -73
- package/esm2015/generic-form/generic-form.service.js +67 -67
- package/esm2015/generic-form/index.js +4 -4
- package/esm2015/generic-form/pepperi-addons-ngx-composite-lib-generic-form.js +4 -4
- package/esm2015/generic-form/public-api.js +7 -7
- package/esm2015/generic-list/generic-list.component.js +445 -438
- package/esm2015/generic-list/generic-list.model.js +1 -1
- package/esm2015/generic-list/generic-list.module.js +71 -71
- package/esm2015/generic-list/generic-list.service.js +126 -126
- package/esm2015/generic-list/pepperi-addons-ngx-composite-lib-generic-list.js +4 -4
- package/esm2015/generic-list/public-api.js +7 -7
- package/esm2015/group-buttons-settings/group-buttons-settings.component.js +134 -134
- package/esm2015/group-buttons-settings/group-buttons-settings.model.js +1 -1
- package/esm2015/group-buttons-settings/group-buttons-settings.module.js +49 -49
- package/esm2015/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +4 -4
- package/esm2015/group-buttons-settings/public-api.js +6 -6
- package/esm2015/ngx-composite-lib.module.js +55 -55
- package/esm2015/pepperi-addons-ngx-composite-lib.js +4 -4
- package/esm2015/public-api.js +5 -5
- package/esm2015/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.js +4 -4
- package/esm2015/shadow-settings/public-api.js +6 -6
- package/esm2015/shadow-settings/shadow-settings.component.js +72 -72
- package/esm2015/shadow-settings/shadow-settings.model.js +7 -7
- package/esm2015/shadow-settings/shadow-settings.module.js +43 -43
- package/fesm2015/pepperi-addons-ngx-composite-lib-color-settings.js +116 -116
- package/fesm2015/pepperi-addons-ngx-composite-lib-data-view-builder.js +319 -319
- package/fesm2015/pepperi-addons-ngx-composite-lib-file-status-panel.js +84 -84
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-form.js +301 -301
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js +602 -595
- package/fesm2015/pepperi-addons-ngx-composite-lib-generic-list.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-composite-lib-group-buttons-settings.js +170 -170
- package/fesm2015/pepperi-addons-ngx-composite-lib-shadow-settings.js +107 -107
- package/fesm2015/pepperi-addons-ngx-composite-lib.js +255 -255
- package/file-status-panel/file-status-panel.component.d.ts +14 -14
- package/file-status-panel/file-status-panel.model.d.ts +7 -7
- package/file-status-panel/file-status-panel.module.d.ts +17 -17
- package/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.d.ts +5 -5
- package/file-status-panel/public-api.d.ts +3 -3
- package/generic-form/generic-form.component.d.ts +46 -46
- package/generic-form/generic-form.model.d.ts +34 -34
- package/generic-form/generic-form.module.d.ts +13 -13
- package/generic-form/generic-form.service.d.ts +16 -16
- package/generic-form/index.d.ts +1 -1
- package/generic-form/pepperi-addons-ngx-composite-lib-generic-form.d.ts +5 -5
- package/generic-form/public-api.d.ts +4 -4
- package/generic-list/generic-list.component.d.ts +101 -100
- package/generic-list/generic-list.model.d.ts +51 -51
- package/generic-list/generic-list.module.d.ts +18 -18
- package/generic-list/generic-list.service.d.ts +43 -43
- package/generic-list/pepperi-addons-ngx-composite-lib-generic-list.d.ts +5 -5
- package/generic-list/public-api.d.ts +4 -4
- package/group-buttons-settings/group-buttons-settings.component.d.ts +33 -33
- package/group-buttons-settings/group-buttons-settings.model.d.ts +1 -1
- package/group-buttons-settings/group-buttons-settings.module.d.ts +15 -15
- package/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.d.ts +5 -5
- package/group-buttons-settings/public-api.d.ts +3 -3
- package/ngx-composite-lib.module.d.ts +13 -13
- package/package.json +1 -1
- package/pepperi-addons-ngx-composite-lib.d.ts +5 -5
- package/public-api.d.ts +2 -2
- package/shadow-settings/pepperi-addons-ngx-composite-lib-shadow-settings.d.ts +5 -5
- package/shadow-settings/public-api.d.ts +3 -3
- package/shadow-settings/shadow-settings.component.d.ts +23 -23
- package/shadow-settings/shadow-settings.model.d.ts +7 -7
- package/shadow-settings/shadow-settings.module.d.ts +13 -13
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./data-view-builder.service";
|
|
4
|
-
import * as i2 from "@pepperi-addons/ngx-lib/page-layout";
|
|
5
|
-
import * as i3 from "@pepperi-addons/ngx-lib/draggable-items";
|
|
6
|
-
import * as i4 from "./menu-data-view/menu-data-view.component";
|
|
7
|
-
import * as i5 from "@angular/common";
|
|
8
|
-
import * as i6 from "@ngx-translate/core";
|
|
9
|
-
export class DataViewBuilderComponent {
|
|
10
|
-
constructor(dataViewBuilderService) {
|
|
11
|
-
this.dataViewBuilderService = dataViewBuilderService;
|
|
12
|
-
// @Input() title: string = '';
|
|
13
|
-
this.builderTitle = '';
|
|
14
|
-
this.builderTitleHint = '';
|
|
15
|
-
this._availableFields = [];
|
|
16
|
-
this.dataViewChange = new EventEmitter();
|
|
17
|
-
this.type = 'not-supported';
|
|
18
|
-
this.emptyDropAreaId = 'emptyDropArea';
|
|
19
|
-
this.mappedFieldsId = 'mappedFields';
|
|
20
|
-
this.availableFieldsTitles = new Map();
|
|
21
|
-
//
|
|
22
|
-
}
|
|
23
|
-
set availableFields(value) {
|
|
24
|
-
this._availableFields = value;
|
|
25
|
-
this.setTitlesMap();
|
|
26
|
-
}
|
|
27
|
-
get availableFields() {
|
|
28
|
-
return this._availableFields;
|
|
29
|
-
}
|
|
30
|
-
set dataView(value) {
|
|
31
|
-
this._dataView = value;
|
|
32
|
-
this.setType();
|
|
33
|
-
this.refreshAvailableFields();
|
|
34
|
-
}
|
|
35
|
-
get dataView() {
|
|
36
|
-
return this._dataView;
|
|
37
|
-
}
|
|
38
|
-
setType() {
|
|
39
|
-
if (this._dataView.Type === 'Menu') {
|
|
40
|
-
this.type = 'menu';
|
|
41
|
-
}
|
|
42
|
-
else if (this._dataView.Type === 'Grid') {
|
|
43
|
-
this.type = 'list';
|
|
44
|
-
}
|
|
45
|
-
else if ((this._dataView.Type === 'Card') ||
|
|
46
|
-
(this._dataView.Type === 'Form') ||
|
|
47
|
-
(this._dataView.Type === 'Large') ||
|
|
48
|
-
(this._dataView.Type === 'Line')) {
|
|
49
|
-
this.type = 'card';
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.type = 'not-supported';
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
setAvailableFieldPermission(field, disable) {
|
|
56
|
-
// Find the item in the available fields
|
|
57
|
-
const item = this.availableFields.find(as => as.data.key === field);
|
|
58
|
-
// If exist disable or enable it.
|
|
59
|
-
if (item) {
|
|
60
|
-
item.disabled = disable;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
refreshAvailableFields() {
|
|
64
|
-
this.availableFields.forEach(af => af.disabled = false);
|
|
65
|
-
if (this.dataView && this.dataView.Fields) {
|
|
66
|
-
for (let index = 0; index < this.dataView.Fields.length; index++) {
|
|
67
|
-
this.setAvailableFieldPermission(this.dataView.Fields[index].FieldID, true);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
setTitlesMap() {
|
|
72
|
-
var _a, _b;
|
|
73
|
-
this.availableFieldsTitles.clear();
|
|
74
|
-
if (((_a = this.availableFields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
75
|
-
for (let index = 0; index < this.availableFields.length; index++) {
|
|
76
|
-
const availableField = this.availableFields[index];
|
|
77
|
-
if (((_b = availableField === null || availableField === void 0 ? void 0 : availableField.data) === null || _b === void 0 ? void 0 : _b.key.length) > 0) {
|
|
78
|
-
this.availableFieldsTitles.set(availableField.data.key, availableField.title);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
notifyDataViewChange() {
|
|
84
|
-
this.dataViewChange.emit(this.dataView);
|
|
85
|
-
// console.log(this.dataView);
|
|
86
|
-
}
|
|
87
|
-
ngOnInit() {
|
|
88
|
-
//
|
|
89
|
-
}
|
|
90
|
-
onDragStart(event) {
|
|
91
|
-
this.dataViewBuilderService.onDragStart(event);
|
|
92
|
-
}
|
|
93
|
-
onDragEnd(event) {
|
|
94
|
-
this.dataViewBuilderService.onDragEnd(event);
|
|
95
|
-
}
|
|
96
|
-
onFieldsChanged(fields) {
|
|
97
|
-
this.dataView.Fields = fields;
|
|
98
|
-
this.refreshAvailableFields();
|
|
99
|
-
this.notifyDataViewChange();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
DataViewBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderComponent, deps: [{ token: i1.DataViewBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
DataViewBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DataViewBuilderComponent, selector: "pep-data-view-builder", inputs: { builderTitle: "builderTitle", builderTitleHint: "builderTitleHint", availableFields: "availableFields", dataView: "dataView" }, outputs: { dataViewChange: "dataViewChange" }, ngImport: i0, template: "<pep-page-layout >\n <!-- <ng-container pep-top-area>\n <pep-top-bar [title]=\"title\">\n <div header-end-content>\n </div>\n </pep-top-bar>\n </ng-container> -->\n <ng-container pep-main-area>\n <ng-container *ngIf=\"type === 'not-supported' ; then notSupportedTemplate; else supportedTemplate\"></ng-container>\n <ng-template #notSupportedTemplate>\n <span class=\"body-sm ellipsis\">\n {{ 'DATA_VIEW_BUILDER.TYPE_NOT_SUPPORTED' | translate }}\n </span> \n </ng-template>\n <ng-template #supportedTemplate>\n <div *ngIf=\"dataView && availableFields\" class=\"mapped-fields-container\">\n <div class=\"available-fields-side-area\">\n <pep-draggable-items [items]=\"availableFields\" [title]=\"'DATA_VIEW_BUILDER.AVAILABLE_FIELDS' | translate\" titleType=\"with-bottom-border\" titleSizeType=\"md\"\n itemPlaceholderType=\"weak\" [showSearch]=\"true\" [dropAreaIds]=\"['emptyDropArea', 'mappedFields']\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n </div>\n <div pep-main-area class=\"mapped-fields-main-area\">\n <div class=\"mapped-fields-top-area pep-border-bottom\"\n [title]=\"builderTitle + ' ' + (builderTitleHint ? ('(' + builderTitleHint + ')') : '')\">\n <span class=\"title-md\">{{ builderTitle }} </span>\n <span *ngIf=\"builderTitleHint\" class=\"color-dimmed\">({{ builderTitleHint }})</span>\n </div>\n \n <div class=\"data-view-by-type-area\" [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <menu-data-view [fields]=\"dataView?.Fields || []\" [availableFieldsTitles]=\"availableFieldsTitles\" [emptyDropAreaId]=\"emptyDropAreaId\"\n [mappedFieldsId]=\"mappedFieldsId\" (fieldsChange)=\"onFieldsChanged($event)\">\n </menu-data-view>\n </ng-container>\n <!-- <ng-container *ngSwitchDefault>\n </ng-container> -->\n </div>\n </div>\n </div>\n </ng-template>\n </ng-container>\n</pep-page-layout>\n\n", styles: [".mapped-fields-container{display:grid;height:100%;grid-template-columns:auto 1fr;grid-template-areas:\"side-area main-area\"}.mapped-fields-container .available-fields-side-area{grid-area:side-area;width:240px;max-width:240px;overflow:auto;height:inherit;padding-top:var(--pep-spacing-2xl, 2rem);margin-inline-end:calc(var(--pep-spacing-lg, 1rem) * 2)}.mapped-fields-container .mapped-fields-main-area{display:grid;grid-template-rows:auto 1fr;grid-area:main-area;padding-top:var(--pep-spacing-2xl, 2rem);overflow:auto;height:inherit}.mapped-fields-container .mapped-fields-main-area .mapped-fields-top-area{height:var(--pep-top-bar-field-height, 2.5rem);display:flex;align-items:center}.mapped-fields-container .mapped-fields-main-area .data-view-by-type-area{overflow:auto;height:inherit;padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem);padding-inline:var(--pep-spacing-xs, .25rem)}\n"], components: [{ type: i2.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i3.DraggableItemsComponent, selector: "pep-draggable-items", inputs: ["containerId", "showSearch", "title", "titleType", "titleSizeType", "itemPlaceholderType", "dropAreaIds", "items"], outputs: ["itemDragStarted", "itemDragEnded"] }, { type: i4.MenuDataViewComponent, selector: "menu-data-view", inputs: ["fields", "availableFieldsTitles", "emptyDropAreaId", "mappedFieldsId"], outputs: ["fieldsChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderComponent, decorators: [{
|
|
105
|
-
type: Component,
|
|
106
|
-
args: [{
|
|
107
|
-
selector: 'pep-data-view-builder',
|
|
108
|
-
templateUrl: './data-view-builder.component.html',
|
|
109
|
-
styleUrls: ['./data-view-builder.component.scss']
|
|
110
|
-
}]
|
|
111
|
-
}], ctorParameters: function () { return [{ type: i1.DataViewBuilderService }]; }, propDecorators: { builderTitle: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], builderTitleHint: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], availableFields: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], dataView: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], dataViewChange: [{
|
|
120
|
-
type: Output
|
|
121
|
-
}] } });
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./data-view-builder.service";
|
|
4
|
+
import * as i2 from "@pepperi-addons/ngx-lib/page-layout";
|
|
5
|
+
import * as i3 from "@pepperi-addons/ngx-lib/draggable-items";
|
|
6
|
+
import * as i4 from "./menu-data-view/menu-data-view.component";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
8
|
+
import * as i6 from "@ngx-translate/core";
|
|
9
|
+
export class DataViewBuilderComponent {
|
|
10
|
+
constructor(dataViewBuilderService) {
|
|
11
|
+
this.dataViewBuilderService = dataViewBuilderService;
|
|
12
|
+
// @Input() title: string = '';
|
|
13
|
+
this.builderTitle = '';
|
|
14
|
+
this.builderTitleHint = '';
|
|
15
|
+
this._availableFields = [];
|
|
16
|
+
this.dataViewChange = new EventEmitter();
|
|
17
|
+
this.type = 'not-supported';
|
|
18
|
+
this.emptyDropAreaId = 'emptyDropArea';
|
|
19
|
+
this.mappedFieldsId = 'mappedFields';
|
|
20
|
+
this.availableFieldsTitles = new Map();
|
|
21
|
+
//
|
|
22
|
+
}
|
|
23
|
+
set availableFields(value) {
|
|
24
|
+
this._availableFields = value;
|
|
25
|
+
this.setTitlesMap();
|
|
26
|
+
}
|
|
27
|
+
get availableFields() {
|
|
28
|
+
return this._availableFields;
|
|
29
|
+
}
|
|
30
|
+
set dataView(value) {
|
|
31
|
+
this._dataView = value;
|
|
32
|
+
this.setType();
|
|
33
|
+
this.refreshAvailableFields();
|
|
34
|
+
}
|
|
35
|
+
get dataView() {
|
|
36
|
+
return this._dataView;
|
|
37
|
+
}
|
|
38
|
+
setType() {
|
|
39
|
+
if (this._dataView.Type === 'Menu') {
|
|
40
|
+
this.type = 'menu';
|
|
41
|
+
}
|
|
42
|
+
else if (this._dataView.Type === 'Grid') {
|
|
43
|
+
this.type = 'list';
|
|
44
|
+
}
|
|
45
|
+
else if ((this._dataView.Type === 'Card') ||
|
|
46
|
+
(this._dataView.Type === 'Form') ||
|
|
47
|
+
(this._dataView.Type === 'Large') ||
|
|
48
|
+
(this._dataView.Type === 'Line')) {
|
|
49
|
+
this.type = 'card';
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.type = 'not-supported';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
setAvailableFieldPermission(field, disable) {
|
|
56
|
+
// Find the item in the available fields
|
|
57
|
+
const item = this.availableFields.find(as => as.data.key === field);
|
|
58
|
+
// If exist disable or enable it.
|
|
59
|
+
if (item) {
|
|
60
|
+
item.disabled = disable;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
refreshAvailableFields() {
|
|
64
|
+
this.availableFields.forEach(af => af.disabled = false);
|
|
65
|
+
if (this.dataView && this.dataView.Fields) {
|
|
66
|
+
for (let index = 0; index < this.dataView.Fields.length; index++) {
|
|
67
|
+
this.setAvailableFieldPermission(this.dataView.Fields[index].FieldID, true);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
setTitlesMap() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
this.availableFieldsTitles.clear();
|
|
74
|
+
if (((_a = this.availableFields) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
75
|
+
for (let index = 0; index < this.availableFields.length; index++) {
|
|
76
|
+
const availableField = this.availableFields[index];
|
|
77
|
+
if (((_b = availableField === null || availableField === void 0 ? void 0 : availableField.data) === null || _b === void 0 ? void 0 : _b.key.length) > 0) {
|
|
78
|
+
this.availableFieldsTitles.set(availableField.data.key, availableField.title);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
notifyDataViewChange() {
|
|
84
|
+
this.dataViewChange.emit(this.dataView);
|
|
85
|
+
// console.log(this.dataView);
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
//
|
|
89
|
+
}
|
|
90
|
+
onDragStart(event) {
|
|
91
|
+
this.dataViewBuilderService.onDragStart(event);
|
|
92
|
+
}
|
|
93
|
+
onDragEnd(event) {
|
|
94
|
+
this.dataViewBuilderService.onDragEnd(event);
|
|
95
|
+
}
|
|
96
|
+
onFieldsChanged(fields) {
|
|
97
|
+
this.dataView.Fields = fields;
|
|
98
|
+
this.refreshAvailableFields();
|
|
99
|
+
this.notifyDataViewChange();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
DataViewBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderComponent, deps: [{ token: i1.DataViewBuilderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
DataViewBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: DataViewBuilderComponent, selector: "pep-data-view-builder", inputs: { builderTitle: "builderTitle", builderTitleHint: "builderTitleHint", availableFields: "availableFields", dataView: "dataView" }, outputs: { dataViewChange: "dataViewChange" }, ngImport: i0, template: "<pep-page-layout >\n <!-- <ng-container pep-top-area>\n <pep-top-bar [title]=\"title\">\n <div header-end-content>\n </div>\n </pep-top-bar>\n </ng-container> -->\n <ng-container pep-main-area>\n <ng-container *ngIf=\"type === 'not-supported' ; then notSupportedTemplate; else supportedTemplate\"></ng-container>\n <ng-template #notSupportedTemplate>\n <span class=\"body-sm ellipsis\">\n {{ 'DATA_VIEW_BUILDER.TYPE_NOT_SUPPORTED' | translate }}\n </span> \n </ng-template>\n <ng-template #supportedTemplate>\n <div *ngIf=\"dataView && availableFields\" class=\"mapped-fields-container\">\n <div class=\"available-fields-side-area\">\n <pep-draggable-items [items]=\"availableFields\" [title]=\"'DATA_VIEW_BUILDER.AVAILABLE_FIELDS' | translate\" titleType=\"with-bottom-border\" titleSizeType=\"md\"\n itemPlaceholderType=\"weak\" [showSearch]=\"true\" [dropAreaIds]=\"['emptyDropArea', 'mappedFields']\" (itemDragStarted)=\"onDragStart($event)\" (itemDragEnded)=\"onDragEnd($event)\">\n </pep-draggable-items>\n </div>\n <div pep-main-area class=\"mapped-fields-main-area\">\n <div class=\"mapped-fields-top-area pep-border-bottom\"\n [title]=\"builderTitle + ' ' + (builderTitleHint ? ('(' + builderTitleHint + ')') : '')\">\n <span class=\"title-md\">{{ builderTitle }} </span>\n <span *ngIf=\"builderTitleHint\" class=\"color-dimmed\">({{ builderTitleHint }})</span>\n </div>\n \n <div class=\"data-view-by-type-area\" [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <menu-data-view [fields]=\"dataView?.Fields || []\" [availableFieldsTitles]=\"availableFieldsTitles\" [emptyDropAreaId]=\"emptyDropAreaId\"\n [mappedFieldsId]=\"mappedFieldsId\" (fieldsChange)=\"onFieldsChanged($event)\">\n </menu-data-view>\n </ng-container>\n <!-- <ng-container *ngSwitchDefault>\n </ng-container> -->\n </div>\n </div>\n </div>\n </ng-template>\n </ng-container>\n</pep-page-layout>\n\n", styles: [".mapped-fields-container{display:grid;height:100%;grid-template-columns:auto 1fr;grid-template-areas:\"side-area main-area\"}.mapped-fields-container .available-fields-side-area{grid-area:side-area;width:240px;max-width:240px;overflow:auto;height:inherit;padding-top:var(--pep-spacing-2xl, 2rem);margin-inline-end:calc(var(--pep-spacing-lg, 1rem) * 2)}.mapped-fields-container .mapped-fields-main-area{display:grid;grid-template-rows:auto 1fr;grid-area:main-area;padding-top:var(--pep-spacing-2xl, 2rem);overflow:auto;height:inherit}.mapped-fields-container .mapped-fields-main-area .mapped-fields-top-area{height:var(--pep-top-bar-field-height, 2.5rem);display:flex;align-items:center}.mapped-fields-container .mapped-fields-main-area .data-view-by-type-area{overflow:auto;height:inherit;padding-top:var(--pep-spacing-lg, 1rem);padding-bottom:var(--pep-spacing-lg, 1rem);padding-inline:var(--pep-spacing-xs, .25rem)}\n"], components: [{ type: i2.PepPageLayoutComponent, selector: "pep-page-layout", inputs: ["addPadding", "showShadow"] }, { type: i3.DraggableItemsComponent, selector: "pep-draggable-items", inputs: ["containerId", "showSearch", "title", "titleType", "titleSizeType", "itemPlaceholderType", "dropAreaIds", "items"], outputs: ["itemDragStarted", "itemDragEnded"] }, { type: i4.MenuDataViewComponent, selector: "menu-data-view", inputs: ["fields", "availableFieldsTitles", "emptyDropAreaId", "mappedFieldsId"], outputs: ["fieldsChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i6.TranslatePipe } });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderComponent, decorators: [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{
|
|
107
|
+
selector: 'pep-data-view-builder',
|
|
108
|
+
templateUrl: './data-view-builder.component.html',
|
|
109
|
+
styleUrls: ['./data-view-builder.component.scss']
|
|
110
|
+
}]
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i1.DataViewBuilderService }]; }, propDecorators: { builderTitle: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], builderTitleHint: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], availableFields: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], dataView: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], dataViewChange: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}] } });
|
|
122
122
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWJ1aWxkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZGF0YS12aWV3LWJ1aWxkZXIvZGF0YS12aWV3LWJ1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZGF0YS12aWV3LWJ1aWxkZXIvZGF0YS12aWV3LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBMEIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBV3ZHLE1BQU0sT0FBTyx3QkFBd0I7SUFvQ2pDLFlBQ1ksc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFwQzFELCtCQUErQjtRQUN0QixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFFdkIscUJBQWdCLEdBQTZCLEVBQUUsQ0FBQztRQXNCeEQsbUJBQWMsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFOUUsU0FBSSxHQUEyQixlQUFlLENBQUM7UUFFL0Msb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEMsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFFaEMsMEJBQXFCLEdBQXdCLElBQUksR0FBRyxFQUFrQixDQUFDO1FBS25FLEVBQUU7SUFDTixDQUFDO0lBbENELElBQ0ksZUFBZSxDQUFDLEtBQStCO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBR0QsSUFDSSxRQUFRLENBQUMsS0FBbUI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBa0JPLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUN0QjthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztZQUNoQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztZQUNoQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQztZQUNqQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxLQUFhLEVBQUUsT0FBZ0I7UUFDL0Qsd0NBQXdDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUM7UUFFcEUsaUNBQWlDO1FBQ2pDLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU8sc0JBQXNCO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDOUQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUMvRTtTQUNKO0lBQ0wsQ0FBQztJQUVPLFlBQVk7O1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuQyxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxNQUFNLElBQUcsQ0FBQyxFQUFFO1lBQ2xDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDOUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFbkQsSUFBSSxDQUFBLE1BQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksMENBQUUsR0FBRyxDQUFDLE1BQU0sSUFBRyxDQUFDLEVBQUU7b0JBQ3RDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqRjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4Qyw4QkFBOEI7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDSixFQUFFO0lBQ04sQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQTRCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztxSEFoSFEsd0JBQXdCO3lHQUF4Qix3QkFBd0Isc1BDWnJDLHk4RUEyQ0E7MkZEL0JhLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztpQkFDcEQ7NkdBR1ksWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBSUYsZUFBZTtzQkFEbEIsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBV04sY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0VuZCwgQ2RrRHJhZ1N0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGVwRHJhZ2dhYmxlSXRlbSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5pbXBvcnQgeyBCYXNlRGF0YVZpZXcsIERhdGFWaWV3RmllbGQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuaW1wb3J0IHsgUGVwRGF0YVZpZXdCdWlsZGVyVHlwZSB9IGZyb20gJy4vZGF0YS12aWV3LWJ1aWxkZXIubW9kZWwnO1xuaW1wb3J0IHsgRGF0YVZpZXdCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vZGF0YS12aWV3LWJ1aWxkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWRhdGEtdmlldy1idWlsZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0YS12aWV3LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGEtdmlldy1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdCdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvLyBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gJyc7XG4gICAgQElucHV0KCkgYnVpbGRlclRpdGxlID0gJyc7XG4gICAgQElucHV0KCkgYnVpbGRlclRpdGxlSGludCA9ICcnO1xuICAgIFxuICAgIHByaXZhdGUgX2F2YWlsYWJsZUZpZWxkczogQXJyYXk8SVBlcERyYWdnYWJsZUl0ZW0+ID0gW107XG4gICAgQElucHV0KClcbiAgICBzZXQgYXZhaWxhYmxlRmllbGRzKHZhbHVlOiBBcnJheTxJUGVwRHJhZ2dhYmxlSXRlbT4pIHtcbiAgICAgICAgdGhpcy5fYXZhaWxhYmxlRmllbGRzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0VGl0bGVzTWFwKCk7XG4gICAgfVxuICAgIGdldCBhdmFpbGFibGVGaWVsZHMoKTogQXJyYXk8SVBlcERyYWdnYWJsZUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZUZpZWxkcztcbiAgICB9XG4gICAgXG4gICAgcHJpdmF0ZSBfZGF0YVZpZXchOiBCYXNlRGF0YVZpZXc7XG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0YVZpZXcodmFsdWU6IEJhc2VEYXRhVmlldykge1xuICAgICAgICB0aGlzLl9kYXRhVmlldyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFR5cGUoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoQXZhaWxhYmxlRmllbGRzKCk7XG4gICAgfVxuICAgIGdldCBkYXRhVmlldygpIDogQmFzZURhdGFWaWV3IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFWaWV3O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIGRhdGFWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8QmFzZURhdGFWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXI8QmFzZURhdGFWaWV3PigpO1xuICAgIFxuICAgIHR5cGU6IFBlcERhdGFWaWV3QnVpbGRlclR5cGUgPSAnbm90LXN1cHBvcnRlZCc7XG4gICAgXG4gICAgZW1wdHlEcm9wQXJlYUlkID0gJ2VtcHR5RHJvcEFyZWEnO1xuICAgIG1hcHBlZEZpZWxkc0lkID0gJ21hcHBlZEZpZWxkcyc7XG5cbiAgICBhdmFpbGFibGVGaWVsZHNUaXRsZXM6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGF0YVZpZXdCdWlsZGVyU2VydmljZTogRGF0YVZpZXdCdWlsZGVyU2VydmljZVxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VHlwZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFWaWV3LlR5cGUgPT09ICdNZW51Jykge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ21lbnUnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2RhdGFWaWV3LlR5cGUgPT09ICdHcmlkJykge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ2xpc3QnO1xuICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLl9kYXRhVmlldy5UeXBlID09PSAnQ2FyZCcpIHx8IFxuICAgICAgICAgICAgICAgICAgICh0aGlzLl9kYXRhVmlldy5UeXBlID09PSAnRm9ybScpIHx8IFxuICAgICAgICAgICAgICAgICAgICh0aGlzLl9kYXRhVmlldy5UeXBlID09PSAnTGFyZ2UnKSB8fCBcbiAgICAgICAgICAgICAgICAgICAodGhpcy5fZGF0YVZpZXcuVHlwZSA9PT0gJ0xpbmUnKSkge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ2NhcmQnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ25vdC1zdXBwb3J0ZWQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBdmFpbGFibGVGaWVsZFBlcm1pc3Npb24oZmllbGQ6IHN0cmluZywgZGlzYWJsZTogYm9vbGVhbikge1xuICAgICAgICAvLyBGaW5kIHRoZSBpdGVtIGluIHRoZSBhdmFpbGFibGUgZmllbGRzXG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmF2YWlsYWJsZUZpZWxkcy5maW5kKGFzID0+IGFzLmRhdGEua2V5ID09PSBmaWVsZCk7XG4gICAgICAgIFxuICAgICAgICAvLyBJZiBleGlzdCBkaXNhYmxlIG9yIGVuYWJsZSBpdC5cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBkaXNhYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoQXZhaWxhYmxlRmllbGRzKCkge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZUZpZWxkcy5mb3JFYWNoKGFmID0+IGFmLmRpc2FibGVkID0gZmFsc2UpO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuZGF0YVZpZXcgJiYgdGhpcy5kYXRhVmlldy5GaWVsZHMpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmRhdGFWaWV3LkZpZWxkcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEF2YWlsYWJsZUZpZWxkUGVybWlzc2lvbih0aGlzLmRhdGFWaWV3LkZpZWxkc1tpbmRleF0uRmllbGRJRCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFRpdGxlc01hcCgpIHtcbiAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHNUaXRsZXMuY2xlYXIoKTtcblxuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVGaWVsZHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmF2YWlsYWJsZUZpZWxkcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdmFpbGFibGVGaWVsZCA9IHRoaXMuYXZhaWxhYmxlRmllbGRzW2luZGV4XTtcblxuICAgICAgICAgICAgICAgIGlmIChhdmFpbGFibGVGaWVsZD8uZGF0YT8ua2V5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVGaWVsZHNUaXRsZXMuc2V0KGF2YWlsYWJsZUZpZWxkLmRhdGEua2V5LCBhdmFpbGFibGVGaWVsZC50aXRsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RpZnlEYXRhVmlld0NoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5kYXRhVmlld0NoYW5nZS5lbWl0KHRoaXMuZGF0YVZpZXcpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGFWaWV3KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbkRyYWdTdGFydChldmVudDogQ2RrRHJhZ1N0YXJ0KSB7XG4gICAgICAgIHRoaXMuZGF0YVZpZXdCdWlsZGVyU2VydmljZS5vbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMuZGF0YVZpZXdCdWlsZGVyU2VydmljZS5vbkRyYWdFbmQoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBvbkZpZWxkc0NoYW5nZWQoZmllbGRzOiBBcnJheTxEYXRhVmlld0ZpZWxkPikge1xuICAgICAgICB0aGlzLmRhdGFWaWV3LkZpZWxkcyA9IGZpZWxkcztcbiAgICAgICAgdGhpcy5yZWZyZXNoQXZhaWxhYmxlRmllbGRzKCk7XG4gICAgICAgIHRoaXMubm90aWZ5RGF0YVZpZXdDaGFuZ2UoKTtcbiAgICB9XG59XG4iLCI8cGVwLXBhZ2UtbGF5b3V0ID5cbiAgICA8IS0tIDxuZy1jb250YWluZXIgcGVwLXRvcC1hcmVhPlxuICAgICAgICA8cGVwLXRvcC1iYXIgW3RpdGxlXT1cInRpdGxlXCI+XG4gICAgICAgICAgICA8ZGl2IGhlYWRlci1lbmQtY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3BlcC10b3AtYmFyPlxuICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICA8bmctY29udGFpbmVyIHBlcC1tYWluLWFyZWE+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnbm90LXN1cHBvcnRlZCcgOyB0aGVuIG5vdFN1cHBvcnRlZFRlbXBsYXRlOyBlbHNlIHN1cHBvcnRlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90U3VwcG9ydGVkVGVtcGxhdGU+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvZHktc20gZWxsaXBzaXNcIj5cbiAgICAgICAgICAgICAgICB7eyAnREFUQV9WSUVXX0JVSUxERVIuVFlQRV9OT1RfU1VQUE9SVEVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzdXBwb3J0ZWRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhVmlldyAmJiBhdmFpbGFibGVGaWVsZHNcIiBjbGFzcz1cIm1hcHBlZC1maWVsZHMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YWlsYWJsZS1maWVsZHMtc2lkZS1hcmVhXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtZHJhZ2dhYmxlLWl0ZW1zIFtpdGVtc109XCJhdmFpbGFibGVGaWVsZHNcIiBbdGl0bGVdPVwiJ0RBVEFfVklFV19CVUlMREVSLkFWQUlMQUJMRV9GSUVMRFMnIHwgdHJhbnNsYXRlXCIgdGl0bGVUeXBlPVwid2l0aC1ib3R0b20tYm9yZGVyXCIgdGl0bGVTaXplVHlwZT1cIm1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1QbGFjZWhvbGRlclR5cGU9XCJ3ZWFrXCIgW3Nob3dTZWFyY2hdPVwidHJ1ZVwiIFtkcm9wQXJlYUlkc109XCJbJ2VtcHR5RHJvcEFyZWEnLCAnbWFwcGVkRmllbGRzJ11cIiAoaXRlbURyYWdTdGFydGVkKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIiAoaXRlbURyYWdFbmRlZCk9XCJvbkRyYWdFbmQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1kcmFnZ2FibGUtaXRlbXM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBwZXAtbWFpbi1hcmVhIGNsYXNzPVwibWFwcGVkLWZpZWxkcy1tYWluLWFyZWFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcHBlZC1maWVsZHMtdG9wLWFyZWEgcGVwLWJvcmRlci1ib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImJ1aWxkZXJUaXRsZSArICcgJyArIChidWlsZGVyVGl0bGVIaW50ID8gKCcoJyArIGJ1aWxkZXJUaXRsZUhpbnQgKyAnKScpIDogJycpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLW1kXCI+e3sgYnVpbGRlclRpdGxlIH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJidWlsZGVyVGl0bGVIaW50XCIgY2xhc3M9XCJjb2xvci1kaW1tZWRcIj4oe3sgYnVpbGRlclRpdGxlSGludCB9fSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtdmlldy1ieS10eXBlLWFyZWFcIiBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21lbnUnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1lbnUtZGF0YS12aWV3IFtmaWVsZHNdPVwiZGF0YVZpZXc/LkZpZWxkcyB8fCBbXVwiIFthdmFpbGFibGVGaWVsZHNUaXRsZXNdPVwiYXZhaWxhYmxlRmllbGRzVGl0bGVzXCIgW2VtcHR5RHJvcEFyZWFJZF09XCJlbXB0eURyb3BBcmVhSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWFwcGVkRmllbGRzSWRdPVwibWFwcGVkRmllbGRzSWRcIiAoZmllbGRzQ2hhbmdlKT1cIm9uRmllbGRzQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tZW51LWRhdGEtdmlldz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3BlcC1wYWdlLWxheW91dD5cblxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWJ1aWxkZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9kYXRhLXZpZXctYnVpbGRlci9kYXRhLXZpZXctYnVpbGRlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGVwRGF0YVZpZXdCdWlsZGVyVHlwZSA9ICdtZW51JyB8ICdsaXN0JyB8ICdjYXJkJyB8ICdub3Qtc3VwcG9ydGVkJztcclxuIl19
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
6
|
-
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
7
|
-
import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
|
|
8
|
-
import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
|
|
9
|
-
import { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';
|
|
10
|
-
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
11
|
-
import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
|
|
12
|
-
import { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';
|
|
13
|
-
import { PepIconModule, pepIconSystemClose, pepIconArrowDownAlt, pepIconSystemBin, pepIconNumberPlus } from '@pepperi-addons/ngx-lib/icon';
|
|
14
|
-
import { DataViewBuilderService } from './data-view-builder.service';
|
|
15
|
-
import { DataViewBuilderComponent } from './data-view-builder.component';
|
|
16
|
-
import { MenuDataViewComponent } from './menu-data-view/menu-data-view.component';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
19
|
-
const pepIcons = [
|
|
20
|
-
pepIconSystemClose,
|
|
21
|
-
pepIconArrowDownAlt,
|
|
22
|
-
pepIconSystemBin,
|
|
23
|
-
pepIconNumberPlus
|
|
24
|
-
];
|
|
25
|
-
export class PepDataViewBuilderModule {
|
|
26
|
-
constructor(pepIconRegistry) {
|
|
27
|
-
this.pepIconRegistry = pepIconRegistry;
|
|
28
|
-
this.pepIconRegistry.registerIcons(pepIcons);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
PepDataViewBuilderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
-
PepDataViewBuilderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, declarations: [DataViewBuilderComponent, MenuDataViewComponent], imports: [CommonModule,
|
|
33
|
-
DragDropModule,
|
|
34
|
-
MatIconModule,
|
|
35
|
-
PepNgxLibModule,
|
|
36
|
-
PepButtonModule,
|
|
37
|
-
PepDialogModule,
|
|
38
|
-
PepIconModule,
|
|
39
|
-
PepMenuModule,
|
|
40
|
-
PepPageLayoutModule,
|
|
41
|
-
PepTextboxModule,
|
|
42
|
-
PepTopBarModule,
|
|
43
|
-
PepDraggableItemsModule], exports: [DataViewBuilderComponent] });
|
|
44
|
-
PepDataViewBuilderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, providers: [DataViewBuilderService], imports: [[
|
|
45
|
-
CommonModule,
|
|
46
|
-
DragDropModule,
|
|
47
|
-
MatIconModule,
|
|
48
|
-
PepNgxLibModule,
|
|
49
|
-
PepButtonModule,
|
|
50
|
-
PepDialogModule,
|
|
51
|
-
PepIconModule,
|
|
52
|
-
PepMenuModule,
|
|
53
|
-
PepPageLayoutModule,
|
|
54
|
-
PepTextboxModule,
|
|
55
|
-
PepTopBarModule,
|
|
56
|
-
PepDraggableItemsModule,
|
|
57
|
-
]] });
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, decorators: [{
|
|
59
|
-
type: NgModule,
|
|
60
|
-
args: [{
|
|
61
|
-
declarations: [
|
|
62
|
-
DataViewBuilderComponent, MenuDataViewComponent
|
|
63
|
-
],
|
|
64
|
-
imports: [
|
|
65
|
-
CommonModule,
|
|
66
|
-
DragDropModule,
|
|
67
|
-
MatIconModule,
|
|
68
|
-
PepNgxLibModule,
|
|
69
|
-
PepButtonModule,
|
|
70
|
-
PepDialogModule,
|
|
71
|
-
PepIconModule,
|
|
72
|
-
PepMenuModule,
|
|
73
|
-
PepPageLayoutModule,
|
|
74
|
-
PepTextboxModule,
|
|
75
|
-
PepTopBarModule,
|
|
76
|
-
PepDraggableItemsModule,
|
|
77
|
-
],
|
|
78
|
-
exports: [DataViewBuilderComponent],
|
|
79
|
-
providers: [DataViewBuilderService]
|
|
80
|
-
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
|
|
6
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
7
|
+
import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
|
|
8
|
+
import { PepMenuModule } from '@pepperi-addons/ngx-lib/menu';
|
|
9
|
+
import { PepPageLayoutModule } from '@pepperi-addons/ngx-lib/page-layout';
|
|
10
|
+
import { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';
|
|
11
|
+
import { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';
|
|
12
|
+
import { PepDraggableItemsModule } from '@pepperi-addons/ngx-lib/draggable-items';
|
|
13
|
+
import { PepIconModule, pepIconSystemClose, pepIconArrowDownAlt, pepIconSystemBin, pepIconNumberPlus } from '@pepperi-addons/ngx-lib/icon';
|
|
14
|
+
import { DataViewBuilderService } from './data-view-builder.service';
|
|
15
|
+
import { DataViewBuilderComponent } from './data-view-builder.component';
|
|
16
|
+
import { MenuDataViewComponent } from './menu-data-view/menu-data-view.component';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
19
|
+
const pepIcons = [
|
|
20
|
+
pepIconSystemClose,
|
|
21
|
+
pepIconArrowDownAlt,
|
|
22
|
+
pepIconSystemBin,
|
|
23
|
+
pepIconNumberPlus
|
|
24
|
+
];
|
|
25
|
+
export class PepDataViewBuilderModule {
|
|
26
|
+
constructor(pepIconRegistry) {
|
|
27
|
+
this.pepIconRegistry = pepIconRegistry;
|
|
28
|
+
this.pepIconRegistry.registerIcons(pepIcons);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
PepDataViewBuilderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
PepDataViewBuilderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, declarations: [DataViewBuilderComponent, MenuDataViewComponent], imports: [CommonModule,
|
|
33
|
+
DragDropModule,
|
|
34
|
+
MatIconModule,
|
|
35
|
+
PepNgxLibModule,
|
|
36
|
+
PepButtonModule,
|
|
37
|
+
PepDialogModule,
|
|
38
|
+
PepIconModule,
|
|
39
|
+
PepMenuModule,
|
|
40
|
+
PepPageLayoutModule,
|
|
41
|
+
PepTextboxModule,
|
|
42
|
+
PepTopBarModule,
|
|
43
|
+
PepDraggableItemsModule], exports: [DataViewBuilderComponent] });
|
|
44
|
+
PepDataViewBuilderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, providers: [DataViewBuilderService], imports: [[
|
|
45
|
+
CommonModule,
|
|
46
|
+
DragDropModule,
|
|
47
|
+
MatIconModule,
|
|
48
|
+
PepNgxLibModule,
|
|
49
|
+
PepButtonModule,
|
|
50
|
+
PepDialogModule,
|
|
51
|
+
PepIconModule,
|
|
52
|
+
PepMenuModule,
|
|
53
|
+
PepPageLayoutModule,
|
|
54
|
+
PepTextboxModule,
|
|
55
|
+
PepTopBarModule,
|
|
56
|
+
PepDraggableItemsModule,
|
|
57
|
+
]] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PepDataViewBuilderModule, decorators: [{
|
|
59
|
+
type: NgModule,
|
|
60
|
+
args: [{
|
|
61
|
+
declarations: [
|
|
62
|
+
DataViewBuilderComponent, MenuDataViewComponent
|
|
63
|
+
],
|
|
64
|
+
imports: [
|
|
65
|
+
CommonModule,
|
|
66
|
+
DragDropModule,
|
|
67
|
+
MatIconModule,
|
|
68
|
+
PepNgxLibModule,
|
|
69
|
+
PepButtonModule,
|
|
70
|
+
PepDialogModule,
|
|
71
|
+
PepIconModule,
|
|
72
|
+
PepMenuModule,
|
|
73
|
+
PepPageLayoutModule,
|
|
74
|
+
PepTextboxModule,
|
|
75
|
+
PepTopBarModule,
|
|
76
|
+
PepDraggableItemsModule,
|
|
77
|
+
],
|
|
78
|
+
exports: [DataViewBuilderComponent],
|
|
79
|
+
providers: [DataViewBuilderService]
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
82
82
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWJ1aWxkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZGF0YS12aWV3LWJ1aWxkZXIvZGF0YS12aWV3LWJ1aWxkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRixPQUFPLEVBQW1CLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTVKLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7QUFFbEYsTUFBTSxRQUFRLEdBQUc7SUFDYixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixpQkFBaUI7Q0FDcEIsQ0FBQztBQXVCRixNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFlBQ1ksZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRXhDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3FIQUxRLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQW5CN0Isd0JBQXdCLEVBQUUscUJBQXFCLGFBRy9DLFlBQVk7UUFDWixjQUFjO1FBQ2QsYUFBYTtRQUNiLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsdUJBQXVCLGFBRWpCLHdCQUF3QjtzSEFHekIsd0JBQXdCLGFBRnRCLENBQUMsc0JBQXNCLENBQUMsWUFmMUI7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLHVCQUF1QjtTQUMxQjsyRkFJUSx3QkFBd0I7a0JBckJwQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix3QkFBd0IsRUFBRSxxQkFBcUI7cUJBQ2xEO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsdUJBQXVCO3FCQUMxQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDbkMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5cbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcERpYWxvZ01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBNZW51TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvbWVudSc7XG5pbXBvcnQgeyBQZXBQYWdlTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvcGFnZS1sYXlvdXQnO1xuaW1wb3J0IHsgUGVwVGV4dGJveE1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RleHRib3gnO1xuaW1wb3J0IHsgUGVwVG9wQmFyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdG9wLWJhcic7XG5pbXBvcnQgeyBQZXBEcmFnZ2FibGVJdGVtc01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RyYWdnYWJsZS1pdGVtcyc7XG5pbXBvcnQgeyBQZXBJY29uUmVnaXN0cnksIFBlcEljb25Nb2R1bGUsIHBlcEljb25TeXN0ZW1DbG9zZSwgcGVwSWNvbkFycm93RG93bkFsdCwgcGVwSWNvblN5c3RlbUJpbiwgcGVwSWNvbk51bWJlclBsdXMgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcblxuaW1wb3J0IHsgRGF0YVZpZXdCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vZGF0YS12aWV3LWJ1aWxkZXIuc2VydmljZSc7XG5cbmltcG9ydCB7IERhdGFWaWV3QnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS12aWV3LWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVEYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbWVudS1kYXRhLXZpZXcvbWVudS1kYXRhLXZpZXcuY29tcG9uZW50JztcblxuY29uc3QgcGVwSWNvbnMgPSBbXG4gICAgcGVwSWNvblN5c3RlbUNsb3NlLFxuICAgIHBlcEljb25BcnJvd0Rvd25BbHQsXG4gICAgcGVwSWNvblN5c3RlbUJpbixcbiAgICBwZXBJY29uTnVtYmVyUGx1c1xuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRGF0YVZpZXdCdWlsZGVyQ29tcG9uZW50LCBNZW51RGF0YVZpZXdDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgUGVwTmd4TGliTW9kdWxlLFxuICAgICAgICBQZXBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwTWVudU1vZHVsZSxcbiAgICAgICAgUGVwUGFnZUxheW91dE1vZHVsZSxcbiAgICAgICAgUGVwVGV4dGJveE1vZHVsZSxcbiAgICAgICAgUGVwVG9wQmFyTW9kdWxlLFxuICAgICAgICBQZXBEcmFnZ2FibGVJdGVtc01vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtEYXRhVmlld0J1aWxkZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0RhdGFWaWV3QnVpbGRlclNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBlcERhdGFWaWV3QnVpbGRlck1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnksXG4gICAgKSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMocGVwSWNvbnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DataViewBuilderService {
|
|
6
|
-
constructor() {
|
|
7
|
-
// This subject is for is grabbing mode.
|
|
8
|
-
this._isGrabbingSubject = new BehaviorSubject(false);
|
|
9
|
-
//
|
|
10
|
-
}
|
|
11
|
-
get isGrabbingChange$() {
|
|
12
|
-
return this._isGrabbingSubject.asObservable().pipe(distinctUntilChanged());
|
|
13
|
-
}
|
|
14
|
-
changeCursorOnDragStart() {
|
|
15
|
-
document.body.classList.add('inheritCursors');
|
|
16
|
-
document.body.style.cursor = 'grabbing';
|
|
17
|
-
this._isGrabbingSubject.next(true);
|
|
18
|
-
}
|
|
19
|
-
changeCursorOnDragEnd() {
|
|
20
|
-
document.body.classList.remove('inheritCursors');
|
|
21
|
-
document.body.style.cursor = 'unset';
|
|
22
|
-
this._isGrabbingSubject.next(false);
|
|
23
|
-
}
|
|
24
|
-
onDragStart(event) {
|
|
25
|
-
this.changeCursorOnDragStart();
|
|
26
|
-
}
|
|
27
|
-
onDragEnd(event) {
|
|
28
|
-
this.changeCursorOnDragEnd();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
DataViewBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
-
DataViewBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, providedIn: 'root' });
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, decorators: [{
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'root'
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: function () { return []; } });
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DataViewBuilderService {
|
|
6
|
+
constructor() {
|
|
7
|
+
// This subject is for is grabbing mode.
|
|
8
|
+
this._isGrabbingSubject = new BehaviorSubject(false);
|
|
9
|
+
//
|
|
10
|
+
}
|
|
11
|
+
get isGrabbingChange$() {
|
|
12
|
+
return this._isGrabbingSubject.asObservable().pipe(distinctUntilChanged());
|
|
13
|
+
}
|
|
14
|
+
changeCursorOnDragStart() {
|
|
15
|
+
document.body.classList.add('inheritCursors');
|
|
16
|
+
document.body.style.cursor = 'grabbing';
|
|
17
|
+
this._isGrabbingSubject.next(true);
|
|
18
|
+
}
|
|
19
|
+
changeCursorOnDragEnd() {
|
|
20
|
+
document.body.classList.remove('inheritCursors');
|
|
21
|
+
document.body.style.cursor = 'unset';
|
|
22
|
+
this._isGrabbingSubject.next(false);
|
|
23
|
+
}
|
|
24
|
+
onDragStart(event) {
|
|
25
|
+
this.changeCursorOnDragStart();
|
|
26
|
+
}
|
|
27
|
+
onDragEnd(event) {
|
|
28
|
+
this.changeCursorOnDragEnd();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
DataViewBuilderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
DataViewBuilderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: DataViewBuilderService, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return []; } });
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LWJ1aWxkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2RhdGEtdmlldy1idWlsZGVyL2RhdGEtdmlldy1idWlsZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBVSxNQUFNLGdCQUFnQixDQUFDOztBQUs5RCxNQUFNLE9BQU8sc0JBQXNCO0lBUS9CO1FBTkEsd0NBQXdDO1FBQ2hDLHVCQUFrQixHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU12RixFQUFFO0lBQ04sQ0FBQztJQU5ELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQU1PLHVCQUF1QjtRQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O21IQTlCUSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZuQixNQUFNOzJGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRW5kLCBDZGtEcmFnU3RhcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlld0J1aWxkZXJTZXJ2aWNlIHtcbiAgICBcbiAgICAvLyBUaGlzIHN1YmplY3QgaXMgZm9yIGlzIGdyYWJiaW5nIG1vZGUuXG4gICAgcHJpdmF0ZSBfaXNHcmFiYmluZ1N1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGdldCBpc0dyYWJiaW5nQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzR3JhYmJpbmdTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7IFxuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQ3Vyc29yT25EcmFnU3RhcnQoKSB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnaW5oZXJpdEN1cnNvcnMnKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3IgPSAnZ3JhYmJpbmcnO1xuICAgICAgICB0aGlzLl9pc0dyYWJiaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlQ3Vyc29yT25EcmFnRW5kKCkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2luaGVyaXRDdXJzb3JzJyk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gJ3Vuc2V0JztcbiAgICAgICAgdGhpcy5faXNHcmFiYmluZ1N1YmplY3QubmV4dChmYWxzZSk7XG4gICAgfVxuICAgIFxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VDdXJzb3JPbkRyYWdTdGFydCgpO1xuICAgIH1cblxuICAgIG9uRHJhZ0VuZChldmVudDogQ2RrRHJhZ0VuZCkge1xuICAgICAgICB0aGlzLmNoYW5nZUN1cnNvck9uRHJhZ0VuZCgpO1xuICAgIH1cbn1cbiJdfQ==
|