@openziti/ziti-console-lib 0.5.0 → 0.6.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/assets/scripts/growler.js +4 -0
- package/assets/styles/forms.css +7 -7
- package/assets/styles/global.scss +187 -20
- package/assets/styles/header.css +1 -1
- package/assets/styles/ziti.css +47 -40
- package/esm2022/lib/features/card/card.component.mjs +2 -2
- package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +5 -2
- package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +2 -2
- package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +4 -4
- package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +2 -2
- package/esm2022/lib/features/data-table/data-table.component.mjs +8 -8
- package/esm2022/lib/features/data-table/data-table.service.mjs +5 -5
- package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +2 -2
- package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +2 -2
- package/esm2022/lib/features/json-view/json-view.component.mjs +2 -2
- package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +2 -2
- package/esm2022/lib/features/overrides/overrides.component.mjs +2 -2
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +3 -3
- package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +12 -9
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +3 -4
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +13 -11
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +2 -2
- package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +2 -2
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +9 -10
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +280 -0
- package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +92 -0
- package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +8 -1
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +83 -23
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +32 -11
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +14 -11
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +13 -11
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +14 -12
- package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +2 -2
- package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +2 -2
- package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +2 -2
- package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +2 -2
- package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +4 -1
- package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +5 -4
- package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +3 -3
- package/esm2022/lib/models/config.mjs +2 -1
- package/esm2022/lib/models/edge-router-policy.mjs +2 -1
- package/esm2022/lib/models/jwt-signer.mjs +17 -0
- package/esm2022/lib/models/service-edge-router-policy.mjs +2 -1
- package/esm2022/lib/models/service-policy.mjs +2 -1
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +2 -2
- package/esm2022/lib/pages/identities/identities-page.component.mjs +2 -2
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +96 -0
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +177 -0
- package/esm2022/lib/pages/services/services-page.component.mjs +2 -2
- package/esm2022/lib/services/login-service.class.mjs +1 -1
- package/esm2022/lib/services/node-data.service.mjs +6 -3
- package/esm2022/lib/services/noop-login.service.mjs +1 -4
- package/esm2022/lib/services/settings-service.class.mjs +2 -2
- package/esm2022/lib/services/settings.service.mjs +6 -1
- package/esm2022/lib/services/validation.service.mjs +14 -1
- package/esm2022/lib/services/ziti-data.service.mjs +4 -4
- package/esm2022/lib/shared/list-page-component.class.mjs +2 -2
- package/esm2022/lib/ziti-console-lib.module.mjs +15 -5
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/openziti-ziti-console-lib.mjs +1102 -379
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/features/custom-tags/custom-tags.component.d.ts +3 -2
- package/lib/features/custom-tags/custom-tags.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +60 -0
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts +21 -0
- package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts.map +1 -0
- package/lib/features/projectable-forms/projectable-form.class.d.ts +7 -0
- package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts +3 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/service-form.service.d.ts +5 -1
- package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +0 -1
- package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
- package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +1 -1
- package/lib/features/wrappers/zac-wrapper.component.d.ts.map +1 -1
- package/lib/features/wrappers/zac-wrapper.service.d.ts +1 -0
- package/lib/features/wrappers/zac-wrapper.service.d.ts.map +1 -1
- package/lib/models/config.d.ts +1 -0
- package/lib/models/config.d.ts.map +1 -1
- package/lib/models/edge-router-policy.d.ts +1 -0
- package/lib/models/edge-router-policy.d.ts.map +1 -1
- package/lib/models/jwt-signer.d.ts +14 -0
- package/lib/models/jwt-signer.d.ts.map +1 -0
- package/lib/models/service-edge-router-policy.d.ts +1 -0
- package/lib/models/service-edge-router-policy.d.ts.map +1 -1
- package/lib/models/service-policy.d.ts +1 -0
- package/lib/models/service-policy.d.ts.map +1 -1
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts +29 -0
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts.map +1 -0
- package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts +31 -0
- package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts.map +1 -0
- package/lib/services/login-service.class.d.ts +0 -1
- package/lib/services/login-service.class.d.ts.map +1 -1
- package/lib/services/node-data.service.d.ts.map +1 -1
- package/lib/services/noop-login.service.d.ts +0 -1
- package/lib/services/noop-login.service.d.ts.map +1 -1
- package/lib/services/settings-service.class.d.ts +1 -0
- package/lib/services/settings-service.class.d.ts.map +1 -1
- package/lib/services/settings.service.d.ts +1 -0
- package/lib/services/settings.service.d.ts.map +1 -1
- package/lib/services/validation.service.d.ts +1 -0
- package/lib/services/validation.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +3 -3
- package/lib/services/ziti-data.service.d.ts.map +1 -1
- package/lib/ziti-console-lib.module.d.ts +19 -17
- package/lib/ziti-console-lib.module.d.ts.map +1 -1
- package/package.json +3 -3
- package/public-api.d.ts +4 -0
- package/public-api.d.ts.map +1 -1
|
@@ -13,12 +13,12 @@ class CardComponent {
|
|
|
13
13
|
event.preventDefault();
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardComponent, selector: "lib-card", inputs: { imageUrl: "imageUrl", title: "title", content: "content", buttonText: "buttonText", id: "id", href: "href" }, ngImport: i0, template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:230px}.buttonCard .content{font-size:14px;bottom:80px;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:3px;font-size:14px;font-family:Open Sans;font-weight:600;display:inline-block;min-width:150px;clear:both;overflow:hidden;height:45px;padding:13px;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CardComponent, selector: "lib-card", inputs: { imageUrl: "imageUrl", title: "title", content: "content", buttonText: "buttonText", id: "id", href: "href" }, ngImport: i0, template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:230px}.buttonCard .content{font-size:14px;bottom:80px;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:3px;font-size:14px;font-family:Open Sans;font-weight:600;display:inline-block;min-width:150px;clear:both;overflow:hidden;height:45px;padding:13px;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 3px 9px 0 var(--primaryColorOpaque)}.padTop{padding-top:12px}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:320px;width:320px;position:relative;float:none;cursor:pointer;padding-bottom:25px;margin:20px 20px 0;background-color:var(--navigation);box-shadow:0 12px 23px 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:405px;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 12px 23px 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 3px 3px 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 1px 1px 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:16px;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0;font-weight:600;font-family:Open Sans;position:absolute;top:220px;width:100%}.buttonCard .buttonArea{position:absolute;bottom:25px;width:100%}.buttonCard .subButton{position:absolute;bottom:10px}.buttonCard .content{color:var(--text);font-size:13px;height:80px;margin-top:15px;margin-bottom:30px;padding-left:30px;padding-right:30px;padding-top:30px;bottom:70px;position:absolute;font-weight:400;font-family:Open Sans}.buttonCard .icon{position:absolute;top:30px;left:10px;right:10px;height:185px;background-position:center bottom;background-size:contain;z-index:unset;width:unset;min-width:unset;min-height:unset}.buttonCard .buttonArea{bottom:30px}\n"] }); }
|
|
17
17
|
}
|
|
18
18
|
export { CardComponent };
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CardComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'lib-card', template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:230px}.buttonCard .content{font-size:14px;bottom:80px;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:3px;font-size:14px;font-family:Open Sans;font-weight:600;display:inline-block;min-width:150px;clear:both;overflow:hidden;height:45px;padding:13px;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:
|
|
21
|
+
args: [{ selector: 'lib-card', template: "<a href=\"/{{href}}\" (click)=\"linkClicked($event)\">\n <div class=\"service-card-container\">\n <div class=\"buttonCard selectType\" [id]=\"id\">\n <div style=\"background-image: url({{imageUrl}})\" class=\"icon\"></div>\n <div class=\"title\">{{title}}</div>\n <div class=\"content\">\n {{ content }}\n </div>\n <div class=\"row center buttonArea\">\n <button class=\"save\">{{buttonText}}</button>\n </div>\n </div>\n </div>\n</a>", styles: [".buttonCard .title{top:230px}.buttonCard .content{font-size:14px;bottom:80px;display:flex;flex-direction:column;align-items:center;text-align:center}.red{color:var(--red);font-weight:650;background-color:unset}.disabled{background:var(--inputBorder);box-shadow:none;color:var(--icon)}.save{margin-top:3px;font-size:14px;font-family:Open Sans;font-weight:600;display:inline-block;min-width:150px;clear:both;overflow:hidden;height:45px;padding:13px;width:-moz-fit-content;width:fit-content;text-transform:uppercase;text-align:center;border-radius:var(--inputBorderRadius);position:relative;border:0;background:var(--primaryColor);color:#fff;white-space:nowrap;transition:all .15s ease;cursor:pointer;box-shadow:0 3px 9px 0 var(--primaryColorOpaque)}.padTop{padding-top:12px}.linkButton{margin-top:unset}.subtext{color:var(--stroke)}.buttonCard{max-width:320px;width:320px;position:relative;float:none;cursor:pointer;padding-bottom:25px;margin:20px 20px 0;background-color:var(--navigation);box-shadow:0 12px 23px 0 var(--shadow);transition:box-shadow .3s;border-radius:var(--inputBorderRadius);min-height:405px;display:flex;flex-direction:column;align-items:center;justify-content:center}.buttonCard.shadow{box-shadow:0 12px 23px 0 var(--shadow)}.buttonCard.shadow .icon{background-size:50%;background-position:center top}.buttonCard:hover{filter:brightness(99.5%);box-shadow:0 3px 3px 0 var(--shadow);transition:box-shadow .3s}.buttonCard:active{filter:brightness(99%);box-shadow:0 1px 1px 0 var(--shadow);transition:box-shadow .3s}.buttonCard .title{font-size:16px;color:var(--tableText);text-align:center;text-transform:uppercase;padding-top:0;font-weight:600;font-family:Open Sans;position:absolute;top:220px;width:100%}.buttonCard .buttonArea{position:absolute;bottom:25px;width:100%}.buttonCard .subButton{position:absolute;bottom:10px}.buttonCard .content{color:var(--text);font-size:13px;height:80px;margin-top:15px;margin-bottom:30px;padding-left:30px;padding-right:30px;padding-top:30px;bottom:70px;position:absolute;font-weight:400;font-family:Open Sans}.buttonCard .icon{position:absolute;top:30px;left:10px;right:10px;height:185px;background-position:center bottom;background-size:contain;z-index:unset;width:unset;min-width:unset;min-height:unset}.buttonCard .buttonArea{bottom:30px}\n"] }]
|
|
22
22
|
}], propDecorators: { imageUrl: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}], title: [{
|
|
@@ -31,6 +31,9 @@ class CustomTagsComponent {
|
|
|
31
31
|
ngOnInit() {
|
|
32
32
|
this.updateTagsArray();
|
|
33
33
|
}
|
|
34
|
+
ngOnChanges(changes) {
|
|
35
|
+
this.updateTagsArray();
|
|
36
|
+
}
|
|
34
37
|
updateTagsArray() {
|
|
35
38
|
this.tagsArray = map(this.tags, (value, key) => {
|
|
36
39
|
return { name: key, value: value };
|
|
@@ -63,7 +66,7 @@ class CustomTagsComponent {
|
|
|
63
66
|
event.preventDefault();
|
|
64
67
|
}
|
|
65
68
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: { tags: "tags" }, outputs: { tagsChange: "tagsChange" }, ngImport: i0, template: "<div id=\"TagExtended\">\n <div class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n id=\"NewKey\"\n maxlength=\"100\"\n placeholder=\"enter the tag key\"\n [(ngModel)]=\"tag['name']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <input\n id=\"NewValue\"\n placeholder=\"enter the value\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n <div class=\"grid tags\">\n <input id=\"NewKey\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagName\" [ngClass]=\"{invalid: this.errors.name}\" maxlength=\"100\" placeholder=\"enter the tag key\">\n <input id=\"NewValue\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagValue\" [ngClass]=\"{invalid: this.errors.value}\" placeholder=\"enter the value\" maxlength=\"100\">\n <div id=\"AddCustomButton\" class=\"addIcon icon-add\" (click)=\"addTag()\"></div>\n </div>\n</div>", styles: [".grid.tags .invalid{border-color:var(--red)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: { tags: "tags" }, outputs: { tagsChange: "tagsChange" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"TagExtended\">\n <div class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n id=\"NewKey\"\n maxlength=\"100\"\n placeholder=\"enter the tag key\"\n [(ngModel)]=\"tag['name']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <input\n id=\"NewValue\"\n placeholder=\"enter the value\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n <div class=\"grid tags\">\n <input id=\"NewKey\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagName\" [ngClass]=\"{invalid: this.errors.name}\" maxlength=\"100\" placeholder=\"enter the tag key\">\n <input id=\"NewValue\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagValue\" [ngClass]=\"{invalid: this.errors.value}\" placeholder=\"enter the value\" maxlength=\"100\">\n <div id=\"AddCustomButton\" class=\"addIcon icon-add\" (click)=\"addTag()\"></div>\n </div>\n</div>", styles: [".grid.tags .invalid{border-color:var(--red)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
67
70
|
}
|
|
68
71
|
export { CustomTagsComponent };
|
|
69
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomTagsComponent, decorators: [{
|
|
@@ -74,4 +77,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
74
77
|
}], tagsChange: [{
|
|
75
78
|
type: Output
|
|
76
79
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2N1c3RvbS10YWdzL2N1c3RvbS10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jdXN0b20tdGFncy9jdXN0b20tdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFFM0MsTUFLYSxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxFLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFHLE1BQU0sQ0FBQztJQUVELENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsSUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzdCO1FBQ0QsSUFBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFlO1FBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQXREVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2SUN4QmhDLDgzQ0E2Qk07O1NETE8sbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQU1sQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNFbXB0eSwgbWFwLCB1bnNldH0gZnJvbSBcImxvZGFzaFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3VzdG9tLXRhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdGFncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVRhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgdGFnczogYW55ID0ge307XG4gIEBPdXRwdXQoKSB0YWdzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHRhZ3NBcnJheSA9IFtdO1xuICBuZXdUYWdOYW1lID0gJyc7XG4gIG5ld1RhZ1ZhbHVlID0gJyc7XG4gIGVycm9yczogYW55ID0ge307XG4gIG9iamVjdCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVUYWdzQXJyYXkoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnVwZGF0ZVRhZ3NBcnJheSgpXG4gIH1cblxuICB1cGRhdGVUYWdzQXJyYXkoKSB7XG4gICAgdGhpcy50YWdzQXJyYXkgPSBtYXAodGhpcy50YWdzLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHtuYW1lOiBrZXksIHZhbHVlOiB2YWx1ZX1cbiAgICB9KTtcbiAgICB0aGlzLnRhZ3NDaGFuZ2UuZW1pdCh0aGlzLnRhZ3MpO1xuICB9XG5cbiAgYWRkVGFnKCkge1xuICAgIHRoaXMuZXJyb3JzID0ge307XG4gICAgaWYoaXNFbXB0eSh0aGlzLm5ld1RhZ05hbWUpKSB7XG4gICAgICB0aGlzLmVycm9yc1snbmFtZSddID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYoaXNFbXB0eSh0aGlzLm5ld1RhZ1ZhbHVlKSkge1xuICAgICAgdGhpcy5lcnJvcnNbJ3ZhbHVlJ10gPSB0cnVlO1xuICAgIH1cbiAgICBpZighaXNFbXB0eSh0aGlzLmVycm9ycykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50YWdzW3RoaXMubmV3VGFnTmFtZV0gPSB0aGlzLm5ld1RhZ1ZhbHVlO1xuICAgIHRoaXMubmV3VGFnTmFtZSA9ICcnO1xuICAgIHRoaXMubmV3VGFnVmFsdWUgPSAnJztcbiAgICB0aGlzLnVwZGF0ZVRhZ3NBcnJheSgpO1xuICB9XG5cbiAgcmVtb3ZlVGFnKHRhZ05hbWU6IHN0cmluZykge1xuICAgIHVuc2V0KHRoaXMudGFncywgdGFnTmFtZSk7XG4gICAgdGhpcy51cGRhdGVUYWdzQXJyYXkoKTtcbiAgfVxuXG4gIGVudGVyS2V5UHJlc3NlZChldmVudCkge1xuICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cIlRhZ0V4dGVuZGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQgdGFnc1wiPlxuICAgICAgICA8bGFiZWw+TmFtZTwvbGFiZWw+PGxhYmVsPlZhbHVlPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiTmV3VGFnc1wiID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgdGFnc1wiICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnc0FycmF5XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cIk5ld0tleVwiXG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImVudGVyIHRoZSB0YWcga2V5XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZ1snbmFtZSddXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZW50ZXJLZXlQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJOZXdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdmFsdWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnWyd2YWx1ZSddXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZW50ZXJLZXlQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbW92ZUljb24gaWNvbi1jbGVhclwiIChjbGljayk9XCJyZW1vdmVUYWcodGFnLm5hbWUpXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncmlkIHRhZ3NcIj5cbiAgICAgICAgPGlucHV0IGlkPVwiTmV3S2V5XCIgKGtleXVwLmVudGVyKT1cImVudGVyS2V5UHJlc3NlZCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJuZXdUYWdOYW1lXCIgW25nQ2xhc3NdPVwie2ludmFsaWQ6IHRoaXMuZXJyb3JzLm5hbWV9XCIgbWF4bGVuZ3RoPVwiMTAwXCIgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdGFnIGtleVwiPlxuICAgICAgICA8aW5wdXQgaWQ9XCJOZXdWYWx1ZVwiIChrZXl1cC5lbnRlcik9XCJlbnRlcktleVByZXNzZWQoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwibmV3VGFnVmFsdWVcIiBbbmdDbGFzc109XCJ7aW52YWxpZDogdGhpcy5lcnJvcnMudmFsdWV9XCIgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdmFsdWVcIiBtYXhsZW5ndGg9XCIxMDBcIj5cbiAgICAgICAgPGRpdiBpZD1cIkFkZEN1c3RvbUJ1dHRvblwiIGNsYXNzPVwiYWRkSWNvbiBpY29uLWFkZFwiIChjbGljayk9XCJhZGRUYWcoKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -37,11 +37,11 @@ class TableCellMenuComponent {
|
|
|
37
37
|
this.cellParams.closeMenu(event);
|
|
38
38
|
}
|
|
39
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellMenuComponent, selector: "app-table-cell-menu", ngImport: i0, template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div\n (click)=\"toggleMenu($event)\"\n *ngIf=\"enableCellMenu\"\n attr.name=\"RowDots_{{ item.name }}\"\n class=\"dots\"\n id=\"RowDots_{{ item.id }}\"\n >\n ...\n </div>\n</div>\n", styles: [".cell-menu-container{width:100%;height:100%;position:absolute}.cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellMenuComponent, selector: "app-table-cell-menu", ngImport: i0, template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div\n (click)=\"toggleMenu($event)\"\n *ngIf=\"enableCellMenu\"\n attr.name=\"RowDots_{{ item.name }}\"\n class=\"dots\"\n id=\"RowDots_{{ item.id }}\"\n >\n ...\n </div>\n</div>\n", styles: [".cell-menu-container{width:100%;height:100%;position:absolute}.cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:var(--inputBorderRadius)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
|
|
41
41
|
}
|
|
42
42
|
export { TableCellMenuComponent };
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellMenuComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
|
-
args: [{ selector: 'app-table-cell-menu', template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div\n (click)=\"toggleMenu($event)\"\n *ngIf=\"enableCellMenu\"\n attr.name=\"RowDots_{{ item.name }}\"\n class=\"dots\"\n id=\"RowDots_{{ item.id }}\"\n >\n ...\n </div>\n</div>\n", styles: [".cell-menu-container{width:100%;height:100%;position:absolute}.cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:
|
|
45
|
+
args: [{ selector: 'app-table-cell-menu', template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div\n (click)=\"toggleMenu($event)\"\n *ngIf=\"enableCellMenu\"\n attr.name=\"RowDots_{{ item.name }}\"\n class=\"dots\"\n id=\"RowDots_{{ item.id }}\"\n >\n ...\n </div>\n</div>\n", styles: [".cell-menu-container{width:100%;height:100%;position:absolute}.cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:var(--inputBorderRadius)}\n"] }]
|
|
46
46
|
}] });
|
|
47
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtbWVudS90YWJsZS1jZWxsLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1tZW51L3RhYmxlLWNlbGwtbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3hDLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7OztBQUV2QixNQUthLHNCQUFzQjtJQUxuQztRQU1FLFNBQUksR0FBUTtZQUNWLFFBQVEsRUFBRSxLQUFLO1lBQ2YsRUFBRSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLFVBQVUsRUFBRSxFQUFFO1NBQ2YsQ0FBQztRQUVGLFNBQUksR0FBRyxLQUFLLENBQUM7S0E4QmQ7SUE1QkMsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVyRixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQStCO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxVQUErQjtRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzdCLE9BQU87U0FDUjtRQUNELENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBSztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXJDVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwyRENWbkMsNlJBV0E7O1NERGEsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge0lDZWxsUmVuZGVyZXJQYXJhbXN9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10YWJsZS1jZWxsLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlQ2VsbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuICBpdGVtOiBhbnkgPSB7XG4gICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgIGlkOiAnJyxcbiAgICBuYW1lOiAnJyxcbiAgICBhY3Rpb25MaXN0OiBbXSxcbiAgfTtcbiAgY2VsbFBhcmFtcztcbiAgb3BlbiA9IGZhbHNlO1xuXG4gIGdldCBlbmFibGVDZWxsTWVudSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISghdGhpcy5pdGVtIHx8ICF0aGlzLml0ZW0uYWN0aW9uTGlzdCB8fCB0aGlzLml0ZW0uYWN0aW9uTGlzdC5sZW5ndGggPT09IDApO1xuXG4gIH1cblxuICBhZ0luaXQoY2VsbFBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IGNlbGxQYXJhbXM7XG4gICAgdGhpcy5pdGVtID0gXy5nZXQoY2VsbFBhcmFtcywgJ2RhdGEnKTtcbiAgfVxuXG4gIHJlZnJlc2goY2VsbFBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IGNlbGxQYXJhbXM7XG4gICAgdGhpcy5pdGVtID0gXy5nZXQoY2VsbFBhcmFtcywgJ2RhdGEnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VsbFBhcmFtcy5vcGVuTWVudSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBfLmRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMuY2VsbFBhcmFtcy5vcGVuTWVudShldmVudCwgdGhpcy5pdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlQWN0aW9uTWVudShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuY2VsbFBhcmFtcy5jbG9zZU1lbnUoZXZlbnQpO1xuICB9XG59XG4iLCI8ZGl2IChjbGlja091dHNpZGUpPVwiY2xvc2VBY3Rpb25NZW51KCRldmVudClcIiBjbGFzcz1cImNlbGwtbWVudS1jb250YWluZXJcIj5cbiAgPGRpdlxuICAgIChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICAgICpuZ0lmPVwiZW5hYmxlQ2VsbE1lbnVcIlxuICAgIGF0dHIubmFtZT1cIlJvd0RvdHNfe3sgaXRlbS5uYW1lIH19XCJcbiAgICBjbGFzcz1cImRvdHNcIlxuICAgIGlkPVwiUm93RG90c197eyBpdGVtLmlkIH19XCJcbiAgPlxuICAgIC4uLlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -118,7 +118,7 @@ class TableColumnDefaultComponent {
|
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
120
|
headerParams.api.addEventListener('columnEverythingChanged', (event) => {
|
|
121
|
-
_.forEach(event.
|
|
121
|
+
_.forEach(event.api?.columnModel?.columnDefs, colDef => {
|
|
122
122
|
if (this.columnDef.colId === colDef.colId && colDef.headerComponentParams?.filterOptions) {
|
|
123
123
|
this.updateFilterOptions();
|
|
124
124
|
}
|
|
@@ -256,14 +256,14 @@ class TableColumnDefaultComponent {
|
|
|
256
256
|
});
|
|
257
257
|
}
|
|
258
258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnDefaultComponent, deps: [{ token: i1.DataTableFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
259
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnDefaultComponent, selector: "app-table-column-default", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:8px!important;height:14px!important;width:14px!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:
|
|
259
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnDefaultComponent, selector: "app-table-column-default", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:8px!important;height:14px!important;width:14px!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:var(--inputBorderWidth);height:10px!important;width:10px!important}.header-text-container{white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.text-input-filter{display:flex;flex-direction:row;align-items:center}.text-input-filter .bubble{margin-top:8px;margin-left:1px;margin-right:8px;width:14px;height:14px;flex-shrink:0}.ag-header-col-filter-button{margin-top:8px}.ag-header-cell-text{margin-top:2px;width:100%}.ag-header-cell-label .ag-sort-descending-icon{margin-top:20px!important}.show-input-filter{width:100%}.filterButton{background-image:none}.filterButton .options{position:fixed}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: i4.TableColumnFilterComponent, selector: "app-table-column-filter", inputs: ["type", "filterString", "filterName", "columnDef", "openStatusMenu", "dateFilter"] }] }); }
|
|
260
260
|
}
|
|
261
261
|
export { TableColumnDefaultComponent };
|
|
262
262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnDefaultComponent, decorators: [{
|
|
263
263
|
type: Component,
|
|
264
|
-
args: [{ selector: 'app-table-column-default', template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:8px!important;height:14px!important;width:14px!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:
|
|
264
|
+
args: [{ selector: 'app-table-column-default', template: "<div\n (click)=\"sort($event)\"\n [ngClass]=\"{ 'nf-can-sort': enableSorting }\"\n class=\"ag-cell-label-container ag-header-cell-sorted-none\"\n id=\"TableHeaderContainer_{{ columnDef.colId }}\"\n>\n <span\n #menuButton\n (click)=\"openGridMenu()\"\n *ngIf=\"false\"\n class=\"ag-header-icon ag-header-cell-menu-button\"\n id=\"HeaderMenu_{{ columnDef.colId }}\"\n ref=\"eMenu\"\n >\n <span class=\"ag-icon ag-icon-menu\" unselectable=\"on\"></span>\n </span>\n <span\n (click)=\"pin()\"\n class=\"ag-header-icon ag-header-col-pin-button\"\n id=\"HeaderPin_{{ columnDef.colId }}\"\n title=\"{{ pinned ? 'Unpin Column' : 'Pin Column' }}\"\n >\n <span class=\"ag-icon ag-icon-pin\"></span>\n </span>\n <span\n (click)=\"hide()\"\n class=\"ag-header-icon ag-header-col-hide-button\"\n id=\"HeaderHide_{{ columnDef.colId }}\"\n title=\"Hide Column\"\n >\n <span class=\"ag-icon ag-icon-eye-slash\"></span>\n </span>\n <div class=\"ag-header-cell-label\" ref=\"eLabel\" unselectable=\"on\">\n <span\n *ngIf=\"!headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterSpacer_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterSpace_{{ columnDef.colId }}\" style=\"opacity: 0\"></span>\n </span>\n <span\n (click)=\"toggleFilter($event)\"\n *ngIf=\"headerParams.filterType\"\n [ngClass]=\"{ 'ag-filter-applied': filterApplied }\"\n class=\"ag-header-icon ag-header-col-filter-button\"\n id=\"HeaderFilterButton_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-filter\" id=\"HeaderFilterIcon_{{ columnDef.colId }}\"></span>\n </span>\n <div\n (clickOutside)=\"hideFilter($event)\"\n [ngClass]=\"{ 'show-input-filter': showFilter }\"\n class=\"header-text-container text-input-filter\"\n >\n <span\n (click)=\"toggleSecondaryFilter($event)\"\n *ngIf=\"showBubble\"\n [ngClass]=\"statusClass\"\n class=\"bubble\"\n id=\"HeaderStatus_{{ columnDef.colId }}\"\n >\n <svg *ngIf=\"showLoader\" class=\"circular\" viewBox=\"25 25 50 50\">\n <circle\n class=\"path\"\n cx=\"50\"\n cy=\"50\"\n fill=\"none\"\n r=\"20\"\n stroke-miterlimit=\"10\"\n stroke-width=\"3\"\n ></circle>\n </svg>\n </span>\n <app-table-column-filter\n *ngIf=\"((showFilter || comboActive) && !(filterType === 'COMBO' && !comboActive)) && filterType !== 'SELECT' && filterType !== 'CUSTOM'\"\n [columnDef]=\"columnDef\"\n [filterName]=\"headerName\"\n [filterString]=\"''\"\n [openStatusMenu]=\"toggleSecondaryFilter.bind(this)\"\n [type]=\"filterType\"\n ></app-table-column-filter>\n <span\n *ngIf=\"((!showFilter && !comboActive) || (filterType === 'COMBO' && !comboActive)) || filterType === 'SELECT' || filterType === 'CUSTOM'\"\n [title]=\"headerName\"\n class=\"ag-header-cell-text\"\n id=\"HeaderName_{{ columnDef.colId }}\"\n unselectable=\"on\"\n >{{ headerName }}</span\n >\n </div>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'desc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-ascending-icon\"\n id=\"HeaderSortAsc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-asc\" unselectable=\"on\"></span>\n </span>\n <span\n *ngIf=\"enableSorting && !showFilter\"\n [ngClass]=\"{ 'ag-hidden': sortDir !== 'asc' }\"\n class=\"ag-header-icon ag-header-label-icon ag-sort-descending-icon\"\n id=\"HeaderSortDesc_{{ columnDef.colId }}\"\n >\n <span class=\"ag-icon ag-icon-desc\" unselectable=\"on\"></span>\n </span>\n </div>\n</div>\n", styles: [".ag-header-sort-click-space{display:flex;height:100%;position:relative;width:100%}.ag-header-col-filter-button.ag-filter-applied{opacity:1!important}.Online,.v7Online,.v7Offline{margin-right:8px!important;height:14px!important;width:14px!important}.Online:hover,.v7Online:hover,.v7Offline:hover{border-color:var(--primaryColor)!important;border-style:solid;border-width:var(--inputBorderWidth);height:10px!important;width:10px!important}.header-text-container{white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.text-input-filter{display:flex;flex-direction:row;align-items:center}.text-input-filter .bubble{margin-top:8px;margin-left:1px;margin-right:8px;width:14px;height:14px;flex-shrink:0}.ag-header-col-filter-button{margin-top:8px}.ag-header-cell-text{margin-top:2px;width:100%}.ag-header-cell-label .ag-sort-descending-icon{margin-top:20px!important}.show-input-filter{width:100%}.filterButton{background-image:none}.filterButton .options{position:fixed}\n"] }]
|
|
265
265
|
}], ctorParameters: function () { return [{ type: i1.DataTableFilterService }]; }, propDecorators: { menuButton: [{
|
|
266
266
|
type: ViewChild,
|
|
267
267
|
args: ['menuButton']
|
|
268
268
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQWdCLFNBQVMsRUFBc0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFHbEMsTUFLYSwyQkFBMkI7SUFrQ3RDLFlBQW9CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQTlCekQsaUJBQVksR0FBUTtZQUNsQixHQUFHLEVBQUUsRUFBRTtTQUNSLENBQUM7UUFNRixjQUFTLEdBQVE7WUFDZixPQUFPLEVBQUUsU0FBUztZQUNsQixLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBQ0YsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGVBQVUs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RSwwQkFBMEI7NkdBb0NYLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lIZWFkZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUhlYWRlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtY29sdW1uLWRlZmF1bHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb2x1bW4tZGVmYXVsdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQgaW1wbGVtZW50cyBJSGVhZGVyQW5ndWxhckNvbXAsIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG4gIGl0ZW06IHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgfTtcbiAgaGVhZGVyUGFyYW1zOiBhbnkgPSB7XG4gICAgYXBpOiB7fSxcbiAgfTtcbiAgaGVhZGVyTmFtZTtcbiAgZW5hYmxlU29ydGluZztcbiAgc29ydERpcjtcbiAgc29ydENvbDtcbiAgY29sdW1uT2JqO1xuICBjb2x1bW5EZWY6IGFueSA9IHtcbiAgICBzb3J0RGlyOiB1bmRlZmluZWQsXG4gICAgY29sSWQ6IHVuZGVmaW5lZCxcbiAgICBwaW5Db2x1bW46IHVuZGVmaW5lZCxcbiAgICBzb3J0Q29sdW1uOiB1bmRlZmluZWQsXG4gIH07XG4gIGZpbHRlclR5cGUgPSAnVEVYVElOUFVUJztcbiAgZmlsdGVyT3B0aW9ucyA9IFtdO1xuICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7fTtcbiAgZmlsdGVyaW5nID0gZmFsc2U7XG4gIHBpbm5lZDtcbiAgc2hvd0ZpbHRlciA9IGZhbHNlO1xuICBjb21ib0FjdGl2ZSA9IGZhbHNlO1xuICBzaG93U2Vjb25kYXJ5RmlsdGVyID0gZmFsc2U7XG4gIF9zaG93Q29sdW1uTWVudTtcblxuICBvbmxpbmVTdGF0dXNGaWx0ZXI7XG4gIHNob3dCdWJibGUgPSBmYWxzZTtcbiAgc2hvd0xvYWRlciA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgQFZpZXdDaGlsZCgnbWVudUJ1dHRvbicpIG1lbnVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgaWYgKCF0aGlzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXRlbSA9IHtcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgX3N0YXR1c0NsYXNzID0gJ3Y3T2ZmbGluZSc7XG5cbiAgZ2V0IHN0YXR1c0NsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnNob3dCdWJibGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzID0gXy5nZXQoXG4gICAgICB0aGlzLmNvbHVtbk9iaixcbiAgICAgICdncmlkQXBpLmNvbHVtbkZpbHRlcnMuaGFzQXBpU2Vzc2lvbicsXG4gICAgICBfLmdldCh0aGlzLmNvbHVtbk9iaiwgJ2dyaWRBcGkuY29sdW1uRmlsdGVycy5vbmxpbmUnKVxuICAgICk7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3T25saW5lT2ZmbGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFsc2UnOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09mZmxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RydWUnOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09ubGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncHJvdmlzaW9uaW5nJzpcbiAgICAgICAgdGhpcy5fc3RhdHVzQ2xhc3MgPSAnJztcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3RXJyb3InO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3T25saW5lT2ZmbGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzQ2xhc3M7XG4gIH1cblxuICBnZXQgZmlsdGVyQXBwbGllZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb2x1bW5JZCA9IF8uZ2V0KHRoaXMuY29sdW1uRGVmLCAnY29sSWQnKTtcbiAgICBjb25zdCBmaWx0ZXJWYWwgPSBfLmdldCh0aGlzLmhlYWRlclBhcmFtcywgYGFwaS5jb2x1bW5GaWx0ZXJzLiR7Y29sdW1uSWR9YCk7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkoZmlsdGVyVmFsKSB8fCB0aGlzLnNob3dGaWx0ZXIgfHwgdGhpcy5maWx0ZXJpbmc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgYWdJbml0KGhlYWRlclBhcmFtczogYW55ID0ge30pOiB2b2lkIHtcbiAgICBpZiAoIWhlYWRlclBhcmFtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhlYWRlclBhcmFtcyA9IGhlYWRlclBhcmFtcztcbiAgICB0aGlzLmVuYWJsZVNvcnRpbmcgPSBoZWFkZXJQYXJhbXMuZW5hYmxlU29ydGluZztcbiAgICB0aGlzLmhlYWRlck5hbWUgPSBoZWFkZXJQYXJhbXMuZGlzcGxheU5hbWU7XG4gICAgdGhpcy5jb2x1bW5PYmogPSBoZWFkZXJQYXJhbXMuY29sdW1uO1xuICAgIHRoaXMuZmlsdGVyVHlwZSA9IGhlYWRlclBhcmFtcy5maWx0ZXJUeXBlIHx8ICdURVhUSU5QVVQnO1xuICAgIHRoaXMuY29sdW1uRmlsdGVycyA9IGhlYWRlclBhcmFtcy5jb2x1bW5GaWx0ZXJzO1xuICAgIHRoaXMuY29sdW1uRGVmID0gdGhpcy5jb2x1bW5PYmouY29sRGVmO1xuICAgIHRoaXMucGlubmVkID0gdGhpcy5jb2x1bW5PYmoucGlubmVkID09PSAnbGVmdCc7XG4gICAgdGhpcy5zb3J0RGlyID0gdGhpcy5jb2x1bW5EZWYuc29ydERpciB8fCAnbm9uZSc7XG4gICAgdGhpcy5vbmxpbmVTdGF0dXNGaWx0ZXIgPSBfLmhhcyh0aGlzLmNvbHVtbkZpbHRlcnMsICdoYXNBcGlTZXNzaW9uJykgPyAnaGFzQXBpU2Vzc2lvbicgOiAnb25saW5lJztcbiAgICB0aGlzLnNob3dCdWJibGUgPVxuICAgICAgdGhpcy5jb2x1bW5EZWYuY29sSWQgPT09ICduYW1lJyAmJlxuICAgICAgKF8uaGFzKHRoaXMuY29sdW1uRmlsdGVycywgJ2hhc0FwaVNlc3Npb24nKSB8fCBfLmhhcyh0aGlzLmNvbHVtbkZpbHRlcnMsICdvbmxpbmUnKSk7XG4gICAgdGhpcy5fc2hvd0NvbHVtbk1lbnUgPSBoZWFkZXJQYXJhbXMuc2hvd0NvbHVtbk1lbnU7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJPcHRpb25zKCk7XG4gICAgaGVhZGVyUGFyYW1zLmFwaS5hZGRFdmVudExpc3RlbmVyKCdzb3J0Q2hhbmdlZCcsIChldmVudCkgPT4ge1xuICAgICAgY29uc3QgY29sSWQgPSBfLmdldChldmVudCwgJ2NvbHVtbkRlZi5jb2xJZCcsICcnKTtcbiAgICAgIGlmIChjb2xJZCAhPT0gdGhpcy5jb2x1bW5EZWYuY29sSWQpIHtcbiAgICAgICAgdGhpcy5zb3J0RGlyID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zb3J0RGlyID0gXy5nZXQoZXZlbnQsICdzb3J0RGlyJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaGVhZGVyUGFyYW1zLmFwaS5hZGRFdmVudExpc3RlbmVyKCdjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZCcsIChldmVudCkgPT4ge1xuICAgICAgXy5mb3JFYWNoKGV2ZW50LmNvbHVtbkFwaS5jb2x1bW5Nb2RlbC5jb2x1bW5EZWZzLCBjb2xEZWYgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb2x1bW5EZWYuY29sSWQgPT09IGNvbERlZi5jb2xJZCAmJiBjb2xEZWYuaGVhZGVyQ29tcG9uZW50UGFyYW1zPy5maWx0ZXJPcHRpb25zKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJPcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnNob3dCdWJibGUpIHtcbiAgICAgIC8vIHRoaXMudXBkYXRlU3RhdHVzQ2xhc3MoKTtcbiAgICB9XG4gIH1cblxuICBwaW4oKTogdm9pZCB7XG4gICAgdGhpcy5jb2x1bW5EZWYucGluQ29sdW1uKHRoaXMuY29sdW1uT2JqLCB0aGlzLnBpbm5lZCA/IGZhbHNlIDogJ2xlZnQnKTtcbiAgICB0aGlzLnBpbm5lZCA9ICF0aGlzLnBpbm5lZDtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMuYXBpLnppdGlIaWRlQ29sdW1uKHRoaXMuY29sdW1uT2JqLCBmYWxzZSk7XG4gIH1cblxuICBzb3J0KGV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbHVtbkRlZi5zb3J0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRJZCA9IF8uZ2V0KGV2ZW50LCAndGFyZ2V0LmlkJyk7XG4gICAgaWYgKFxuICAgICAgXy5pbmNsdWRlcyhcbiAgICAgICAgW2BIZWFkZXJTdGF0dXNfJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gLCAnU2VhcmNoRmlsdGVyJywgYEhlYWRlckZpbHRlckljb25fJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gXSxcbiAgICAgICAgdGFyZ2V0SWRcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKF8uaXNFbXB0eSh0aGlzLnNvcnREaXIpKSB7XG4gICAgICB0aGlzLnNvcnREaXIgPSAnYXNjJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuc29ydERpciA9PT0gJ2FzYycpIHtcbiAgICAgIHRoaXMuc29ydERpciA9ICdkZXNjJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0RGlyID0gJ2FzYyc7XG4gICAgfVxuICAgIF8uc2V0KHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLnNvcnREaXInLCB0aGlzLnNvcnREaXIpO1xuICAgIF8uc2V0KHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLnNvcnREaXInLCB0aGlzLmNvbHVtbkRlZi5jb2xJZCk7XG4gICAgaWYgKHRoaXMuY29sdW1uRGVmLnNvcnRDb2x1bW4pIHtcbiAgICAgIHRoaXMuY29sdW1uRGVmLnNvcnRDb2x1bW4odGhpcy5jb2x1bW5EZWYuY29sSWQsIHRoaXMuc29ydERpciwgdGhpcy5oZWFkZXJQYXJhbXMuYXBpKTtcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLmFwaS5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgdHlwZTogJ3NvcnRDaGFuZ2VkJyxcbiAgICAgICAgY29sdW1uRGVmOiB0aGlzLmNvbHVtbkRlZixcbiAgICAgICAgc29ydERpcjogdGhpcy5zb3J0RGlyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRmlsdGVyKGV2ZW50KSB7XG4gICAgdGhpcy5zaG93RmlsdGVyID0gIXRoaXMuc2hvd0ZpbHRlcjtcbiAgICBpZiAodGhpcy5maWx0ZXJUeXBlID09PSAnU0VMRUNUJyB8fCB0aGlzLmZpbHRlclR5cGUgPT09ICdDT01CTycgfHwgdGhpcy5maWx0ZXJUeXBlID09PSAnREFURVRJTUUnfHwgdGhpcy5maWx0ZXJUeXBlID09PSAnQVRUUklCVVRFJykge1xuICAgICAgaWYgKHRoaXMuc2hvd0ZpbHRlcikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkub3BlbkhlYWRlckZpbHRlcicsIGV2ZW50LCB0aGlzLmZpbHRlck9wdGlvbnMsIHRoaXMuZmlsdGVyVHlwZSwgdGhpcy5jb2x1bW5EZWY/LmNvbElkLCB0aGlzLmhlYWRlck5hbWUsIHRoaXMuY29sdW1uRGVmPy5oZWFkZXJDb21wb25lbnRQYXJhbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkuY2xvc2VIZWFkZXJGaWx0ZXInLCBldmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdDVVNUT00nKSB7XG4gICAgICBpZiAodGhpcy5zaG93RmlsdGVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyT3B0aW9ucygpO1xuICAgICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2NvbHVtbi5jb2xEZWYuaGVhZGVyQ29tcG9uZW50UGFyYW1zLm9wZW5IZWFkZXJGaWx0ZXInLCBldmVudCwgdGhpcy5maWx0ZXJPcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnY29sdW1uLmNvbERlZi5oZWFkZXJDb21wb25lbnRQYXJhbXMuY2xvc2VIZWFkZXJGaWx0ZXInLCBldmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2Vjb25kYXJ5RmlsdGVyKGV2ZW50KSB7XG4gICAgdGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyID0gIXRoaXMuc2hvd1NlY29uZGFyeUZpbHRlcjtcbiAgICBpZiAodGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyKSB7XG4gICAgICBjb25zdCBvcHRpb25zID0gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdBbnknLFxuICAgICAgICAgIGNvbHVtbklkOiB0aGlzLm9ubGluZVN0YXR1c0ZpbHRlcixcbiAgICAgICAgICBmaWx0ZXJOYW1lOiAnU3RhdHVzJyxcbiAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgICAgICAgIGJ1YmJsZUNsYXNzOiAndjdPbmxpbmVPZmZsaW5lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT25saW5lJyxcbiAgICAgICAgICBjb2x1bW5JZDogdGhpcy5vbmxpbmVTdGF0dXNGaWx0ZXIsXG4gICAgICAgICAgZmlsdGVyTmFtZTogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWU6ICd0cnVlJyxcbiAgICAgICAgICBidWJibGVDbGFzczogJ3Y3T25saW5lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT2ZmbGluZScsXG4gICAgICAgICAgY29sdW1uSWQ6IHRoaXMub25saW5lU3RhdHVzRmlsdGVyLFxuICAgICAgICAgIGZpbHRlck5hbWU6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlOiAnZmFsc2UnLFxuICAgICAgICAgIGJ1YmJsZUNsYXNzOiAndjdPZmZsaW5lJyxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5vcGVuSGVhZGVyRmlsdGVyJywgZXZlbnQsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5jbG9zZUhlYWRlckZpbHRlcicsIGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBoaWRlRmlsdGVyKGV2ZW50KSB7XG4gICAgY29uc3QgdGFyZ2V0SWQgPSBfLmdldChldmVudCwgJ3RhcmdldC5pZCcpO1xuICAgIGlmIChcbiAgICAgIF8uaW5jbHVkZXMoXG4gICAgICAgIFtgSGVhZGVyRmlsdGVyQnV0dG9uXyR7dGhpcy5jb2x1bW5EZWYuY29sSWR9YCwgYEhlYWRlckZpbHRlckljb25fJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gXSxcbiAgICAgICAgdGFyZ2V0SWRcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRhcmdldElkID09PSB0aGlzLmNvbHVtbkRlZj8uY29sSWQgJiYgdGhpcy5maWx0ZXJUeXBlID09PSAnQ09NQk8nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLmNsb3NlSGVhZGVyRmlsdGVyJywgZXZlbnQpO1xuXG4gICAgdGhpcy5jb21ib0FjdGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd0ZpbHRlciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NlY29uZGFyeUZpbHRlciA9IGZhbHNlO1xuICB9XG5cbiAgcmVmcmVzaChwYXJhbXM6IElIZWFkZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9wZW5HcmlkTWVudSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3Nob3dDb2x1bW5NZW51KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Nob3dDb2x1bW5NZW51KHRoaXMubWVudUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlck9wdGlvbnMoKSB7XG4gICAgbGV0IG9wdGlvbnMgPSBbXTtcbiAgICBpZiAodGhpcy5oZWFkZXJQYXJhbXMuZ2V0RmlsdGVyT3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHRoaXMuaGVhZGVyUGFyYW1zLmdldEZpbHRlck9wdGlvbnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucyA9IHRoaXMuaGVhZGVyUGFyYW1zLmZpbHRlck9wdGlvbnM7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyA9IF8ubWFwKG9wdGlvbnMsIChvcHRpb24pID0+IHtcbiAgICAgIG9wdGlvbi5jb2x1bW5JZCA9IHRoaXMuY29sdW1uRGVmLmNvbElkO1xuICAgICAgb3B0aW9uLmZpbHRlck5hbWUgPSB0aGlzLmhlYWRlck5hbWU7XG4gICAgICBvcHRpb24udHlwZSA9IHRoaXMuZmlsdGVyVHlwZTtcbiAgICAgIHJldHVybiBvcHRpb247XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKGNsaWNrKT1cInNvcnQoJGV2ZW50KVwiXG4gIFtuZ0NsYXNzXT1cInsgJ25mLWNhbi1zb3J0JzogZW5hYmxlU29ydGluZyB9XCJcbiAgY2xhc3M9XCJhZy1jZWxsLWxhYmVsLWNvbnRhaW5lciBhZy1oZWFkZXItY2VsbC1zb3J0ZWQtbm9uZVwiXG4gIGlkPVwiVGFibGVIZWFkZXJDb250YWluZXJfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbj5cbiAgICA8c3BhblxuICAgICAgI21lbnVCdXR0b25cbiAgICAgIChjbGljayk9XCJvcGVuR3JpZE1lbnUoKVwiXG4gICAgICAqbmdJZj1cImZhbHNlXCJcbiAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWNlbGwtbWVudS1idXR0b25cIlxuICAgICAgaWQ9XCJIZWFkZXJNZW51X3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgICByZWY9XCJlTWVudVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1tZW51XCIgdW5zZWxlY3RhYmxlPVwib25cIj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8c3BhblxuICAgIChjbGljayk9XCJwaW4oKVwiXG4gICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItY29sLXBpbi1idXR0b25cIlxuICAgIGlkPVwiSGVhZGVyUGluX3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgdGl0bGU9XCJ7eyBwaW5uZWQgPyAnVW5waW4gQ29sdW1uJyA6ICdQaW4gQ29sdW1uJyB9fVwiXG4gID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhZy1pY29uIGFnLWljb24tcGluXCI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAoY2xpY2spPVwiaGlkZSgpXCJcbiAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtaGlkZS1idXR0b25cIlxuICAgIGlkPVwiSGVhZGVySGlkZV97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgIHRpdGxlPVwiSGlkZSBDb2x1bW5cIlxuICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLWV5ZS1zbGFzaFwiPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJhZy1oZWFkZXItY2VsbC1sYWJlbFwiIHJlZj1cImVMYWJlbFwiIHVuc2VsZWN0YWJsZT1cIm9uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCIhaGVhZGVyUGFyYW1zLmZpbHRlclR5cGVcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FnLWZpbHRlci1hcHBsaWVkJzogZmlsdGVyQXBwbGllZCB9XCJcbiAgICAgICAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtZmlsdGVyLWJ1dHRvblwiXG4gICAgICAgICAgaWQ9XCJIZWFkZXJGaWx0ZXJTcGFjZXJfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZy1pY29uIGFnLWljb24tZmlsdGVyXCIgaWQ9XCJIZWFkZXJGaWx0ZXJTcGFjZV97eyBjb2x1bW5EZWYuY29sSWQgfX1cIiBzdHlsZT1cIm9wYWNpdHk6IDBcIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICpuZ0lmPVwiaGVhZGVyUGFyYW1zLmZpbHRlclR5cGVcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWctZmlsdGVyLWFwcGxpZWQnOiBmaWx0ZXJBcHBsaWVkIH1cIlxuICAgICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItY29sLWZpbHRlci1idXR0b25cIlxuICAgICAgaWQ9XCJIZWFkZXJGaWx0ZXJCdXR0b25fe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1maWx0ZXJcIiBpZD1cIkhlYWRlckZpbHRlckljb25fe3sgY29sdW1uRGVmLmNvbElkIH19XCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgKGNsaWNrT3V0c2lkZSk9XCJoaWRlRmlsdGVyKCRldmVudClcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc2hvdy1pbnB1dC1maWx0ZXInOiBzaG93RmlsdGVyIH1cIlxuICAgICAgY2xhc3M9XCJoZWFkZXItdGV4dC1jb250YWluZXIgdGV4dC1pbnB1dC1maWx0ZXJcIlxuICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTZWNvbmRhcnlGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd0J1YmJsZVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInN0YXR1c0NsYXNzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidWJibGVcIlxuICAgICAgICAgICAgICBpZD1cIkhlYWRlclN0YXR1c197eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJzaG93TG9hZGVyXCIgY2xhc3M9XCJjaXJjdWxhclwiIHZpZXdCb3g9XCIyNSAyNSA1MCA1MFwiPlxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwYXRoXCJcbiAgICAgICAgICAgICAgICAgICAgICBjeD1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICBjeT1cIjUwXCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgcj1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2Utd2lkdGg9XCIzXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvY2lyY2xlPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgPGFwcC10YWJsZS1jb2x1bW4tZmlsdGVyXG4gICAgICAgICpuZ0lmPVwiKChzaG93RmlsdGVyIHx8IGNvbWJvQWN0aXZlKSAmJiAhKGZpbHRlclR5cGUgPT09ICdDT01CTycgJiYgIWNvbWJvQWN0aXZlKSkgJiYgZmlsdGVyVHlwZSAhPT0gJ1NFTEVDVCcgJiYgZmlsdGVyVHlwZSAhPT0gJ0NVU1RPTSdcIlxuICAgICAgICBbY29sdW1uRGVmXT1cImNvbHVtbkRlZlwiXG4gICAgICAgIFtmaWx0ZXJOYW1lXT1cImhlYWRlck5hbWVcIlxuICAgICAgICBbZmlsdGVyU3RyaW5nXT1cIicnXCJcbiAgICAgICAgW29wZW5TdGF0dXNNZW51XT1cInRvZ2dsZVNlY29uZGFyeUZpbHRlci5iaW5kKHRoaXMpXCJcbiAgICAgICAgW3R5cGVdPVwiZmlsdGVyVHlwZVwiXG4gICAgICA+PC9hcHAtdGFibGUtY29sdW1uLWZpbHRlcj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwiKCghc2hvd0ZpbHRlciAmJiAhY29tYm9BY3RpdmUpIHx8IChmaWx0ZXJUeXBlID09PSAnQ09NQk8nICYmICFjb21ib0FjdGl2ZSkpIHx8IGZpbHRlclR5cGUgPT09ICdTRUxFQ1QnIHx8IGZpbHRlclR5cGUgPT09ICdDVVNUT00nXCJcbiAgICAgICAgW3RpdGxlXT1cImhlYWRlck5hbWVcIlxuICAgICAgICBjbGFzcz1cImFnLWhlYWRlci1jZWxsLXRleHRcIlxuICAgICAgICBpZD1cIkhlYWRlck5hbWVfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICAgICAgdW5zZWxlY3RhYmxlPVwib25cIlxuICAgICAgPnt7IGhlYWRlck5hbWUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2Rpdj5cbiAgICA8c3BhblxuICAgICAgKm5nSWY9XCJlbmFibGVTb3J0aW5nICYmICFzaG93RmlsdGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2FnLWhpZGRlbic6IHNvcnREaXIgIT09ICdkZXNjJyB9XCJcbiAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWxhYmVsLWljb24gYWctc29ydC1hc2NlbmRpbmctaWNvblwiXG4gICAgICBpZD1cIkhlYWRlclNvcnRBc2Nfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1hc2NcIiB1bnNlbGVjdGFibGU9XCJvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImVuYWJsZVNvcnRpbmcgJiYgIXNob3dGaWx0ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWctaGlkZGVuJzogc29ydERpciAhPT0gJ2FzYycgfVwiXG4gICAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1sYWJlbC1pY29uIGFnLXNvcnQtZGVzY2VuZGluZy1pY29uXCJcbiAgICAgIGlkPVwiSGVhZGVyU29ydERlc2Nfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1kZXNjXCIgdW5zZWxlY3RhYmxlPVwib25cIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLWRlZmF1bHQvdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQWdCLFNBQVMsRUFBc0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3RGLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFHbEMsTUFLYSwyQkFBMkI7SUFrQ3RDLFlBQW9CLGFBQXFDO1FBQXJDLGtCQUFhLEdBQWIsYUFBYSxDQUF3QjtRQTlCekQsaUJBQVksR0FBUTtZQUNsQixHQUFHLEVBQUUsRUFBRTtTQUNSLENBQUM7UUFNRixjQUFTLEdBQVE7WUFDZixPQUFPLEVBQUUsU0FBUztZQUNsQixLQUFLLEVBQUUsU0FBUztZQUNoQixTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsU0FBUztTQUN0QixDQUFDO1FBQ0YsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGVBQVUs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RSwwQkFBMEI7NkdBb0NYLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lIZWFkZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUhlYWRlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtY29sdW1uLWRlZmF1bHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY29sdW1uLWRlZmF1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jb2x1bW4tZGVmYXVsdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQgaW1wbGVtZW50cyBJSGVhZGVyQW5ndWxhckNvbXAsIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG4gIGl0ZW06IHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgfTtcbiAgaGVhZGVyUGFyYW1zOiBhbnkgPSB7XG4gICAgYXBpOiB7fSxcbiAgfTtcbiAgaGVhZGVyTmFtZTtcbiAgZW5hYmxlU29ydGluZztcbiAgc29ydERpcjtcbiAgc29ydENvbDtcbiAgY29sdW1uT2JqO1xuICBjb2x1bW5EZWY6IGFueSA9IHtcbiAgICBzb3J0RGlyOiB1bmRlZmluZWQsXG4gICAgY29sSWQ6IHVuZGVmaW5lZCxcbiAgICBwaW5Db2x1bW46IHVuZGVmaW5lZCxcbiAgICBzb3J0Q29sdW1uOiB1bmRlZmluZWQsXG4gIH07XG4gIGZpbHRlclR5cGUgPSAnVEVYVElOUFVUJztcbiAgZmlsdGVyT3B0aW9ucyA9IFtdO1xuICBjb2x1bW5GaWx0ZXJzOiBhbnkgPSB7fTtcbiAgZmlsdGVyaW5nID0gZmFsc2U7XG4gIHBpbm5lZDtcbiAgc2hvd0ZpbHRlciA9IGZhbHNlO1xuICBjb21ib0FjdGl2ZSA9IGZhbHNlO1xuICBzaG93U2Vjb25kYXJ5RmlsdGVyID0gZmFsc2U7XG4gIF9zaG93Q29sdW1uTWVudTtcblxuICBvbmxpbmVTdGF0dXNGaWx0ZXI7XG4gIHNob3dCdWJibGUgPSBmYWxzZTtcbiAgc2hvd0xvYWRlciA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgQFZpZXdDaGlsZCgnbWVudUJ1dHRvbicpIG1lbnVCdXR0b246IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJTZXJ2aWNlOiBEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlKSB7XG4gICAgaWYgKCF0aGlzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXRlbSA9IHtcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgX3N0YXR1c0NsYXNzID0gJ3Y3T2ZmbGluZSc7XG5cbiAgZ2V0IHN0YXR1c0NsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLnNob3dCdWJibGUpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzID0gXy5nZXQoXG4gICAgICB0aGlzLmNvbHVtbk9iaixcbiAgICAgICdncmlkQXBpLmNvbHVtbkZpbHRlcnMuaGFzQXBpU2Vzc2lvbicsXG4gICAgICBfLmdldCh0aGlzLmNvbHVtbk9iaiwgJ2dyaWRBcGkuY29sdW1uRmlsdGVycy5vbmxpbmUnKVxuICAgICk7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgIGNhc2UgJ2FsbCc6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3T25saW5lT2ZmbGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmFsc2UnOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09mZmxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RydWUnOlxuICAgICAgICB0aGlzLl9zdGF0dXNDbGFzcyA9ICd2N09ubGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncHJvdmlzaW9uaW5nJzpcbiAgICAgICAgdGhpcy5fc3RhdHVzQ2xhc3MgPSAnJztcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3RXJyb3InO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuX3N0YXR1c0NsYXNzID0gJ3Y3T25saW5lT2ZmbGluZSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzQ2xhc3M7XG4gIH1cblxuICBnZXQgZmlsdGVyQXBwbGllZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb2x1bW5JZCA9IF8uZ2V0KHRoaXMuY29sdW1uRGVmLCAnY29sSWQnKTtcbiAgICBjb25zdCBmaWx0ZXJWYWwgPSBfLmdldCh0aGlzLmhlYWRlclBhcmFtcywgYGFwaS5jb2x1bW5GaWx0ZXJzLiR7Y29sdW1uSWR9YCk7XG4gICAgcmV0dXJuICFfLmlzRW1wdHkoZmlsdGVyVmFsKSB8fCB0aGlzLnNob3dGaWx0ZXIgfHwgdGhpcy5maWx0ZXJpbmc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgYWdJbml0KGhlYWRlclBhcmFtczogYW55ID0ge30pOiB2b2lkIHtcbiAgICBpZiAoIWhlYWRlclBhcmFtcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhlYWRlclBhcmFtcyA9IGhlYWRlclBhcmFtcztcbiAgICB0aGlzLmVuYWJsZVNvcnRpbmcgPSBoZWFkZXJQYXJhbXMuZW5hYmxlU29ydGluZztcbiAgICB0aGlzLmhlYWRlck5hbWUgPSBoZWFkZXJQYXJhbXMuZGlzcGxheU5hbWU7XG4gICAgdGhpcy5jb2x1bW5PYmogPSBoZWFkZXJQYXJhbXMuY29sdW1uO1xuICAgIHRoaXMuZmlsdGVyVHlwZSA9IGhlYWRlclBhcmFtcy5maWx0ZXJUeXBlIHx8ICdURVhUSU5QVVQnO1xuICAgIHRoaXMuY29sdW1uRmlsdGVycyA9IGhlYWRlclBhcmFtcy5jb2x1bW5GaWx0ZXJzO1xuICAgIHRoaXMuY29sdW1uRGVmID0gdGhpcy5jb2x1bW5PYmouY29sRGVmO1xuICAgIHRoaXMucGlubmVkID0gdGhpcy5jb2x1bW5PYmoucGlubmVkID09PSAnbGVmdCc7XG4gICAgdGhpcy5zb3J0RGlyID0gdGhpcy5jb2x1bW5EZWYuc29ydERpciB8fCAnbm9uZSc7XG4gICAgdGhpcy5vbmxpbmVTdGF0dXNGaWx0ZXIgPSBfLmhhcyh0aGlzLmNvbHVtbkZpbHRlcnMsICdoYXNBcGlTZXNzaW9uJykgPyAnaGFzQXBpU2Vzc2lvbicgOiAnb25saW5lJztcbiAgICB0aGlzLnNob3dCdWJibGUgPVxuICAgICAgdGhpcy5jb2x1bW5EZWYuY29sSWQgPT09ICduYW1lJyAmJlxuICAgICAgKF8uaGFzKHRoaXMuY29sdW1uRmlsdGVycywgJ2hhc0FwaVNlc3Npb24nKSB8fCBfLmhhcyh0aGlzLmNvbHVtbkZpbHRlcnMsICdvbmxpbmUnKSk7XG4gICAgdGhpcy5fc2hvd0NvbHVtbk1lbnUgPSBoZWFkZXJQYXJhbXMuc2hvd0NvbHVtbk1lbnU7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJPcHRpb25zKCk7XG4gICAgaGVhZGVyUGFyYW1zLmFwaS5hZGRFdmVudExpc3RlbmVyKCdzb3J0Q2hhbmdlZCcsIChldmVudCkgPT4ge1xuICAgICAgY29uc3QgY29sSWQgPSBfLmdldChldmVudCwgJ2NvbHVtbkRlZi5jb2xJZCcsICcnKTtcbiAgICAgIGlmIChjb2xJZCAhPT0gdGhpcy5jb2x1bW5EZWYuY29sSWQpIHtcbiAgICAgICAgdGhpcy5zb3J0RGlyID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zb3J0RGlyID0gXy5nZXQoZXZlbnQsICdzb3J0RGlyJyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaGVhZGVyUGFyYW1zLmFwaS5hZGRFdmVudExpc3RlbmVyKCdjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZCcsIChldmVudCkgPT4ge1xuICAgICAgXy5mb3JFYWNoKGV2ZW50LmFwaT8uY29sdW1uTW9kZWw/LmNvbHVtbkRlZnMsIGNvbERlZiA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbkRlZi5jb2xJZCA9PT0gY29sRGVmLmNvbElkICYmIGNvbERlZi5oZWFkZXJDb21wb25lbnRQYXJhbXM/LmZpbHRlck9wdGlvbnMpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlck9wdGlvbnMoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuc2hvd0J1YmJsZSkge1xuICAgICAgLy8gdGhpcy51cGRhdGVTdGF0dXNDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHBpbigpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkRlZi5waW5Db2x1bW4odGhpcy5jb2x1bW5PYmosIHRoaXMucGlubmVkID8gZmFsc2UgOiAnbGVmdCcpO1xuICAgIHRoaXMucGlubmVkID0gIXRoaXMucGlubmVkO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhlYWRlclBhcmFtcy5hcGkueml0aUhpZGVDb2x1bW4odGhpcy5jb2x1bW5PYmosIGZhbHNlKTtcbiAgfVxuXG4gIHNvcnQoZXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY29sdW1uRGVmLnNvcnRhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRhcmdldElkID0gXy5nZXQoZXZlbnQsICd0YXJnZXQuaWQnKTtcbiAgICBpZiAoXG4gICAgICBfLmluY2x1ZGVzKFxuICAgICAgICBbYEhlYWRlclN0YXR1c18ke3RoaXMuY29sdW1uRGVmLmNvbElkfWAsICdTZWFyY2hGaWx0ZXInLCBgSGVhZGVyRmlsdGVySWNvbl8ke3RoaXMuY29sdW1uRGVmLmNvbElkfWBdLFxuICAgICAgICB0YXJnZXRJZFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXy5pc0VtcHR5KHRoaXMuc29ydERpcikpIHtcbiAgICAgIHRoaXMuc29ydERpciA9ICdhc2MnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb3J0RGlyID09PSAnYXNjJykge1xuICAgICAgdGhpcy5zb3J0RGlyID0gJ2Rlc2MnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnREaXIgPSAnYXNjJztcbiAgICB9XG4gICAgXy5zZXQodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkuc29ydERpcicsIHRoaXMuc29ydERpcik7XG4gICAgXy5zZXQodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkuc29ydERpcicsIHRoaXMuY29sdW1uRGVmLmNvbElkKTtcbiAgICBpZiAodGhpcy5jb2x1bW5EZWYuc29ydENvbHVtbikge1xuICAgICAgdGhpcy5jb2x1bW5EZWYuc29ydENvbHVtbih0aGlzLmNvbHVtbkRlZi5jb2xJZCwgdGhpcy5zb3J0RGlyLCB0aGlzLmhlYWRlclBhcmFtcy5hcGkpO1xuICAgICAgdGhpcy5oZWFkZXJQYXJhbXMuYXBpLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICB0eXBlOiAnc29ydENoYW5nZWQnLFxuICAgICAgICBjb2x1bW5EZWY6IHRoaXMuY29sdW1uRGVmLFxuICAgICAgICBzb3J0RGlyOiB0aGlzLnNvcnREaXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVGaWx0ZXIoZXZlbnQpIHtcbiAgICB0aGlzLnNob3dGaWx0ZXIgPSAhdGhpcy5zaG93RmlsdGVyO1xuICAgIGlmICh0aGlzLmZpbHRlclR5cGUgPT09ICdTRUxFQ1QnIHx8IHRoaXMuZmlsdGVyVHlwZSA9PT0gJ0NPTUJPJyB8fCB0aGlzLmZpbHRlclR5cGUgPT09ICdEQVRFVElNRSd8fCB0aGlzLmZpbHRlclR5cGUgPT09ICdBVFRSSUJVVEUnKSB7XG4gICAgICBpZiAodGhpcy5zaG93RmlsdGVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsdGVyT3B0aW9ucygpO1xuICAgICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5vcGVuSGVhZGVyRmlsdGVyJywgZXZlbnQsIHRoaXMuZmlsdGVyT3B0aW9ucywgdGhpcy5maWx0ZXJUeXBlLCB0aGlzLmNvbHVtbkRlZj8uY29sSWQsIHRoaXMuaGVhZGVyTmFtZSwgdGhpcy5jb2x1bW5EZWY/LmhlYWRlckNvbXBvbmVudFBhcmFtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfLmludm9rZSh0aGlzLmhlYWRlclBhcmFtcywgJ2FwaS5jbG9zZUhlYWRlckZpbHRlcicsIGV2ZW50KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZmlsdGVyVHlwZSA9PT0gJ0NVU1RPTScpIHtcbiAgICAgIGlmICh0aGlzLnNob3dGaWx0ZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJPcHRpb25zKCk7XG4gICAgICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnY29sdW1uLmNvbERlZi5oZWFkZXJDb21wb25lbnRQYXJhbXMub3BlbkhlYWRlckZpbHRlcicsIGV2ZW50LCB0aGlzLmZpbHRlck9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdjb2x1bW4uY29sRGVmLmhlYWRlckNvbXBvbmVudFBhcmFtcy5jbG9zZUhlYWRlckZpbHRlcicsIGV2ZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0b2dnbGVTZWNvbmRhcnlGaWx0ZXIoZXZlbnQpIHtcbiAgICB0aGlzLnNob3dTZWNvbmRhcnlGaWx0ZXIgPSAhdGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyO1xuICAgIGlmICh0aGlzLnNob3dTZWNvbmRhcnlGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FueScsXG4gICAgICAgICAgY29sdW1uSWQ6IHRoaXMub25saW5lU3RhdHVzRmlsdGVyLFxuICAgICAgICAgIGZpbHRlck5hbWU6ICdTdGF0dXMnLFxuICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgYnViYmxlQ2xhc3M6ICd2N09ubGluZU9mZmxpbmUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPbmxpbmUnLFxuICAgICAgICAgIGNvbHVtbklkOiB0aGlzLm9ubGluZVN0YXR1c0ZpbHRlcixcbiAgICAgICAgICBmaWx0ZXJOYW1lOiAnU3RhdHVzJyxcbiAgICAgICAgICB2YWx1ZTogJ3RydWUnLFxuICAgICAgICAgIGJ1YmJsZUNsYXNzOiAndjdPbmxpbmUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPZmZsaW5lJyxcbiAgICAgICAgICBjb2x1bW5JZDogdGhpcy5vbmxpbmVTdGF0dXNGaWx0ZXIsXG4gICAgICAgICAgZmlsdGVyTmFtZTogJ1N0YXR1cycsXG4gICAgICAgICAgdmFsdWU6ICdmYWxzZScsXG4gICAgICAgICAgYnViYmxlQ2xhc3M6ICd2N09mZmxpbmUnLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLm9wZW5IZWFkZXJGaWx0ZXInLCBldmVudCwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIF8uaW52b2tlKHRoaXMuaGVhZGVyUGFyYW1zLCAnYXBpLmNsb3NlSGVhZGVyRmlsdGVyJywgZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGVGaWx0ZXIoZXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXRJZCA9IF8uZ2V0KGV2ZW50LCAndGFyZ2V0LmlkJyk7XG4gICAgaWYgKFxuICAgICAgXy5pbmNsdWRlcyhcbiAgICAgICAgW2BIZWFkZXJGaWx0ZXJCdXR0b25fJHt0aGlzLmNvbHVtbkRlZi5jb2xJZH1gLCBgSGVhZGVyRmlsdGVySWNvbl8ke3RoaXMuY29sdW1uRGVmLmNvbElkfWBdLFxuICAgICAgICB0YXJnZXRJZFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAodGFyZ2V0SWQgPT09IHRoaXMuY29sdW1uRGVmPy5jb2xJZCAmJiB0aGlzLmZpbHRlclR5cGUgPT09ICdDT01CTycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgXy5pbnZva2UodGhpcy5oZWFkZXJQYXJhbXMsICdhcGkuY2xvc2VIZWFkZXJGaWx0ZXInLCBldmVudCk7XG5cbiAgICB0aGlzLmNvbWJvQWN0aXZlID0gZmFsc2U7XG4gICAgdGhpcy5zaG93RmlsdGVyID0gZmFsc2U7XG4gICAgdGhpcy5zaG93U2Vjb25kYXJ5RmlsdGVyID0gZmFsc2U7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogSUhlYWRlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgb3BlbkdyaWRNZW51KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc2hvd0NvbHVtbk1lbnUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2hvd0NvbHVtbk1lbnUodGhpcy5tZW51QnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgdXBkYXRlRmlsdGVyT3B0aW9ucygpIHtcbiAgICBsZXQgb3B0aW9ucyA9IFtdO1xuICAgIGlmICh0aGlzLmhlYWRlclBhcmFtcy5nZXRGaWx0ZXJPcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0gdGhpcy5oZWFkZXJQYXJhbXMuZ2V0RmlsdGVyT3B0aW9ucygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zID0gdGhpcy5oZWFkZXJQYXJhbXMuZmlsdGVyT3B0aW9ucztcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJPcHRpb25zID0gXy5tYXAob3B0aW9ucywgKG9wdGlvbikgPT4ge1xuICAgICAgb3B0aW9uLmNvbHVtbklkID0gdGhpcy5jb2x1bW5EZWYuY29sSWQ7XG4gICAgICBvcHRpb24uZmlsdGVyTmFtZSA9IHRoaXMuaGVhZGVyTmFtZTtcbiAgICAgIG9wdGlvbi50eXBlID0gdGhpcy5maWx0ZXJUeXBlO1xuICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdlxuICAoY2xpY2spPVwic29ydCgkZXZlbnQpXCJcbiAgW25nQ2xhc3NdPVwieyAnbmYtY2FuLXNvcnQnOiBlbmFibGVTb3J0aW5nIH1cIlxuICBjbGFzcz1cImFnLWNlbGwtbGFiZWwtY29udGFpbmVyIGFnLWhlYWRlci1jZWxsLXNvcnRlZC1ub25lXCJcbiAgaWQ9XCJUYWJsZUhlYWRlckNvbnRhaW5lcl97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuPlxuICAgIDxzcGFuXG4gICAgICAjbWVudUJ1dHRvblxuICAgICAgKGNsaWNrKT1cIm9wZW5HcmlkTWVudSgpXCJcbiAgICAgICpuZ0lmPVwiZmFsc2VcIlxuICAgICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItY2VsbC1tZW51LWJ1dHRvblwiXG4gICAgICBpZD1cIkhlYWRlck1lbnVfe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICAgIHJlZj1cImVNZW51XCJcbiAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLW1lbnVcIiB1bnNlbGVjdGFibGU9XCJvblwiPjwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKGNsaWNrKT1cInBpbigpXCJcbiAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtcGluLWJ1dHRvblwiXG4gICAgaWQ9XCJIZWFkZXJQaW5fe3sgY29sdW1uRGVmLmNvbElkIH19XCJcbiAgICB0aXRsZT1cInt7IHBpbm5lZCA/ICdVbnBpbiBDb2x1bW4nIDogJ1BpbiBDb2x1bW4nIH19XCJcbiAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1waW5cIj48L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8c3BhblxuICAgIChjbGljayk9XCJoaWRlKClcIlxuICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWNvbC1oaWRlLWJ1dHRvblwiXG4gICAgaWQ9XCJIZWFkZXJIaWRlX3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgdGl0bGU9XCJIaWRlIENvbHVtblwiXG4gID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhZy1pY29uIGFnLWljb24tZXllLXNsYXNoXCI+PC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cImFnLWhlYWRlci1jZWxsLWxhYmVsXCIgcmVmPVwiZUxhYmVsXCIgdW5zZWxlY3RhYmxlPVwib25cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIiFoZWFkZXJQYXJhbXMuZmlsdGVyVHlwZVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWctZmlsdGVyLWFwcGxpZWQnOiBmaWx0ZXJBcHBsaWVkIH1cIlxuICAgICAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWNvbC1maWx0ZXItYnV0dG9uXCJcbiAgICAgICAgICBpZD1cIkhlYWRlckZpbHRlclNwYWNlcl97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFnLWljb24gYWctaWNvbi1maWx0ZXJcIiBpZD1cIkhlYWRlckZpbHRlclNwYWNlX3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiIHN0eWxlPVwib3BhY2l0eTogMFwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDxzcGFuXG4gICAgICAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKCRldmVudClcIlxuICAgICAgKm5nSWY9XCJoZWFkZXJQYXJhbXMuZmlsdGVyVHlwZVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdhZy1maWx0ZXItYXBwbGllZCc6IGZpbHRlckFwcGxpZWQgfVwiXG4gICAgICBjbGFzcz1cImFnLWhlYWRlci1pY29uIGFnLWhlYWRlci1jb2wtZmlsdGVyLWJ1dHRvblwiXG4gICAgICBpZD1cIkhlYWRlckZpbHRlckJ1dHRvbl97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLWZpbHRlclwiIGlkPVwiSGVhZGVyRmlsdGVySWNvbl97eyBjb2x1bW5EZWYuY29sSWQgfX1cIj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8ZGl2XG4gICAgICAoY2xpY2tPdXRzaWRlKT1cImhpZGVGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzaG93LWlucHV0LWZpbHRlcic6IHNob3dGaWx0ZXIgfVwiXG4gICAgICBjbGFzcz1cImhlYWRlci10ZXh0LWNvbnRhaW5lciB0ZXh0LWlucHV0LWZpbHRlclwiXG4gICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNlY29uZGFyeUZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QnViYmxlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic3RhdHVzQ2xhc3NcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ1YmJsZVwiXG4gICAgICAgICAgICAgIGlkPVwiSGVhZGVyU3RhdHVzX3t7IGNvbHVtbkRlZi5jb2xJZCB9fVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInNob3dMb2FkZXJcIiBjbGFzcz1cImNpcmN1bGFyXCIgdmlld0JveD1cIjI1IDI1IDUwIDUwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBhdGhcIlxuICAgICAgICAgICAgICAgICAgICAgIGN4PVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgIGN5PVwiNTBcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICByPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aD1cIjNcIlxuICAgICAgICAgICAgICAgICAgICA+PC9jaXJjbGU+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICA8YXBwLXRhYmxlLWNvbHVtbi1maWx0ZXJcbiAgICAgICAgKm5nSWY9XCIoKHNob3dGaWx0ZXIgfHwgY29tYm9BY3RpdmUpICYmICEoZmlsdGVyVHlwZSA9PT0gJ0NPTUJPJyAmJiAhY29tYm9BY3RpdmUpKSAmJiBmaWx0ZXJUeXBlICE9PSAnU0VMRUNUJyAmJiBmaWx0ZXJUeXBlICE9PSAnQ1VTVE9NJ1wiXG4gICAgICAgIFtjb2x1bW5EZWZdPVwiY29sdW1uRGVmXCJcbiAgICAgICAgW2ZpbHRlck5hbWVdPVwiaGVhZGVyTmFtZVwiXG4gICAgICAgIFtmaWx0ZXJTdHJpbmddPVwiJydcIlxuICAgICAgICBbb3BlblN0YXR1c01lbnVdPVwidG9nZ2xlU2Vjb25kYXJ5RmlsdGVyLmJpbmQodGhpcylcIlxuICAgICAgICBbdHlwZV09XCJmaWx0ZXJUeXBlXCJcbiAgICAgID48L2FwcC10YWJsZS1jb2x1bW4tZmlsdGVyPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCIoKCFzaG93RmlsdGVyICYmICFjb21ib0FjdGl2ZSkgfHwgKGZpbHRlclR5cGUgPT09ICdDT01CTycgJiYgIWNvbWJvQWN0aXZlKSkgfHwgZmlsdGVyVHlwZSA9PT0gJ1NFTEVDVCcgfHwgZmlsdGVyVHlwZSA9PT0gJ0NVU1RPTSdcIlxuICAgICAgICBbdGl0bGVdPVwiaGVhZGVyTmFtZVwiXG4gICAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWNlbGwtdGV4dFwiXG4gICAgICAgIGlkPVwiSGVhZGVyTmFtZV97eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgICAgICB1bnNlbGVjdGFibGU9XCJvblwiXG4gICAgICA+e3sgaGVhZGVyTmFtZSB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxzcGFuXG4gICAgICAqbmdJZj1cImVuYWJsZVNvcnRpbmcgJiYgIXNob3dGaWx0ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnYWctaGlkZGVuJzogc29ydERpciAhPT0gJ2Rlc2MnIH1cIlxuICAgICAgY2xhc3M9XCJhZy1oZWFkZXItaWNvbiBhZy1oZWFkZXItbGFiZWwtaWNvbiBhZy1zb3J0LWFzY2VuZGluZy1pY29uXCJcbiAgICAgIGlkPVwiSGVhZGVyU29ydEFzY197eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLWFzY1wiIHVuc2VsZWN0YWJsZT1cIm9uXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgICpuZ0lmPVwiZW5hYmxlU29ydGluZyAmJiAhc2hvd0ZpbHRlclwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdhZy1oaWRkZW4nOiBzb3J0RGlyICE9PSAnYXNjJyB9XCJcbiAgICAgIGNsYXNzPVwiYWctaGVhZGVyLWljb24gYWctaGVhZGVyLWxhYmVsLWljb24gYWctc29ydC1kZXNjZW5kaW5nLWljb25cIlxuICAgICAgaWQ9XCJIZWFkZXJTb3J0RGVzY197eyBjb2x1bW5EZWYuY29sSWQgfX1cIlxuICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWctaWNvbiBhZy1pY29uLWRlc2NcIiB1bnNlbGVjdGFibGU9XCJvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -28,11 +28,11 @@ class TableColumnMenuComponent {
|
|
|
28
28
|
this.headerParams.closeMenu(event);
|
|
29
29
|
}
|
|
30
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnMenuComponent, selector: "app-table-column-menu", ngImport: i0, template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableColumnMenuComponent, selector: "app-table-column-menu", ngImport: i0, template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:var(--inputBorderRadius)}\n"], dependencies: [{ kind: "directive", type: i1.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
|
|
32
32
|
}
|
|
33
33
|
export { TableColumnMenuComponent };
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableColumnMenuComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
|
-
args: [{ selector: 'app-table-column-menu', template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:
|
|
36
|
+
args: [{ selector: 'app-table-column-menu', template: "<div (clickOutside)=\"closeActionMenu($event)\" class=\"cell-menu-container\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"Dots_Bulk\">\n <div (click)=\"toggleMenu($event)\" class=\"dots\" id=\"HeaderRowDots\">...</div>\n </div>\n</div>", styles: [".cell-menu-container .dots{width:30px;right:10px;height:30px;position:absolute;top:10px;font-size:24px;text-align:center;cursor:pointer;background-color:transparent;transition:var(--transition);line-height:13px;border-radius:var(--inputBorderRadius)}\n"] }]
|
|
37
37
|
}] });
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY29sdW1uLWhlYWRlcnMvdGFibGUtY29sdW1uLW1lbnUvdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7OztBQUV2QixNQUthLHdCQUF3QjtJQUxyQztRQU1FLFNBQUksR0FBRztZQUNMLFFBQVEsRUFBRSxLQUFLO1lBQ2YsRUFBRSxFQUFFLEVBQUU7WUFDTixVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7UUFFRixTQUFJLEdBQUcsS0FBSyxDQUFDO0tBcUJkO0lBbkJDLE1BQU0sQ0FBQyxZQUEyQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBMkI7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZCxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBM0JVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZEQ1ZyQyxpUUFJTTs7U0RNTyx3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lIZWFkZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUhlYWRlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWNvbHVtbi1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNvbHVtbi1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY29sdW1uLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5NZW51Q29tcG9uZW50IGltcGxlbWVudHMgSUhlYWRlckFuZ3VsYXJDb21wIHtcbiAgaXRlbSA9IHtcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgaWQ6ICcnLFxuICAgIGFjdGlvbkxpc3Q6IFtdLFxuICB9O1xuICBoZWFkZXJQYXJhbXM7XG4gIG9wZW4gPSBmYWxzZTtcblxuICBhZ0luaXQoaGVhZGVyUGFyYW1zOiBJSGVhZGVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5oZWFkZXJQYXJhbXMgPSBoZWFkZXJQYXJhbXM7XG4gICAgdGhpcy5pdGVtID0gXy5nZXQoaGVhZGVyUGFyYW1zLCAnZGF0YScpO1xuICB9XG5cbiAgcmVmcmVzaChoZWFkZXJQYXJhbXM6IElIZWFkZXJQYXJhbXMpOiBib29sZWFuIHtcbiAgICB0aGlzLmhlYWRlclBhcmFtcyA9IGhlYWRlclBhcmFtcztcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQpOiB2b2lkIHtcbiAgICBfLmRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMuaGVhZGVyUGFyYW1zLm9wZW5IZWFkZXJNZW51KGV2ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlQWN0aW9uTWVudShldmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGVhZGVyUGFyYW1zLmNsb3NlTWVudShldmVudCk7XG4gIH1cbn1cbiIsIjxkaXYgKGNsaWNrT3V0c2lkZSk9XCJjbG9zZUFjdGlvbk1lbnUoJGV2ZW50KVwiIGNsYXNzPVwiY2VsbC1tZW51LWNvbnRhaW5lclwiPlxuICA8ZGl2IChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIiBjbGFzcz1cImRvdHNcIiBpZD1cIkRvdHNfQnVsa1wiPlxuICAgIDxkaXYgKGNsaWNrKT1cInRvZ2dsZU1lbnUoJGV2ZW50KVwiIGNsYXNzPVwiZG90c1wiIGlkPVwiSGVhZGVyUm93RG90c1wiPi4uLjwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|