@openziti/ziti-console-lib 0.10.1 → 0.11.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/styles/global.scss +10 -6
- package/esm2022/lib/features/confirm/confirm.component.mjs +3 -3
- package/esm2022/lib/features/data-table/data-table.component.mjs +2 -2
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +5 -4
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +3 -3
- package/esm2022/lib/features/qr-code/qr-code.component.mjs +18 -3
- package/esm2022/lib/pages/identities/identities-page.component.mjs +8 -1
- package/esm2022/lib/pages/identities/identities-page.service.mjs +15 -1
- package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +49 -4
- package/esm2022/lib/services/node-data.service.mjs +21 -1
- package/esm2022/lib/services/ziti-controller-data.service.mjs +12 -1
- package/esm2022/lib/services/ziti-data.service.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/openziti-ziti-console-lib.mjs +127 -15
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
- package/lib/features/qr-code/qr-code.component.d.ts +4 -0
- package/lib/features/qr-code/qr-code.component.d.ts.map +1 -1
- package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
- package/lib/pages/identities/identities-page.service.d.ts +1 -0
- package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts +2 -0
- package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts.map +1 -1
- package/lib/services/node-data.service.d.ts +1 -0
- package/lib/services/node-data.service.d.ts.map +1 -1
- package/lib/services/ziti-controller-data.service.d.ts +1 -0
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +1 -0
- package/lib/services/ziti-data.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2513,11 +2513,11 @@ class ConfirmComponent {
|
|
|
2513
2513
|
this.dataObj.secondaryConfirmed = !this.dataObj.secondaryConfirmed;
|
|
2514
2514
|
}
|
|
2515
2515
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmComponent, deps: [{ token: i3$1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2516
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmComponent, selector: "lib-confirm", ngImport: i0, template: "<div class=\"confirm-modal-container\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:1.5625rem;width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:.9375rem}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
|
|
2516
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmComponent, selector: "lib-confirm", ngImport: i0, template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:1.5625rem;width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:.9375rem}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
|
|
2517
2517
|
}
|
|
2518
2518
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmComponent, decorators: [{
|
|
2519
2519
|
type: Component,
|
|
2520
|
-
args: [{ selector: 'lib-confirm', template: "<div class=\"confirm-modal-container\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:1.5625rem;width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:.9375rem}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"] }]
|
|
2520
|
+
args: [{ selector: 'lib-confirm', template: "<div class=\"confirm-modal-container\" id=\"ConfirmModal_{{dataObj.appendId || 'Default'}}\">\n <div class=\"close icon-close\" (click)=\"cancel()\"></div>\n <div class=\"confirm-model-body\">\n <div class=\"confirm-modal-content\">\n <div class=\"confirm-title-container\">\n <span class=\"confirm-title\">{{dataObj.title}}</span>\n <span class=\"confirm-subtitle\">{{dataObj.subtitle}}</span>\n </div>\n <div class=\"confirm-modal-main\">\n <div class=\"confirm-modal-icon\" style=\"background-image: url({{dataObj.imageUrl}})\"></div>\n <div>\n <div class=\"confirm-message-content\">\n <span [innerHTML]=\"dataObj.message\"></span>\n </div>\n <div class=\"confirm-message-bullet-list\">\n <ul>\n <li *ngFor=\"let item of dataObj.bulletList\" class=\"confirm-item-name\">{{item}}</li>\n </ul>\n </div>\n <div *ngIf=\"dataObj.submessage && dataObj.submessage.length > 0\" class=\"confirm-message-sub-content\">\n <span [innerHTML]=\"dataObj.submessage\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"secondary-confirm-container\" *ngIf=\"dataObj.showSecondaryConfirm\">\n <div class=\"cSelect\" [ngClass]=\"{'selected': dataObj.secondaryConfirmed}\" (click)=\"toggleSecondary($event)\"></div>\n <div class=\"secondary-confirm-label\">{{dataObj.secondaryConfirmLabel}}</div>\n <div\n *ngIf=\"dataObj.secondaryInfoLabel\"\n class=\"form-field-info infoicon\"\n matTooltip=\"{{dataObj.secondaryInfoLabel}}\"\n matTooltipPosition=\"above\"\n ></div>\n </div>\n <div class=\"confirm-buttons-container\">\n <div class=\"linkButton cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelLink\">{{dataObj.cancelLabel}}</div>\n <button class=\"button save secondary-button\" (click)=\"secondaryAction()\" *ngIf=\"dataObj.secondaryActionLabel && dataObj.secondaryConfirmed\">{{dataObj.secondaryActionLabel}}</button>\n <button class=\"button save cancel\" (click)=\"cancel()\" *ngIf=\"dataObj.showCancelButton\">{{dataObj.cancelLabel}}</button>\n <button class=\"button save confirm\" (click)=\"confirm()\">{{dataObj.confirmLabelAlt && dataObj.secondaryConfirmed ? dataObj.confirmLabelAlt : dataObj.confirmLabel}}</button>\n </div>\n</div>\n", styles: [".confirm-modal-container{display:flex;flex-direction:column;background-color:var(--background);border-radius:1.5625rem;width:37.5rem}.confirm-modal-container .confirm-model-body{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-content{display:flex;flex-direction:column}.confirm-modal-container .confirm-model-body .confirm-modal-main{display:flex;flex-direction:row;align-items:center}.confirm-modal-container .confirm-model-body .confirm-modal-icon{width:7.5rem;height:7.5rem;background-size:contain;z-index:20;box-sizing:var(--shadow);margin-left:.9375rem}.confirm-modal-container .confirm-title-container{width:100%;display:flex;flex-direction:column}.confirm-modal-container .confirm-title-container .confirm-title{color:var(--primaryColor);font-size:1.875rem;position:relative;padding-left:0;width:25rem;background:none;text-transform:none;height:auto;font-family:Russo One;margin-top:1.875rem;margin-left:9.375rem;filter:brightness(50%)}.confirm-modal-container .confirm-message-sub-content,.confirm-modal-container .confirm-message-content{color:var(--text);font-size:.875rem;position:relative;margin:.3125rem .9375rem .9375rem;padding:0;font-weight:600;font-family:Open Sans;overflow:auto;display:flex;align-items:center;justify-content:flex-start;color:var(--tableText);max-width:25rem}.confirm-modal-container .confirm-message-bullet-list{margin-left:1.25rem;margin-bottom:.9375rem;margin-right:1.25rem;max-height:12.5rem;overflow:auto}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name{color:var(--primaryColor);text-decoration:none;transition:.5s ease}.confirm-modal-container .confirm-message-bullet-list .confirm-item-name::marker{color:var(--tableText)}.confirm-modal-container .confirm-message-bullet-list ul{margin:0}.confirm-modal-container .secondary-confirm-container{height:2.1875rem;width:100%;position:relative;display:flex;flex-direction:row;align-items:center;padding-left:2.1875rem;padding-top:2.1875rem;padding-bottom:1.5625rem}.confirm-modal-container .secondary-confirm-container.disabled{opacity:.5;filter:grayscale(1);cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect{cursor:not-allowed}.confirm-modal-container .secondary-confirm-container.disabled .cSelect:hover,.confirm-modal-container .secondary-confirm-container.disabled .cSelect:active{transform:none;border:.125rem var(--inputBorder) solid}.confirm-modal-container .secondary-confirm-container .cSelect{position:relative;top:initial;left:initial;height:1.5625rem;width:1.5625rem}.confirm-modal-container .secondary-confirm-container .secondary-confirm-label{font-size:.875rem;font-weight:600;color:var(--tableText);margin-left:.4375rem}.confirm-modal-container .secondary-confirm-container .infoicon{filter:brightness(.8)}.confirm-modal-container .confirm-buttons-container{display:flex;justify-content:flex-end;flex-direction:row;width:100%;padding-right:1.25rem;padding-bottom:1.25rem;align-items:flex-end}.confirm-modal-container .confirm-buttons-container .linkButton{position:absolute;left:1.5625rem;color:var(--subText);font-weight:600}.confirm-modal-container .confirm-buttons-container .secondary-button{margin-right:.625rem;background-color:var(--primary)}.confirm-modal-container button{width:6.25rem;height:2.5rem;color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.75rem}.confirm-modal-container button.confirm{background-color:var(--secondary)}.confirm-modal-container button.cancel{background-color:var(--primary)}\n"] }]
|
|
2521
2521
|
}], ctorParameters: function () { return [{ type: i3$1.MatDialogRef }, { type: undefined, decorators: [{
|
|
2522
2522
|
type: Inject,
|
|
2523
2523
|
args: [MAT_DIALOG_DATA]
|
|
@@ -5624,6 +5624,7 @@ class IdentitiesPageService extends ListPageServiceClass {
|
|
|
5624
5624
|
{ name: 'Visualizer', action: 'identity-service-path' },
|
|
5625
5625
|
{ name: 'Reset Enrollment', action: 'reset-enrollment' },
|
|
5626
5626
|
{ name: 'Reissue Enrollment', action: 'reissue-enrollment' },
|
|
5627
|
+
{ name: 'Reset MFA', action: 'reset-mfa' },
|
|
5627
5628
|
{ name: 'Override', action: 'override' },
|
|
5628
5629
|
{ name: 'Delete', action: 'delete' },
|
|
5629
5630
|
];
|
|
@@ -5867,6 +5868,9 @@ class IdentitiesPageService extends ListPageServiceClass {
|
|
|
5867
5868
|
else if (this.hasAuthenticator(row)) {
|
|
5868
5869
|
row.actionList.push('reset-enrollment');
|
|
5869
5870
|
}
|
|
5871
|
+
if (row.isMfaEnabled) {
|
|
5872
|
+
row.actionList.push('reset-mfa');
|
|
5873
|
+
}
|
|
5870
5874
|
this.addListItemExtensionActions(row);
|
|
5871
5875
|
return row;
|
|
5872
5876
|
});
|
|
@@ -5903,6 +5907,16 @@ class IdentitiesPageService extends ListPageServiceClass {
|
|
|
5903
5907
|
getIdentitiesRoleAttributes() {
|
|
5904
5908
|
return this.zitiService.get('identity-role-attributes', {}, []);
|
|
5905
5909
|
}
|
|
5910
|
+
resetMFA(identity) {
|
|
5911
|
+
return this.zitiService.resetMFA(identity.id).then(() => {
|
|
5912
|
+
const growlerData = new GrowlerModel('success', 'Success', `MFA Reset`, `MFA was successfully reset for identity: ${identity.name}`);
|
|
5913
|
+
this.growlerService.show(growlerData);
|
|
5914
|
+
}).catch((error) => {
|
|
5915
|
+
const message = this.zitiService.getErrorMessage(error);
|
|
5916
|
+
const growlerData = new GrowlerModel('error', 'Error', `Failed to Reset MFA`, `Attempt to reset MFA failed: ${message}`);
|
|
5917
|
+
this.growlerService.show(growlerData);
|
|
5918
|
+
});
|
|
5919
|
+
}
|
|
5906
5920
|
getJWT(identity) {
|
|
5907
5921
|
let qrCode;
|
|
5908
5922
|
if (!isEmpty(identity?.enrollment?.ott?.jwt)) {
|
|
@@ -6507,6 +6521,8 @@ class QrCodeComponent {
|
|
|
6507
6521
|
this.doRefresh = new EventEmitter();
|
|
6508
6522
|
this.qrCodeSize = 200;
|
|
6509
6523
|
this.isModal = false;
|
|
6524
|
+
this.resettingMFA = false;
|
|
6525
|
+
this.mfaReset = false;
|
|
6510
6526
|
if (!isEmpty(data)) {
|
|
6511
6527
|
this.jwt = data.jwt;
|
|
6512
6528
|
this.token = data.token;
|
|
@@ -6518,6 +6534,7 @@ class QrCodeComponent {
|
|
|
6518
6534
|
this.identity = data.identity;
|
|
6519
6535
|
this.qrOnly = data.qrOnly;
|
|
6520
6536
|
}
|
|
6537
|
+
this.mfaReset = false;
|
|
6521
6538
|
}
|
|
6522
6539
|
get hasJWT() {
|
|
6523
6540
|
return !isEmpty(this.jwt);
|
|
@@ -6528,6 +6545,9 @@ class QrCodeComponent {
|
|
|
6528
6545
|
get showReissueToken() {
|
|
6529
6546
|
return (this.identity?.enrollment?.ott?.id || this.identity?.enrollment?.updb?.id) && moment$1(this.expiration).isBefore();
|
|
6530
6547
|
}
|
|
6548
|
+
get showResetMFA() {
|
|
6549
|
+
return this.identity?.isMfaEnabled;
|
|
6550
|
+
}
|
|
6531
6551
|
get showReenrollToken() {
|
|
6532
6552
|
return this.jwtExpired && this.type === 'router';
|
|
6533
6553
|
}
|
|
@@ -6545,6 +6565,15 @@ class QrCodeComponent {
|
|
|
6545
6565
|
}
|
|
6546
6566
|
});
|
|
6547
6567
|
}
|
|
6568
|
+
resetMFA() {
|
|
6569
|
+
this.resettingMFA = true;
|
|
6570
|
+
this.identitiesSvc.resetMFA(this.identity).then(() => {
|
|
6571
|
+
this.mfaReset = true;
|
|
6572
|
+
}).finally(() => {
|
|
6573
|
+
this.resettingMFA = false;
|
|
6574
|
+
this.doRefresh.emit(true);
|
|
6575
|
+
});
|
|
6576
|
+
}
|
|
6548
6577
|
reenroll() {
|
|
6549
6578
|
this.edgeRoutersSvc.reenroll(this.identity).then(() => {
|
|
6550
6579
|
this.doRefresh.emit(true);
|
|
@@ -6579,11 +6608,11 @@ class QrCodeComponent {
|
|
|
6579
6608
|
this.expirationDate = this.getExpirationDate();
|
|
6580
6609
|
}
|
|
6581
6610
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QrCodeComponent, deps: [{ token: i3$1.MatDialogRef, optional: true }, { token: i3$1.MatDialog, optional: true }, { token: MAT_DIALOG_DATA, optional: true }, { token: IdentitiesPageService }, { token: EdgeRoutersPageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6582
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QrCodeComponent, selector: "lib-qr-code", inputs: { jwt: "jwt", token: "token", expiration: "expiration", identity: "identity", type: "type", authenticators: "authenticators", qrOnly: "qrOnly", canExpand: "canExpand" }, outputs: { doRefresh: "doRefresh" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"qr-code-container\" [ngClass]=\"{'modal-view': isModal}\">\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">TO REGISTER THIS IDENTITY</span>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type === 'router'\">TO REGISTER THIS ROUTER</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.copyToken(token)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\" style=\"background-color: #232f3e!important;\">\n <div class=\"download-key\"></div>\n <div>COPY ENROLLMENT TOKEN</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.resetJWT(identity)\" *ngIf=\"showResetToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>RESET ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"reissue()\" *ngIf=\"showReissueToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">OR SCAN QR CODE</span>\n </div>\n <qrcode\n *ngIf=\"!jwtExpired && type !== 'router'\"\n [errorCorrectionLevel]=\"'M'\" [qrdata]=\"jwt\"\n [width]=\"qrCodeSize\" (click)=\"expandQRCode()\"\n [ngClass]=\"{'qr-code-expandable': canExpand}\"\n ></qrcode>\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"!jwtExpired && type === 'router'\">OR</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"!showResetToken\">{{jwtExpired ? 'REGISTRATION EXPIRED' : 'EXPIRES'}} {{expirationDate}}</span>\n <div (click)=\"reenroll()\" *ngIf=\"showReenrollToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n </div>\n</div>\n", styles: [".qr-code-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.qr-code-container .info-text{color:var(--red);font-weight:600}.qr-code-container .download-button{margin:.625rem 0rem}.qr-code-container.modal-view{width:31.25rem;background-color:var(--background);padding:1.25rem;border-radius:.9375rem}.qr-code-container .qr-code-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.qr-code-container .qr-code-expandable{cursor:pointer;transition:transform .25s}.qr-code-container .qr-code-expandable:hover{transform:scale(1.15)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.QRCodeComponent, selector: "qrcode", inputs: ["allowEmptyString", "colorDark", "colorLight", "cssClass", "elementType", "errorCorrectionLevel", "imageSrc", "imageHeight", "imageWidth", "margin", "qrdata", "scale", "version", "width", "alt", "ariaLabel", "title"], outputs: ["qrCodeURL"] }] }); }
|
|
6611
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QrCodeComponent, selector: "lib-qr-code", inputs: { jwt: "jwt", token: "token", expiration: "expiration", identity: "identity", type: "type", authenticators: "authenticators", qrOnly: "qrOnly", canExpand: "canExpand" }, outputs: { doRefresh: "doRefresh" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"qr-code-container\" [ngClass]=\"{'modal-view': isModal}\">\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">TO REGISTER THIS IDENTITY</span>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type === 'router'\">TO REGISTER THIS ROUTER</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.copyToken(token)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\" style=\"background-color: #232f3e!important;\">\n <div class=\"download-key\"></div>\n <div>COPY ENROLLMENT TOKEN</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.resetJWT(identity)\" *ngIf=\"showResetToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>RESET ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"reissue()\" *ngIf=\"showReissueToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"resetMFA()\" *ngIf=\"showResetMFA || mfaReset\" class=\"download-button\" [ngClass]=\"{'reset-success': mfaReset}\">\n <div class=\"icon-lock\"></div>\n <div>{{mfaReset ? 'MFA RESET SUCCESSFUL' : 'RESET MFA'}}</div>\n <div [ngClass]=\"{spinner: resettingMFA, 'tap-to-download': !resettingMFA, 'icon-Icon_Check': mfaReset && !resettingMFA}\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">OR SCAN QR CODE</span>\n </div>\n <qrcode\n *ngIf=\"!jwtExpired && type !== 'router'\"\n [errorCorrectionLevel]=\"'M'\" [qrdata]=\"jwt\"\n [width]=\"qrCodeSize\" (click)=\"expandQRCode()\"\n [ngClass]=\"{'qr-code-expandable': canExpand}\"\n ></qrcode>\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"!jwtExpired && type === 'router'\">OR</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"!showResetToken\">{{jwtExpired ? 'REGISTRATION EXPIRED' : 'EXPIRES'}} {{expirationDate}}</span>\n <div (click)=\"reenroll()\" *ngIf=\"showReenrollToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n </div>\n</div>\n", styles: [".qr-code-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.qr-code-container .info-text{color:var(--red);font-weight:600}.qr-code-container .download-button{margin:.625rem 0rem}.qr-code-container .reset-success{opacity:.8;background-color:var(--formSubGroup);cursor:default;pointer-events:none}.qr-code-container .reset-success:active{transform:none}.qr-code-container .reset-success:hover{filter:brightness(100%)}.qr-code-container .icon-Icon_Check{font-family:icomoon!important;font-size:2rem;margin-right:1rem}.qr-code-container .icon-Icon_Check:before{content:\"\\e912\";color:var(--green)}.qr-code-container .icon-lock{margin-left:.725rem;margin-right:.525rem;text-align:center;cursor:pointer;height:2.8125rem;width:2.8125rem;z-index:10;font-size:2rem;display:flex;align-items:center;justify-content:center}.qr-code-container .spinner{display:inline-block;width:var(--spinnerSizeLarge);height:var(--spinnerSizeLarge);border-radius:50%;background:transparent;border-top:var(--spinerBorderTopLarge);border-right:var(--spinerBorderRightLarge);border-bottom:var(--spinerBorderBottomLarge);border-left:var(--spinerBorderLeftLarge);animation:loading .5s infinite linear;margin-left:var(--marginSmall);margin-right:1rem;position:relative}.qr-code-container.modal-view{width:31.25rem;background-color:var(--background);padding:1.25rem;border-radius:.9375rem}.qr-code-container .qr-code-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.qr-code-container .qr-code-expandable{cursor:pointer;transition:transform .25s}.qr-code-container .qr-code-expandable:hover{transform:scale(1.15)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.QRCodeComponent, selector: "qrcode", inputs: ["allowEmptyString", "colorDark", "colorLight", "cssClass", "elementType", "errorCorrectionLevel", "imageSrc", "imageHeight", "imageWidth", "margin", "qrdata", "scale", "version", "width", "alt", "ariaLabel", "title"], outputs: ["qrCodeURL"] }] }); }
|
|
6583
6612
|
}
|
|
6584
6613
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QrCodeComponent, decorators: [{
|
|
6585
6614
|
type: Component,
|
|
6586
|
-
args: [{ selector: 'lib-qr-code', template: "<div class=\"qr-code-container\" [ngClass]=\"{'modal-view': isModal}\">\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">TO REGISTER THIS IDENTITY</span>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type === 'router'\">TO REGISTER THIS ROUTER</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.copyToken(token)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\" style=\"background-color: #232f3e!important;\">\n <div class=\"download-key\"></div>\n <div>COPY ENROLLMENT TOKEN</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.resetJWT(identity)\" *ngIf=\"showResetToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>RESET ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"reissue()\" *ngIf=\"showReissueToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">OR SCAN QR CODE</span>\n </div>\n <qrcode\n *ngIf=\"!jwtExpired && type !== 'router'\"\n [errorCorrectionLevel]=\"'M'\" [qrdata]=\"jwt\"\n [width]=\"qrCodeSize\" (click)=\"expandQRCode()\"\n [ngClass]=\"{'qr-code-expandable': canExpand}\"\n ></qrcode>\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"!jwtExpired && type === 'router'\">OR</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"!showResetToken\">{{jwtExpired ? 'REGISTRATION EXPIRED' : 'EXPIRES'}} {{expirationDate}}</span>\n <div (click)=\"reenroll()\" *ngIf=\"showReenrollToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n </div>\n</div>\n", styles: [".qr-code-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.qr-code-container .info-text{color:var(--red);font-weight:600}.qr-code-container .download-button{margin:.625rem 0rem}.qr-code-container.modal-view{width:31.25rem;background-color:var(--background);padding:1.25rem;border-radius:.9375rem}.qr-code-container .qr-code-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.qr-code-container .qr-code-expandable{cursor:pointer;transition:transform .25s}.qr-code-container .qr-code-expandable:hover{transform:scale(1.15)}\n"] }]
|
|
6615
|
+
args: [{ selector: 'lib-qr-code', template: "<div class=\"qr-code-container\" [ngClass]=\"{'modal-view': isModal}\">\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">TO REGISTER THIS IDENTITY</span>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type === 'router'\">TO REGISTER THIS ROUTER</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.copyToken(token)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\" style=\"background-color: #232f3e!important;\">\n <div class=\"download-key\"></div>\n <div>COPY ENROLLMENT TOKEN</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"identitiesSvc.resetJWT(identity)\" *ngIf=\"showResetToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>RESET ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"reissue()\" *ngIf=\"showReissueToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <div (click)=\"resetMFA()\" *ngIf=\"showResetMFA || mfaReset\" class=\"download-button\" [ngClass]=\"{'reset-success': mfaReset}\">\n <div class=\"icon-lock\"></div>\n <div>{{mfaReset ? 'MFA RESET SUCCESSFUL' : 'RESET MFA'}}</div>\n <div [ngClass]=\"{spinner: resettingMFA, 'tap-to-download': !resettingMFA, 'icon-Icon_Check': mfaReset && !resettingMFA}\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"hasJWT && !jwtExpired && type !== 'router'\">OR SCAN QR CODE</span>\n </div>\n <qrcode\n *ngIf=\"!jwtExpired && type !== 'router'\"\n [errorCorrectionLevel]=\"'M'\" [qrdata]=\"jwt\"\n [width]=\"qrCodeSize\" (click)=\"expandQRCode()\"\n [ngClass]=\"{'qr-code-expandable': canExpand}\"\n ></qrcode>\n <div *ngIf=\"!qrOnly\" class=\"qr-code-buttons\">\n <span class=\"info-text\" *ngIf=\"!jwtExpired && type === 'router'\">OR</span>\n <div (click)=\"identitiesSvc.downloadJWT(jwt, identity.name)\" *ngIf=\"!jwtExpired && type === 'router'\" class=\"download-button\">\n <div class=\"download-key\"></div>\n <div>DOWNLOAD ENROLLMENT JWT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n <span class=\"info-text\" *ngIf=\"!showResetToken\">{{jwtExpired ? 'REGISTRATION EXPIRED' : 'EXPIRES'}} {{expirationDate}}</span>\n <div (click)=\"reenroll()\" *ngIf=\"showReenrollToken\" class=\"download-button\" >\n <div class=\"download-key\"></div>\n <div>REISSUE ENROLLMENT</div>\n <div class=\"tap-to-download\"></div>\n </div>\n </div>\n</div>\n", styles: [".qr-code-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.qr-code-container .info-text{color:var(--red);font-weight:600}.qr-code-container .download-button{margin:.625rem 0rem}.qr-code-container .reset-success{opacity:.8;background-color:var(--formSubGroup);cursor:default;pointer-events:none}.qr-code-container .reset-success:active{transform:none}.qr-code-container .reset-success:hover{filter:brightness(100%)}.qr-code-container .icon-Icon_Check{font-family:icomoon!important;font-size:2rem;margin-right:1rem}.qr-code-container .icon-Icon_Check:before{content:\"\\e912\";color:var(--green)}.qr-code-container .icon-lock{margin-left:.725rem;margin-right:.525rem;text-align:center;cursor:pointer;height:2.8125rem;width:2.8125rem;z-index:10;font-size:2rem;display:flex;align-items:center;justify-content:center}.qr-code-container .spinner{display:inline-block;width:var(--spinnerSizeLarge);height:var(--spinnerSizeLarge);border-radius:50%;background:transparent;border-top:var(--spinerBorderTopLarge);border-right:var(--spinerBorderRightLarge);border-bottom:var(--spinerBorderBottomLarge);border-left:var(--spinerBorderLeftLarge);animation:loading .5s infinite linear;margin-left:var(--marginSmall);margin-right:1rem;position:relative}.qr-code-container.modal-view{width:31.25rem;background-color:var(--background);padding:1.25rem;border-radius:.9375rem}.qr-code-container .qr-code-buttons{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%}.qr-code-container .qr-code-expandable{cursor:pointer;transition:transform .25s}.qr-code-container .qr-code-expandable:hover{transform:scale(1.15)}\n"] }]
|
|
6587
6616
|
}], ctorParameters: function () { return [{ type: i3$1.MatDialogRef, decorators: [{
|
|
6588
6617
|
type: Optional
|
|
6589
6618
|
}] }, { type: i3$1.MatDialog, decorators: [{
|
|
@@ -8047,11 +8076,11 @@ class DataTableComponent {
|
|
|
8047
8076
|
}
|
|
8048
8077
|
;
|
|
8049
8078
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableComponent, deps: [{ token: DataTableService }, { token: DataTableFilterService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8050
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataTableComponent, selector: "lib-data-table", inputs: { rowData: "rowData", expandRowData: "expandRowData", collapseRowData: "collapseRowData", rowValidation: "rowValidation", isTimeSearchAvailable: "isTimeSearchAvailable", isLoading: "isLoading", tableId: "tableId", options: "options", validateService: "validateService", rowsToggled: "rowsToggled", tableRefreshCount: "tableRefreshCount", view: "view", serverSideDataSource: "serverSideDataSource", allowDownload: "allowDownload", startCount: "startCount", endCount: "endCount", totalCount: "totalCount", emptyMsg: "emptyMsg", filterApplied: "filterApplied", menuItems: "menuItems", headerActions: "headerActions", noItemsClass: "noItemsClass", entityTypeName: "entityTypeName", showNoItemsAdd: "showNoItemsAdd", currentPage: "currentPage", noItemsImage: "noItemsImage", rowHeight: "rowHeight", filterName: "filterName", filterColumn: "filterColumn", columnDefinitions: "columnDefinitions", refreshCount: "refreshCount" }, outputs: { actionRequested: "actionRequested", gridReady: "gridReady", dragStart: "dragStart", dragLeave: "dragLeave", pageChanged: "pageChanged" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }, { propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #tableContainer class=\"data-table-container\" *ngIf=\"showTable;else nodata\">\n <lib-table-filter-bar\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [currentPage]=\"currentPage\"\n [filterName]=\"filterName\"\n [filterColumn]=\"filterColumn\"\n ></lib-table-filter-bar>\n <lib-table-hidden-columns-bar\n *ngIf=\"gridRendered && showFilterBar\"\n [hiddenColumns]=\"hiddenColumns\"\n (columnVisibilityChanged)=\"columnVisibilityChanged($event)\"\n ></lib-table-hidden-columns-bar>\n <div (resize)=\"resizeGridColumnsDebounced($event)\" class=\"ziti-ag-grid\" id=\"ItemTable\">\n <ag-grid-angular\n #nfAgGrid\n [columnDefs]=\"mergedColumnDefinitions\"\n [components]=\"frameworkComponents\"\n [getDataPath]=\"svc.getDataPath\"\n [getRowId]=\"svc.getRowNodeId\"\n [gridOptions]=\"gridOptions\"\n [modules]=\"gridModules\"\n [rowData]=\"rowData\"\n [tooltipHideDelay]=\"20000\"\n [tooltipShowDelay]=\"0\"\n (gridReady)=\"onGridReady($event)\"\n class=\"ziti-ag-grid-table ag-theme-alpine rows\"\n id=\"ItemGrid\"\n >\n </ag-grid-angular>\n </div>\n <div\n [ngClass]=\"{ open: openHeaderMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderActionMenu\"\n >\n <div (click)=\"resetTableColumns()\" class=\"tActionRow\" id=\"ResetTableButton\">Restore Default Table</div>\n <div\n *ngFor=\"let headerAction of headerActions\"\n (click)=\"actionRequested.emit({ action: headerAction.action })\"\n class=\"tActionRow\"\n id=\"ResetTableButton\"\n >\n {{headerAction.name || headerAction.label}}\n </div>\n </div>\n <div\n [ngClass]=\"{ open: openMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu item-menu\"\n id=\"RowActionMenu\"\n #contextMenu\n >\n <div\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"actionRequested.emit({ action: menuItem.action, item: selectedItem })\"\n [ngClass]=\"{'menu-item-hidden': hideMenuItem(menuItem, selectedItem) }\"\n class=\"tActionRow\"\n id=\"TableActionButton_{{menuItem.action}}\"\n >\n {{menuItem.name || menuItem.label}}\n </div>\n </div>\n <div\n (clickOutside)=\"closeHeaderFilter($event)\"\n [ngClass]=\"{ open: showFilterOptions }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderFilterOptions\"\n >\n <div (click)=\"applyFilter($event, filter)\" *ngFor=\"let filter of filterOptions\" class=\"tActionRow\" [ngClass]=\"{'has-icon': filter.icon}\" [id]=\"filter.columnId\">\n <span *ngIf=\"filter.bubbleClass\" [ngClass]=\"filter.bubbleClass\" class=\"bubble\">\n <svg *ngIf=\"filter.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 <span *ngIf=\"filter.icon\" class=\"os-icon {{filter.icon}}\"></span>\n {{ filter.label }}\n </div>\n </div>\n</div>\n\n<div *ngIf=\"showDateTimePicker\" class=\"date-time-container data-table-date-time\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeDateTime($event)\">\n <p-calendar\n [(ngModel)]=\"dateValue\"\n (onSelect)=\"setDateRangeFilter('custom')\"\n dateFormat=\"mm/dd/yy\"\n selectionMode=\"range\"\n placeholder=\"Select Time Range\"\n #calendar\n >\n <ng-template pTemplate=\"header\">\n <div class=\"filter-button-container\">\n <div\n class=\"toggleButton\"\n [ngClass]=\"{selected: selectedRange === 'hour'}\"\n (click)=\"setDateRangeFilter('hour')\"\n >\n Last Hour\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('day')\"\n [ngClass]=\"{selected: selectedRange === 'day'}\"\n >\n Last Day\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('week')\"\n [ngClass]=\"{selected: selectedRange === 'week'}\"\n >\n Last Week\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('month')\"\n [ngClass]=\"{selected: selectedRange === 'month'}\"\n >\n Last Month\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div *ngIf=\"showTagSelector\" class=\"tag-selector-container data-table-tag-selector\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeTagSelector($event)\">\n <div class=\"buttonBall icon-close\" (click)=\"closeTagSelector($event)\"></div>\n <div class=\"tag-selector-label\">\n <span>Select an Attribute:</span>\n </div>\n <lib-tag-selector\n [focusOnInit]=\"true\"\n [availableRoleAttributes]=\"roleAttributes\"\n [availableNamedAttributes]=\"namedAttributes\"\n [(selectedRoleAttributes)]=\"selectedRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedNamedAttributes\"\n (selectedNamedAttributesChange)=\"tagSelectionChanged($event, false)\"\n (selectedRoleAttributesChange)=\"tagSelectionChanged($event, true)\"\n ></lib-tag-selector>\n</div>\n<ng-template #nodata>\n <lib-no-items\n (clickEmit)=\"openCreate()\"\n [image]=\"noItemsImage\"\n [isEmpty]=\"!rowData || rowData.length === 0\"\n [typeName]=\"this.entityTypeLabel\"\n ></lib-no-items>\n</ng-template>", styles: [".data-table-container{display:flex;position:relative;height:calc(100% - 5.625rem);width:100%;flex-direction:column}.data-table-container .ziti-ag-grid{position:relative;width:100%;height:100%;display:flex;clear:both;align-items:center;justify-content:center}.data-table-container .ziti-ag-grid .ziti-ag-grid-table{height:100%;width:100%}.data-table-container .tMenu.action-menu.header-menu,.data-table-container .tMenu.action-menu.item-menu{position:fixed;height:unset;width:12.5rem;transition-property:opacity}.data-table-container .tMenu.action-menu.header-menu .tActionRow,.data-table-container .tMenu.action-menu.item-menu .tActionRow{display:flex}.data-table-container .tMenu.action-menu.header-menu .tActionRow.menu-item-hidden,.data-table-container .tMenu.action-menu.item-menu .tActionRow.menu-item-hidden{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-vertical-scroll-viewport{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row{border:none;background-color:var(--formBackground);color:var(--text)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid{background-color:var(--invalid)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd{background:var(--white)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row .dots{right:1.5625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-role-item .tCol{font-size:.8125rem;height:2.1875rem;line-height:2.1875rem;font-weight:600}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ziti-table-cell-error{outline:.125rem var(--red) solid;outline-offset:-.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ag-cell-inline-editing{width:100%;height:100%;padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell:focus:after{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-icon-pin{margin-top:.9375rem;transform:rotate(-45deg)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-cell-text{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:unpinColumn;animation-duration:.5s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:pinColumn;animation-duration:.6s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble{height:.6875rem;width:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble .circular{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{margin-top:.75rem;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{margin-top:.75rem}@keyframes pinColumn{0%{transform:rotate(0);margin-top:.75rem}15%{transform:rotate(-10deg);margin-top:.75rem}30%{transform:rotate(-20deg);margin-top:.75rem}45%{transform:rotate(-30deg);margin-top:.8125rem}60%{transform:rotate(-40deg);margin-top:.875rem}75%{transform:rotate(-45deg);margin-top:.9375rem}to{transform:rotate(-45deg);margin-top:1rem}}@keyframes unpinColumn{0%{transform:rotate(-45deg);margin-top:.9375rem}15%{transform:rotate(-45deg);margin-top:.875rem}30%{transform:rotate(-45deg);margin-top:.8125rem}45%{transform:rotate(-40deg);margin-top:.75rem}60%{transform:rotate(-30deg);margin-top:.6875rem}75%{transform:rotate(-20deg);margin-top:.625rem}90%{transform:rotate(-10deg);margin-top:.5625rem}to{transform:rotate(0);margin-top:.5rem}}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .selectHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .menuHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row:after{height:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-left-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-right-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{margin-top:.125rem;border-left-color:#d4d9e2;border-right-color:#d4d9e2;border-left-width:.0625rem;border-right-width:.0625rem;border-left-style:solid;border-right-style:solid;width:.1875rem;height:.875rem;position:absolute;right:.125rem;top:1.1875rem;cursor:col-resize}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-text{height:3rem;cursor:move;color:var(--text);line-height:3.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{margin-top:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-menu{margin-left:-2.8125rem;z-index:99999999}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-input-field-input{height:100%;margin-right:0;width:100%;box-shadow:0 0 .3125rem 0 var(--primary);border:solid .125rem var(--primary);overflow:visible}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-checkbox-input-wrapper .ag-input-field-input{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container.nf-can-sort{cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header{background-color:var(--navigation);border-bottom:solid .0625rem;border-bottom-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-icon{color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{font-weight:800;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{font-weight:800}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{font-weight:800;color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{border-left-color:var(--stroke);border-right-color:var(--stroke);border-left-width:var(--inputBorderWidth);border-right-width:var(--inputBorderWidth);border-left-style:solid;border-right-style:solid;width:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:hover{border-left-color:var(--icon);border-right-color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-top-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-center-cols-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-bottom-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-horizontal-scroll-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-virtual-list-viewport{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-theme-alpine .ag-row{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelect{left:1.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-shadow{box-shadow:.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-shadow{box-shadow:-.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .dots{right:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{-webkit-user-select:text;user-select:text}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport .ag-cell{padding-left:1.25rem;text-align:left;line-height:3.0625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row{border-left:.25rem solid transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row-hover{border-left:.25rem solid var(--primary)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .tSelect{margin-left:-.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button{margin-top:.3125rem;opacity:0;transition:opacity .2s;height:2.5rem;cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button.nf-ag-col-pinned{opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-filter{color:var(--ag-alpine-active-color, var(--primary))}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button .ag-icon-filter{font-weight:700;margin-top:.8125rem;margin-right:0rem;margin-left:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button{position:absolute;margin-top:.625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button{margin-right:1.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-filter-button{position:relative;display:block;opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button{margin-right:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelectHeader{top:.75rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-left:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-sort-descending-icon{margin-top:.9375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container{margin-left:-.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container .ag-header-cell-text{padding-left:.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ziti-ag-grid .ag-root-wrapper .ag-row.row-child{background-color:#fff;border-bottom:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-column-default{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration .tcol{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item{background-color:var(--shaded);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item{background-color:var(--table);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child{border-top:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second{border-top:transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second .ag-cell{font-size:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .bubble{width:.5rem;height:.5625rem;margin-left:.3125rem;margin-bottom:.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .ag-cell{font-size:.8125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status{margin-left:1.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status .circular{height:.75rem;margin-left:1.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status .circular{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-content{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-grow:1;flex-shrink:0;padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label{padding-left:3.4375rem;margin-left:1.25rem;width:calc(20% + 1.25rem)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label.step-content{padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .started-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .finished-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .duration-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .state-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .process-info-container app-resource-status .circular{margin-left:.8125rem;margin-top:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-left:-.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble{margin-left:.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble .circular{left:0;top:1rem}.data-table-container ::ng-deep body{overflow-x:auto!important}.data-table-container ::ng-deep body .ag-theme-alpine.ag-dnd-ghost{height:2.1875rem!important;line-height:2.1875rem!important}.data-table-container ::ng-deep body .ag-header-row{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-text{position:relative;float:left;color:var(--tableText);font-size:.875rem;font-weight:600;font-family:Open Sans;height:3.4375rem;transition:.5s;white-space:nowrap;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep body .ag-header-cell-menu-button{height:1rem;width:1rem}.data-table-container ::ng-deep body .ag-icon{font-family:agGridAlpine;font-size:1rem;line-height:1rem;font-style:normal;font-weight:800;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.data-table-container ::ng-deep body .ag-icon-menu:before{content:\"\\f11b\"}.data-table-container ::ng-deep body .ag-icon-menu:hover{color:var(--primary)}.data-table-container ::ng-deep body .ag-icon-asc{margin-top:.4375rem;font-weight:800}.data-table-container ::ng-deep body .ag-icon-desc{margin-top:-.4375rem;font-weight:800}.data-table-container ::ng-deep body .tSelectHeader{left:1.3125rem;top:.625rem}.data-table-container ::ng-deep body .cellMenu{overflow:visible}.data-table-container ::ng-deep body .ag-theme-alpine{-webkit-font-smoothing:antialiased;color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important;font-family:Open Sans,sans-serif;font-size:.8125rem;line-height:normal}.data-table-container ::ng-deep body .ag-theme-alpine .ag-row{color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important}.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-cell,.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-group-cell{padding-left:.3125rem;padding-right:.9375rem}.os-icon{width:1.4375rem;height:1.4375rem;background-size:1.4375rem 1.4375rem;display:inline-flex;margin-right:.5rem;margin-top:.3125rem;margin-bottom:.3125rem}.os-icon.empty{background:transparent}.os-icon.apple{background-image:url(data:image/png;base64,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)}.os-icon.windows{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAApdSURBVHic7dsxbttYGEZRylCfZAfpvYys23uYxuvI7EDTTBdJRCRTj3z3HECdDf+N9V0I1OlyuSwAQMvb6AMAgNcTAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCzqMPAAC+3unj8/uyLD9vvQQAABzQ2sAvy/Lt3u8LAADYoWcHfo0AAIABth74NQIAADYweuDXCAAAeMDeB36NAACAK44+8GsEAABJsw/8GgEAwJTqA79GAABwSAb+OQIAgF0y8NsSAAAMYeDHEgAAbMLA75sAAOAhBv7YBAAAVxn4uQkAgCgD3yYAACZl4LlHAAAclIHnGQIAYKcMPFsSAACDGHhGEgAAGzHw7JkAAHiQgefIBADADQaemQkAIMvAUyYAgGkZeLhNAACHZeDhcQIA2C0DD9sRAMAwBh7GEQDAZgw87JcAAB5m4OG4BABwk4GHeQkACDPw0CUAoO336AOAMd5GHwAAvJ4AAIAgAQAAQZ4BgA2tPWR3+fX+fchhQJ4AgCd4ih44KgEAdxh4YFYCgDQDD1QJAKZm4AGuEwAcmoEHeIwAYNcMPMA2BABDGXiAMQQAmzLwAPskAHiKgQc4JgHAXQYeYE4CIM7AAzQJgMkZeACuEQAHZ+ABeIQA2DkDD8AWBMBgBh6AEQTAxgw8AHskAJ5k4AE4IgGwwsADMKN8ABh4AIqmDwADDwB/OnwAGHgA+Hu7DwADDwBfb3gAGHgAeL3NA8DAA8D+PB0ABh4Ajmc1AAw8AMznbOABoOe8LMvv0UcAAK/1NvoAAOD1BAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAoNPlchl9AwDwYj4BAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAg6Hz6+LyMPgKqLr/eTyP/vv9/6PIJAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQedlWX4sy/Lzzuvb688CALZ0vvx6/3dZln/+f/3h9PH5fREIADCV89oPCAQAmM9qAKwRCABwPE8HwBqBAAD7s3kArBEIAPB6wwNgjUAAgK+3+wBYIxAA4O8dPgDWCAQA+NP0AbBGIABQlA+ANQIBgBkJgCcJBACOSABsTCAAsEcCYDCBAMAIAmDnBAIAWxAABycQAHiEAJicQADgGgEQJxAAmgQAdwkEgDkJAJ4iEACOSQCwKYEAsE8CgKEEAsAYAoBdEwgA2xAAHJpAAHiMAGBqAgHgOgFAmkAAqgQA3CEQgFkJAHjCFwQCwBCny+Uy+gZgkNPHpzcAiHobfQAA8HoCAACCBAAABHkIENp+LL7FAEkeAgRu8jVHmJcAAB4mEOC4BACwGYEA+yUAgGEEAowjAIDdEgiwHQEAHJZAgMcJAGBaAgFuEwBAlkCgTAAA3CAQmJkAAHiQQODIBADARgQCeyYAAAYRCIwkAAB2SiCwJQEAcFACgWcIAIBJCQTuEQAAUQKhTQAAcJVAmJsAAOAhAuHYBAAAmxAI+yYAABhCIIwlAADYJYGwLQEAwCEJhOcIAACmJBDuEwAAJNUDQQAAwBWzB4IAAIAHHD0QBAAAbGDvgSAAAGCA0YEgAABgh7YOBAEAAAf0bCAIAACY0FogCAAACHobfQAA8HoCAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAEDQf5pXFokUyDSTAAAAAElFTkSuQmCC)}.os-icon.linux{background-image:url(data:image/png;base64,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)}.os-icon.android{background-image:url(data:image/png;base64,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)}.os-icon.other{background-image:url(data:image/png;base64,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)}::ng-deep .date-time-container.data-table-date-time{position:fixed;z-index:9999}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{height:.0625rem;width:.0625rem;padding:0}::ng-deep .date-time-container.data-table-date-time .filter-button-container{height:3.125rem;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton{padding-left:var(--paddingSmall);padding-right:var(--paddingSmall);text-align:center;background-color:var(--inputBorder);color:var(--tableText);width:unset;height:1.4375rem;line-height:1.4375rem;font-size:.875rem;font-weight:600;position:relative;float:left;cursor:pointer;border-radius:.25rem;margin-right:var(--marginSmall);transition:.3s}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton:hover{filter:brightness(90%);transition:.3s}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{border-top-left-radius:1.25rem;border-bottom-left-radius:1.25rem;text-indent:.3125rem}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-button-icon-only{border-top-right-radius:1.25rem;border-bottom-right-radius:1.25rem}::ng-deep .tag-selector-container.data-table-tag-selector{position:fixed;z-index:9999;width:21.875rem;height:-moz-fit-content;height:fit-content;background:var(--formBackground);display:flex;flex-direction:column;justify-content:flex-end;padding:.625rem;border-radius:var(--inputBorderRadius);box-shadow:var(--shadowLarge);margin-top:-1.25rem;border-color:var(--stroke);border-style:solid}::ng-deep .tag-selector-container.data-table-tag-selector .tag-selector-label{margin-bottom:.3125rem;margin-left:.125rem;font-weight:600;color:var(--menu)}::ng-deep .tag-selector-container.data-table-tag-selector .select2-search__field{height:2.1875rem}::ng-deep .tag-selector-container.data-table-tag-selector .nf-select2-dropdown{width:calc(100% - 1.25rem)!important}::ng-deep .tag-selector-container .icon-close{position:absolute;top:.5rem;right:.5rem;cursor:pointer;color:var(--icon);font-weight:600}::ng-deep .tag-selector-container .icon-close:hover{filter:brightness(50%)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i7.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: FilterBarComponent, selector: "lib-table-filter-bar", inputs: ["filterName", "filterColumn", "startCount", "endCount", "totalCount", "currentPage"] }, { kind: "component", type: HiddenColumnsBarComponent, selector: "lib-table-hidden-columns-bar", inputs: ["hiddenColumns"], outputs: ["columnVisibilityChanged"] }, { kind: "component", type: NoItemsComponent, selector: "lib-no-items", inputs: ["image", "typeName", "isEmpty", "hasAdd", "hiddenResults", "isLoading"], outputs: ["clickEmit", "refresh"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }] }); }
|
|
8079
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataTableComponent, selector: "lib-data-table", inputs: { rowData: "rowData", expandRowData: "expandRowData", collapseRowData: "collapseRowData", rowValidation: "rowValidation", isTimeSearchAvailable: "isTimeSearchAvailable", isLoading: "isLoading", tableId: "tableId", options: "options", validateService: "validateService", rowsToggled: "rowsToggled", tableRefreshCount: "tableRefreshCount", view: "view", serverSideDataSource: "serverSideDataSource", allowDownload: "allowDownload", startCount: "startCount", endCount: "endCount", totalCount: "totalCount", emptyMsg: "emptyMsg", filterApplied: "filterApplied", menuItems: "menuItems", headerActions: "headerActions", noItemsClass: "noItemsClass", entityTypeName: "entityTypeName", showNoItemsAdd: "showNoItemsAdd", currentPage: "currentPage", noItemsImage: "noItemsImage", rowHeight: "rowHeight", filterName: "filterName", filterColumn: "filterColumn", columnDefinitions: "columnDefinitions", refreshCount: "refreshCount" }, outputs: { actionRequested: "actionRequested", gridReady: "gridReady", dragStart: "dragStart", dragLeave: "dragLeave", pageChanged: "pageChanged" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }, { propertyName: "tableContainer", first: true, predicate: ["tableContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #tableContainer class=\"data-table-container\" *ngIf=\"showTable;else nodata\">\n <lib-table-filter-bar\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [currentPage]=\"currentPage\"\n [filterName]=\"filterName\"\n [filterColumn]=\"filterColumn\"\n ></lib-table-filter-bar>\n <lib-table-hidden-columns-bar\n *ngIf=\"gridRendered && showFilterBar\"\n [hiddenColumns]=\"hiddenColumns\"\n (columnVisibilityChanged)=\"columnVisibilityChanged($event)\"\n ></lib-table-hidden-columns-bar>\n <div (resize)=\"resizeGridColumnsDebounced($event)\" class=\"ziti-ag-grid\" id=\"ItemTable\">\n <ag-grid-angular\n #nfAgGrid\n [columnDefs]=\"mergedColumnDefinitions\"\n [components]=\"frameworkComponents\"\n [getDataPath]=\"svc.getDataPath\"\n [getRowId]=\"svc.getRowNodeId\"\n [gridOptions]=\"gridOptions\"\n [modules]=\"gridModules\"\n [rowData]=\"rowData\"\n [tooltipHideDelay]=\"20000\"\n [tooltipShowDelay]=\"0\"\n (gridReady)=\"onGridReady($event)\"\n class=\"ziti-ag-grid-table ag-theme-alpine rows\"\n id=\"ItemGrid\"\n >\n </ag-grid-angular>\n </div>\n <div\n [ngClass]=\"{ open: openHeaderMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderActionMenu\"\n >\n <div (click)=\"resetTableColumns()\" class=\"tActionRow\" id=\"ResetTableButton\">Restore Default Table</div>\n <div\n *ngFor=\"let headerAction of headerActions\"\n (click)=\"actionRequested.emit({ action: headerAction.action })\"\n class=\"tActionRow\"\n id=\"ResetTableButton\"\n >\n {{headerAction.name || headerAction.label}}\n </div>\n </div>\n <div\n [ngClass]=\"{ open: openMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu item-menu\"\n id=\"RowActionMenu\"\n #contextMenu\n >\n <div\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"actionRequested.emit({ action: menuItem.action, item: selectedItem })\"\n [ngClass]=\"{'menu-item-hidden': hideMenuItem(menuItem, selectedItem) }\"\n class=\"tActionRow\"\n id=\"TableActionButton_{{menuItem.action}}\"\n >\n {{menuItem.name || menuItem.label}}\n </div>\n </div>\n <div\n (clickOutside)=\"closeHeaderFilter($event)\"\n [ngClass]=\"{ open: showFilterOptions }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderFilterOptions\"\n >\n <div (click)=\"applyFilter($event, filter)\" *ngFor=\"let filter of filterOptions\" class=\"tActionRow\" [ngClass]=\"{'has-icon': filter.icon}\" [id]=\"filter.columnId\">\n <span *ngIf=\"filter.bubbleClass\" [ngClass]=\"filter.bubbleClass\" class=\"bubble\">\n <svg *ngIf=\"filter.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 <span *ngIf=\"filter.icon\" class=\"os-icon {{filter.icon}}\"></span>\n {{ filter.label }}\n </div>\n </div>\n</div>\n\n<div *ngIf=\"showDateTimePicker\" class=\"date-time-container data-table-date-time\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeDateTime($event)\">\n <p-calendar\n [(ngModel)]=\"dateValue\"\n (onSelect)=\"setDateRangeFilter('custom')\"\n dateFormat=\"mm/dd/yy\"\n selectionMode=\"range\"\n placeholder=\"Select Time Range\"\n #calendar\n >\n <ng-template pTemplate=\"header\">\n <div class=\"filter-button-container\">\n <div\n class=\"toggleButton\"\n [ngClass]=\"{selected: selectedRange === 'hour'}\"\n (click)=\"setDateRangeFilter('hour')\"\n >\n Last Hour\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('day')\"\n [ngClass]=\"{selected: selectedRange === 'day'}\"\n >\n Last Day\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('week')\"\n [ngClass]=\"{selected: selectedRange === 'week'}\"\n >\n Last Week\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('month')\"\n [ngClass]=\"{selected: selectedRange === 'month'}\"\n >\n Last Month\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div *ngIf=\"showTagSelector\" class=\"tag-selector-container data-table-tag-selector\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeTagSelector($event)\">\n <div class=\"buttonBall icon-close\" (click)=\"closeTagSelector($event)\"></div>\n <div class=\"tag-selector-label\">\n <span>Select an Attribute:</span>\n </div>\n <lib-tag-selector\n [focusOnInit]=\"true\"\n [availableRoleAttributes]=\"roleAttributes\"\n [availableNamedAttributes]=\"namedAttributes\"\n [(selectedRoleAttributes)]=\"selectedRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedNamedAttributes\"\n (selectedNamedAttributesChange)=\"tagSelectionChanged($event, false)\"\n (selectedRoleAttributesChange)=\"tagSelectionChanged($event, true)\"\n ></lib-tag-selector>\n</div>\n<ng-template #nodata>\n <lib-no-items\n (clickEmit)=\"openCreate()\"\n [image]=\"noItemsImage\"\n [isEmpty]=\"!rowData || rowData.length === 0\"\n [typeName]=\"this.entityTypeLabel\"\n ></lib-no-items>\n</ng-template>", styles: [".data-table-container{display:flex;position:relative;height:calc(100% - 5.625rem);width:100%;flex-direction:column}.data-table-container .ziti-ag-grid{position:relative;width:100%;height:100%;display:flex;clear:both;align-items:center;justify-content:center}.data-table-container .ziti-ag-grid .ziti-ag-grid-table{height:100%;width:100%}.data-table-container .tMenu.action-menu.header-menu,.data-table-container .tMenu.action-menu.item-menu{position:fixed;height:unset;width:12.5rem;transition-property:opacity}.data-table-container .tMenu.action-menu.header-menu .tActionRow,.data-table-container .tMenu.action-menu.item-menu .tActionRow{display:flex;color:var(--offWhite_ALWAYS)}.data-table-container .tMenu.action-menu.header-menu .tActionRow.menu-item-hidden,.data-table-container .tMenu.action-menu.item-menu .tActionRow.menu-item-hidden{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-vertical-scroll-viewport{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row{border:none;background-color:var(--formBackground);color:var(--text)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid{background-color:var(--invalid)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd{background:var(--white)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row .dots{right:1.5625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-role-item .tCol{font-size:.8125rem;height:2.1875rem;line-height:2.1875rem;font-weight:600}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ziti-table-cell-error{outline:.125rem var(--red) solid;outline-offset:-.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ag-cell-inline-editing{width:100%;height:100%;padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell:focus:after{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-icon-pin{margin-top:.9375rem;transform:rotate(-45deg)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-cell-text{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:unpinColumn;animation-duration:.5s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:pinColumn;animation-duration:.6s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble{height:.6875rem;width:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble .circular{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{margin-top:.75rem;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{margin-top:.75rem}@keyframes pinColumn{0%{transform:rotate(0);margin-top:.75rem}15%{transform:rotate(-10deg);margin-top:.75rem}30%{transform:rotate(-20deg);margin-top:.75rem}45%{transform:rotate(-30deg);margin-top:.8125rem}60%{transform:rotate(-40deg);margin-top:.875rem}75%{transform:rotate(-45deg);margin-top:.9375rem}to{transform:rotate(-45deg);margin-top:1rem}}@keyframes unpinColumn{0%{transform:rotate(-45deg);margin-top:.9375rem}15%{transform:rotate(-45deg);margin-top:.875rem}30%{transform:rotate(-45deg);margin-top:.8125rem}45%{transform:rotate(-40deg);margin-top:.75rem}60%{transform:rotate(-30deg);margin-top:.6875rem}75%{transform:rotate(-20deg);margin-top:.625rem}90%{transform:rotate(-10deg);margin-top:.5625rem}to{transform:rotate(0);margin-top:.5rem}}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .selectHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .menuHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row:after{height:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-left-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-right-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{margin-top:.125rem;border-left-color:#d4d9e2;border-right-color:#d4d9e2;border-left-width:.0625rem;border-right-width:.0625rem;border-left-style:solid;border-right-style:solid;width:.1875rem;height:.875rem;position:absolute;right:.125rem;top:1.1875rem;cursor:col-resize}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-text{height:3rem;cursor:move;color:var(--text);line-height:3.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{margin-top:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-menu{margin-left:-2.8125rem;z-index:99999999}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-input-field-input{height:100%;margin-right:0;width:100%;box-shadow:0 0 .3125rem 0 var(--primary);border:solid .125rem var(--primary);overflow:visible}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-checkbox-input-wrapper .ag-input-field-input{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container.nf-can-sort{cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header{background-color:var(--navigation);border-bottom:solid .0625rem;border-bottom-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-icon{color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{font-weight:800;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{font-weight:800}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{font-weight:800;color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{border-left-color:var(--stroke);border-right-color:var(--stroke);border-left-width:var(--inputBorderWidth);border-right-width:var(--inputBorderWidth);border-left-style:solid;border-right-style:solid;width:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:hover{border-left-color:var(--icon);border-right-color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-top-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-center-cols-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-bottom-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-horizontal-scroll-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-virtual-list-viewport{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-theme-alpine .ag-row{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelect{left:1.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-shadow{box-shadow:.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-shadow{box-shadow:-.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .dots{right:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{-webkit-user-select:text;user-select:text}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport .ag-cell{padding-left:1.25rem;text-align:left;line-height:3.0625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row{border-left:.25rem solid transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row-hover{border-left:.25rem solid var(--primary)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .tSelect{margin-left:-.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button{margin-top:.3125rem;opacity:0;transition:opacity .2s;height:2.5rem;cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button.nf-ag-col-pinned{opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-filter{color:var(--ag-alpine-active-color, var(--primary))}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button .ag-icon-filter{font-weight:700;margin-top:.8125rem;margin-right:0rem;margin-left:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button{position:absolute;margin-top:.625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button{margin-right:1.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-filter-button{position:relative;display:block;opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button{margin-right:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelectHeader{top:.75rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-left:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-sort-descending-icon{margin-top:.9375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container{margin-left:-.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container .ag-header-cell-text{padding-left:.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ziti-ag-grid .ag-root-wrapper .ag-row.row-child{background-color:#fff;border-bottom:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-column-default{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration .tcol{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item{background-color:var(--shaded);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item{background-color:var(--table);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child{border-top:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second{border-top:transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second .ag-cell{font-size:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .bubble{width:.5rem;height:.5625rem;margin-left:.3125rem;margin-bottom:.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .ag-cell{font-size:.8125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status{margin-left:1.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status .circular{height:.75rem;margin-left:1.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status .circular{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-content{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-grow:1;flex-shrink:0;padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label{padding-left:3.4375rem;margin-left:1.25rem;width:calc(20% + 1.25rem)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label.step-content{padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .started-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .finished-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .duration-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .state-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .process-info-container app-resource-status .circular{margin-left:.8125rem;margin-top:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-left:-.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble{margin-left:.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble .circular{left:0;top:1rem}.data-table-container ::ng-deep body{overflow-x:auto!important}.data-table-container ::ng-deep body .ag-theme-alpine.ag-dnd-ghost{height:2.1875rem!important;line-height:2.1875rem!important}.data-table-container ::ng-deep body .ag-header-row{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-text{position:relative;float:left;color:var(--tableText);font-size:.875rem;font-weight:600;font-family:Open Sans;height:3.4375rem;transition:.5s;white-space:nowrap;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep body .ag-header-cell-menu-button{height:1rem;width:1rem}.data-table-container ::ng-deep body .ag-icon{font-family:agGridAlpine;font-size:1rem;line-height:1rem;font-style:normal;font-weight:800;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.data-table-container ::ng-deep body .ag-icon-menu:before{content:\"\\f11b\"}.data-table-container ::ng-deep body .ag-icon-menu:hover{color:var(--primary)}.data-table-container ::ng-deep body .ag-icon-asc{margin-top:.4375rem;font-weight:800}.data-table-container ::ng-deep body .ag-icon-desc{margin-top:-.4375rem;font-weight:800}.data-table-container ::ng-deep body .tSelectHeader{left:1.3125rem;top:.625rem}.data-table-container ::ng-deep body .cellMenu{overflow:visible}.data-table-container ::ng-deep body .ag-theme-alpine{-webkit-font-smoothing:antialiased;color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important;font-family:Open Sans,sans-serif;font-size:.8125rem;line-height:normal}.data-table-container ::ng-deep body .ag-theme-alpine .ag-row{color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important}.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-cell,.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-group-cell{padding-left:.3125rem;padding-right:.9375rem}.os-icon{width:1.4375rem;height:1.4375rem;background-size:1.4375rem 1.4375rem;display:inline-flex;margin-right:.5rem;margin-top:.3125rem;margin-bottom:.3125rem}.os-icon.empty{background:transparent}.os-icon.apple{background-image:url(data:image/png;base64,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)}.os-icon.windows{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAApdSURBVHic7dsxbttYGEZRylCfZAfpvYys23uYxuvI7EDTTBdJRCRTj3z3HECdDf+N9V0I1OlyuSwAQMvb6AMAgNcTAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCzqMPAAC+3unj8/uyLD9vvQQAABzQ2sAvy/Lt3u8LAADYoWcHfo0AAIABth74NQIAADYweuDXCAAAeMDeB36NAACAK44+8GsEAABJsw/8GgEAwJTqA79GAABwSAb+OQIAgF0y8NsSAAAMYeDHEgAAbMLA75sAAOAhBv7YBAAAVxn4uQkAgCgD3yYAACZl4LlHAAAclIHnGQIAYKcMPFsSAACDGHhGEgAAGzHw7JkAAHiQgefIBADADQaemQkAIMvAUyYAgGkZeLhNAACHZeDhcQIA2C0DD9sRAMAwBh7GEQDAZgw87JcAAB5m4OG4BABwk4GHeQkACDPw0CUAoO336AOAMd5GHwAAvJ4AAIAgAQAAQZ4BgA2tPWR3+fX+fchhQJ4AgCd4ih44KgEAdxh4YFYCgDQDD1QJAKZm4AGuEwAcmoEHeIwAYNcMPMA2BABDGXiAMQQAmzLwAPskAHiKgQc4JgHAXQYeYE4CIM7AAzQJgMkZeACuEQAHZ+ABeIQA2DkDD8AWBMBgBh6AEQTAxgw8AHskAJ5k4AE4IgGwwsADMKN8ABh4AIqmDwADDwB/OnwAGHgA+Hu7DwADDwBfb3gAGHgAeL3NA8DAA8D+PB0ABh4Ajmc1AAw8AMznbOABoOe8LMvv0UcAAK/1NvoAAOD1BAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAoNPlchl9AwDwYj4BAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAg6Hz6+LyMPgKqLr/eTyP/vv9/6PIJAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQedlWX4sy/Lzzuvb688CALZ0vvx6/3dZln/+f/3h9PH5fREIADCV89oPCAQAmM9qAKwRCABwPE8HwBqBAAD7s3kArBEIAPB6wwNgjUAAgK+3+wBYIxAA4O8dPgDWCAQA+NP0AbBGIABQlA+ANQIBgBkJgCcJBACOSABsTCAAsEcCYDCBAMAIAmDnBAIAWxAABycQAHiEAJicQADgGgEQJxAAmgQAdwkEgDkJAJ4iEACOSQCwKYEAsE8CgKEEAsAYAoBdEwgA2xAAHJpAAHiMAGBqAgHgOgFAmkAAqgQA3CEQgFkJAHjCFwQCwBCny+Uy+gZgkNPHpzcAiHobfQAA8HoCAACCBAAABHkIENp+LL7FAEkeAgRu8jVHmJcAAB4mEOC4BACwGYEA+yUAgGEEAowjAIDdEgiwHQEAHJZAgMcJAGBaAgFuEwBAlkCgTAAA3CAQmJkAAHiQQODIBADARgQCeyYAAAYRCIwkAAB2SiCwJQEAcFACgWcIAIBJCQTuEQAAUQKhTQAAcJVAmJsAAOAhAuHYBAAAmxAI+yYAABhCIIwlAADYJYGwLQEAwCEJhOcIAACmJBDuEwAAJNUDQQAAwBWzB4IAAIAHHD0QBAAAbGDvgSAAAGCA0YEgAABgh7YOBAEAAAf0bCAIAACY0FogCAAACHobfQAA8HoCAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAEDQf5pXFokUyDSTAAAAAElFTkSuQmCC)}.os-icon.linux{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA3aAAAN2gFLGPbrAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAwBQTFRF////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyO34QAAAP90Uk5TAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+6wjZNQAAMLpJREFUGBntwQmATIXjB/Dv7GXXrvuO3FcRJeS+ypGz3F2SUIpU1K9D/R05ExKpVFRuHSIqlCi15IqQ+77WvYu95/t/c+zuHO/NvJmdN++92ff5AHlFRJUOQ6fPX75m47b9Jy/fSrp68dzJowe3r5k36aVH2tyZD4YQVuHpmWsOpdODjAPfjX/s7mgYQk7BbrMOUqbMfZ/0qwxD6Cj00uZ0+ujM0mF3m2AIAdVnJdE/p2e1iYBB10zt15iZC5fnd4uBQbfu3sJcu/FlYxh0KW5aBgNi17MFYNCdh04xYBLn1IFBV8qvZGB9eycMuhEx8gYDLfOLSjDoQ+N/qITUWaVh0L6o2WYq5MYwEwwaV+IPKui3KjBo2l3HqKgbw0wwaFfnRCrttwowaNXITCrvQkMYNCnqcwbFre4waFDxTQySzBEwaE61owyeD8Nh0JZihxhMq+Ng0JKoTQyunWVh0JAvGWynK8OgGaMYfP8VhUEj+pipgo35YNCERslUxUITDBpQ8QJV8g4M6ovaQ9U8DYPqRlE96W1hUFmVZCopYeb9Q343U8r1u2BQ109UUlJtCCpvoZSTRWBQUw8qaiSsohdTyjwYVGT6l4pqALu3zZTQHgb19KSySiJL9wSKO1EABrWY/qGyaiBbsXkU9yEManmICmsOBx0vU4y5FQwq+ZEK6w1HlXZQzOH8MKiieDoV1hpO8p+mmGkwqGIIFZZaFM4mUExmIxjUsJEKexfOal6lqH1RMARfOTOVdaEgchS5t9fnaZTwDAzBN4IKexo2tT78Ydc1enI8Eoag20ZlrYNVgffS6dUgGIKtGpWVWB4Wj56lDMciYQiyt6isxRDELKE8A2EIsq1U1tFI4La/KdPRCBiCKl8qFTal1MNnKNsAGILqPmrLkQgYgmkYNeYpGILpK2rM4QgYguggteYxGIKniJlaswGG4GlHzTFXhiFo3qL2jIUhaFZRe06EwRAsZ6hBbWEIkkgzNWgxDEFSgVqUXBiG4GhKTXoOhuDoTU36G4bgeJnadBcMQfEetWkqDEGxlNr0LwxB8Qc1qjQMwXCcGvUoDEFgSqNGfQZDEJSiVh2HIQiqULOqwKC8GtSswTAorzY1aykMyrubmnXRBIPiGlC76sKguMZUUMbBlV+cpN+eh0FxLaiMK4vf6lk7CoI7X16bQr9Mh0FxbaiA5GXdouAgf8f3E+i772FQXHtKMW//bvabU9dfoq829C8IN3GjrtFXe2BQXCeKS/msFmwqzUqjDxJ6QlzRD+mjmzAo7iGK2lgaOaouNVOupcUhqcc1+qYUDErrRTHfRcNJ/0zKcqEHPKm0lT5pAoPSelLE5+Fw0S+TMpytAM+i/6AvHodBaZ3pbm8U3DyeQa8S74E3RfbSB2/DoLT76SazEURMpDfp7eHd7aco33wYlNaEbt6HmJjD9OIpyFEribL9BoPS6tHVtTiIeoCefQR5RlO2eBiUdgddfQgJX9KT1HKQp0AC5YqHQWkV6aoeJJRJpwdzINdwyhUPg9JK0cVOSFpOaWnlIVfUMcoUD4PSCtHF85DUhtI+gXxPUqZ4GJQWRWfJhSHJdICSKkG+6CTKEw+D4jLp5Ct48BKlHIAvFlKeeBgUd5NOWiFHRMEyReGohJkSPoOrBu+sPJ5+7cyBHZ+3MsFFV8oTD4PiLtHRMRNsTF3mHKLgwqoGyLGHEvrDWe0VzHF8XAk4ibpGWeJhUNwpOloKmwbxzGL+NBxZZlFCVTjpn0knR2vCyXzKEg+D4g7S0duw6pxBBwvCYNeb4s7DyROZdHGlFRw9SFniYVDcbjrqAYsGN+lkLOxKU9zXcPRgJt2kdoaDyGTKEQ+D4rbQUQ1Y/ElnKZVh9x9FTYaDiAPMdnxq5zrPnaHgVCwcbKYc8TAo7jc6SAmHoCGz3UiixXew+5KiRsHB88wxF4JCGyiYCAfTKEc8DIr7kQ52wWIRs7RDmc20qAKbcRQ1HDliE+jgi2oAotaQTK2GHH0oRzwMivuODhZCUDaNdufDgKidFIyGzUCKGoAcD9NJ+kdxQPGzJFcgR0XKEQ+D4hbRwesQjGEWc3cA7Sg4YoJVO4rqhRxz6eI7E9CJZEZJ5LhAGeJhUNxndPAYBMuY7ebA0sA6CprDqiZFdUCOM3Q1AsA+kkORYyVliIdBcbPpoB8Ev9HBiQLoRMFcWOWnqKbIdjfdnIkAhpP8AznepAzxMChuKh08DcE+OqqOQpkkr0XA6iLFNEC2N+iuF1CRpLk8svWnDPEwKG4cHTwLwWU6ugvYQUEFWO2jmA7I9gfdfQ1EZJAcjGz9KUM8DIp7gw6GAYgw01F9YAYFzWC1k2L6IUuRDLo7DeAUyfeRrT9liIdBcS/TwRgAheikFjCMgr6w2kIxI5ClCcWUQ9lEkuuRrT9liIdBcUPoYCkECXRUGniDgldg9TvFTEaWlhQz6rmzFJxDtv6UYSsMiutPB/9A8BsdFQUmUfA+rNZTzDxkaUtP8iNLf8pwFAbF9aWD5DAAH9JRU+BDCubAag3FrEaWTvQkEln6U4ZbMCiuGx1VAvA8HX0GLKZgPKxWUMxWZHmIHqQjW3/KURgGpbWjowcBNKGTH8ZcpmAErJZQzHFk6U0PriNbf8pREwalNaejcRDsp4inYHX7v7TKzKSDI8jyGD04imz9KUdrGJTWgI7+gmAoRXSDTcGmrdo2qV4sDFGFSle6b/CHfyaR3IYsD9GDz5HtKcrxKAxKq01HGYUBFEiiu+aQYGr3H9chy2304FFke4FyjIBBaVXo5GEIZtPN30UgKer1+ch2nJLMJZHtbcoxFQal3UYnH0JQ+jxdfJYPnkQi22JKWo8c71GOBTAorSidHIZFWzMdpT4DT+IKIMcwSmqFHPMpxy8wKC2Gzu6HxQQ6OH0fAFPtodNHVoarUi/+dY3pv3dAlrsp5S842EU59sGgNBOdrYZF+KAjzLK9FICeB3ittQmu8jdtMCiBZGp7ZPmWEkYhR4EMynEVBsWl0Im5Bqwimr94gRYnywB4nczoAHGF5pD8EVmKvn+LotogRzvKEw2D0q7S2Rxk+YGC63cBuM1MvglJg9L4FXIUf/sCRXRAjg2UpyIMSjtLZzfLwKbUdZLp7SDoSu6JgLRKfaPgKHrgProZi2y9KFMzGJR2hC7Wm2AR8RsFg2BROfPovfCJqdMGukhrBZuCEzIo0xAYlLaXrv4Hi6kUvA2buHzwWb2F6XRiXvJks+5jVhw1U7Y5MChtG12ltQCqfUfBbOTK7dOSmDubYVDa73STsfjLNAqWhSGXioy6wNxINMGgsLWUkP5WOHIvZsgR5kJlGBS2kuL+a4DACO+z2Ux/PQSDwpZS1Oz8CJyywzZk0C//B4PC5lPE4XYIsBIDlybQd9/AoLD36SZlTDQUYLpr+OoM+uYQDAobQ1drq0ExFSZfpi/MsTAo6yU6O9cbiop5NY0+aASDsp6ik+S6UFqT05RvMAzKephOnobySp6mbLNgUFZrOvoCwdCdsv0Og7Lq0cG+/AiK9ZTrGgzKqkwH/REcb1K26jAoqihzJMYiODpTtmdhUFS4mdk+RpDcSdmWw6CsRGZrjSCpRdkummBQ1ElmawHFRDz8cmMTstxF+erCoKjdzNYFSqnwN8k1cbBrQPlegkFRm5htABQSu5sWn8BuEOVbBYOiVjLbgRgoIuxbWqXmh81cync9AgYlfckce+tBCdNoVxg2u+mDRjAoaSYdpI+JRMC9QLsDYbCKy6AP3oBBSWPpZNfdCKySS5jlCdi0pC/Ww6Ckl+ksbQgCqf9lZnkDdq/SF8n5YFDQALoah0AxddzILDt6IMs39EkrGBT0EN18FoFAiHlmP+2uzLoHOU7TJ+NgUFATultmQq6VGX+JNpk/9ckHB+Xom80wKKgKRYxHLt3zZRptDr1ZDs560t3+bqspJS0OBuXEUcwT8F9Yown/0ibp8+Zw8x7dPYCo9ZTSEQYF3aSIlCbwT/5un52n3aan4iDiT7r5EUCRg5QwFwYFHaWYhIrwXZnBq5Jpd2p8VYiKSqGbpyGofoniLkfCoJy/KGpPIfimzqitZtqlLW0fBgn30V1fWDRJprgHYVDO9xS3tTBki3xg5jFmOz+mDKS9SHddYNX1FkXNg0E5n1DCtrKQpfrQ7xOZY+sTUfBkKd29CpsGZynmahQMihlHKbcmF4UXxXp/eoIO0hY2ghe76W477Mr9RjFdYFDMUEq7Nql5BCQUbTPiq38z6ej86NIQcdfI/xtRGlmOUkRVZKk5+SzdfAWDYnrRo+vfPNO8cjQcFK/bcdDYFSfoastjUXBX7J1TFCS0gN0FipiGHOGdvk2js8RoGJTSkjJc3r3u57Xr1v+yYfOxFIpJmtsQIkpOTqLNDtjdoIiMenBUcsR5OnkSBqXUZO5tHhALEaWn3WS2RrA5SzE7IuDk7iQ62gqDUoowly5MvQNiysxMpoMasNlOUa/C2Vg6qQ+DUlKZC5lrukdCTMyoJDr6CnY/UFRqOzipbKajeTAo5RT9lbltVDmIMj16kk7W5ofdOxR3ozGcXKGj5KIwKGQ3/WH+Z0bXwpDQOJ5OUt8MQ5YWlHC1DhxdopMRMCjj9gxKGV3/gb4vvPPJ938dSaKDjMu7Z/UoBkkVltDZmurIEZlICeerwsEFOjlsgkER4yjpK2SLqdCg84Ahj3ZsWqtcHDwqPDGZTv5qDycrKOV4OWQrm0lnD8KghMhzdHD4EB09AV/FvnGVTuI7wMVzlLS/OLK8ThebYFBCLzqqlW8OHaR2hU/yDb9AJ1s7wk0VSttXHzaRB+mqJQwK+JWOCiBsNR2kdoV8EQNP0smvbSFmE6Wlj4+CIPI7ulkPQ+DVpKMbAAruo4PUrpDJ9MhBOtneDOLa0ZOzk2uW67ySIprAEHAz6GgfBFWv0EHqIMgR1Xc3nVwYGAYpW+mXH2EItPxX6WglLB5Ip6NFBeBN7emX6CRtWiFI60b/NIAhwJ6mk2mwGkYnh+rBkwKD4unix5rwxLSbflkJQ2DFnKCT52DzGZ2kzqkOKU0+u0EXhzrDi270Tz0YAur/6KwdbGL20Jl5ZUu4M9V9dR9dZYyJglef0S8bYAik22/RWWXY3XGDrvZ/8tQdJmQzVXtm2UW6O9oEMsQdpF+6wxBAS+gsPQJZ+lHM1V+Wfz5z/GtvfLL2YApFfVkQsjRIoz+O5IMhYJrTxT7kmEc/XO0LuV6nX/4HQ6CE7aCL0ciRfy99trE8ZAvbQH8kloIhQAbRhbkSHNS6Sd+kvR4GH5S7Qn98CkNgFEqgi9/gZAB9crA+fNOT/si8B4aAmEZX/eHsS/pgbix89Rn9sckEQwDUTKOLpFg4i91PuS4+BN/FHaI/noUhAH6kq3lwddctyvNTGfijhZl+uF4OhlzrTDct4WYQ5Uh+wQT/fEJ//ABDbsUdo6sjJrhbRO921YK/Cp+jPx6DIZc+ppsXIaLAQXphnhoF//WmPy6WgCFXOtDNiXwQUzeRHp1qg1xZRX8shiE3Cp+mm/4Q1/wmPVhWBLlzexL90QWGXPiKbvaGQULbFEo5/BBybTz9cbY4DH57iO66QVLXdIpKfDUKuVcqmf74wQSDn4pfoJs/4UGfdLrL/LQUAuJj+uUlGPz0Nd21hCeNjtHVpnoIkGqZ9EdqPRj88ijdrYFnhZbSyfFeCJxv6JeDcTD4ocxlujHfDW+6/2KmXdp3D0UigO6jf76CwQ+r6W4RZKg6dtmfJw+vmTGwOAJsE/3TDwafPU13aVWgqs70T1J1GHxU4TrdzYa6THvpn/1FYPCJ6Re6u1EaKutPP/0aCYMvhlLEO1BbTBL9NA8GH1S/SXeXC0F1X9Ffb8IgW76dFDES6utIf5n7wiDXbIpIiIH6Ii7SXylNYJCnJ8W8CS34kH67WAUGOSpdo4jEwtCC5vTff0Vg8C5qK8VMhiaYTtJ/GyJh8Go6xaSUhjZMYS7Mh8GbrhT1ETTibubGKBg8K3+ZYjKqQCv2MxfMfWHwJOJPivoamvEWcyOlKQweTKa4J6EZVZkrF6vAIOlBM8WVhXZsZa78VwQGCWUvUtw+aMgbzJ1fImAQFb6REmZCQxoxl+bAIGocpXSFhoRfZy49D4OIBzIpIb0gtGQVcyn9ARjclD5PKZuhKS8yt65Wh8FF2HpKGg1NuYu5dqAwDM7eorRW0BRTAkWZKd/aCBgc3Z9BaeWhLUso6uwOyvcBDA6qX6E0cyS0ZTDFxY9JoWzPwpCt6EF6cAEaU4USNjf5h3KlN4TBLvJXerIDWnOcEjbGzaVc+6JhsJlLj36F1nxOKdMwgXJNgcFqBD3bBa15jJIewktmypPZGAZBl0x6dgZaU4aSrlZEv3TKcyAGBpRLpBep0Jx9lLQ1Cl2SKc80GLCCXhWE1syitBlAxwzKktkMeV53etcKWlPnMiWZmwJDKM+h/MjjCp6hd5OhOXedo6S9UcBUyjMTedxsyrAb2lPtIiW9DYR9Q1nMLZGnNc6kHGWhPY2TKSWlJhATT1mOxiIPi9xDWYZDg3qaKWWTCSh5lLJMRh72OuU5GwMNGklJgwHUSaEcKRWQZ1VNpkwvQ4vmUsrVEgCGUpZFyLO+plwXYqFBBU5SyiwIvqcc5gbIoxpQtqTW0KIulJJeA0Cx05RjE/Ko9ZRrZmFo03JKWQFBq0zK8RDypAco061HoFVlrlJKCwjGUY4DkciL/qaj+RNvUkIfaNdgSvnbBCB8M+UYijyoJx39DLxOceOgYaZNlPIoBJVuUoaLhZDnhP9HR32AART1rQladkcGJRyPhuB/lGMy8pyn6SgxBhhFMbtioW1fUsorEET+SxmSKyCPiT5FR/MA/EERCeWhcTUyKeFiLATNzJRhIfKY5+ikGVDWTBGPQPMWUcqrsPiMMpjrIU8JO0hH/wIYRhG/QPvuNFNCQiwExS5RhuXIU7rRyTAAP9Fdag3owDJKeQUWT1GGzGrISzbRUWJhIDaZ7sZDDxpTyoX8EJg2UYZPkIc0oJNeAEbR3bEY6MI+ShkBi3spQ0oZ5B1L6Gg6gOLX6a4L9GEkpZzPD4tvKcNk5BkVMujgj0gAn9Pd99CJkmmU8jIsamfSu+uFkFdMo4ObZQG8Rne3KkAvvqWU8zGwWEQZXkMekf86HbwP4HEz3U2HbnSipJdgUT2D3p2LRt7Qj44qwvRWJt3dKgXdCD9DKeeiYTGPMjyDvGEDHQ3usZpipkJHJlLSQFhUSqN3h8KQF1QyU4abJaEjDShpF6zmUobeyAtGU44p0BPTaUpqDot6lGE78gDTccpwowR0ZTYlLYXVNsrQFqGvDeWYBH1pS0npt8FiMGVYh9D3FWVIKgZ9ibxGSWNhEZdE78zVEOoK3qIME6A3CynpfBQsPqEM7yLUDaIMiUWhN70p7VFY1KcMCVEIcX9ShknQnQIplPQnrHZShj4IbTUoQ3pZ6M8aSrsXFmMow68IbZMowyLo0IuUNg8WTSmDuRpCWfgZytAQOlSX0m7EQBBxnTK8i1DWkTJshh6ZLlFaD1isoAwJUQhhyylDL+jS15S2BBbPUY4+CF3FUundiXDo0nOUdiMGgqqU41eErmGUYST06Q560AMWxyiDuRpC1g56d6MwdOocpS2FxULK8S5CVV3K8AH0ahGl3cgPwXDKkRCFEDWD3pmrQa8G0oOeEDSmLH0QmiIv0rtV0K0q9GAZBNHplOMnhKaHKUMX6Nc5SruZH4IdlCO9OELSCnp3PgL6tY4ePAzBR5TlWYSi4mn0bip07H16MBOCAZTlN4SioZShNnRsMD3YBcFdlCXzNoSgrfTub+hZU3qQWQRA+C3K8iJCzx2U4XnoWRF60gWCeMryF0LPRHqXUhS6dpYevAvBh5SnIkJN2Cl6twz6to4ebIXgacrzP4Sa+ynDg9C3GfQgPQ7APZRnJ0LNF/TuTDj0bRA9aQ8gMpXy1EBoib1B796DzjWlJ+Mh2EZ53kZoeYIytIbOFaYnGyH4hPLsQ2hZR++uR0LvztCDCxA8Q5nqIJSUy6R3y6F7a+lJQQD1KdP/IZS8Rhn6Q/c+oCf1AORLozx/IpTso3fmktC9MfSkNwQ7KU9GEYSO+pRhC/RvBD15A4J5lKkXQsdMyvA29G8QPZkHwauU6VOEjMiLdHS8djpF3Av960NPfoegC2U6hZDRjU4a4RLdnTNB/x6kJ+cgqEq5aiFUfENHPyOOIpYjBDShR3EAwlMo08sIEbel0lEb1KaI1xACatOjmhDsoUw/I0S8S0d/A50poi1CQHl6VA+CbyhTcgxCQqFEOuoFDKOIoggBhelRUwjmUq4OCAmv0dGFMOB9ujuGUBBGj+6HYBrlmoFQkO8cHX0BYDXdfY2QkERPOkMwhnLtRyh4hk76AjhAd68jJJyhJz0heIWylYX+xZ2lo4yiQHga3bVDSNhPT56A4FnK1gP6N55ONgOoRBGlEBK20JPBEAygbJOgexWT6eQdAG0pIj9Cwjp68gIEz1K2X6F7y+jsSQBDKCICIeFrejISghcoW2IYdK45XTQF8H90Z0ZomE9PBkIwkvLdCX0L204XpQGMprtUhIbZ9KQrBG9Svv7QtwF0cQOC0XSXhNAwmZ40hmAM5fsQulbgHF3shmA03V1BaHibnlSBYArl2wZdm0BX8RCMprvzCA0v05OCECyhfGnR0LFKKXQVD8FoujuJ0PAMPUiBxd/0QSPo2HK6iYdgNN0dQWh4jB6cgsVV+uAF6FcLuouHYDTd7UdoeIgebIegKH2xALoVtp3u4iEYQXf/IDQ8QA9WQdCAvvgHuvUwRWyFoAfdbUNoaEwPxkDQl764Ct3aTBGnIbiX7v5EaKhDDzpCMIE+KQCdakwxmZEAitHdbwgNlelBcQh+ok/uhE59TVEVIUikm3UIDaUo7QgsEuiT9tCnKpkU1QKC3XSzGqEhltIWQ1CWvhkEfZpFcU9AsJJuvkNoMKVT0osQdKFvxkKXCt2kuFEQzKSbZQgR/1JSYwj+j76ZD13qSQnfQ/AC3SxAiFhEKWnREKygb36BLn1GCRchqE03nyNEvE4pqyAwnadvDkGXzlBKdQhO0dUchIjOlNIRgjr0UTL06G5KegqCT+hqBkJEBUo4FgbBSPqqJHTodUr6FILudDUZoeIaxb0Gi5/pq3uhQ5soaR8EBdPpYixCxR8UlVoSgny36Kt20J/YdEq7HYKNdPEmQsUcihoJi/vps7bQnzvowXAIXqOLkQgVgylmHqwm0WdtoD9t6cHvEJS8SWfDECpiz9LdH1Gw2k6ftYL+9KcHmaUheI/OBiNkDKSbfSVh0/B7M33UAvozip4MgaDULTp5EiEjfA2dXXkpEtnuWpJJnzSD/syhJ7/AYhqd9EXoCBtnZo70mcXgpPrnafRBE+jPKnqSURyC0rfo6GGEkkaT/s4kmbF3wYg2ReCmwnLK1wj6s5MejYDFdDpqgBATVzQuygQpXU9RrobQnzP06JAJgkL76aAwQpOp5lNjP/jqh81bflo0e9zwtsVhV2BWJuW5F/pznp61g0X1q8yWgFB07+urLtHZqVVjW4bDomkCZbkH+nOenn0Hq/YZzLISIafY8H8o7vKXPeIA3HmOclSH/pynZxnlYPUys3RFiLlnWSo9SJpeHqhxht5lRkF/ztOLsbCZT5sD4Qgpse9l0Iv0hbVRl94dgw6dpxdnI2EVMZNWfRBSOh2nDOljIrfSq3XQoeP0ZjTs+iWT3GxCKHmXMu36nF59CB36g96k3wO7KsO/fS4CoeQlBtLL0KEl9Gp3FEJUTzMDqSt06F16Nx2hqWEyA+oO6NALlOEDE0LRzwyozHzQoQcpx6JIhJ67GFj7oEeFMml3c838+fMXH6aoH/Mj5MxnYE2GLu2gxY0ZbfPB6rbenybT3Z9FEWJKpzKwmkCXhlOwqCwclBh7iW4OVkdo6c7AOh8GXYrYws3N4CL/S4l0dfUBhJQ3GFhzoVdVIaL8WrpKfw6h5AsGVieEmIHX6WpWOEJHPAPqRjRCTbktdLW2MEJC3O11Wl5jQM1A6IlZSlf/VYLOFek85a9UBtyZgghBpnfo6nRN6FmNLzKoiF4ITf1S6SLhbuhWqUWZVMaPCFX336KLq42hU9WPUiEXKiNkPZBMFzfaQJfuu0Srm//88lM6A2lnRehSQcjRPoUukjtDh4qeo9XKcgAqfnCLgbK2DXTqccjyYCpdpPWB/iymRebjsKl9gQHxRyvo1veQp3MqXWQ+Db3pSau3kOWOswyACdCxayUgTz+6Mg+HvpS8SIufTMhW/TRzbRZ0LJbdINMUuhkFXZlMi8TicNAog7n0pQk6Vp3jIVPYD3QzIxz6kf8KLd6Hk/HMnW/DoWetuAhyFdxLNz8Wgm48Q4vMKnASuZO5sSc/dO1R/g7Zqlymm/1VoRd7abECLmqn0H9JNaBvr/A45GudTjdX7oc+tKZVW7h6m/7rA51bwfQwyDeE7tKfhy6Mp0VSJFwVTqS/ZkHnYm+RcfDBhxQxJwI6sJEWq+BuKv20NQo6151kOHwQ8StF/FoUmhd1ixZD4a5cGv1ypSJEvAod+YFMg0+KHqaIw3dA6xrRqjpEzKc/zJ0h4lFGQzdakLwG39RLpYjrHaFxI2lxHGJqm+mHiRBR7CbLQze2kDwBH71EMZkjoG1zafE9RC2h734Lh4g3yfrQi3cp+B4+Mq2hqHlR0LKVtJgGURVT6KvzZSAi6iz5IHRiDC1GwVclz1HUHyWhYVtoMRTiJtFH1+tDTHuST0If/ker9vBZWzNFnagL7TpGiwchrmACfXKjKUSNJfkKdOEFWqUWhu+mUNyNh6FZt2hRAxKG0BfJ90PcLySnQA8GmWm1CH6I3Epx5jehUXG0yIyChPB/KV9aZ4gLv0FyAbQv/xzatYA/qiRSwqJoaFJxWlyHpJpXKFdGL0ioQMFeaF6DA7TbB/88Tilbb4MWxdEiCdJaplKeIy0hpTEFmXHQtvC305nlIfjpS0o50xAaFEGLm/DgMcphnh0LSd1p0QKaVuUvZlsEf8UdopTkx6BBGRSkwJO36N3xNvBgKC1ehpYNTGK2C8Xgt/pplDQxDJpzg4I0eDSB3nxUAJ6Mo8UiaFbk49uZI7UtcmEkpa0sAK25REEGPOtzk57sbgvPxtLiELSpcLeZp+kgvRtyw/Qzpf1bGRpzhhbwou42Svq9kwlevEkLc2FoS4l7uj438au/M+kkoxdyp9QFSrvUGtpyhBal4U2z5RkUcW5uU3j3Cq26QBPyVWs7aPxXGw6nUMylTsith+hB+hBoyl5aNIZ3t/Wd/lcKHVzd/M59JsgxnFafQl3hzQaNX7j5jJkebCqH3PuKnsyJgIZsp8VjkCeycrM+L0+ZMm7UK8+2Lg3ZnqHVhTCoJ6zdJwn0JmVMOAKg8Gl6sqEYtGMzLUZBUR1o0xSqqRtPr25Nvw2B8SA9OlILmvELLT6HoqrQZgrU8mI6vbkxpRQCZi49SuwCrVhDiw1QVHgarQ5AJQ0z6NnxT/sUQQAVOE6PMl+DRiyhxQko6z/a3AlVxPzHHBcPnb58y8wsif9t+Oq5agi01mZ6tjAamjCFFubiUNQq2kyHKibRJn1l71qxsDBFFy1b9a77mlaLg0Jm0outt0ELhtLqISjqNdpci4UadtFqRWkET/5D9OJMQ2hAF1pNg6Lq0e5ZqCAilRYfhyOYmmTSi+THoL66tNoGRZku0mYPVFCLFscjEVxT6NXEMKitMK0yCkBRS2jXBsH3CC2GIMjy7aVXKwtAbYm06gBFDaDdjnAE3QgKbuRDsNVPp1f/VobK9tBqAhRVPJV2wxB0z1BwDME3lt5dag11rabV71DW17S7XhrB9igFuxB8kTvpXfoQqGoOrW6EQVEPMstCBFtXCn6DCuqkUoYJUNNrtLkDigo/zSyDEGRtKNgJNbxBOYZBRY/S5jEo6x1mSWuF4KpNQXo0VBC+hTJkdoZ6mtLmPSirfAqzXK6CoIpIpqAR1FAzmTKczA/V3E6bDVDYu8y2vzCCagsFQ6GKEZRjLFQTnk6rayYoq/BlZttVGsE0h4IFUEX4FspwMw6qOUKbqlDYS8xxtBqCaBAF16KhitpplOExqGYdbXpDYVFHmCOhPoKnHi16Qx1jKMNqqOZj2kyC0lqkMUdSWwRNeBIFq6COqL30Lgmq+R9t1kJxg+gg7REEzToK0ktAHY0y6d1tUEsv2lyA8mbQgXlyLIJkNC2GQSUz6F0rqOVe2mRAeeE/0dHJ7giOB2ixGyqJPUqvekItRWgXB+XFfE4nP1ZFMMRl0OJ+qKQtveoC1VylTVkEw8BkOkoZG4Mg2EaLH6CWz+lNO6hmO23uRFDUO0onx/tAeTNoYa4BlRQ5Ry/qQzXLadMYwRH9zGE6+aMBlNaTVnOglh70LCUKqplMmw4IlvA+O+jI/GUpKKs0rW4Wh1q+oUd/IsiKxyHLM7TpjSBqOv8WHVzsAWUdptU4qKX0FXoyAUGVb9RN86+xsOlIm0EIqkLP7aSDBYWhpPm0uloAanmKHmRWRDAV2E7BWti0ps1IBFv9jxKZ7XQ7KGgQbV6BatZR2rcIpsi1tLoXVk1pMw7BFzs8gdnegnIa0eZsPqil0g1KMTdBMM2nzXhYNaTNTKgh7u1EZpluglIK0e5JqOZFSvkIwTSMdnthdTdtvoA6ik9Lod28cCjlLG0WQzVhf1HcyQIIoqo3aZceBos7afM11FJ+Ae2+CYNCfqFNggmqqZVKMamtEURhfzBbGVhUpc1CqGdoBm1eg0Jm064u1PM2RaR3QzCNYI76sChPm0+govbXaZV2D5QxlHYjoJ7IPXST0RvBVDOZObrB4jbaTIea7jxKq73RUERP2i2Bihpm0MW/jRBMUTvooB8s6tJmPFRV4l9aDYMiOtNuNdT0Hp2kjI5CUL1HR4/DojNt3oC6mpppsQ6KeIB2G6Gm/EeY45/hxRBc7c109AgshtBmOFQ2nxapBaCEZrTbBlV1otX132c/czeCreR5OukNiwm0GQiVlbxGi05QQgPa/Qd1baDFCqgg4ic66wmLBbR5FGp7gRY9oIQOtDsFddU306IPgi5iGV08DIuNtOkGtVWjRVcoYQrtLkBli2iRUAxBFr6ErhrB4ihtHoDa8tOiA5Swg3a/QGWVUmmxAMEVvpiuzHEQmFJp0xhqK22moAoUUNxMu4lQ2zRadUIwhS+km6OwKE27ulDbcxRchhJ6MUt3qK3oVVqcKojgKbWe7r6HRQPaVYXKTH9R8BOUMJdZykF1r9DqIwRNy7MU8Q4setCuDFQ2ghaPQAFRV2h3FuqLPkELcysEh+mNDIrpA4u3aBcLdTVIo2BPGBTQg1nmQQOeoNXhGARDiR8p7k5YLKPNFairzlladIcSvmeWu6EBpn9oNRXZqo39et+yNgi8qBFXKS41Ahb/0WYXVNXmOi0Wm6CA4mm0+w2a8BStMhrCpujMNFr8WwUB1uMwpeyCRUwGbVZCTU+k0mJ9FJQwjFm6QROiL9JqTxQsSu6j3dlaCKT6myhtASzupd0HUE+xJbTaUQCK+Jt2R8KgDRNoMxoWk5jt0r0ImNbfmunB87B4inavQDXdztNqS0ko4g5mGQ6NKJdOq9QaELRkjuttEBCxz+yhZxVgMZ12faCSKktosygayphIu+sFoBXLafMrLJYzh3lWHHKt8ntX6cUeWK2nXSOoouxHabQyj4JCwk7Rbjo0ozntHocgbi8dnOiAXKn+6p9mejURVgm0uw0qKPFeMm1u9oBS7qddZiVox2HaXCgCQfXrdLSwJvxkum/ifsrSFBalaZcWhqBrsSCZdqfugWI+od0P0JAptPsYFj3oxLyqFXxmuuOpT89SpkvhsGhLuyMIsuIj/mO2v0pDMeEXadcRGtKYdubGsFhMF9v7FYV8hdq+/eMV+mABrEbQbgOCyXT/0lRmS3wxHMp5gHZHwqAhprO0+ycCguIJdJX51+hG4fCmWKN+7yzbm0kf9YXVfNp9geAp/dphOvi6LJT0Ee1egaZ8yCwvw6IPxVxZNeWpRoUgoljttv1GffHXZfolvTCsdtBuLIIkrMO36XRwtCMUFZ5Am+Ri0JQHmOVsBCy+paSzG7//avbE14cOGPLSG2Pf/eDTb/86nsJc+Q1WESm0G4igqDbuBB2lTYiBslrS7gtoS8QVZukBiwqpDJ6RsKrNLO2gvEKDN9PZxjuhtFdp1xAa8wWzrIfVbAZPTVg9ziw1oLDwDouT6ey/3lDeEtpsh9b0YhZzdVjcdovBchg2U5klFoq6c8pZujgxIBxBcJA246E15ZntPVhNZbDMgM162t2EgooN/ZuuLgzPh2AoaKbNw9CcC8xyORoWJW4ySB6AzSXaHYNSIrt+k0pX196MRXA0o93t0JzVzNYPVl8wOBKjYFWOWbZAGbVnJNDNzUlFECwdaBcHzRnDbCtg1YLB8Q1sOjPLKiih2Q90lzixBIKnA+2KQnM6M9sR2BxkUDwNm1HM8hkCr9PvdHdldBEEUwfa3QvNKc1s5jhYvcaguA02XzPLRARY+KP/0F3C6wUQXB1o9ym05xSz3QeruxgMu2B3mFleQkBFDzlCd2dfzo9gq0W7W5WgOd8x20BYhV1nEEyATQEzszyGACr42nm6O/5cNFRwnnanakBrJjDb+7BZyyBoBptmzPYIAibspWt0d+CpSKhiMbNcaA2NeZPZfoXNGAZBDGyGMttQBEqV3+lud98wqGQAc6ypA015idkuwmYIgyAaNp8y22gEhun5G3SzpasJqoncxRyZ3/TKD+0YzBwlYdWfQRANm23MNgsBUeEXujnWA6qql05HN5f1KQ2NeJw57oBVbwZBNKwiUphtCQJhUCJd3RgVDZWNoavjS15slA/q684c9WHVj0EQDavazLEOuVfuJ7pZWBbqG0URqfEzHqkEdXVgjpawmsEgaAmrx5ljJ3LtyWt0ta0JNOHJNIo7//3rreOgmhbM0RFWfzAIlsFqKnOcRi4VW0lX5weEQSOa7aCkjH8+fuoOE9TQnjl6waLoLQbDaFisp4OKyJV7jtFF2rsFoR2mJ07Qk6s/j3mwKILtBeboD4uJDI4f25uAS3QwFLnx+C26+Kk6tCX65X304tDil5vHIohmM8fzEJS4wWC5svVrOvoJ/ot4ny5SXoAG1Z10nN5k/jvv+Yb5EBy/MserAKJ+pmpSYuGvUhvpYl8daJOp6aTNqfQqbftHT9eNgNKKpjLHGCB8OVXUDX667zRdfBQDDYtpOernJHp3a/P7j9cwQUFD6GAqii6nmubCP4NS6ezyw9C88Htf/OYCZbj+6+ReFaGQP+lgTvfzVNWFWPgh6hO6+K0cdKJqz7HfH6MMF38c26U4Aq4+HSVRbePhu7LxdJb+Zhh0pVCz5z+Ov0GvMv98ow4CyhRPn6RcPrl/28Y1y+fNmjr+7f+9OGTAY726tm/VuF6tqhUrV61e887ade6+594G9zVu2rxl6/vbtn+wU5duD3fv2bvvo4/36z9g4OBhkxZsPJJCD1KqwlfNz9PZ0UbQo7BqPcauOEZvTn7YMRoB8zS9ST3+59czX+vXvund1coUDEcAmErcM2R9OiX8AB8NS6ezhQWhY4VaDPt0WzI9urlycFkERMmLlHR19einH6xbwgRFFBuwOpWiOsMXMV/SWVI/6F/4nY9M/ukcPdkxtqEJuZVvM8Wd/fKZ2iYorMhHZoo4nA/y1dxJZwdqImSUbPfG2puUdv7z7gWQKwsoJmFOqzAEResjFLEsHHINvklnqwshtEQ2G/XLLUpKXftCZfjtbbpLX9AuAkGTfxZFLA6HLMW+o4sJYQhB+Vr834YUSto3qWkY/BA2jW5uTC+P4PqSIhaEQYb7z9DZjV4IWdGtxmxKpZSL83sUgI8KrKarhFFFEWz5/6GI+WHwpvj7Zjo7WgehLeb+cX+kUULqT8+Xhw9q/EsXR4bEQAVVkyhiWXF4VGhsIl38Ugx5QP52s85Ryq5xDU2QpcycdDrb1ycc6niTYi4/bYKk2Nev0NWMcOQRYS0+OEspF5Y+WxPeFBp/k87M06KhlpiTFPVHbYir9L8LdJXcD3lJWPOZZyjp3OLB1SApsvOCJLo42QYqeoLi0ue0iYCrWm/tpLvTDZDXmJrOOE1pZxYMrBcHN8U6zL1MNwsLQ02mdZRydVHfQshSokm/dw9QzObSyItMTaafpCdnf/t4RJcakZH5C5coW7FGp7e+O0ERV/pAZWUuUlra8T1//vz1vCXbrlHKN9HIq0yN3jvB3NlcDqrrwtz4MAx5mem+qcfpv3cjoAGz6L9RMDSccox+udoVmhC1gn7KeBoGi/qTj9Bnf1eCRkR+R7/c6gJDlnoTD9MXqZOioBmR39APlxvD4OieCQcp17dVoCURC+mzE3fA4KruOwcow85W0Jpe5+ibPWVhEHPX2P307PzAMGhP4Y/N9MHSwjBIqT1mLyX99UIBaFOzrZTrcl8YPKr53NLzdLf79UrQsDrvX6YM594tA4N3NQYvPGFmtpt736kFrcvXZ206PUpe3ikcBrmia3QYMnHU4G6NK8dBJ/K3fuvnRIo6suiF+6JgCH3h9zz+6vSlmw4nJV1NOHviyL4NCyYNe7hhcWjL/wM9z2faBrt43AAAAABJRU5ErkJggg==)}.os-icon.android{background-image:url(data:image/png;base64,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)}.os-icon.other{background-image:url(data:image/png;base64,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)}::ng-deep .date-time-container.data-table-date-time{position:fixed;z-index:9999}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{height:.0625rem;width:.0625rem;padding:0}::ng-deep .date-time-container.data-table-date-time .filter-button-container{height:3.125rem;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton{padding-left:var(--paddingSmall);padding-right:var(--paddingSmall);text-align:center;background-color:var(--inputBorder);color:var(--tableText);width:unset;height:1.4375rem;line-height:1.4375rem;font-size:.875rem;font-weight:600;position:relative;float:left;cursor:pointer;border-radius:.25rem;margin-right:var(--marginSmall);transition:.3s}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton:hover{filter:brightness(90%);transition:.3s}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{border-top-left-radius:1.25rem;border-bottom-left-radius:1.25rem;text-indent:.3125rem}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-button-icon-only{border-top-right-radius:1.25rem;border-bottom-right-radius:1.25rem}::ng-deep .tag-selector-container.data-table-tag-selector{position:fixed;z-index:9999;width:21.875rem;height:-moz-fit-content;height:fit-content;background:var(--formBackground);display:flex;flex-direction:column;justify-content:flex-end;padding:.625rem;border-radius:var(--inputBorderRadius);box-shadow:var(--shadowLarge);margin-top:-1.25rem;border-color:var(--stroke);border-style:solid}::ng-deep .tag-selector-container.data-table-tag-selector .tag-selector-label{margin-bottom:.3125rem;margin-left:.125rem;font-weight:600;color:var(--menu)}::ng-deep .tag-selector-container.data-table-tag-selector .select2-search__field{height:2.1875rem}::ng-deep .tag-selector-container.data-table-tag-selector .nf-select2-dropdown{width:calc(100% - 1.25rem)!important}::ng-deep .tag-selector-container .icon-close{position:absolute;top:.5rem;right:.5rem;cursor:pointer;color:var(--icon);font-weight:600}::ng-deep .tag-selector-container .icon-close:hover{filter:brightness(50%)}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4$1.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i7.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "excludeHiddenColumnsFromQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "advancedFilterModel", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "suppressChartToolPanelsButton", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDuration", "cellFlashDelay", "cellFadeDuration", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "suppressGroupMaintainValueType", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideInfiniteScroll", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "functionsPassive", "enableGroupEdit", "initialState", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "gridPreDestroyed", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i2.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }, { kind: "component", type: FilterBarComponent, selector: "lib-table-filter-bar", inputs: ["filterName", "filterColumn", "startCount", "endCount", "totalCount", "currentPage"] }, { kind: "component", type: HiddenColumnsBarComponent, selector: "lib-table-hidden-columns-bar", inputs: ["hiddenColumns"], outputs: ["columnVisibilityChanged"] }, { kind: "component", type: NoItemsComponent, selector: "lib-no-items", inputs: ["image", "typeName", "isEmpty", "hasAdd", "hiddenResults", "isLoading"], outputs: ["clickEmit", "refresh"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }] }); }
|
|
8051
8080
|
}
|
|
8052
8081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableComponent, decorators: [{
|
|
8053
8082
|
type: Component,
|
|
8054
|
-
args: [{ selector: 'lib-data-table', template: "<div #tableContainer class=\"data-table-container\" *ngIf=\"showTable;else nodata\">\n <lib-table-filter-bar\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [currentPage]=\"currentPage\"\n [filterName]=\"filterName\"\n [filterColumn]=\"filterColumn\"\n ></lib-table-filter-bar>\n <lib-table-hidden-columns-bar\n *ngIf=\"gridRendered && showFilterBar\"\n [hiddenColumns]=\"hiddenColumns\"\n (columnVisibilityChanged)=\"columnVisibilityChanged($event)\"\n ></lib-table-hidden-columns-bar>\n <div (resize)=\"resizeGridColumnsDebounced($event)\" class=\"ziti-ag-grid\" id=\"ItemTable\">\n <ag-grid-angular\n #nfAgGrid\n [columnDefs]=\"mergedColumnDefinitions\"\n [components]=\"frameworkComponents\"\n [getDataPath]=\"svc.getDataPath\"\n [getRowId]=\"svc.getRowNodeId\"\n [gridOptions]=\"gridOptions\"\n [modules]=\"gridModules\"\n [rowData]=\"rowData\"\n [tooltipHideDelay]=\"20000\"\n [tooltipShowDelay]=\"0\"\n (gridReady)=\"onGridReady($event)\"\n class=\"ziti-ag-grid-table ag-theme-alpine rows\"\n id=\"ItemGrid\"\n >\n </ag-grid-angular>\n </div>\n <div\n [ngClass]=\"{ open: openHeaderMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderActionMenu\"\n >\n <div (click)=\"resetTableColumns()\" class=\"tActionRow\" id=\"ResetTableButton\">Restore Default Table</div>\n <div\n *ngFor=\"let headerAction of headerActions\"\n (click)=\"actionRequested.emit({ action: headerAction.action })\"\n class=\"tActionRow\"\n id=\"ResetTableButton\"\n >\n {{headerAction.name || headerAction.label}}\n </div>\n </div>\n <div\n [ngClass]=\"{ open: openMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu item-menu\"\n id=\"RowActionMenu\"\n #contextMenu\n >\n <div\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"actionRequested.emit({ action: menuItem.action, item: selectedItem })\"\n [ngClass]=\"{'menu-item-hidden': hideMenuItem(menuItem, selectedItem) }\"\n class=\"tActionRow\"\n id=\"TableActionButton_{{menuItem.action}}\"\n >\n {{menuItem.name || menuItem.label}}\n </div>\n </div>\n <div\n (clickOutside)=\"closeHeaderFilter($event)\"\n [ngClass]=\"{ open: showFilterOptions }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderFilterOptions\"\n >\n <div (click)=\"applyFilter($event, filter)\" *ngFor=\"let filter of filterOptions\" class=\"tActionRow\" [ngClass]=\"{'has-icon': filter.icon}\" [id]=\"filter.columnId\">\n <span *ngIf=\"filter.bubbleClass\" [ngClass]=\"filter.bubbleClass\" class=\"bubble\">\n <svg *ngIf=\"filter.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 <span *ngIf=\"filter.icon\" class=\"os-icon {{filter.icon}}\"></span>\n {{ filter.label }}\n </div>\n </div>\n</div>\n\n<div *ngIf=\"showDateTimePicker\" class=\"date-time-container data-table-date-time\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeDateTime($event)\">\n <p-calendar\n [(ngModel)]=\"dateValue\"\n (onSelect)=\"setDateRangeFilter('custom')\"\n dateFormat=\"mm/dd/yy\"\n selectionMode=\"range\"\n placeholder=\"Select Time Range\"\n #calendar\n >\n <ng-template pTemplate=\"header\">\n <div class=\"filter-button-container\">\n <div\n class=\"toggleButton\"\n [ngClass]=\"{selected: selectedRange === 'hour'}\"\n (click)=\"setDateRangeFilter('hour')\"\n >\n Last Hour\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('day')\"\n [ngClass]=\"{selected: selectedRange === 'day'}\"\n >\n Last Day\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('week')\"\n [ngClass]=\"{selected: selectedRange === 'week'}\"\n >\n Last Week\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('month')\"\n [ngClass]=\"{selected: selectedRange === 'month'}\"\n >\n Last Month\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div *ngIf=\"showTagSelector\" class=\"tag-selector-container data-table-tag-selector\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeTagSelector($event)\">\n <div class=\"buttonBall icon-close\" (click)=\"closeTagSelector($event)\"></div>\n <div class=\"tag-selector-label\">\n <span>Select an Attribute:</span>\n </div>\n <lib-tag-selector\n [focusOnInit]=\"true\"\n [availableRoleAttributes]=\"roleAttributes\"\n [availableNamedAttributes]=\"namedAttributes\"\n [(selectedRoleAttributes)]=\"selectedRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedNamedAttributes\"\n (selectedNamedAttributesChange)=\"tagSelectionChanged($event, false)\"\n (selectedRoleAttributesChange)=\"tagSelectionChanged($event, true)\"\n ></lib-tag-selector>\n</div>\n<ng-template #nodata>\n <lib-no-items\n (clickEmit)=\"openCreate()\"\n [image]=\"noItemsImage\"\n [isEmpty]=\"!rowData || rowData.length === 0\"\n [typeName]=\"this.entityTypeLabel\"\n ></lib-no-items>\n</ng-template>", styles: [".data-table-container{display:flex;position:relative;height:calc(100% - 5.625rem);width:100%;flex-direction:column}.data-table-container .ziti-ag-grid{position:relative;width:100%;height:100%;display:flex;clear:both;align-items:center;justify-content:center}.data-table-container .ziti-ag-grid .ziti-ag-grid-table{height:100%;width:100%}.data-table-container .tMenu.action-menu.header-menu,.data-table-container .tMenu.action-menu.item-menu{position:fixed;height:unset;width:12.5rem;transition-property:opacity}.data-table-container .tMenu.action-menu.header-menu .tActionRow,.data-table-container .tMenu.action-menu.item-menu .tActionRow{display:flex}.data-table-container .tMenu.action-menu.header-menu .tActionRow.menu-item-hidden,.data-table-container .tMenu.action-menu.item-menu .tActionRow.menu-item-hidden{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-vertical-scroll-viewport{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row{border:none;background-color:var(--formBackground);color:var(--text)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid{background-color:var(--invalid)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd{background:var(--white)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row .dots{right:1.5625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-role-item .tCol{font-size:.8125rem;height:2.1875rem;line-height:2.1875rem;font-weight:600}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ziti-table-cell-error{outline:.125rem var(--red) solid;outline-offset:-.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ag-cell-inline-editing{width:100%;height:100%;padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell:focus:after{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-icon-pin{margin-top:.9375rem;transform:rotate(-45deg)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-cell-text{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:unpinColumn;animation-duration:.5s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:pinColumn;animation-duration:.6s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble{height:.6875rem;width:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble .circular{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{margin-top:.75rem;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{margin-top:.75rem}@keyframes pinColumn{0%{transform:rotate(0);margin-top:.75rem}15%{transform:rotate(-10deg);margin-top:.75rem}30%{transform:rotate(-20deg);margin-top:.75rem}45%{transform:rotate(-30deg);margin-top:.8125rem}60%{transform:rotate(-40deg);margin-top:.875rem}75%{transform:rotate(-45deg);margin-top:.9375rem}to{transform:rotate(-45deg);margin-top:1rem}}@keyframes unpinColumn{0%{transform:rotate(-45deg);margin-top:.9375rem}15%{transform:rotate(-45deg);margin-top:.875rem}30%{transform:rotate(-45deg);margin-top:.8125rem}45%{transform:rotate(-40deg);margin-top:.75rem}60%{transform:rotate(-30deg);margin-top:.6875rem}75%{transform:rotate(-20deg);margin-top:.625rem}90%{transform:rotate(-10deg);margin-top:.5625rem}to{transform:rotate(0);margin-top:.5rem}}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .selectHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .menuHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row:after{height:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-left-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-right-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{margin-top:.125rem;border-left-color:#d4d9e2;border-right-color:#d4d9e2;border-left-width:.0625rem;border-right-width:.0625rem;border-left-style:solid;border-right-style:solid;width:.1875rem;height:.875rem;position:absolute;right:.125rem;top:1.1875rem;cursor:col-resize}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-text{height:3rem;cursor:move;color:var(--text);line-height:3.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{margin-top:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-menu{margin-left:-2.8125rem;z-index:99999999}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-input-field-input{height:100%;margin-right:0;width:100%;box-shadow:0 0 .3125rem 0 var(--primary);border:solid .125rem var(--primary);overflow:visible}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-checkbox-input-wrapper .ag-input-field-input{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container.nf-can-sort{cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header{background-color:var(--navigation);border-bottom:solid .0625rem;border-bottom-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-icon{color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{font-weight:800;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{font-weight:800}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{font-weight:800;color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{border-left-color:var(--stroke);border-right-color:var(--stroke);border-left-width:var(--inputBorderWidth);border-right-width:var(--inputBorderWidth);border-left-style:solid;border-right-style:solid;width:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:hover{border-left-color:var(--icon);border-right-color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-top-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-center-cols-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-bottom-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-horizontal-scroll-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-virtual-list-viewport{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-theme-alpine .ag-row{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelect{left:1.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-shadow{box-shadow:.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-shadow{box-shadow:-.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .dots{right:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{-webkit-user-select:text;user-select:text}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport .ag-cell{padding-left:1.25rem;text-align:left;line-height:3.0625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row{border-left:.25rem solid transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row-hover{border-left:.25rem solid var(--primary)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .tSelect{margin-left:-.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button{margin-top:.3125rem;opacity:0;transition:opacity .2s;height:2.5rem;cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button.nf-ag-col-pinned{opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-filter{color:var(--ag-alpine-active-color, var(--primary))}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button .ag-icon-filter{font-weight:700;margin-top:.8125rem;margin-right:0rem;margin-left:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button{position:absolute;margin-top:.625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button{margin-right:1.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-filter-button{position:relative;display:block;opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button{margin-right:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelectHeader{top:.75rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-left:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-sort-descending-icon{margin-top:.9375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container{margin-left:-.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container .ag-header-cell-text{padding-left:.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ziti-ag-grid .ag-root-wrapper .ag-row.row-child{background-color:#fff;border-bottom:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-column-default{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration .tcol{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item{background-color:var(--shaded);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item{background-color:var(--table);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child{border-top:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second{border-top:transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second .ag-cell{font-size:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .bubble{width:.5rem;height:.5625rem;margin-left:.3125rem;margin-bottom:.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .ag-cell{font-size:.8125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status{margin-left:1.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status .circular{height:.75rem;margin-left:1.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status .circular{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-content{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-grow:1;flex-shrink:0;padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label{padding-left:3.4375rem;margin-left:1.25rem;width:calc(20% + 1.25rem)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label.step-content{padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .started-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .finished-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .duration-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .state-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .process-info-container app-resource-status .circular{margin-left:.8125rem;margin-top:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-left:-.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble{margin-left:.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble .circular{left:0;top:1rem}.data-table-container ::ng-deep body{overflow-x:auto!important}.data-table-container ::ng-deep body .ag-theme-alpine.ag-dnd-ghost{height:2.1875rem!important;line-height:2.1875rem!important}.data-table-container ::ng-deep body .ag-header-row{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-text{position:relative;float:left;color:var(--tableText);font-size:.875rem;font-weight:600;font-family:Open Sans;height:3.4375rem;transition:.5s;white-space:nowrap;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep body .ag-header-cell-menu-button{height:1rem;width:1rem}.data-table-container ::ng-deep body .ag-icon{font-family:agGridAlpine;font-size:1rem;line-height:1rem;font-style:normal;font-weight:800;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.data-table-container ::ng-deep body .ag-icon-menu:before{content:\"\\f11b\"}.data-table-container ::ng-deep body .ag-icon-menu:hover{color:var(--primary)}.data-table-container ::ng-deep body .ag-icon-asc{margin-top:.4375rem;font-weight:800}.data-table-container ::ng-deep body .ag-icon-desc{margin-top:-.4375rem;font-weight:800}.data-table-container ::ng-deep body .tSelectHeader{left:1.3125rem;top:.625rem}.data-table-container ::ng-deep body .cellMenu{overflow:visible}.data-table-container ::ng-deep body .ag-theme-alpine{-webkit-font-smoothing:antialiased;color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important;font-family:Open Sans,sans-serif;font-size:.8125rem;line-height:normal}.data-table-container ::ng-deep body .ag-theme-alpine .ag-row{color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important}.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-cell,.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-group-cell{padding-left:.3125rem;padding-right:.9375rem}.os-icon{width:1.4375rem;height:1.4375rem;background-size:1.4375rem 1.4375rem;display:inline-flex;margin-right:.5rem;margin-top:.3125rem;margin-bottom:.3125rem}.os-icon.empty{background:transparent}.os-icon.apple{background-image:url(data:image/png;base64,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)}.os-icon.windows{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAApdSURBVHic7dsxbttYGEZRylCfZAfpvYys23uYxuvI7EDTTBdJRCRTj3z3HECdDf+N9V0I1OlyuSwAQMvb6AMAgNcTAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCzqMPAAC+3unj8/uyLD9vvQQAABzQ2sAvy/Lt3u8LAADYoWcHfo0AAIABth74NQIAADYweuDXCAAAeMDeB36NAACAK44+8GsEAABJsw/8GgEAwJTqA79GAABwSAb+OQIAgF0y8NsSAAAMYeDHEgAAbMLA75sAAOAhBv7YBAAAVxn4uQkAgCgD3yYAACZl4LlHAAAclIHnGQIAYKcMPFsSAACDGHhGEgAAGzHw7JkAAHiQgefIBADADQaemQkAIMvAUyYAgGkZeLhNAACHZeDhcQIA2C0DD9sRAMAwBh7GEQDAZgw87JcAAB5m4OG4BABwk4GHeQkACDPw0CUAoO336AOAMd5GHwAAvJ4AAIAgAQAAQZ4BgA2tPWR3+fX+fchhQJ4AgCd4ih44KgEAdxh4YFYCgDQDD1QJAKZm4AGuEwAcmoEHeIwAYNcMPMA2BABDGXiAMQQAmzLwAPskAHiKgQc4JgHAXQYeYE4CIM7AAzQJgMkZeACuEQAHZ+ABeIQA2DkDD8AWBMBgBh6AEQTAxgw8AHskAJ5k4AE4IgGwwsADMKN8ABh4AIqmDwADDwB/OnwAGHgA+Hu7DwADDwBfb3gAGHgAeL3NA8DAA8D+PB0ABh4Ajmc1AAw8AMznbOABoOe8LMvv0UcAAK/1NvoAAOD1BAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAoNPlchl9AwDwYj4BAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAg6Hz6+LyMPgKqLr/eTyP/vv9/6PIJAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQedlWX4sy/Lzzuvb688CALZ0vvx6/3dZln/+f/3h9PH5fREIADCV89oPCAQAmM9qAKwRCABwPE8HwBqBAAD7s3kArBEIAPB6wwNgjUAAgK+3+wBYIxAA4O8dPgDWCAQA+NP0AbBGIABQlA+ANQIBgBkJgCcJBACOSABsTCAAsEcCYDCBAMAIAmDnBAIAWxAABycQAHiEAJicQADgGgEQJxAAmgQAdwkEgDkJAJ4iEACOSQCwKYEAsE8CgKEEAsAYAoBdEwgA2xAAHJpAAHiMAGBqAgHgOgFAmkAAqgQA3CEQgFkJAHjCFwQCwBCny+Uy+gZgkNPHpzcAiHobfQAA8HoCAACCBAAABHkIENp+LL7FAEkeAgRu8jVHmJcAAB4mEOC4BACwGYEA+yUAgGEEAowjAIDdEgiwHQEAHJZAgMcJAGBaAgFuEwBAlkCgTAAA3CAQmJkAAHiQQODIBADARgQCeyYAAAYRCIwkAAB2SiCwJQEAcFACgWcIAIBJCQTuEQAAUQKhTQAAcJVAmJsAAOAhAuHYBAAAmxAI+yYAABhCIIwlAADYJYGwLQEAwCEJhOcIAACmJBDuEwAAJNUDQQAAwBWzB4IAAIAHHD0QBAAAbGDvgSAAAGCA0YEgAABgh7YOBAEAAAf0bCAIAACY0FogCAAACHobfQAA8HoCAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAEDQf5pXFokUyDSTAAAAAElFTkSuQmCC)}.os-icon.linux{background-image:url(data:image/png;base64,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)}.os-icon.android{background-image:url(data:image/png;base64,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)}.os-icon.other{background-image:url(data:image/png;base64,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)}::ng-deep .date-time-container.data-table-date-time{position:fixed;z-index:9999}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{height:.0625rem;width:.0625rem;padding:0}::ng-deep .date-time-container.data-table-date-time .filter-button-container{height:3.125rem;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton{padding-left:var(--paddingSmall);padding-right:var(--paddingSmall);text-align:center;background-color:var(--inputBorder);color:var(--tableText);width:unset;height:1.4375rem;line-height:1.4375rem;font-size:.875rem;font-weight:600;position:relative;float:left;cursor:pointer;border-radius:.25rem;margin-right:var(--marginSmall);transition:.3s}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton:hover{filter:brightness(90%);transition:.3s}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{border-top-left-radius:1.25rem;border-bottom-left-radius:1.25rem;text-indent:.3125rem}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-button-icon-only{border-top-right-radius:1.25rem;border-bottom-right-radius:1.25rem}::ng-deep .tag-selector-container.data-table-tag-selector{position:fixed;z-index:9999;width:21.875rem;height:-moz-fit-content;height:fit-content;background:var(--formBackground);display:flex;flex-direction:column;justify-content:flex-end;padding:.625rem;border-radius:var(--inputBorderRadius);box-shadow:var(--shadowLarge);margin-top:-1.25rem;border-color:var(--stroke);border-style:solid}::ng-deep .tag-selector-container.data-table-tag-selector .tag-selector-label{margin-bottom:.3125rem;margin-left:.125rem;font-weight:600;color:var(--menu)}::ng-deep .tag-selector-container.data-table-tag-selector .select2-search__field{height:2.1875rem}::ng-deep .tag-selector-container.data-table-tag-selector .nf-select2-dropdown{width:calc(100% - 1.25rem)!important}::ng-deep .tag-selector-container .icon-close{position:absolute;top:.5rem;right:.5rem;cursor:pointer;color:var(--icon);font-weight:600}::ng-deep .tag-selector-container .icon-close:hover{filter:brightness(50%)}\n"] }]
|
|
8083
|
+
args: [{ selector: 'lib-data-table', template: "<div #tableContainer class=\"data-table-container\" *ngIf=\"showTable;else nodata\">\n <lib-table-filter-bar\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [currentPage]=\"currentPage\"\n [filterName]=\"filterName\"\n [filterColumn]=\"filterColumn\"\n ></lib-table-filter-bar>\n <lib-table-hidden-columns-bar\n *ngIf=\"gridRendered && showFilterBar\"\n [hiddenColumns]=\"hiddenColumns\"\n (columnVisibilityChanged)=\"columnVisibilityChanged($event)\"\n ></lib-table-hidden-columns-bar>\n <div (resize)=\"resizeGridColumnsDebounced($event)\" class=\"ziti-ag-grid\" id=\"ItemTable\">\n <ag-grid-angular\n #nfAgGrid\n [columnDefs]=\"mergedColumnDefinitions\"\n [components]=\"frameworkComponents\"\n [getDataPath]=\"svc.getDataPath\"\n [getRowId]=\"svc.getRowNodeId\"\n [gridOptions]=\"gridOptions\"\n [modules]=\"gridModules\"\n [rowData]=\"rowData\"\n [tooltipHideDelay]=\"20000\"\n [tooltipShowDelay]=\"0\"\n (gridReady)=\"onGridReady($event)\"\n class=\"ziti-ag-grid-table ag-theme-alpine rows\"\n id=\"ItemGrid\"\n >\n </ag-grid-angular>\n </div>\n <div\n [ngClass]=\"{ open: openHeaderMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderActionMenu\"\n >\n <div (click)=\"resetTableColumns()\" class=\"tActionRow\" id=\"ResetTableButton\">Restore Default Table</div>\n <div\n *ngFor=\"let headerAction of headerActions\"\n (click)=\"actionRequested.emit({ action: headerAction.action })\"\n class=\"tActionRow\"\n id=\"ResetTableButton\"\n >\n {{headerAction.name || headerAction.label}}\n </div>\n </div>\n <div\n [ngClass]=\"{ open: openMenu }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu item-menu\"\n id=\"RowActionMenu\"\n #contextMenu\n >\n <div\n *ngFor=\"let menuItem of menuItems\"\n (click)=\"actionRequested.emit({ action: menuItem.action, item: selectedItem })\"\n [ngClass]=\"{'menu-item-hidden': hideMenuItem(menuItem, selectedItem) }\"\n class=\"tActionRow\"\n id=\"TableActionButton_{{menuItem.action}}\"\n >\n {{menuItem.name || menuItem.label}}\n </div>\n </div>\n <div\n (clickOutside)=\"closeHeaderFilter($event)\"\n [ngClass]=\"{ open: showFilterOptions }\"\n [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\"\n class=\"tMenu action-menu header-menu\"\n id=\"HeaderFilterOptions\"\n >\n <div (click)=\"applyFilter($event, filter)\" *ngFor=\"let filter of filterOptions\" class=\"tActionRow\" [ngClass]=\"{'has-icon': filter.icon}\" [id]=\"filter.columnId\">\n <span *ngIf=\"filter.bubbleClass\" [ngClass]=\"filter.bubbleClass\" class=\"bubble\">\n <svg *ngIf=\"filter.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 <span *ngIf=\"filter.icon\" class=\"os-icon {{filter.icon}}\"></span>\n {{ filter.label }}\n </div>\n </div>\n</div>\n\n<div *ngIf=\"showDateTimePicker\" class=\"date-time-container data-table-date-time\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeDateTime($event)\">\n <p-calendar\n [(ngModel)]=\"dateValue\"\n (onSelect)=\"setDateRangeFilter('custom')\"\n dateFormat=\"mm/dd/yy\"\n selectionMode=\"range\"\n placeholder=\"Select Time Range\"\n #calendar\n >\n <ng-template pTemplate=\"header\">\n <div class=\"filter-button-container\">\n <div\n class=\"toggleButton\"\n [ngClass]=\"{selected: selectedRange === 'hour'}\"\n (click)=\"setDateRangeFilter('hour')\"\n >\n Last Hour\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('day')\"\n [ngClass]=\"{selected: selectedRange === 'day'}\"\n >\n Last Day\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('week')\"\n [ngClass]=\"{selected: selectedRange === 'week'}\"\n >\n Last Week\n </div>\n <div\n class=\"toggleButton\"\n (click)=\"setDateRangeFilter('month')\"\n [ngClass]=\"{selected: selectedRange === 'month'}\"\n >\n Last Month\n </div>\n </div>\n </ng-template>\n </p-calendar>\n</div>\n\n<div *ngIf=\"showTagSelector\" class=\"tag-selector-container data-table-tag-selector\" [ngStyle]=\"{ left: menuLeft + 'px', top: menuTop + 'px' }\" (clickOutside)=\"closeTagSelector($event)\">\n <div class=\"buttonBall icon-close\" (click)=\"closeTagSelector($event)\"></div>\n <div class=\"tag-selector-label\">\n <span>Select an Attribute:</span>\n </div>\n <lib-tag-selector\n [focusOnInit]=\"true\"\n [availableRoleAttributes]=\"roleAttributes\"\n [availableNamedAttributes]=\"namedAttributes\"\n [(selectedRoleAttributes)]=\"selectedRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedNamedAttributes\"\n (selectedNamedAttributesChange)=\"tagSelectionChanged($event, false)\"\n (selectedRoleAttributesChange)=\"tagSelectionChanged($event, true)\"\n ></lib-tag-selector>\n</div>\n<ng-template #nodata>\n <lib-no-items\n (clickEmit)=\"openCreate()\"\n [image]=\"noItemsImage\"\n [isEmpty]=\"!rowData || rowData.length === 0\"\n [typeName]=\"this.entityTypeLabel\"\n ></lib-no-items>\n</ng-template>", styles: [".data-table-container{display:flex;position:relative;height:calc(100% - 5.625rem);width:100%;flex-direction:column}.data-table-container .ziti-ag-grid{position:relative;width:100%;height:100%;display:flex;clear:both;align-items:center;justify-content:center}.data-table-container .ziti-ag-grid .ziti-ag-grid-table{height:100%;width:100%}.data-table-container .tMenu.action-menu.header-menu,.data-table-container .tMenu.action-menu.item-menu{position:fixed;height:unset;width:12.5rem;transition-property:opacity}.data-table-container .tMenu.action-menu.header-menu .tActionRow,.data-table-container .tMenu.action-menu.item-menu .tActionRow{display:flex;color:var(--offWhite_ALWAYS)}.data-table-container .tMenu.action-menu.header-menu .tActionRow.menu-item-hidden,.data-table-container .tMenu.action-menu.item-menu .tActionRow.menu-item-hidden{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-vertical-scroll-viewport{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row{border:none;background-color:var(--formBackground);color:var(--text)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid{background-color:var(--invalid)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-invalid.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-copied{background-color:var(--copiedRow)!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected{background-color:var(--formBackground)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd{background:var(--white)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-selected.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row .dots{right:1.5625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.row-role-item .tCol{font-size:.8125rem;height:2.1875rem;line-height:2.1875rem;font-weight:600}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ziti-table-cell-error{outline:.125rem var(--red) solid;outline-offset:-.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell.ag-cell-value.ag-cell-inline-editing{width:100%;height:100%;padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell:focus:after{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-icon-pin{margin-top:.9375rem;transform:rotate(-45deg)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-cell-text{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:unpinColumn;animation-duration:.5s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-col-pin-button:hover .ag-icon-pin{animation-name:pinColumn;animation-duration:.6s;animation-delay:.1s;animation-iteration-count:1;animation-fill-mode:forwards}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble{height:.6875rem;width:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row-level-1 app-table-cell-resource-status app-resource-status .bubble .circular{margin-left:2.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{margin-top:.75rem;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{margin-top:.75rem}@keyframes pinColumn{0%{transform:rotate(0);margin-top:.75rem}15%{transform:rotate(-10deg);margin-top:.75rem}30%{transform:rotate(-20deg);margin-top:.75rem}45%{transform:rotate(-30deg);margin-top:.8125rem}60%{transform:rotate(-40deg);margin-top:.875rem}75%{transform:rotate(-45deg);margin-top:.9375rem}to{transform:rotate(-45deg);margin-top:1rem}}@keyframes unpinColumn{0%{transform:rotate(-45deg);margin-top:.9375rem}15%{transform:rotate(-45deg);margin-top:.875rem}30%{transform:rotate(-45deg);margin-top:.8125rem}45%{transform:rotate(-40deg);margin-top:.75rem}60%{transform:rotate(-30deg);margin-top:.6875rem}75%{transform:rotate(-20deg);margin-top:.625rem}90%{transform:rotate(-10deg);margin-top:.5625rem}to{transform:rotate(0);margin-top:.5rem}}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .selectHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .menuHeader{background-image:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row:after{height:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-left-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-horizontal-right-spacer{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{margin-top:.125rem;border-left-color:#d4d9e2;border-right-color:#d4d9e2;border-left-width:.0625rem;border-right-width:.0625rem;border-left-style:solid;border-right-style:solid;width:.1875rem;height:.875rem;position:absolute;right:.125rem;top:1.1875rem;cursor:col-resize}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-text{height:3rem;cursor:move;color:var(--text);line-height:3.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{margin-top:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-menu{margin-left:-2.8125rem;z-index:99999999}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-input-field-input{height:100%;margin-right:0;width:100%;box-shadow:0 0 .3125rem 0 var(--primary);border:solid .125rem var(--primary);overflow:visible}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-checkbox-input-wrapper .ag-input-field-input{border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container{cursor:default}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container.nf-can-sort{cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header{background-color:var(--navigation);border-bottom:solid .0625rem;border-bottom-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-icon{color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-pin{font-weight:800;margin-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-menu{font-weight:800}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-icon-eye-slash{font-weight:800;color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize{border-left-color:var(--stroke);border-right-color:var(--stroke);border-left-width:var(--inputBorderWidth);border-right-width:var(--inputBorderWidth);border-left-style:solid;border-right-style:solid;width:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell-resize:hover{border-left-color:var(--icon);border-right-color:var(--icon)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-top-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-center-cols-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-floating-bottom-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-horizontal-scroll-viewport,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-virtual-list-viewport{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-theme-alpine .ag-row{background-color:var(--navigation)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelect{left:1.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-shadow{box-shadow:.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-shadow{box-shadow:-.5rem 0 .3125rem -.25rem #dddd;z-index:40}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .ag-header-row-column{border-bottom-style:solid;border-bottom-width:.25rem;border-bottom-color:var(--stroke)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-right-header .dots{right:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell{-webkit-user-select:text;user-select:text}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-body-viewport .ag-cell{padding-left:1.25rem;text-align:left;line-height:3.0625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row{border-left:.25rem solid transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .ag-row-hover{border-left:.25rem solid var(--primary)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-pinned-left-cols-container .tSelect{margin-left:-.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button{margin-top:.3125rem;opacity:0;transition:opacity .2s;height:2.5rem;cursor:pointer}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button.nf-ag-col-pinned,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button.nf-ag-col-pinned{opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button:hover .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-eye-slash,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-pin,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button:hover .ag-icon-filter{color:var(--ag-alpine-active-color, var(--primary))}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button .ag-icon-filter,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-filter-button .ag-icon-filter{font-weight:700;margin-top:.8125rem;margin-right:0rem;margin-left:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-pin-button{position:absolute;margin-top:.625rem!important}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container .ag-header-col-hide-button{margin-right:1.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-pin-button,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-filter-button{position:relative;display:block;opacity:1}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-cell-label-container:hover .ag-header-col-hide-button{margin-right:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .tSelectHeader{top:.75rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-header-cell{padding-left:0rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-sort-descending-icon{margin-top:.9375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container{margin-left:-.5rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .nf-ag-main-col .ag-cell-label-container .ag-header-cell-text{padding-left:.1875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ziti-ag-grid .ag-root-wrapper .ag-row.row-child{background-color:#fff;border-bottom:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-column-default{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-registration .tcol{width:100%}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item{background-color:var(--shaded);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-second.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-odd.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-odd.row-child-header{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even{background-color:var(--shaded)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item{background-color:var(--table);border:none}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-role-item.ag-row-hover,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-role-item.ag-row-hover{background-color:#2196f31a}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-second.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-second.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-warn,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-warn{background-color:var(--copiedRow)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-even.row-child.row-child-even.row-child-header,.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .ag-row.ag-row-odd.row-child.row-child-even.row-child-header{background-color:var(--table)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child{border-top:solid var(--stroke) .0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second{border-top:transparent}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second .ag-cell{font-size:.6875rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .bubble{width:.5rem;height:.5625rem;margin-left:.3125rem;margin-bottom:.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child .ag-cell{font-size:.8125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status{margin-left:1.4375rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status .circular{height:.75rem;margin-left:1.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status .circular{margin-left:1.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child.row-child-second app-resource-status>span{font-size:.8125rem;margin-left:.25rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-content{position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-grow:1;flex-shrink:0;padding-right:.3125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label{padding-left:3.4375rem;margin-left:1.25rem;width:calc(20% + 1.25rem)}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .step-label.step-content{padding-left:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .started-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .finished-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .duration-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .row-child-second .step-header-container .state-label{width:calc(20% + 1.25rem);overflow:hidden;flex-grow:1;flex-shrink:0}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper .process-info-container app-resource-status .circular{margin-left:.8125rem;margin-top:-.0625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-left:-.625rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble{margin-left:.125rem}.data-table-container ::ng-deep #ItemTable.ziti-ag-grid .ag-root-wrapper app-table-cell-resource-status .bubble .circular{left:0;top:1rem}.data-table-container ::ng-deep body{overflow-x:auto!important}.data-table-container ::ng-deep body .ag-theme-alpine.ag-dnd-ghost{height:2.1875rem!important;line-height:2.1875rem!important}.data-table-container ::ng-deep body .ag-header-row{box-sizing:border-box;border-bottom:.25rem solid var(--primary);background-color:var(--formBackground);padding-left:.25rem;line-height:3.4375rem;position:sticky!important;top:0;z-index:10;transition:all .15s linear;opacity:.97;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-text{position:relative;float:left;color:var(--tableText);font-size:.875rem;font-weight:600;font-family:Open Sans;height:3.4375rem;transition:.5s;white-space:nowrap;color:var(--text)}.data-table-container ::ng-deep body .ag-header-cell-resize:after{display:none}.data-table-container ::ng-deep body .ag-header-cell-menu-button{height:1rem;width:1rem}.data-table-container ::ng-deep body .ag-icon{font-family:agGridAlpine;font-size:1rem;line-height:1rem;font-style:normal;font-weight:800;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.data-table-container ::ng-deep body .ag-icon-menu:before{content:\"\\f11b\"}.data-table-container ::ng-deep body .ag-icon-menu:hover{color:var(--primary)}.data-table-container ::ng-deep body .ag-icon-asc{margin-top:.4375rem;font-weight:800}.data-table-container ::ng-deep body .ag-icon-desc{margin-top:-.4375rem;font-weight:800}.data-table-container ::ng-deep body .tSelectHeader{left:1.3125rem;top:.625rem}.data-table-container ::ng-deep body .cellMenu{overflow:visible}.data-table-container ::ng-deep body .ag-theme-alpine{-webkit-font-smoothing:antialiased;color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important;font-family:Open Sans,sans-serif;font-size:.8125rem;line-height:normal}.data-table-container ::ng-deep body .ag-theme-alpine .ag-row{color:var(--tableText)!important;color:var(--ag-foreground-color, var(--tableText))!important}.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-cell,.data-table-container ::ng-deep body .ag-theme-alpine .ag-header-group-cell{padding-left:.3125rem;padding-right:.9375rem}.os-icon{width:1.4375rem;height:1.4375rem;background-size:1.4375rem 1.4375rem;display:inline-flex;margin-right:.5rem;margin-top:.3125rem;margin-bottom:.3125rem}.os-icon.empty{background:transparent}.os-icon.apple{background-image:url(data:image/png;base64,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)}.os-icon.windows{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAApdSURBVHic7dsxbttYGEZRylCfZAfpvYys23uYxuvI7EDTTBdJRCRTj3z3HECdDf+N9V0I1OlyuSwAQMvb6AMAgNcTAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCzqMPAAC+3unj8/uyLD9vvQQAABzQ2sAvy/Lt3u8LAADYoWcHfo0AAIABth74NQIAADYweuDXCAAAeMDeB36NAACAK44+8GsEAABJsw/8GgEAwJTqA79GAABwSAb+OQIAgF0y8NsSAAAMYeDHEgAAbMLA75sAAOAhBv7YBAAAVxn4uQkAgCgD3yYAACZl4LlHAAAclIHnGQIAYKcMPFsSAACDGHhGEgAAGzHw7JkAAHiQgefIBADADQaemQkAIMvAUyYAgGkZeLhNAACHZeDhcQIA2C0DD9sRAMAwBh7GEQDAZgw87JcAAB5m4OG4BABwk4GHeQkACDPw0CUAoO336AOAMd5GHwAAvJ4AAIAgAQAAQZ4BgA2tPWR3+fX+fchhQJ4AgCd4ih44KgEAdxh4YFYCgDQDD1QJAKZm4AGuEwAcmoEHeIwAYNcMPMA2BABDGXiAMQQAmzLwAPskAHiKgQc4JgHAXQYeYE4CIM7AAzQJgMkZeACuEQAHZ+ABeIQA2DkDD8AWBMBgBh6AEQTAxgw8AHskAJ5k4AE4IgGwwsADMKN8ABh4AIqmDwADDwB/OnwAGHgA+Hu7DwADDwBfb3gAGHgAeL3NA8DAA8D+PB0ABh4Ajmc1AAw8AMznbOABoOe8LMvv0UcAAK/1NvoAAOD1BAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAoNPlchl9AwDwYj4BAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAg6Hz6+LyMPgKqLr/eTyP/vv9/6PIJAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQQIAAIIEAAAECQAACBIAABAkAAAgSAAAQJAAAIAgAQAAQedlWX4sy/Lzzuvb688CALZ0vvx6/3dZln/+f/3h9PH5fREIADCV89oPCAQAmM9qAKwRCABwPE8HwBqBAAD7s3kArBEIAPB6wwNgjUAAgK+3+wBYIxAA4O8dPgDWCAQA+NP0AbBGIABQlA+ANQIBgBkJgCcJBACOSABsTCAAsEcCYDCBAMAIAmDnBAIAWxAABycQAHiEAJicQADgGgEQJxAAmgQAdwkEgDkJAJ4iEACOSQCwKYEAsE8CgKEEAsAYAoBdEwgA2xAAHJpAAHiMAGBqAgHgOgFAmkAAqgQA3CEQgFkJAHjCFwQCwBCny+Uy+gZgkNPHpzcAiHobfQAA8HoCAACCBAAABHkIENp+LL7FAEkeAgRu8jVHmJcAAB4mEOC4BACwGYEA+yUAgGEEAowjAIDdEgiwHQEAHJZAgMcJAGBaAgFuEwBAlkCgTAAA3CAQmJkAAHiQQODIBADARgQCeyYAAAYRCIwkAAB2SiCwJQEAcFACgWcIAIBJCQTuEQAAUQKhTQAAcJVAmJsAAOAhAuHYBAAAmxAI+yYAABhCIIwlAADYJYGwLQEAwCEJhOcIAACmJBDuEwAAJNUDQQAAwBWzB4IAAIAHHD0QBAAAbGDvgSAAAGCA0YEgAABgh7YOBAEAAAf0bCAIAACY0FogCAAACHobfQAA8HoCAACCBAAABAkAAAgSAAAQJAAAIEgAAECQAACAIAEAAEECAACCBAAABAkAAAgSAAAQJAAAIEgAAEDQf5pXFokUyDSTAAAAAElFTkSuQmCC)}.os-icon.linux{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAMAAADDpiTIAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA3aAAAN2gFLGPbrAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAwBQTFRF////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACyO34QAAAP90Uk5TAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+6wjZNQAAMLpJREFUGBntwQmATIXjB/Dv7GXXrvuO3FcRJeS+ypGz3F2SUIpU1K9D/R05ExKpVFRuHSIqlCi15IqQ+77WvYu95/t/c+zuHO/NvJmdN++92ff5AHlFRJUOQ6fPX75m47b9Jy/fSrp68dzJowe3r5k36aVH2tyZD4YQVuHpmWsOpdODjAPfjX/s7mgYQk7BbrMOUqbMfZ/0qwxD6Cj00uZ0+ujM0mF3m2AIAdVnJdE/p2e1iYBB10zt15iZC5fnd4uBQbfu3sJcu/FlYxh0KW5aBgNi17MFYNCdh04xYBLn1IFBV8qvZGB9eycMuhEx8gYDLfOLSjDoQ+N/qITUWaVh0L6o2WYq5MYwEwwaV+IPKui3KjBo2l3HqKgbw0wwaFfnRCrttwowaNXITCrvQkMYNCnqcwbFre4waFDxTQySzBEwaE61owyeD8Nh0JZihxhMq+Ng0JKoTQyunWVh0JAvGWynK8OgGaMYfP8VhUEj+pipgo35YNCERslUxUITDBpQ8QJV8g4M6ovaQ9U8DYPqRlE96W1hUFmVZCopYeb9Q343U8r1u2BQ109UUlJtCCpvoZSTRWBQUw8qaiSsohdTyjwYVGT6l4pqALu3zZTQHgb19KSySiJL9wSKO1EABrWY/qGyaiBbsXkU9yEManmICmsOBx0vU4y5FQwq+ZEK6w1HlXZQzOH8MKiieDoV1hpO8p+mmGkwqGIIFZZaFM4mUExmIxjUsJEKexfOal6lqH1RMARfOTOVdaEgchS5t9fnaZTwDAzBN4IKexo2tT78Ydc1enI8Eoag20ZlrYNVgffS6dUgGIKtGpWVWB4Wj56lDMciYQiyt6isxRDELKE8A2EIsq1U1tFI4La/KdPRCBiCKl8qFTal1MNnKNsAGILqPmrLkQgYgmkYNeYpGILpK2rM4QgYguggteYxGIKniJlaswGG4GlHzTFXhiFo3qL2jIUhaFZRe06EwRAsZ6hBbWEIkkgzNWgxDEFSgVqUXBiG4GhKTXoOhuDoTU36G4bgeJnadBcMQfEetWkqDEGxlNr0LwxB8Qc1qjQMwXCcGvUoDEFgSqNGfQZDEJSiVh2HIQiqULOqwKC8GtSswTAorzY1aykMyrubmnXRBIPiGlC76sKguMZUUMbBlV+cpN+eh0FxLaiMK4vf6lk7CoI7X16bQr9Mh0FxbaiA5GXdouAgf8f3E+i772FQXHtKMW//bvabU9dfoq829C8IN3GjrtFXe2BQXCeKS/msFmwqzUqjDxJ6QlzRD+mjmzAo7iGK2lgaOaouNVOupcUhqcc1+qYUDErrRTHfRcNJ/0zKcqEHPKm0lT5pAoPSelLE5+Fw0S+TMpytAM+i/6AvHodBaZ3pbm8U3DyeQa8S74E3RfbSB2/DoLT76SazEURMpDfp7eHd7aco33wYlNaEbt6HmJjD9OIpyFEribL9BoPS6tHVtTiIeoCefQR5RlO2eBiUdgddfQgJX9KT1HKQp0AC5YqHQWkV6aoeJJRJpwdzINdwyhUPg9JK0cVOSFpOaWnlIVfUMcoUD4PSCtHF85DUhtI+gXxPUqZ4GJQWRWfJhSHJdICSKkG+6CTKEw+D4jLp5Ct48BKlHIAvFlKeeBgUd5NOWiFHRMEyReGohJkSPoOrBu+sPJ5+7cyBHZ+3MsFFV8oTD4PiLtHRMRNsTF3mHKLgwqoGyLGHEvrDWe0VzHF8XAk4ibpGWeJhUNwpOloKmwbxzGL+NBxZZlFCVTjpn0knR2vCyXzKEg+D4g7S0duw6pxBBwvCYNeb4s7DyROZdHGlFRw9SFniYVDcbjrqAYsGN+lkLOxKU9zXcPRgJt2kdoaDyGTKEQ+D4rbQUQ1Y/ElnKZVh9x9FTYaDiAPMdnxq5zrPnaHgVCwcbKYc8TAo7jc6SAmHoCGz3UiixXew+5KiRsHB88wxF4JCGyiYCAfTKEc8DIr7kQ52wWIRs7RDmc20qAKbcRQ1HDliE+jgi2oAotaQTK2GHH0oRzwMivuODhZCUDaNdufDgKidFIyGzUCKGoAcD9NJ+kdxQPGzJFcgR0XKEQ+D4hbRwesQjGEWc3cA7Sg4YoJVO4rqhRxz6eI7E9CJZEZJ5LhAGeJhUNxndPAYBMuY7ebA0sA6CprDqiZFdUCOM3Q1AsA+kkORYyVliIdBcbPpoB8Ev9HBiQLoRMFcWOWnqKbIdjfdnIkAhpP8AznepAzxMChuKh08DcE+OqqOQpkkr0XA6iLFNEC2N+iuF1CRpLk8svWnDPEwKG4cHTwLwWU6ugvYQUEFWO2jmA7I9gfdfQ1EZJAcjGz9KUM8DIp7gw6GAYgw01F9YAYFzWC1k2L6IUuRDLo7DeAUyfeRrT9liIdBcS/TwRgAheikFjCMgr6w2kIxI5ClCcWUQ9lEkuuRrT9liIdBcUPoYCkECXRUGniDgldg9TvFTEaWlhQz6rmzFJxDtv6UYSsMiutPB/9A8BsdFQUmUfA+rNZTzDxkaUtP8iNLf8pwFAbF9aWD5DAAH9JRU+BDCubAag3FrEaWTvQkEln6U4ZbMCiuGx1VAvA8HX0GLKZgPKxWUMxWZHmIHqQjW3/KURgGpbWjowcBNKGTH8ZcpmAErJZQzHFk6U0PriNbf8pREwalNaejcRDsp4inYHX7v7TKzKSDI8jyGD04imz9KUdrGJTWgI7+gmAoRXSDTcGmrdo2qV4sDFGFSle6b/CHfyaR3IYsD9GDz5HtKcrxKAxKq01HGYUBFEiiu+aQYGr3H9chy2304FFke4FyjIBBaVXo5GEIZtPN30UgKer1+ch2nJLMJZHtbcoxFQal3UYnH0JQ+jxdfJYPnkQi22JKWo8c71GOBTAorSidHIZFWzMdpT4DT+IKIMcwSmqFHPMpxy8wKC2Gzu6HxQQ6OH0fAFPtodNHVoarUi/+dY3pv3dAlrsp5S842EU59sGgNBOdrYZF+KAjzLK9FICeB3ittQmu8jdtMCiBZGp7ZPmWEkYhR4EMynEVBsWl0Im5Bqwimr94gRYnywB4nczoAHGF5pD8EVmKvn+LotogRzvKEw2D0q7S2Rxk+YGC63cBuM1MvglJg9L4FXIUf/sCRXRAjg2UpyIMSjtLZzfLwKbUdZLp7SDoSu6JgLRKfaPgKHrgProZi2y9KFMzGJR2hC7Wm2AR8RsFg2BROfPovfCJqdMGukhrBZuCEzIo0xAYlLaXrv4Hi6kUvA2buHzwWb2F6XRiXvJks+5jVhw1U7Y5MChtG12ltQCqfUfBbOTK7dOSmDubYVDa73STsfjLNAqWhSGXioy6wNxINMGgsLWUkP5WOHIvZsgR5kJlGBS2kuL+a4DACO+z2Ux/PQSDwpZS1Oz8CJyywzZk0C//B4PC5lPE4XYIsBIDlybQd9/AoLD36SZlTDQUYLpr+OoM+uYQDAobQ1drq0ExFSZfpi/MsTAo6yU6O9cbiop5NY0+aASDsp6ik+S6UFqT05RvMAzKephOnobySp6mbLNgUFZrOvoCwdCdsv0Og7Lq0cG+/AiK9ZTrGgzKqkwH/REcb1K26jAoqihzJMYiODpTtmdhUFS4mdk+RpDcSdmWw6CsRGZrjSCpRdkummBQ1ElmawHFRDz8cmMTstxF+erCoKjdzNYFSqnwN8k1cbBrQPlegkFRm5htABQSu5sWn8BuEOVbBYOiVjLbgRgoIuxbWqXmh81cync9AgYlfckce+tBCdNoVxg2u+mDRjAoaSYdpI+JRMC9QLsDYbCKy6AP3oBBSWPpZNfdCKySS5jlCdi0pC/Ww6Ckl+ksbQgCqf9lZnkDdq/SF8n5YFDQALoah0AxddzILDt6IMs39EkrGBT0EN18FoFAiHlmP+2uzLoHOU7TJ+NgUFATultmQq6VGX+JNpk/9ckHB+Xom80wKKgKRYxHLt3zZRptDr1ZDs560t3+bqspJS0OBuXEUcwT8F9Yown/0ibp8+Zw8x7dPYCo9ZTSEQYF3aSIlCbwT/5un52n3aan4iDiT7r5EUCRg5QwFwYFHaWYhIrwXZnBq5Jpd2p8VYiKSqGbpyGofoniLkfCoJy/KGpPIfimzqitZtqlLW0fBgn30V1fWDRJprgHYVDO9xS3tTBki3xg5jFmOz+mDKS9SHddYNX1FkXNg0E5n1DCtrKQpfrQ7xOZY+sTUfBkKd29CpsGZynmahQMihlHKbcmF4UXxXp/eoIO0hY2ghe76W477Mr9RjFdYFDMUEq7Nql5BCQUbTPiq38z6ej86NIQcdfI/xtRGlmOUkRVZKk5+SzdfAWDYnrRo+vfPNO8cjQcFK/bcdDYFSfoastjUXBX7J1TFCS0gN0FipiGHOGdvk2js8RoGJTSkjJc3r3u57Xr1v+yYfOxFIpJmtsQIkpOTqLNDtjdoIiMenBUcsR5OnkSBqXUZO5tHhALEaWn3WS2RrA5SzE7IuDk7iQ62gqDUoowly5MvQNiysxMpoMasNlOUa/C2Vg6qQ+DUlKZC5lrukdCTMyoJDr6CnY/UFRqOzipbKajeTAo5RT9lbltVDmIMj16kk7W5ofdOxR3ozGcXKGj5KIwKGQ3/WH+Z0bXwpDQOJ5OUt8MQ5YWlHC1DhxdopMRMCjj9gxKGV3/gb4vvPPJ938dSaKDjMu7Z/UoBkkVltDZmurIEZlICeerwsEFOjlsgkER4yjpK2SLqdCg84Ahj3ZsWqtcHDwqPDGZTv5qDycrKOV4OWQrm0lnD8KghMhzdHD4EB09AV/FvnGVTuI7wMVzlLS/OLK8ThebYFBCLzqqlW8OHaR2hU/yDb9AJ1s7wk0VSttXHzaRB+mqJQwK+JWOCiBsNR2kdoV8EQNP0smvbSFmE6Wlj4+CIPI7ulkPQ+DVpKMbAAruo4PUrpDJ9MhBOtneDOLa0ZOzk2uW67ySIprAEHAz6GgfBFWv0EHqIMgR1Xc3nVwYGAYpW+mXH2EItPxX6WglLB5Ip6NFBeBN7emX6CRtWiFI60b/NIAhwJ6mk2mwGkYnh+rBkwKD4unix5rwxLSbflkJQ2DFnKCT52DzGZ2kzqkOKU0+u0EXhzrDi270Tz0YAur/6KwdbGL20Jl5ZUu4M9V9dR9dZYyJglef0S8bYAik22/RWWXY3XGDrvZ/8tQdJmQzVXtm2UW6O9oEMsQdpF+6wxBAS+gsPQJZ+lHM1V+Wfz5z/GtvfLL2YApFfVkQsjRIoz+O5IMhYJrTxT7kmEc/XO0LuV6nX/4HQ6CE7aCL0ciRfy99trE8ZAvbQH8kloIhQAbRhbkSHNS6Sd+kvR4GH5S7Qn98CkNgFEqgi9/gZAB9crA+fNOT/si8B4aAmEZX/eHsS/pgbix89Rn9sckEQwDUTKOLpFg4i91PuS4+BN/FHaI/noUhAH6kq3lwddctyvNTGfijhZl+uF4OhlzrTDct4WYQ5Uh+wQT/fEJ//ABDbsUdo6sjJrhbRO921YK/Cp+jPx6DIZc+ppsXIaLAQXphnhoF//WmPy6WgCFXOtDNiXwQUzeRHp1qg1xZRX8shiE3Cp+mm/4Q1/wmPVhWBLlzexL90QWGXPiKbvaGQULbFEo5/BBybTz9cbY4DH57iO66QVLXdIpKfDUKuVcqmf74wQSDn4pfoJs/4UGfdLrL/LQUAuJj+uUlGPz0Nd21hCeNjtHVpnoIkGqZ9EdqPRj88ijdrYFnhZbSyfFeCJxv6JeDcTD4ocxlujHfDW+6/2KmXdp3D0UigO6jf76CwQ+r6W4RZKg6dtmfJw+vmTGwOAJsE/3TDwafPU13aVWgqs70T1J1GHxU4TrdzYa6THvpn/1FYPCJ6Re6u1EaKutPP/0aCYMvhlLEO1BbTBL9NA8GH1S/SXeXC0F1X9Ffb8IgW76dFDES6utIf5n7wiDXbIpIiIH6Ii7SXylNYJCnJ8W8CS34kH67WAUGOSpdo4jEwtCC5vTff0Vg8C5qK8VMhiaYTtJ/GyJh8Go6xaSUhjZMYS7Mh8GbrhT1ETTibubGKBg8K3+ZYjKqQCv2MxfMfWHwJOJPivoamvEWcyOlKQweTKa4J6EZVZkrF6vAIOlBM8WVhXZsZa78VwQGCWUvUtw+aMgbzJ1fImAQFb6REmZCQxoxl+bAIGocpXSFhoRfZy49D4OIBzIpIb0gtGQVcyn9ARjclD5PKZuhKS8yt65Wh8FF2HpKGg1NuYu5dqAwDM7eorRW0BRTAkWZKd/aCBgc3Z9BaeWhLUso6uwOyvcBDA6qX6E0cyS0ZTDFxY9JoWzPwpCt6EF6cAEaU4USNjf5h3KlN4TBLvJXerIDWnOcEjbGzaVc+6JhsJlLj36F1nxOKdMwgXJNgcFqBD3bBa15jJIewktmypPZGAZBl0x6dgZaU4aSrlZEv3TKcyAGBpRLpBep0Jx9lLQ1Cl2SKc80GLCCXhWE1syitBlAxwzKktkMeV53etcKWlPnMiWZmwJDKM+h/MjjCp6hd5OhOXedo6S9UcBUyjMTedxsyrAb2lPtIiW9DYR9Q1nMLZGnNc6kHGWhPY2TKSWlJhATT1mOxiIPi9xDWYZDg3qaKWWTCSh5lLJMRh72OuU5GwMNGklJgwHUSaEcKRWQZ1VNpkwvQ4vmUsrVEgCGUpZFyLO+plwXYqFBBU5SyiwIvqcc5gbIoxpQtqTW0KIulJJeA0Cx05RjE/Ko9ZRrZmFo03JKWQFBq0zK8RDypAco061HoFVlrlJKCwjGUY4DkciL/qaj+RNvUkIfaNdgSvnbBCB8M+UYijyoJx39DLxOceOgYaZNlPIoBJVuUoaLhZDnhP9HR32AART1rQladkcGJRyPhuB/lGMy8pyn6SgxBhhFMbtioW1fUsorEET+SxmSKyCPiT5FR/MA/EERCeWhcTUyKeFiLATNzJRhIfKY5+ikGVDWTBGPQPMWUcqrsPiMMpjrIU8JO0hH/wIYRhG/QPvuNFNCQiwExS5RhuXIU7rRyTAAP9Fdag3owDJKeQUWT1GGzGrISzbRUWJhIDaZ7sZDDxpTyoX8EJg2UYZPkIc0oJNeAEbR3bEY6MI+ShkBi3spQ0oZ5B1L6Gg6gOLX6a4L9GEkpZzPD4tvKcNk5BkVMujgj0gAn9Pd99CJkmmU8jIsamfSu+uFkFdMo4ObZQG8Rne3KkAvvqWU8zGwWEQZXkMekf86HbwP4HEz3U2HbnSipJdgUT2D3p2LRt7Qj44qwvRWJt3dKgXdCD9DKeeiYTGPMjyDvGEDHQ3usZpipkJHJlLSQFhUSqN3h8KQF1QyU4abJaEjDShpF6zmUobeyAtGU44p0BPTaUpqDot6lGE78gDTccpwowR0ZTYlLYXVNsrQFqGvDeWYBH1pS0npt8FiMGVYh9D3FWVIKgZ9ibxGSWNhEZdE78zVEOoK3qIME6A3CynpfBQsPqEM7yLUDaIMiUWhN70p7VFY1KcMCVEIcX9ShknQnQIplPQnrHZShj4IbTUoQ3pZ6M8aSrsXFmMow68IbZMowyLo0IuUNg8WTSmDuRpCWfgZytAQOlSX0m7EQBBxnTK8i1DWkTJshh6ZLlFaD1isoAwJUQhhyylDL+jS15S2BBbPUY4+CF3FUundiXDo0nOUdiMGgqqU41eErmGUYST06Q560AMWxyiDuRpC1g56d6MwdOocpS2FxULK8S5CVV3K8AH0ahGl3cgPwXDKkRCFEDWD3pmrQa8G0oOeEDSmLH0QmiIv0rtV0K0q9GAZBNHplOMnhKaHKUMX6Nc5SruZH4IdlCO9OELSCnp3PgL6tY4ePAzBR5TlWYSi4mn0bip07H16MBOCAZTlN4SioZShNnRsMD3YBcFdlCXzNoSgrfTub+hZU3qQWQRA+C3K8iJCzx2U4XnoWRF60gWCeMryF0LPRHqXUhS6dpYevAvBh5SnIkJN2Cl6twz6to4ebIXgacrzP4Sa+ynDg9C3GfQgPQ7APZRnJ0LNF/TuTDj0bRA9aQ8gMpXy1EBoib1B796DzjWlJ+Mh2EZ53kZoeYIytIbOFaYnGyH4hPLsQ2hZR++uR0LvztCDCxA8Q5nqIJSUy6R3y6F7a+lJQQD1KdP/IZS8Rhn6Q/c+oCf1AORLozx/IpTso3fmktC9MfSkNwQ7KU9GEYSO+pRhC/RvBD15A4J5lKkXQsdMyvA29G8QPZkHwauU6VOEjMiLdHS8djpF3Av960NPfoegC2U6hZDRjU4a4RLdnTNB/x6kJ+cgqEq5aiFUfENHPyOOIpYjBDShR3EAwlMo08sIEbel0lEb1KaI1xACatOjmhDsoUw/I0S8S0d/A50poi1CQHl6VA+CbyhTcgxCQqFEOuoFDKOIoggBhelRUwjmUq4OCAmv0dGFMOB9ujuGUBBGj+6HYBrlmoFQkO8cHX0BYDXdfY2QkERPOkMwhnLtRyh4hk76AjhAd68jJJyhJz0heIWylYX+xZ2lo4yiQHga3bVDSNhPT56A4FnK1gP6N55ONgOoRBGlEBK20JPBEAygbJOgexWT6eQdAG0pIj9Cwjp68gIEz1K2X6F7y+jsSQBDKCICIeFrejISghcoW2IYdK45XTQF8H90Z0ZomE9PBkIwkvLdCX0L204XpQGMprtUhIbZ9KQrBG9Svv7QtwF0cQOC0XSXhNAwmZ40hmAM5fsQulbgHF3shmA03V1BaHibnlSBYArl2wZdm0BX8RCMprvzCA0v05OCECyhfGnR0LFKKXQVD8FoujuJ0PAMPUiBxd/0QSPo2HK6iYdgNN0dQWh4jB6cgsVV+uAF6FcLuouHYDTd7UdoeIgebIegKH2xALoVtp3u4iEYQXf/IDQ8QA9WQdCAvvgHuvUwRWyFoAfdbUNoaEwPxkDQl764Ct3aTBGnIbiX7v5EaKhDDzpCMIE+KQCdakwxmZEAitHdbwgNlelBcQh+ok/uhE59TVEVIUikm3UIDaUo7QgsEuiT9tCnKpkU1QKC3XSzGqEhltIWQ1CWvhkEfZpFcU9AsJJuvkNoMKVT0osQdKFvxkKXCt2kuFEQzKSbZQgR/1JSYwj+j76ZD13qSQnfQ/AC3SxAiFhEKWnREKygb36BLn1GCRchqE03nyNEvE4pqyAwnadvDkGXzlBKdQhO0dUchIjOlNIRgjr0UTL06G5KegqCT+hqBkJEBUo4FgbBSPqqJHTodUr6FILudDUZoeIaxb0Gi5/pq3uhQ5soaR8EBdPpYixCxR8UlVoSgny36Kt20J/YdEq7HYKNdPEmQsUcihoJi/vps7bQnzvowXAIXqOLkQgVgylmHqwm0WdtoD9t6cHvEJS8SWfDECpiz9LdH1Gw2k6ftYL+9KcHmaUheI/OBiNkDKSbfSVh0/B7M33UAvozip4MgaDULTp5EiEjfA2dXXkpEtnuWpJJnzSD/syhJ7/AYhqd9EXoCBtnZo70mcXgpPrnafRBE+jPKnqSURyC0rfo6GGEkkaT/s4kmbF3wYg2ReCmwnLK1wj6s5MejYDFdDpqgBATVzQuygQpXU9RrobQnzP06JAJgkL76aAwQpOp5lNjP/jqh81bflo0e9zwtsVhV2BWJuW5F/pznp61g0X1q8yWgFB07+urLtHZqVVjW4bDomkCZbkH+nOenn0Hq/YZzLISIafY8H8o7vKXPeIA3HmOclSH/pynZxnlYPUys3RFiLlnWSo9SJpeHqhxht5lRkF/ztOLsbCZT5sD4Qgpse9l0Iv0hbVRl94dgw6dpxdnI2EVMZNWfRBSOh2nDOljIrfSq3XQoeP0ZjTs+iWT3GxCKHmXMu36nF59CB36g96k3wO7KsO/fS4CoeQlBtLL0KEl9Gp3FEJUTzMDqSt06F16Nx2hqWEyA+oO6NALlOEDE0LRzwyozHzQoQcpx6JIhJ67GFj7oEeFMml3c838+fMXH6aoH/Mj5MxnYE2GLu2gxY0ZbfPB6rbenybT3Z9FEWJKpzKwmkCXhlOwqCwclBh7iW4OVkdo6c7AOh8GXYrYws3N4CL/S4l0dfUBhJQ3GFhzoVdVIaL8WrpKfw6h5AsGVieEmIHX6WpWOEJHPAPqRjRCTbktdLW2MEJC3O11Wl5jQM1A6IlZSlf/VYLOFek85a9UBtyZgghBpnfo6nRN6FmNLzKoiF4ITf1S6SLhbuhWqUWZVMaPCFX336KLq42hU9WPUiEXKiNkPZBMFzfaQJfuu0Srm//88lM6A2lnRehSQcjRPoUukjtDh4qeo9XKcgAqfnCLgbK2DXTqccjyYCpdpPWB/iymRebjsKl9gQHxRyvo1veQp3MqXWQ+Db3pSau3kOWOswyACdCxayUgTz+6Mg+HvpS8SIufTMhW/TRzbRZ0LJbdINMUuhkFXZlMi8TicNAog7n0pQk6Vp3jIVPYD3QzIxz6kf8KLd6Hk/HMnW/DoWetuAhyFdxLNz8Wgm48Q4vMKnASuZO5sSc/dO1R/g7Zqlymm/1VoRd7abECLmqn0H9JNaBvr/A45GudTjdX7oc+tKZVW7h6m/7rA51bwfQwyDeE7tKfhy6Mp0VSJFwVTqS/ZkHnYm+RcfDBhxQxJwI6sJEWq+BuKv20NQo6151kOHwQ8StF/FoUmhd1ixZD4a5cGv1ypSJEvAod+YFMg0+KHqaIw3dA6xrRqjpEzKc/zJ0h4lFGQzdakLwG39RLpYjrHaFxI2lxHGJqm+mHiRBR7CbLQze2kDwBH71EMZkjoG1zafE9RC2h734Lh4g3yfrQi3cp+B4+Mq2hqHlR0LKVtJgGURVT6KvzZSAi6iz5IHRiDC1GwVclz1HUHyWhYVtoMRTiJtFH1+tDTHuST0If/ker9vBZWzNFnagL7TpGiwchrmACfXKjKUSNJfkKdOEFWqUWhu+mUNyNh6FZt2hRAxKG0BfJ90PcLySnQA8GmWm1CH6I3Epx5jehUXG0yIyChPB/KV9aZ4gLv0FyAbQv/xzatYA/qiRSwqJoaFJxWlyHpJpXKFdGL0ioQMFeaF6DA7TbB/88Tilbb4MWxdEiCdJaplKeIy0hpTEFmXHQtvC305nlIfjpS0o50xAaFEGLm/DgMcphnh0LSd1p0QKaVuUvZlsEf8UdopTkx6BBGRSkwJO36N3xNvBgKC1ehpYNTGK2C8Xgt/pplDQxDJpzg4I0eDSB3nxUAJ6Mo8UiaFbk49uZI7UtcmEkpa0sAK25REEGPOtzk57sbgvPxtLiELSpcLeZp+kgvRtyw/Qzpf1bGRpzhhbwou42Svq9kwlevEkLc2FoS4l7uj438au/M+kkoxdyp9QFSrvUGtpyhBal4U2z5RkUcW5uU3j3Cq26QBPyVWs7aPxXGw6nUMylTsith+hB+hBoyl5aNIZ3t/Wd/lcKHVzd/M59JsgxnFafQl3hzQaNX7j5jJkebCqH3PuKnsyJgIZsp8VjkCeycrM+L0+ZMm7UK8+2Lg3ZnqHVhTCoJ6zdJwn0JmVMOAKg8Gl6sqEYtGMzLUZBUR1o0xSqqRtPr25Nvw2B8SA9OlILmvELLT6HoqrQZgrU8mI6vbkxpRQCZi49SuwCrVhDiw1QVHgarQ5AJQ0z6NnxT/sUQQAVOE6PMl+DRiyhxQko6z/a3AlVxPzHHBcPnb58y8wsif9t+Oq5agi01mZ6tjAamjCFFubiUNQq2kyHKibRJn1l71qxsDBFFy1b9a77mlaLg0Jm0outt0ELhtLqISjqNdpci4UadtFqRWkET/5D9OJMQ2hAF1pNg6Lq0e5ZqCAilRYfhyOYmmTSi+THoL66tNoGRZku0mYPVFCLFscjEVxT6NXEMKitMK0yCkBRS2jXBsH3CC2GIMjy7aVXKwtAbYm06gBFDaDdjnAE3QgKbuRDsNVPp1f/VobK9tBqAhRVPJV2wxB0z1BwDME3lt5dag11rabV71DW17S7XhrB9igFuxB8kTvpXfoQqGoOrW6EQVEPMstCBFtXCn6DCuqkUoYJUNNrtLkDigo/zSyDEGRtKNgJNbxBOYZBRY/S5jEo6x1mSWuF4KpNQXo0VBC+hTJkdoZ6mtLmPSirfAqzXK6CoIpIpqAR1FAzmTKczA/V3E6bDVDYu8y2vzCCagsFQ6GKEZRjLFQTnk6rayYoq/BlZttVGsE0h4IFUEX4FspwMw6qOUKbqlDYS8xxtBqCaBAF16KhitpplOExqGYdbXpDYVFHmCOhPoKnHi16Qx1jKMNqqOZj2kyC0lqkMUdSWwRNeBIFq6COqL30Lgmq+R9t1kJxg+gg7REEzToK0ktAHY0y6d1tUEsv2lyA8mbQgXlyLIJkNC2GQSUz6F0rqOVe2mRAeeE/0dHJ7giOB2ixGyqJPUqvekItRWgXB+XFfE4nP1ZFMMRl0OJ+qKQtveoC1VylTVkEw8BkOkoZG4Mg2EaLH6CWz+lNO6hmO23uRFDUO0onx/tAeTNoYa4BlRQ5Ry/qQzXLadMYwRH9zGE6+aMBlNaTVnOglh70LCUKqplMmw4IlvA+O+jI/GUpKKs0rW4Wh1q+oUd/IsiKxyHLM7TpjSBqOv8WHVzsAWUdptU4qKX0FXoyAUGVb9RN86+xsOlIm0EIqkLP7aSDBYWhpPm0uloAanmKHmRWRDAV2E7BWti0ps1IBFv9jxKZ7XQ7KGgQbV6BatZR2rcIpsi1tLoXVk1pMw7BFzs8gdnegnIa0eZsPqil0g1KMTdBMM2nzXhYNaTNTKgh7u1EZpluglIK0e5JqOZFSvkIwTSMdnthdTdtvoA6ik9Lod28cCjlLG0WQzVhf1HcyQIIoqo3aZceBos7afM11FJ+Ae2+CYNCfqFNggmqqZVKMamtEURhfzBbGVhUpc1CqGdoBm1eg0Jm064u1PM2RaR3QzCNYI76sChPm0+govbXaZV2D5QxlHYjoJ7IPXST0RvBVDOZObrB4jbaTIea7jxKq73RUERP2i2Bihpm0MW/jRBMUTvooB8s6tJmPFRV4l9aDYMiOtNuNdT0Hp2kjI5CUL1HR4/DojNt3oC6mpppsQ6KeIB2G6Gm/EeY45/hxRBc7c109AgshtBmOFQ2nxapBaCEZrTbBlV1otX132c/czeCreR5OukNiwm0GQiVlbxGi05QQgPa/Qd1baDFCqgg4ic66wmLBbR5FGp7gRY9oIQOtDsFddU306IPgi5iGV08DIuNtOkGtVWjRVcoYQrtLkBli2iRUAxBFr6ErhrB4ihtHoDa8tOiA5Swg3a/QGWVUmmxAMEVvpiuzHEQmFJp0xhqK22moAoUUNxMu4lQ2zRadUIwhS+km6OwKE27ulDbcxRchhJ6MUt3qK3oVVqcKojgKbWe7r6HRQPaVYXKTH9R8BOUMJdZykF1r9DqIwRNy7MU8Q4setCuDFQ2ghaPQAFRV2h3FuqLPkELcysEh+mNDIrpA4u3aBcLdTVIo2BPGBTQg1nmQQOeoNXhGARDiR8p7k5YLKPNFairzlladIcSvmeWu6EBpn9oNRXZqo39et+yNgi8qBFXKS41Ahb/0WYXVNXmOi0Wm6CA4mm0+w2a8BStMhrCpujMNFr8WwUB1uMwpeyCRUwGbVZCTU+k0mJ9FJQwjFm6QROiL9JqTxQsSu6j3dlaCKT6myhtASzupd0HUE+xJbTaUQCK+Jt2R8KgDRNoMxoWk5jt0r0ImNbfmunB87B4inavQDXdztNqS0ko4g5mGQ6NKJdOq9QaELRkjuttEBCxz+yhZxVgMZ12faCSKktosygayphIu+sFoBXLafMrLJYzh3lWHHKt8ntX6cUeWK2nXSOoouxHabQyj4JCwk7Rbjo0ozntHocgbi8dnOiAXKn+6p9mejURVgm0uw0qKPFeMm1u9oBS7qddZiVox2HaXCgCQfXrdLSwJvxkum/ifsrSFBalaZcWhqBrsSCZdqfugWI+od0P0JAptPsYFj3oxLyqFXxmuuOpT89SpkvhsGhLuyMIsuIj/mO2v0pDMeEXadcRGtKYdubGsFhMF9v7FYV8hdq+/eMV+mABrEbQbgOCyXT/0lRmS3wxHMp5gHZHwqAhprO0+ycCguIJdJX51+hG4fCmWKN+7yzbm0kf9YXVfNp9geAp/dphOvi6LJT0Ee1egaZ8yCwvw6IPxVxZNeWpRoUgoljttv1GffHXZfolvTCsdtBuLIIkrMO36XRwtCMUFZ5Am+Ri0JQHmOVsBCy+paSzG7//avbE14cOGPLSG2Pf/eDTb/86nsJc+Q1WESm0G4igqDbuBB2lTYiBslrS7gtoS8QVZukBiwqpDJ6RsKrNLO2gvEKDN9PZxjuhtFdp1xAa8wWzrIfVbAZPTVg9ziw1oLDwDouT6ey/3lDeEtpsh9b0YhZzdVjcdovBchg2U5klFoq6c8pZujgxIBxBcJA246E15ZntPVhNZbDMgM162t2EgooN/ZuuLgzPh2AoaKbNw9CcC8xyORoWJW4ySB6AzSXaHYNSIrt+k0pX196MRXA0o93t0JzVzNYPVl8wOBKjYFWOWbZAGbVnJNDNzUlFECwdaBcHzRnDbCtg1YLB8Q1sOjPLKiih2Q90lzixBIKnA+2KQnM6M9sR2BxkUDwNm1HM8hkCr9PvdHdldBEEUwfa3QvNKc1s5jhYvcaguA02XzPLRARY+KP/0F3C6wUQXB1o9ym05xSz3QeruxgMu2B3mFleQkBFDzlCd2dfzo9gq0W7W5WgOd8x20BYhV1nEEyATQEzszyGACr42nm6O/5cNFRwnnanakBrJjDb+7BZyyBoBptmzPYIAibspWt0d+CpSKhiMbNcaA2NeZPZfoXNGAZBDGyGMttQBEqV3+lud98wqGQAc6ypA015idkuwmYIgyAaNp8y22gEhun5G3SzpasJqoncxRyZ3/TKD+0YzBwlYdWfQRANm23MNgsBUeEXujnWA6qql05HN5f1KQ2NeJw57oBVbwZBNKwiUphtCQJhUCJd3RgVDZWNoavjS15slA/q684c9WHVj0EQDavazLEOuVfuJ7pZWBbqG0URqfEzHqkEdXVgjpawmsEgaAmrx5ljJ3LtyWt0ta0JNOHJNIo7//3rreOgmhbM0RFWfzAIlsFqKnOcRi4VW0lX5weEQSOa7aCkjH8+fuoOE9TQnjl6waLoLQbDaFisp4OKyJV7jtFF2rsFoR2mJ07Qk6s/j3mwKILtBeboD4uJDI4f25uAS3QwFLnx+C26+Kk6tCX65X304tDil5vHIohmM8fzEJS4wWC5svVrOvoJ/ot4ny5SXoAG1Z10nN5k/jvv+Yb5EBy/MserAKJ+pmpSYuGvUhvpYl8daJOp6aTNqfQqbftHT9eNgNKKpjLHGCB8OVXUDX667zRdfBQDDYtpOernJHp3a/P7j9cwQUFD6GAqii6nmubCP4NS6ezyw9C88Htf/OYCZbj+6+ReFaGQP+lgTvfzVNWFWPgh6hO6+K0cdKJqz7HfH6MMF38c26U4Aq4+HSVRbePhu7LxdJb+Zhh0pVCz5z+Ov0GvMv98ow4CyhRPn6RcPrl/28Y1y+fNmjr+7f+9OGTAY726tm/VuF6tqhUrV61e887ade6+594G9zVu2rxl6/vbtn+wU5duD3fv2bvvo4/36z9g4OBhkxZsPJJCD1KqwlfNz9PZ0UbQo7BqPcauOEZvTn7YMRoB8zS9ST3+59czX+vXvund1coUDEcAmErcM2R9OiX8AB8NS6ezhQWhY4VaDPt0WzI9urlycFkERMmLlHR19einH6xbwgRFFBuwOpWiOsMXMV/SWVI/6F/4nY9M/ukcPdkxtqEJuZVvM8Wd/fKZ2iYorMhHZoo4nA/y1dxJZwdqImSUbPfG2puUdv7z7gWQKwsoJmFOqzAEResjFLEsHHINvklnqwshtEQ2G/XLLUpKXftCZfjtbbpLX9AuAkGTfxZFLA6HLMW+o4sJYQhB+Vr834YUSto3qWkY/BA2jW5uTC+P4PqSIhaEQYb7z9DZjV4IWdGtxmxKpZSL83sUgI8KrKarhFFFEWz5/6GI+WHwpvj7Zjo7WgehLeb+cX+kUULqT8+Xhw9q/EsXR4bEQAVVkyhiWXF4VGhsIl38Ugx5QP52s85Ryq5xDU2QpcycdDrb1ycc6niTYi4/bYKk2Nev0NWMcOQRYS0+OEspF5Y+WxPeFBp/k87M06KhlpiTFPVHbYir9L8LdJXcD3lJWPOZZyjp3OLB1SApsvOCJLo42QYqeoLi0ue0iYCrWm/tpLvTDZDXmJrOOE1pZxYMrBcHN8U6zL1MNwsLQ02mdZRydVHfQshSokm/dw9QzObSyItMTaafpCdnf/t4RJcakZH5C5coW7FGp7e+O0ERV/pAZWUuUlra8T1//vz1vCXbrlHKN9HIq0yN3jvB3NlcDqrrwtz4MAx5mem+qcfpv3cjoAGz6L9RMDSccox+udoVmhC1gn7KeBoGi/qTj9Bnf1eCRkR+R7/c6gJDlnoTD9MXqZOioBmR39APlxvD4OieCQcp17dVoCURC+mzE3fA4KruOwcow85W0Jpe5+ibPWVhEHPX2P307PzAMGhP4Y/N9MHSwjBIqT1mLyX99UIBaFOzrZTrcl8YPKr53NLzdLf79UrQsDrvX6YM594tA4N3NQYvPGFmtpt736kFrcvXZ206PUpe3ikcBrmia3QYMnHU4G6NK8dBJ/K3fuvnRIo6suiF+6JgCH3h9zz+6vSlmw4nJV1NOHviyL4NCyYNe7hhcWjL/wM9z2faBrt43AAAAABJRU5ErkJggg==)}.os-icon.android{background-image:url(data:image/png;base64,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)}.os-icon.other{background-image:url(data:image/png;base64,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)}::ng-deep .date-time-container.data-table-date-time{position:fixed;z-index:9999}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{height:.0625rem;width:.0625rem;padding:0}::ng-deep .date-time-container.data-table-date-time .filter-button-container{height:3.125rem;display:flex;flex-direction:row;justify-content:center;align-items:center}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton{padding-left:var(--paddingSmall);padding-right:var(--paddingSmall);text-align:center;background-color:var(--inputBorder);color:var(--tableText);width:unset;height:1.4375rem;line-height:1.4375rem;font-size:.875rem;font-weight:600;position:relative;float:left;cursor:pointer;border-radius:.25rem;margin-right:var(--marginSmall);transition:.3s}::ng-deep .date-time-container.data-table-date-time .filter-button-container .toggleButton:hover{filter:brightness(90%);transition:.3s}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-inputtext{border-top-left-radius:1.25rem;border-bottom-left-radius:1.25rem;text-indent:.3125rem}::ng-deep .date-time-container.data-table-date-time .p-calendar .p-button-icon-only{border-top-right-radius:1.25rem;border-bottom-right-radius:1.25rem}::ng-deep .tag-selector-container.data-table-tag-selector{position:fixed;z-index:9999;width:21.875rem;height:-moz-fit-content;height:fit-content;background:var(--formBackground);display:flex;flex-direction:column;justify-content:flex-end;padding:.625rem;border-radius:var(--inputBorderRadius);box-shadow:var(--shadowLarge);margin-top:-1.25rem;border-color:var(--stroke);border-style:solid}::ng-deep .tag-selector-container.data-table-tag-selector .tag-selector-label{margin-bottom:.3125rem;margin-left:.125rem;font-weight:600;color:var(--menu)}::ng-deep .tag-selector-container.data-table-tag-selector .select2-search__field{height:2.1875rem}::ng-deep .tag-selector-container.data-table-tag-selector .nf-select2-dropdown{width:calc(100% - 1.25rem)!important}::ng-deep .tag-selector-container .icon-close{position:absolute;top:.5rem;right:.5rem;cursor:pointer;color:var(--icon);font-weight:600}::ng-deep .tag-selector-container .icon-close:hover{filter:brightness(50%)}\n"] }]
|
|
8055
8084
|
}], ctorParameters: function () { return [{ type: DataTableService }, { type: DataTableFilterService }]; }, propDecorators: { rowData: [{
|
|
8056
8085
|
type: Input
|
|
8057
8086
|
}], expandRowData: [{
|
|
@@ -10813,6 +10842,13 @@ class IdentitiesPageComponent extends ListPageComponent {
|
|
|
10813
10842
|
case 'download-selected':
|
|
10814
10843
|
this.svc.downloadItems(this.selectedItems);
|
|
10815
10844
|
break;
|
|
10845
|
+
case 'reset-mfa':
|
|
10846
|
+
this.isLoading = true;
|
|
10847
|
+
this.svc.resetMFA(event.item).finally(() => {
|
|
10848
|
+
this.isLoading = false;
|
|
10849
|
+
this.refreshData();
|
|
10850
|
+
});
|
|
10851
|
+
break;
|
|
10816
10852
|
default:
|
|
10817
10853
|
break;
|
|
10818
10854
|
}
|
|
@@ -17515,7 +17551,7 @@ class ServiceFormComponent extends ProjectableForm {
|
|
|
17515
17551
|
this.svc.formData = data;
|
|
17516
17552
|
}
|
|
17517
17553
|
get formData() {
|
|
17518
|
-
return this.svc
|
|
17554
|
+
return this.svc?.formData;
|
|
17519
17555
|
}
|
|
17520
17556
|
constructor(settingsService, svc, zitiService, growlerService, extService, router, route, location) {
|
|
17521
17557
|
super(growlerService, extService, zitiService, router, route, location, settingsService);
|
|
@@ -17708,6 +17744,7 @@ class ServiceFormComponent extends ProjectableForm {
|
|
|
17708
17744
|
if (!isEmpty(result?.id)) {
|
|
17709
17745
|
this.formData = result;
|
|
17710
17746
|
this.initData = this.formData;
|
|
17747
|
+
this.checkDataChange();
|
|
17711
17748
|
}
|
|
17712
17749
|
return result?.id;
|
|
17713
17750
|
}).finally(() => {
|
|
@@ -17749,7 +17786,7 @@ class ServiceFormComponent extends ProjectableForm {
|
|
|
17749
17786
|
provide: MatDialogRef,
|
|
17750
17787
|
useValue: {}
|
|
17751
17788
|
}
|
|
17752
|
-
], viewQueries: [{ propertyName: "configEditor", first: true, predicate: ["configEditor"], descendants: true, read: ConfigEditorComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"returnToListPage()\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Service' : 'Create Service')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"edge-router-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Name'\" [label]=\"'Required'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this Service\"\n [ngClass]=\"{error: svc.errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select or create Service attributes'\"\n [label]=\"'Optional'\"\n [contentStyle]=\"'z-index: 99999999'\"\n [helpText]=\"'Attributes are tags applied to a resource. Apply the same tag to other Services to form a group of Services.'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"formData.roleAttributes\"\n [availableRoleAttributes]=\"serviceRoleAttributes\"\n [placeholder]=\"'Add attributes to group Services'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Add Configurations'\"\n (actionRequested)=\"attachConfig()\"\n (keyup.enter)=\"captureConfigEnterEvent($event)\"\n [helpText]=\"'Configurations are used to define how to intercept and host a service. Ziti Networks come with built-in configuration types (ie. intercept.v1 and host.v1)'\"\n >\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Select a Config</span>\n </div>\n <select\n [(ngModel)]=\"svc.selectedConfigTypeId\"\n (change)=\"configTypeChanged($event)\"\n id=\"SelectedConfigType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select configuration type...</option>\n <option\n *ngFor=\"let type of svc.configTypes\"\n [value]=\"type.id\"\n >\n {{ type.name }}\n </option>\n </select>\n <div class=\"dropdown-container\" [ngClass]=\"{'dropdown-loading': svc.configsLoading}\">\n <p-dropdown\n placeholder=\"Select configuration...\"\n optionLabel=\"name\"\n optionValue=\"id\"\n filterBy=\"name\"\n [options]=\"svc.filteredConfigs\"\n [filter]=\"true\"\n [showClear]=\"true\"\n [disabled]=\"!svc.selectedConfigTypeId || svc.selectedConfigTypeId === ''\"\n (onChange)=\"configChanged($event)\"\n [(ngModel)]=\"svc.selectedConfigId\"\n >\n <ng-template pTemplate=\"filter\" let-options=\"options\">\n <div class=\"dropdown-filter-container\">\n <div class=\"p-inputgroup\" (click)=\"$event.stopPropagation()\">\n <span class=\"p-inputgroup-addon\"><i class=\"pi pi-search\"></i></span>\n <input\n type=\"text\"\n pInputText\n placeholder=\"Filter\"\n (keyup)=\"configFilterChangedDebounced($event)\" />\n </div>\n <button pButton\n icon=\"pi pi-times\"\n [ngClass]=\"{'configs-loading': svc.configsLoading}\"\n (click)=\"clearConfigFilter($event)\"\n severity=\"secondary\">\n </button>\n <div class=\"spinner\" *ngIf=\"svc.configsLoading\"></div>\n </div>\n </ng-template>\n </p-dropdown>\n </div>\n <div *ngIf=\"!showConfigData && svc.selectedConfigId && svc.selectedConfigId !== '' && svc.selectedConfigId !== 'preview'\" class=\"button-row-right\" >\n <div class=\"save-button\" (click)=\"svc.attachConfig(svc.selectedConfigId)\">\n {{svc.attachLabel}}\n </div>\n </div>\n <div [hidden]=\"!showConfigData\" class=\"form-field-extended-fields\" [ngClass]=\"{'cfg-preview': svc.selectedConfigId === 'preview'}\">\n <div *ngIf=\"showConfigData\" class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Config Name</span>\n <div\n class=\"save-button\"\n (click)=\"attachConfig()\"\n *ngIf=\"svc.selectedConfigId !== 'preview'\"\n >{{svc.attachLabel}}\n </div>\n </div>\n <input\n *ngIf=\"showConfigData\"\n [(ngModel)]=\"svc.newConfigName\"\n class=\"form-field-input\"\n [placeholder]=\"'New Config Name'\"\n [ngClass]=\"{error: svc.configErrors['name']}\"\n style=\"margin-bottom: 20px;\"\n />\n <div class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\" *ngIf=\"svc.selectedConfigId !== 'preview'\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <lib-config-editor\n [(configData)]=\"svc.configData\"\n [schema]=\"svc.selectedSchema\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"svc.configErrors\"\n #configEditor\n ></lib-config-editor>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div *ngIf=\"showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Terminator Strategy'\"\n [title2]=\"'Encryption'\"\n [layout]=\"'row'\"\n [helpText]=\"'Pick a strategy to determine how to rank available terminators for a service'\"\n [helpText2]=\"'Encrypts packets when entering or leaving the network.'\"\n class=\"form-field-advanced\"\n >\n <select\n [(ngModel)]=\"formData.terminatorStrategy\"\n id=\"authPolicyId\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select a Strategy....</option>\n <option\n *ngFor=\"let strat of strategies\"\n [value]=\"strat.id\"\n >\n {{ strat.label }}\n </option>\n </select>\n <div class=\"config-item\">\n <div class=\"config-container toggle-container\">\n <div class=\"config-container-label\">Require Encryption</div>\n <div\n (click)=\"toggleEncryptionRequired()\"\n [ngClass]=\"{ on: formData.encryptionRequired }\"\n class=\"toggle\"\n >\n <span [hidden]=\"!formData.encryptionRequired\" class=\"on-label\">YES</span>\n <span [hidden]=\"formData.encryptionRequired\" class=\"off-label\">NO</span>\n <div class=\"switch\"></div>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Entities'\"\n [label]=\"'Click for detailed view'\"\n [helpText]=\"'List the configs, policies, and terminators that are associated with this service. Click on the entity name to navigate to the entity\\'s detailed view.'\"\n [class]=\"'no-gap'\"\n >\n <div class=\"form-row space-between\" style=\"margin-top: 0;\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configurations</span>\n </div>\n <span class=\"form-field-count\">{{svc.addedConfigs ? svc.addedConfigs.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedConfigsLoading\"\n [allNames]=\"svc.addedConfigs\"\n [allowRemove]=\"true\"\n [clickable]=\"true\"\n [showfilter]=\"false\"\n [tooltip]=\"'View Config'\"\n (itemRemoved)=\"svc.removeConfig($event)\"\n (itemSelected)=\"svc.previewConfig($event, router)\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Service Policies</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedServicePoliciesTotal}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedServicePoliciesLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewPolicy($event, router)\"\n [tooltip]=\"'View Service Policy'\"\n [allNames]=\"svc.associatedServicePolicies\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Terminators</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedTerminators ? svc.associatedTerminators.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedTerminatorsLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewTerminator($event, router)\"\n [tooltip]=\"'View Terminator'\"\n [allNames]=\"svc.associatedTerminators\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n </lib-form-field-container>\n<!-- <lib-form-field-container\n *ngIf=\"formData.id\"\n [title]=\"'Associated Service Policies'\"\n [count]=\"svc.associatedServicePolicies.length\"\n [helpText]=\"'Preview list of all service policies that this service is associated with.'\"\n >\n </lib-form-field-container>-->\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [class]=\"'api-call-container'\"\n [helpText]=\"'Preview of the API URL and data model that is used to create/update this service'\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"svc.apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\" [(jsonInvalid)]=\"formDataInvalid\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [".edge-router-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:.9375rem}.form-field-dropdown{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-repeat:no-repeat;background-size:1.125rem;padding-right:1.75rem}.form-field-extended-fields{position:relative;display:flex;flex-direction:column}.form-field-extended-fields.cfg-preview{opacity:.8;filter:grayscale(.4);pointer-events:none}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:1.875rem;height:1.125rem;border-radius:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);margin-left:.3125rem;cursor:pointer;position:relative;margin-right:.3125rem}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(.0625rem);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:.1875rem;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:.625rem}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:.625rem;border-color:var(--green);border-style:solid;border-left-width:.0625rem;border-right-width:.0625rem;position:relative;margin-left:.125rem}.form-header-toggle-container .toggle-option-text{font-size:.8125rem;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.jsonButton{position:relative;top:0;margin:0;padding:.625rem;height:1.875rem}.disabled{opacity:.5;pointer-events:none}.attach-config{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;background:var(--primary);padding:.4375rem;border-radius:var(--inputBorderRadius);color:var(--white);cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque);border:none;width:-moz-fit-content;width:fit-content}.attach-config:active{background:#648293;box-shadow:none;transform:translateY(.0625rem)}.attach-config:hover{outline:0;filter:brightness(90%);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque)}::ng-deep .admin-toggle{width:100%;width:35%;display:flex}::ng-deep .admin-toggle .form-field-line{display:none}::ng-deep .admin-toggle .toggle{width:100%}::ng-deep .is-admin-container .form-field-title-container.title-container-2{width:35%!important}.svc-test-result{position:absolute;transition:var(--transition);height:0;width:100%;background-color:var(--background);bottom:0;font-weight:600;padding-left:.625rem;padding-right:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);border-bottom-right-radius:var(--inputBorderRadius);border-bottom-left-radius:var(--inputBorderRadius);border-top-style:none}.svc-test-result.test-result-open{height:-moz-fit-content;height:fit-content;box-shadow:0 -.125rem .6875rem 0 var(--boxShadow);padding-bottom:.9375rem;padding-top:.9375rem}.svc-test-result .close.icon-close{top:.625rem;right:.625rem;font-size:1.125rem;height:1.125rem;width:1.125rem;line-height:1.125rem}.dropdown-container{display:flex;flex-direction:column;position:relative}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-label{color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-line{border-color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle{border-color:var(--primaryColor);border-style:solid;border-width:var(--inputBorderWidth)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle .switch{top:.0625rem}::ng-deep .form-field-extended-fields .form-field-extended-fields{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.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: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.InputText, selector: "[pInputText]" }, { kind: "directive", type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i8$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i4$2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "badges", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText", "showHeaderToggle", "showHeaderButton"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }, { kind: "component", type: PreviewListComponent, selector: "lib-preview-list", inputs: ["label", "clickable", "isLoading", "allNames", "items", "allowRemove", "tooltip", "showfilter"], outputs: ["itemSelected", "itemRemoved"] }, { kind: "component", type: LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }, { kind: "component", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }, { kind: "component", type: ConfigEditorComponent, selector: "lib-config-editor", inputs: ["configErrors", "configData", "showJsonView", "schema"], outputs: ["configErrorsChange", "configDataChange"] }] }); }
|
|
17789
|
+
], viewQueries: [{ propertyName: "configEditor", first: true, predicate: ["configEditor"], descendants: true, read: ConfigEditorComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"returnToListPage()\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Service' : 'Create Service')\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"edge-router-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Name'\" [label]=\"'Required'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this Service\"\n [ngClass]=\"{error: svc.errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select or create Service attributes'\"\n [label]=\"'Optional'\"\n [contentStyle]=\"'z-index: 99999999'\"\n [helpText]=\"'Attributes are tags applied to a resource. Apply the same tag to other Services to form a group of Services.'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"formData.roleAttributes\"\n [availableRoleAttributes]=\"serviceRoleAttributes\"\n [placeholder]=\"'Add attributes to group Services'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Add Configurations'\"\n (actionRequested)=\"attachConfig()\"\n (keyup.enter)=\"captureConfigEnterEvent($event)\"\n [helpText]=\"'Configurations are used to define how to intercept and host a service. Ziti Networks come with built-in configuration types (ie. intercept.v1 and host.v1)'\"\n >\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Select a Config</span>\n </div>\n <select\n [(ngModel)]=\"svc.selectedConfigTypeId\"\n (change)=\"configTypeChanged($event)\"\n id=\"SelectedConfigType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select configuration type...</option>\n <option\n *ngFor=\"let type of svc.configTypes\"\n [value]=\"type.id\"\n >\n {{ type.name }}\n </option>\n </select>\n <div class=\"dropdown-container\" [ngClass]=\"{'dropdown-loading': svc.configsLoading}\">\n <p-dropdown\n placeholder=\"Select configuration...\"\n optionLabel=\"name\"\n optionValue=\"id\"\n filterBy=\"name\"\n [options]=\"svc.filteredConfigs\"\n [filter]=\"true\"\n [showClear]=\"true\"\n [disabled]=\"!svc.selectedConfigTypeId || svc.selectedConfigTypeId === ''\"\n (onChange)=\"configChanged($event)\"\n [(ngModel)]=\"svc.selectedConfigId\"\n >\n <ng-template pTemplate=\"filter\" let-options=\"options\">\n <div class=\"dropdown-filter-container\">\n <div class=\"p-inputgroup\" (click)=\"$event.stopPropagation()\">\n <span class=\"p-inputgroup-addon\"><i class=\"pi pi-search\"></i></span>\n <input\n type=\"text\"\n pInputText\n placeholder=\"Filter\"\n (keyup)=\"configFilterChangedDebounced($event)\" />\n </div>\n <button pButton\n icon=\"pi pi-times\"\n [ngClass]=\"{'configs-loading': svc.configsLoading}\"\n (click)=\"clearConfigFilter($event)\"\n severity=\"secondary\">\n </button>\n <div class=\"spinner\" *ngIf=\"svc.configsLoading\"></div>\n </div>\n </ng-template>\n </p-dropdown>\n </div>\n <div *ngIf=\"!showConfigData && svc.selectedConfigId && svc.selectedConfigId !== '' && svc.selectedConfigId !== 'preview'\" class=\"button-row-right\" >\n <div class=\"save-button\" (click)=\"svc.attachConfig(svc.selectedConfigId)\">\n {{svc.attachLabel}}\n </div>\n </div>\n <div [hidden]=\"!showConfigData\" class=\"form-field-extended-fields\" [ngClass]=\"{'cfg-preview': svc.selectedConfigId === 'preview'}\">\n <div *ngIf=\"showConfigData\" class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Config Name</span>\n <div\n class=\"save-button\"\n (click)=\"attachConfig()\"\n *ngIf=\"svc.selectedConfigId !== 'preview'\"\n >{{svc.attachLabel}}\n </div>\n </div>\n <input\n *ngIf=\"showConfigData\"\n [(ngModel)]=\"svc.newConfigName\"\n class=\"form-field-input\"\n [placeholder]=\"'New Config Name'\"\n [ngClass]=\"{error: svc.configErrors['name']}\"\n style=\"margin-bottom: 20px;\"\n />\n <div class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\" *ngIf=\"svc.selectedConfigId !== 'preview'\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <lib-config-editor\n [(configData)]=\"svc.configData\"\n [schema]=\"svc.selectedSchema\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"svc.configErrors\"\n #configEditor\n ></lib-config-editor>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div *ngIf=\"showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Terminator Strategy'\"\n [title2]=\"'Encryption'\"\n [layout]=\"'row'\"\n [helpText]=\"'Pick a strategy to determine how to rank available terminators for a service'\"\n [helpText2]=\"'Encrypts packets when entering or leaving the network.'\"\n class=\"form-field-advanced\"\n >\n <select\n [(ngModel)]=\"formData.terminatorStrategy\"\n id=\"authPolicyId\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select a Strategy....</option>\n <option\n *ngFor=\"let strat of strategies\"\n [value]=\"strat.id\"\n >\n {{ strat.label }}\n </option>\n </select>\n <div class=\"config-item\">\n <div class=\"config-container toggle-container\">\n <div class=\"config-container-label\">Require Encryption</div>\n <div\n (click)=\"toggleEncryptionRequired()\"\n [ngClass]=\"{ on: formData.encryptionRequired }\"\n class=\"toggle\"\n >\n <span [hidden]=\"!formData.encryptionRequired\" class=\"on-label\">YES</span>\n <span [hidden]=\"formData.encryptionRequired\" class=\"off-label\">NO</span>\n <div class=\"switch\"></div>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Entities'\"\n [label]=\"'Click for detailed view'\"\n [helpText]=\"'List the configs, policies, and terminators that are associated with this service. Click on the entity name to navigate to the entity\\'s detailed view.'\"\n [class]=\"'no-gap'\"\n >\n <div class=\"form-row space-between\" style=\"margin-top: 0;\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configurations</span>\n </div>\n <span class=\"form-field-count\">{{svc.addedConfigs ? svc.addedConfigs.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedConfigsLoading\"\n [allNames]=\"svc.addedConfigs\"\n [allowRemove]=\"true\"\n [clickable]=\"true\"\n [showfilter]=\"false\"\n [tooltip]=\"'View Config'\"\n (itemRemoved)=\"svc.removeConfig($event)\"\n (itemSelected)=\"svc.previewConfig($event, router)\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Service Policies</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedServicePoliciesTotal}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedServicePoliciesLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewPolicy($event, router)\"\n [tooltip]=\"'View Service Policy'\"\n [allNames]=\"svc.associatedServicePolicies\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Terminators</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedTerminators ? svc.associatedTerminators.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedTerminatorsLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewTerminator($event, router)\"\n [tooltip]=\"'View Terminator'\"\n [allNames]=\"svc.associatedTerminators\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n </lib-form-field-container>\n<!-- <lib-form-field-container\n *ngIf=\"formData.id\"\n [title]=\"'Associated Service Policies'\"\n [count]=\"svc.associatedServicePolicies.length\"\n [helpText]=\"'Preview list of all service policies that this service is associated with.'\"\n >\n </lib-form-field-container>-->\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [class]=\"'api-call-container'\"\n [helpText]=\"'Preview of the API URL and data model that is used to create/update this service'\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"svc.apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\" [(jsonInvalid)]=\"formDataInvalid\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [".edge-router-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:.9375rem}.form-field-dropdown{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-repeat:no-repeat;background-size:1.125rem;padding-right:1.75rem}.form-field-extended-fields{position:relative;display:flex;flex-direction:column}.form-field-extended-fields.cfg-preview{opacity:.8;filter:grayscale(.4);pointer-events:none}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:1.875rem;height:1.125rem;border-radius:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);margin-left:.3125rem;cursor:pointer;position:relative;margin-right:.3125rem}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(.0625rem);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:.1875rem;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:.625rem}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:.625rem;border-color:var(--green);border-style:solid;border-left-width:.0625rem;border-right-width:.0625rem;position:relative;margin-left:.125rem}.form-header-toggle-container .toggle-option-text{font-size:.8125rem;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.jsonButton{position:relative;top:0;margin:0;padding:.625rem;height:1.875rem}.disabled{opacity:.5;pointer-events:none}.attach-config{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;background:var(--primary);padding:.4375rem;border-radius:var(--inputBorderRadius);color:var(--white);cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque);border:none;width:-moz-fit-content;width:fit-content}.attach-config:active{background:#648293;box-shadow:none;transform:translateY(.0625rem)}.attach-config:hover{outline:0;filter:brightness(90%);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque)}::ng-deep .admin-toggle{width:100%;width:35%;display:flex}::ng-deep .admin-toggle .form-field-line{display:none}::ng-deep .admin-toggle .toggle{width:100%}::ng-deep .is-admin-container .form-field-title-container.title-container-2{width:35%!important}.svc-test-result{position:absolute;transition:var(--transition);height:0;width:100%;background-color:var(--background);bottom:0;font-weight:600;padding-left:.625rem;padding-right:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);border-bottom-right-radius:var(--inputBorderRadius);border-bottom-left-radius:var(--inputBorderRadius);border-top-style:none}.svc-test-result.test-result-open{height:-moz-fit-content;height:fit-content;box-shadow:0 -.125rem .6875rem 0 var(--boxShadow);padding-bottom:.9375rem;padding-top:.9375rem}.svc-test-result .close.icon-close{top:.625rem;right:.625rem;font-size:1.125rem;height:1.125rem;width:1.125rem;line-height:1.125rem}.dropdown-container{display:flex;flex-direction:column;position:relative}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-label{color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-line{border-color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle{border-color:var(--primaryColor);border-style:solid;border-width:var(--inputBorderWidth)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle .switch{top:.0625rem}::ng-deep .form-field-extended-fields .form-field-extended-fields{padding:0}\n"], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.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: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6$1.InputText, selector: "[pInputText]" }, { kind: "directive", type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i8$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i4$2.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "badges", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText", "showHeaderToggle", "showHeaderButton"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }, { kind: "component", type: PreviewListComponent, selector: "lib-preview-list", inputs: ["label", "clickable", "isLoading", "allNames", "items", "allowRemove", "tooltip", "showfilter"], outputs: ["itemSelected", "itemRemoved"] }, { kind: "component", type: LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }, { kind: "component", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }, { kind: "component", type: ConfigEditorComponent, selector: "lib-config-editor", inputs: ["configErrors", "configData", "showJsonView", "schema"], outputs: ["configErrorsChange", "configDataChange"] }] }); }
|
|
17753
17790
|
}
|
|
17754
17791
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceFormComponent, decorators: [{
|
|
17755
17792
|
type: Component,
|
|
@@ -17758,7 +17795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
17758
17795
|
provide: MatDialogRef,
|
|
17759
17796
|
useValue: {}
|
|
17760
17797
|
}
|
|
17761
|
-
], template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"returnToListPage()\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Service' : 'Create Service')\"\n [moreActions]=\"formData.moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"edge-router-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Name'\" [label]=\"'Required'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this Service\"\n [ngClass]=\"{error: svc.errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select or create Service attributes'\"\n [label]=\"'Optional'\"\n [contentStyle]=\"'z-index: 99999999'\"\n [helpText]=\"'Attributes are tags applied to a resource. Apply the same tag to other Services to form a group of Services.'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"formData.roleAttributes\"\n [availableRoleAttributes]=\"serviceRoleAttributes\"\n [placeholder]=\"'Add attributes to group Services'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Add Configurations'\"\n (actionRequested)=\"attachConfig()\"\n (keyup.enter)=\"captureConfigEnterEvent($event)\"\n [helpText]=\"'Configurations are used to define how to intercept and host a service. Ziti Networks come with built-in configuration types (ie. intercept.v1 and host.v1)'\"\n >\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Select a Config</span>\n </div>\n <select\n [(ngModel)]=\"svc.selectedConfigTypeId\"\n (change)=\"configTypeChanged($event)\"\n id=\"SelectedConfigType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select configuration type...</option>\n <option\n *ngFor=\"let type of svc.configTypes\"\n [value]=\"type.id\"\n >\n {{ type.name }}\n </option>\n </select>\n <div class=\"dropdown-container\" [ngClass]=\"{'dropdown-loading': svc.configsLoading}\">\n <p-dropdown\n placeholder=\"Select configuration...\"\n optionLabel=\"name\"\n optionValue=\"id\"\n filterBy=\"name\"\n [options]=\"svc.filteredConfigs\"\n [filter]=\"true\"\n [showClear]=\"true\"\n [disabled]=\"!svc.selectedConfigTypeId || svc.selectedConfigTypeId === ''\"\n (onChange)=\"configChanged($event)\"\n [(ngModel)]=\"svc.selectedConfigId\"\n >\n <ng-template pTemplate=\"filter\" let-options=\"options\">\n <div class=\"dropdown-filter-container\">\n <div class=\"p-inputgroup\" (click)=\"$event.stopPropagation()\">\n <span class=\"p-inputgroup-addon\"><i class=\"pi pi-search\"></i></span>\n <input\n type=\"text\"\n pInputText\n placeholder=\"Filter\"\n (keyup)=\"configFilterChangedDebounced($event)\" />\n </div>\n <button pButton\n icon=\"pi pi-times\"\n [ngClass]=\"{'configs-loading': svc.configsLoading}\"\n (click)=\"clearConfigFilter($event)\"\n severity=\"secondary\">\n </button>\n <div class=\"spinner\" *ngIf=\"svc.configsLoading\"></div>\n </div>\n </ng-template>\n </p-dropdown>\n </div>\n <div *ngIf=\"!showConfigData && svc.selectedConfigId && svc.selectedConfigId !== '' && svc.selectedConfigId !== 'preview'\" class=\"button-row-right\" >\n <div class=\"save-button\" (click)=\"svc.attachConfig(svc.selectedConfigId)\">\n {{svc.attachLabel}}\n </div>\n </div>\n <div [hidden]=\"!showConfigData\" class=\"form-field-extended-fields\" [ngClass]=\"{'cfg-preview': svc.selectedConfigId === 'preview'}\">\n <div *ngIf=\"showConfigData\" class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Config Name</span>\n <div\n class=\"save-button\"\n (click)=\"attachConfig()\"\n *ngIf=\"svc.selectedConfigId !== 'preview'\"\n >{{svc.attachLabel}}\n </div>\n </div>\n <input\n *ngIf=\"showConfigData\"\n [(ngModel)]=\"svc.newConfigName\"\n class=\"form-field-input\"\n [placeholder]=\"'New Config Name'\"\n [ngClass]=\"{error: svc.configErrors['name']}\"\n style=\"margin-bottom: 20px;\"\n />\n <div class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\" *ngIf=\"svc.selectedConfigId !== 'preview'\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <lib-config-editor\n [(configData)]=\"svc.configData\"\n [schema]=\"svc.selectedSchema\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"svc.configErrors\"\n #configEditor\n ></lib-config-editor>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div *ngIf=\"showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Terminator Strategy'\"\n [title2]=\"'Encryption'\"\n [layout]=\"'row'\"\n [helpText]=\"'Pick a strategy to determine how to rank available terminators for a service'\"\n [helpText2]=\"'Encrypts packets when entering or leaving the network.'\"\n class=\"form-field-advanced\"\n >\n <select\n [(ngModel)]=\"formData.terminatorStrategy\"\n id=\"authPolicyId\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select a Strategy....</option>\n <option\n *ngFor=\"let strat of strategies\"\n [value]=\"strat.id\"\n >\n {{ strat.label }}\n </option>\n </select>\n <div class=\"config-item\">\n <div class=\"config-container toggle-container\">\n <div class=\"config-container-label\">Require Encryption</div>\n <div\n (click)=\"toggleEncryptionRequired()\"\n [ngClass]=\"{ on: formData.encryptionRequired }\"\n class=\"toggle\"\n >\n <span [hidden]=\"!formData.encryptionRequired\" class=\"on-label\">YES</span>\n <span [hidden]=\"formData.encryptionRequired\" class=\"off-label\">NO</span>\n <div class=\"switch\"></div>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Entities'\"\n [label]=\"'Click for detailed view'\"\n [helpText]=\"'List the configs, policies, and terminators that are associated with this service. Click on the entity name to navigate to the entity\\'s detailed view.'\"\n [class]=\"'no-gap'\"\n >\n <div class=\"form-row space-between\" style=\"margin-top: 0;\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configurations</span>\n </div>\n <span class=\"form-field-count\">{{svc.addedConfigs ? svc.addedConfigs.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedConfigsLoading\"\n [allNames]=\"svc.addedConfigs\"\n [allowRemove]=\"true\"\n [clickable]=\"true\"\n [showfilter]=\"false\"\n [tooltip]=\"'View Config'\"\n (itemRemoved)=\"svc.removeConfig($event)\"\n (itemSelected)=\"svc.previewConfig($event, router)\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Service Policies</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedServicePoliciesTotal}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedServicePoliciesLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewPolicy($event, router)\"\n [tooltip]=\"'View Service Policy'\"\n [allNames]=\"svc.associatedServicePolicies\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Terminators</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedTerminators ? svc.associatedTerminators.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedTerminatorsLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewTerminator($event, router)\"\n [tooltip]=\"'View Terminator'\"\n [allNames]=\"svc.associatedTerminators\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n </lib-form-field-container>\n<!-- <lib-form-field-container\n *ngIf=\"formData.id\"\n [title]=\"'Associated Service Policies'\"\n [count]=\"svc.associatedServicePolicies.length\"\n [helpText]=\"'Preview list of all service policies that this service is associated with.'\"\n >\n </lib-form-field-container>-->\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [class]=\"'api-call-container'\"\n [helpText]=\"'Preview of the API URL and data model that is used to create/update this service'\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"svc.apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\" [(jsonInvalid)]=\"formDataInvalid\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [".edge-router-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:.9375rem}.form-field-dropdown{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-repeat:no-repeat;background-size:1.125rem;padding-right:1.75rem}.form-field-extended-fields{position:relative;display:flex;flex-direction:column}.form-field-extended-fields.cfg-preview{opacity:.8;filter:grayscale(.4);pointer-events:none}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:1.875rem;height:1.125rem;border-radius:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);margin-left:.3125rem;cursor:pointer;position:relative;margin-right:.3125rem}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(.0625rem);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:.1875rem;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:.625rem}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:.625rem;border-color:var(--green);border-style:solid;border-left-width:.0625rem;border-right-width:.0625rem;position:relative;margin-left:.125rem}.form-header-toggle-container .toggle-option-text{font-size:.8125rem;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.jsonButton{position:relative;top:0;margin:0;padding:.625rem;height:1.875rem}.disabled{opacity:.5;pointer-events:none}.attach-config{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;background:var(--primary);padding:.4375rem;border-radius:var(--inputBorderRadius);color:var(--white);cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque);border:none;width:-moz-fit-content;width:fit-content}.attach-config:active{background:#648293;box-shadow:none;transform:translateY(.0625rem)}.attach-config:hover{outline:0;filter:brightness(90%);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque)}::ng-deep .admin-toggle{width:100%;width:35%;display:flex}::ng-deep .admin-toggle .form-field-line{display:none}::ng-deep .admin-toggle .toggle{width:100%}::ng-deep .is-admin-container .form-field-title-container.title-container-2{width:35%!important}.svc-test-result{position:absolute;transition:var(--transition);height:0;width:100%;background-color:var(--background);bottom:0;font-weight:600;padding-left:.625rem;padding-right:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);border-bottom-right-radius:var(--inputBorderRadius);border-bottom-left-radius:var(--inputBorderRadius);border-top-style:none}.svc-test-result.test-result-open{height:-moz-fit-content;height:fit-content;box-shadow:0 -.125rem .6875rem 0 var(--boxShadow);padding-bottom:.9375rem;padding-top:.9375rem}.svc-test-result .close.icon-close{top:.625rem;right:.625rem;font-size:1.125rem;height:1.125rem;width:1.125rem;line-height:1.125rem}.dropdown-container{display:flex;flex-direction:column;position:relative}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-label{color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-line{border-color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle{border-color:var(--primaryColor);border-style:solid;border-width:var(--inputBorderWidth)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle .switch{top:.0625rem}::ng-deep .form-field-extended-fields .form-field-extended-fields{padding:0}\n"] }]
|
|
17798
|
+
], template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"returnToListPage()\"\n tabindex=\"0\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"(formData.id ? 'Edit Service' : 'Create Service')\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n [saveDisabled]=\"svc.saveDisabled || formDataInvalid\"\n [saveTooltip]=\"saveButtonTooltip\"\n ></lib-form-header>\n <div class=\"edge-router-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" [hidden]=\"formView !== 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Name'\" [label]=\"'Required'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this Service\"\n [ngClass]=\"{error: svc.errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select or create Service attributes'\"\n [label]=\"'Optional'\"\n [contentStyle]=\"'z-index: 99999999'\"\n [helpText]=\"'Attributes are tags applied to a resource. Apply the same tag to other Services to form a group of Services.'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"formData.roleAttributes\"\n [availableRoleAttributes]=\"serviceRoleAttributes\"\n [placeholder]=\"'Add attributes to group Services'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Add Configurations'\"\n (actionRequested)=\"attachConfig()\"\n (keyup.enter)=\"captureConfigEnterEvent($event)\"\n [helpText]=\"'Configurations are used to define how to intercept and host a service. Ziti Networks come with built-in configuration types (ie. intercept.v1 and host.v1)'\"\n >\n <div class=\"form-field-input-group\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Select a Config</span>\n </div>\n <select\n [(ngModel)]=\"svc.selectedConfigTypeId\"\n (change)=\"configTypeChanged($event)\"\n id=\"SelectedConfigType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select configuration type...</option>\n <option\n *ngFor=\"let type of svc.configTypes\"\n [value]=\"type.id\"\n >\n {{ type.name }}\n </option>\n </select>\n <div class=\"dropdown-container\" [ngClass]=\"{'dropdown-loading': svc.configsLoading}\">\n <p-dropdown\n placeholder=\"Select configuration...\"\n optionLabel=\"name\"\n optionValue=\"id\"\n filterBy=\"name\"\n [options]=\"svc.filteredConfigs\"\n [filter]=\"true\"\n [showClear]=\"true\"\n [disabled]=\"!svc.selectedConfigTypeId || svc.selectedConfigTypeId === ''\"\n (onChange)=\"configChanged($event)\"\n [(ngModel)]=\"svc.selectedConfigId\"\n >\n <ng-template pTemplate=\"filter\" let-options=\"options\">\n <div class=\"dropdown-filter-container\">\n <div class=\"p-inputgroup\" (click)=\"$event.stopPropagation()\">\n <span class=\"p-inputgroup-addon\"><i class=\"pi pi-search\"></i></span>\n <input\n type=\"text\"\n pInputText\n placeholder=\"Filter\"\n (keyup)=\"configFilterChangedDebounced($event)\" />\n </div>\n <button pButton\n icon=\"pi pi-times\"\n [ngClass]=\"{'configs-loading': svc.configsLoading}\"\n (click)=\"clearConfigFilter($event)\"\n severity=\"secondary\">\n </button>\n <div class=\"spinner\" *ngIf=\"svc.configsLoading\"></div>\n </div>\n </ng-template>\n </p-dropdown>\n </div>\n <div *ngIf=\"!showConfigData && svc.selectedConfigId && svc.selectedConfigId !== '' && svc.selectedConfigId !== 'preview'\" class=\"button-row-right\" >\n <div class=\"save-button\" (click)=\"svc.attachConfig(svc.selectedConfigId)\">\n {{svc.attachLabel}}\n </div>\n </div>\n <div [hidden]=\"!showConfigData\" class=\"form-field-extended-fields\" [ngClass]=\"{'cfg-preview': svc.selectedConfigId === 'preview'}\">\n <div *ngIf=\"showConfigData\" class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Config Name</span>\n <div\n class=\"save-button\"\n (click)=\"attachConfig()\"\n *ngIf=\"svc.selectedConfigId !== 'preview'\"\n >{{svc.attachLabel}}\n </div>\n </div>\n <input\n *ngIf=\"showConfigData\"\n [(ngModel)]=\"svc.newConfigName\"\n class=\"form-field-input\"\n [placeholder]=\"'New Config Name'\"\n [ngClass]=\"{error: svc.configErrors['name']}\"\n style=\"margin-bottom: 20px;\"\n />\n <div class=\"config-title-row\" style=\"margin-bottom: 10px;\">\n <span class=\"form-field-title\">Configuration Data</span>\n <div class=\"form-header-toggle-container\" *ngIf=\"svc.selectedConfigId !== 'preview'\">\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': !svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n FORM\n </span>\n <div class=\"form-header-toggle\" (click)=\"svc.toggleJSONView()\">\n <div\n class=\"form-toggle-switch\"\n [ngClass]=\"{'toggle-left': !svc.configJsonView, 'toggle-right': svc.configJsonView}\"\n >\n <div class=\"form-toggle-indicator\"></div>\n <div class=\"form-toggle-indicator\"></div>\n </div>\n </div>\n <span\n class=\"toggle-option-text\"\n [ngClass]=\"{'toggle-option-selected': svc.configJsonView}\"\n (click)=\"svc.toggleJSONView()\"\n >\n JSON\n </span>\n </div>\n </div>\n <lib-config-editor\n [(configData)]=\"svc.configData\"\n [schema]=\"svc.selectedSchema\"\n [showJsonView]=\"svc.configJsonView\"\n [(configErrors)]=\"svc.configErrors\"\n #configEditor\n ></lib-config-editor>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div *ngIf=\"showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Terminator Strategy'\"\n [title2]=\"'Encryption'\"\n [layout]=\"'row'\"\n [helpText]=\"'Pick a strategy to determine how to rank available terminators for a service'\"\n [helpText2]=\"'Encrypts packets when entering or leaving the network.'\"\n class=\"form-field-advanced\"\n >\n <select\n [(ngModel)]=\"formData.terminatorStrategy\"\n id=\"authPolicyId\"\n class=\"form-field-dropdown\"\n >\n <option value=\"\">Select a Strategy....</option>\n <option\n *ngFor=\"let strat of strategies\"\n [value]=\"strat.id\"\n >\n {{ strat.label }}\n </option>\n </select>\n <div class=\"config-item\">\n <div class=\"config-container toggle-container\">\n <div class=\"config-container-label\">Require Encryption</div>\n <div\n (click)=\"toggleEncryptionRequired()\"\n [ngClass]=\"{ on: formData.encryptionRequired }\"\n class=\"toggle\"\n >\n <span [hidden]=\"!formData.encryptionRequired\" class=\"on-label\">YES</span>\n <span [hidden]=\"formData.encryptionRequired\" class=\"off-label\">NO</span>\n <div class=\"switch\"></div>\n </div>\n </div>\n </div>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Entities'\"\n [label]=\"'Click for detailed view'\"\n [helpText]=\"'List the configs, policies, and terminators that are associated with this service. Click on the entity name to navigate to the entity\\'s detailed view.'\"\n [class]=\"'no-gap'\"\n >\n <div class=\"form-row space-between\" style=\"margin-top: 0;\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Configurations</span>\n </div>\n <span class=\"form-field-count\">{{svc.addedConfigs ? svc.addedConfigs.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedConfigsLoading\"\n [allNames]=\"svc.addedConfigs\"\n [allowRemove]=\"true\"\n [clickable]=\"true\"\n [showfilter]=\"false\"\n [tooltip]=\"'View Config'\"\n (itemRemoved)=\"svc.removeConfig($event)\"\n (itemSelected)=\"svc.previewConfig($event, router)\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Service Policies</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedServicePoliciesTotal}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedServicePoliciesLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewPolicy($event, router)\"\n [tooltip]=\"'View Service Policy'\"\n [allNames]=\"svc.associatedServicePolicies\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n <div class=\"form-row space-between\">\n <div class=\"config-title-row\">\n <span class=\"form-field-title\">Terminators</span>\n </div>\n <span class=\"form-field-count\">{{svc.associatedTerminators ? svc.associatedTerminators.length : 0}}</span>\n </div>\n <lib-preview-list\n [isLoading]=\"svc.associatedTerminatorsLoading\"\n [clickable]=\"true\"\n (itemSelected)=\"svc.previewTerminator($event, router)\"\n [tooltip]=\"'View Terminator'\"\n [allNames]=\"svc.associatedTerminators\"\n [showfilter]=\"false\"\n ></lib-preview-list>\n </lib-form-field-container>\n<!-- <lib-form-field-container\n *ngIf=\"formData.id\"\n [title]=\"'Associated Service Policies'\"\n [count]=\"svc.associatedServicePolicies.length\"\n [helpText]=\"'Preview list of all service policies that this service is associated with.'\"\n >\n </lib-form-field-container>-->\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [label]=\"''\"\n [class]=\"'api-call-container'\"\n [helpText]=\"'Preview of the API URL and data model that is used to create/update this service'\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\" readonly/>\n <div class=\"url-copy icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"svc.apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\" [(jsonInvalid)]=\"formDataInvalid\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [".edge-router-form-container{display:flex;flex-direction:column;height:100%;width:100%;align-items:center;gap:.9375rem}.form-field-dropdown{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22utf-8%22%3F%3E%3C!-- Generator%3A Adobe Illustrator 23.0.3%2C SVG Export Plug-In . SVG Version%3A 6.00 Build 0) --%3E%3Csvg id%3D'Stroke_Color' style%3D'enable-background%3Anew 0 0 20.2 10.8%3B' version%3D'1.1' viewBox%3D'0 0 20.2 10.8' x%3D'0px' xml%3Aspace%3D'preserve' xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' y%3D'0px'%3E%3Cstyle type%3D'text%2Fcss'%3E%09.st0 %7B fill%3A %23668291%3B %7D%3C%2Fstyle%3E %3Cg%3E%09%3Cpath class%3D'st0' d%3D'M19.8%2C1.7c0%2C0.4-0.1%2C0.7-0.4%2C0.9l-8.5%2C7.3c-0.5%2C0.4-1.2%2C0.4-1.6%2C0L0.7%2C2.7C0.2%2C2.2%2C0.2%2C1.5%2C0.6%2C0.9%09%09c0.5-0.5%2C1.2-0.6%2C1.8-0.1l7.7%2C6.6l7.7-6.6c0.5-0.5%2C1.3-0.4%2C1.8%2C0.1C19.7%2C1.2%2C19.8%2C1.5%2C19.8%2C1.7z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:center right .625rem;background-repeat:no-repeat;background-size:1.125rem;padding-right:1.75rem}.form-field-extended-fields{position:relative;display:flex;flex-direction:column}.form-field-extended-fields.cfg-preview{opacity:.8;filter:grayscale(.4);pointer-events:none}.form-header-toggle-container{display:flex;flex-direction:row;align-items:center}.form-header-toggle-container .form-header-toggle{display:flex;flex-direction:row;width:1.875rem;height:1.125rem;border-radius:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);margin-left:.3125rem;cursor:pointer;position:relative;margin-right:.3125rem}.form-header-toggle-container .form-header-toggle:hover{filter:brightness(90%)}.form-header-toggle-container .form-header-toggle:active{transform:translateY(.0625rem);filter:brightness(80%)}.form-header-toggle-container .form-header-toggle .form-toggle-switch{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;height:100%;margin-left:.1875rem;position:absolute;transition:.5s;left:0}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right{left:.625rem}.form-header-toggle-container .form-header-toggle .form-toggle-switch.toggle-right .form-toggle-indicator{border-color:var(--red)}.form-header-toggle-container .form-header-toggle .form-toggle-switch .form-toggle-indicator{height:.625rem;border-color:var(--green);border-style:solid;border-left-width:.0625rem;border-right-width:.0625rem;position:relative;margin-left:.125rem}.form-header-toggle-container .toggle-option-text{font-size:.8125rem;font-weight:600;color:var(--placeholder);cursor:pointer}.form-header-toggle-container .toggle-option-text:hover{filter:brightness(90%)}.form-header-toggle-container .toggle-option-text:hover.toggle-option-selected{filter:unset}.form-header-toggle-container .toggle-option-text.toggle-option-selected{color:var(--tableText);cursor:default}.jsonButton{position:relative;top:0;margin:0;padding:.625rem;height:1.875rem}.disabled{opacity:.5;pointer-events:none}.attach-config{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;background:var(--primary);padding:.4375rem;border-radius:var(--inputBorderRadius);color:var(--white);cursor:pointer;box-shadow:0 .1875rem .5625rem 0 var(--primaryColorOpaque);border:none;width:-moz-fit-content;width:fit-content}.attach-config:active{background:#648293;box-shadow:none;transform:translateY(.0625rem)}.attach-config:hover{outline:0;filter:brightness(90%);box-shadow:0 .125rem .1875rem 0 var(--primaryColorOpaque)}::ng-deep .admin-toggle{width:100%;width:35%;display:flex}::ng-deep .admin-toggle .form-field-line{display:none}::ng-deep .admin-toggle .toggle{width:100%}::ng-deep .is-admin-container .form-field-title-container.title-container-2{width:35%!important}.svc-test-result{position:absolute;transition:var(--transition);height:0;width:100%;background-color:var(--background);bottom:0;font-weight:600;padding-left:.625rem;padding-right:.625rem;border-color:var(--inputBorder);border-style:solid;border-width:var(--inputBorderWidth);border-bottom-right-radius:var(--inputBorderRadius);border-bottom-left-radius:var(--inputBorderRadius);border-top-style:none}.svc-test-result.test-result-open{height:-moz-fit-content;height:fit-content;box-shadow:0 -.125rem .6875rem 0 var(--boxShadow);padding-bottom:.9375rem;padding-top:.9375rem}.svc-test-result .close.icon-close{top:.625rem;right:.625rem;font-size:1.125rem;height:1.125rem;width:1.125rem;line-height:1.125rem}.dropdown-container{display:flex;flex-direction:column;position:relative}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-label{color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .form-field-line{border-color:var(--primaryColor)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle{border-color:var(--primaryColor);border-style:solid;border-width:var(--inputBorderWidth)}::ng-deep .admin-toggle .form-field-toggle-container:focus .toggle .switch{top:.0625rem}::ng-deep .form-field-extended-fields .form-field-extended-fields{padding:0}\n"] }]
|
|
17762
17799
|
}], ctorParameters: function () { return [{ type: SettingsService, decorators: [{
|
|
17763
17800
|
type: Inject,
|
|
17764
17801
|
args: [SETTINGS_SERVICE]
|
|
@@ -19989,7 +20026,7 @@ class ServicePolicyFormComponent extends ProjectableForm {
|
|
|
19989
20026
|
provide: MatDialogRef,
|
|
19990
20027
|
useValue: {}
|
|
19991
20028
|
}
|
|
19992
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"formData.id ? 'Edit Service Policy: ' : 'Create New Service Policy'\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n ></lib-form-header>\n <div class=\"service-policy-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" *ngIf=\"formView === 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Policy Name'\" [label]=\"'REQUIRED'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this edge service policy\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Service Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100003'\"\n [helpText]=\"'Choose which services to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedServiceRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedServiceNamedAttributes\"\n [availableRoleAttributes]=\"svc.serviceRoleAttributes\"\n [availableNamedAttributes]=\"svc.serviceNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n [placeholder]=\"'Select service attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Identity Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100002'\"\n [helpText]=\"'Choose which identities to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedIdentityRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedIdentityNamedAttributes\"\n [availableRoleAttributes]=\"svc.identityRoleAttributes\"\n [availableNamedAttributes]=\"svc.identityNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n [placeholder]=\"'Select identity attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Posture Check Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100001'\"\n [helpText]=\"'Choose which posture checks to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedPostureRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedPostureNamedAttributes\"\n [(selectedRoleAttributes)]=\"svc.postureRoleAttributes\"\n [availableNamedAttributes]=\"svc.postureNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n [placeholder]=\"'Select posture check attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Type'\"\n [title2]=\"'Semantic'\"\n [layout]=\"'row'\"\n >\n <select\n [(ngModel)]=\"formData.type\"\n id=\"PolicyType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"Bind\">Bind</option>\n <option value=\"Dial\">Dial</option>\n </select>\n <select\n [(ngModel)]=\"formData.semantic\"\n id=\"PolicySemantic\"\n class=\"form-field-dropdown\"\n >\n <option value=\"AnyOf\">AnyOf</option>\n <option value=\"AllOf\">AllOf</option>\n </select>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Services'\"\n [count]=\"svc.associatedServiceNames.length\"\n [class]=\"'hide-overflow'\"\n [helpText]=\"'Preview list of all services that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"servicesLoading\"\n [allNames]=\"svc.associatedServiceNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Identities'\"\n [count]=\"svc.associatedIdentityNames.length\"\n [helpText]=\"'Preview list of all Identities that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"identitiesLoading\"\n [allNames]=\"svc.associatedIdentityNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Posture Checks'\"\n [count]=\"svc.associatedPostureCheckNames.length\"\n [helpText]=\"'Preview list of all Posture Checks that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"postureChecksLoading\"\n [allNames]=\"svc.associatedPostureCheckNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [headerActions]=\"apiOptions\"\n (actionRequested)=\"apiActionRequested($event)\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\"/>\n <div class=\"icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.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: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "badges", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText", "showHeaderToggle", "showHeaderButton"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }, { kind: "component", type: PreviewListComponent, selector: "lib-preview-list", inputs: ["label", "clickable", "isLoading", "allNames", "items", "allowRemove", "tooltip", "showfilter"], outputs: ["itemSelected", "itemRemoved"] }, { kind: "component", type: LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }, { kind: "component", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }] }); }
|
|
20029
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"formData.id ? 'Edit Service Policy: ' : 'Create New Service Policy'\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n ></lib-form-header>\n <div class=\"service-policy-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" *ngIf=\"formView === 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Policy Name'\" [label]=\"'REQUIRED'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this service policy\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Service Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100003'\"\n [helpText]=\"'Choose which services to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedServiceRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedServiceNamedAttributes\"\n [availableRoleAttributes]=\"svc.serviceRoleAttributes\"\n [availableNamedAttributes]=\"svc.serviceNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n [placeholder]=\"'Select service attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Identity Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100002'\"\n [helpText]=\"'Choose which identities to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedIdentityRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedIdentityNamedAttributes\"\n [availableRoleAttributes]=\"svc.identityRoleAttributes\"\n [availableNamedAttributes]=\"svc.identityNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n [placeholder]=\"'Select identity attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Posture Check Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100001'\"\n [helpText]=\"'Choose which posture checks to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedPostureRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedPostureNamedAttributes\"\n [(selectedRoleAttributes)]=\"svc.postureRoleAttributes\"\n [availableNamedAttributes]=\"svc.postureNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n [placeholder]=\"'Select posture check attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Type'\"\n [title2]=\"'Semantic'\"\n [layout]=\"'row'\"\n >\n <select\n [(ngModel)]=\"formData.type\"\n id=\"PolicyType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"Bind\">Bind</option>\n <option value=\"Dial\">Dial</option>\n </select>\n <select\n [(ngModel)]=\"formData.semantic\"\n id=\"PolicySemantic\"\n class=\"form-field-dropdown\"\n >\n <option value=\"AnyOf\">AnyOf</option>\n <option value=\"AllOf\">AllOf</option>\n </select>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Services'\"\n [count]=\"svc.associatedServiceNames.length\"\n [class]=\"'hide-overflow'\"\n [helpText]=\"'Preview list of all services that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"servicesLoading\"\n [allNames]=\"svc.associatedServiceNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Identities'\"\n [count]=\"svc.associatedIdentityNames.length\"\n [helpText]=\"'Preview list of all Identities that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"identitiesLoading\"\n [allNames]=\"svc.associatedIdentityNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Posture Checks'\"\n [count]=\"svc.associatedPostureCheckNames.length\"\n [helpText]=\"'Preview list of all Posture Checks that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"postureChecksLoading\"\n [allNames]=\"svc.associatedPostureCheckNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [headerActions]=\"apiOptions\"\n (actionRequested)=\"apiActionRequested($event)\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\"/>\n <div class=\"icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>", styles: [""], dependencies: [{ kind: "directive", type: i1$4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.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: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormHeaderComponent, selector: "lib-form-header", inputs: ["data", "badges", "title", "moreActions", "formView", "saveDisabled", "saveTooltip", "actionButtonText", "moreActionsText", "showHeaderToggle", "showHeaderButton"], outputs: ["formViewChange", "actionRequested"] }, { kind: "component", type: FormFieldContainerComponent, selector: "lib-form-field-container", inputs: ["title", "title2", "titleIcon", "layout", "helpText", "helpText2", "label", "count", "action", "actionLabel", "class", "contentStyle", "contentClass", "showHeader", "showToggle", "headerActions", "headerToggle"], outputs: ["actionRequested", "headerToggleChange"] }, { kind: "component", type: PreviewListComponent, selector: "lib-preview-list", inputs: ["label", "clickable", "isLoading", "allNames", "items", "allowRemove", "tooltip", "showfilter"], outputs: ["itemSelected", "itemRemoved"] }, { kind: "component", type: LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }, { kind: "component", type: FormFieldToggleComponent, selector: "lib-form-field-toggle", inputs: ["label", "orientation", "labelOn", "labelOff", "toggleOn"], outputs: ["toggleOnChange"] }, { kind: "component", type: JsonViewComponent, selector: "lib-json-view", inputs: ["data", "schema", "readOnly", "jsonInvalid", "showCopy"], outputs: ["dataChange", "jsonChange", "jsonInvalidChange"] }, { kind: "component", type: TagSelectorComponent, selector: "lib-tag-selector", inputs: ["placeholder", "disableField", "disableCreate", "hideOption", "isLoading", "errorMessage", "focusOnInit", "selectedRoleAttributes", "selectedNamedAttributes", "hasError", "availableRoleAttributes", "availableNamedAttributes"], outputs: ["addRoleAttribute", "addNamedAttribute", "roleAttributeRemoved", "namedAttributeRemoved", "selectedRoleAttributesChange", "selectedNamedAttributesChange", "filterChange"] }, { kind: "component", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: ["tags"], outputs: ["tagsChange"] }] }); }
|
|
19993
20030
|
}
|
|
19994
20031
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServicePolicyFormComponent, decorators: [{
|
|
19995
20032
|
type: Component,
|
|
@@ -19998,7 +20035,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
19998
20035
|
provide: MatDialogRef,
|
|
19999
20036
|
useValue: {}
|
|
20000
20037
|
}
|
|
20001
|
-
], template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"formData.id ? 'Edit Service Policy: ' : 'Create New Service Policy'\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n ></lib-form-header>\n <div class=\"service-policy-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" *ngIf=\"formView === 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Policy Name'\" [label]=\"'REQUIRED'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this
|
|
20038
|
+
], template: "<div class=\"projectable-form-wrapper\"\n (keyup.enter)=\"save($event)\"\n (keyup.escape)=\"closeModal(false)\"\n>\n <lib-form-header\n [data]=\"formData\"\n [title]=\"formData.id ? 'Edit Service Policy: ' : 'Create New Service Policy'\"\n [moreActions]=\"moreActions\"\n (actionRequested)=\"headerActionRequested($event)\"\n [(formView)]=\"formView\"\n ></lib-form-header>\n <div class=\"service-policy-form-container projectable-form-container\">\n <div class=\"projectable-form-main-column form-group-row\" *ngIf=\"formView === 'simple'\">\n <div class=\"form-group-column three-fifths\">\n <lib-form-field-container [title]=\"'Service Policy Name'\" [label]=\"'REQUIRED'\">\n <input\n class=\"form-field-input\"\n placeholder=\"Name this service policy\"\n [ngClass]=\"{error: errors['name']}\"\n [(ngModel)]=\"formData.name\"\n autofocus\n #nameFieldInput\n />\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Service Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100003'\"\n [helpText]=\"'Choose which services to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedServiceRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedServiceNamedAttributes\"\n [availableRoleAttributes]=\"svc.serviceRoleAttributes\"\n [availableNamedAttributes]=\"svc.serviceNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedServicesByAttribute(selectedServiceRoleAttributes, selectedServiceNamedAttributes)\"\n [placeholder]=\"'Select service attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Identity Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100002'\"\n [helpText]=\"'Choose which identities to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedIdentityRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedIdentityNamedAttributes\"\n [availableRoleAttributes]=\"svc.identityRoleAttributes\"\n [availableNamedAttributes]=\"svc.identityNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedIdentitiesByAttribute(selectedIdentityRoleAttributes, selectedIdentityNamedAttributes)\"\n [placeholder]=\"'Select identity attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Select Posture Check Attributes'\"\n [label]=\"'OPTIONAL'\"\n [contentStyle]=\"'z-index: 100001'\"\n [helpText]=\"'Choose which posture checks to associate to this policy by picking from the list of available attributes'\"\n >\n <lib-tag-selector\n [(selectedRoleAttributes)]=\"selectedPostureRoleAttributes\"\n [(selectedNamedAttributes)]=\"selectedPostureNamedAttributes\"\n [(selectedRoleAttributes)]=\"svc.postureRoleAttributes\"\n [availableNamedAttributes]=\"svc.postureNamedAttributes\"\n (selectedNamedAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n (selectedRoleAttributesChange)=\"svc.getAssociatedPostureChecksByAttribute(selectedPostureRoleAttributes, selectedPostureNamedAttributes)\"\n [placeholder]=\"'Select posture check attributes'\"\n ></lib-tag-selector>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Type'\"\n [title2]=\"'Semantic'\"\n [layout]=\"'row'\"\n >\n <select\n [(ngModel)]=\"formData.type\"\n id=\"PolicyType\"\n class=\"form-field-dropdown\"\n >\n <option value=\"Bind\">Bind</option>\n <option value=\"Dial\">Dial</option>\n </select>\n <select\n [(ngModel)]=\"formData.semantic\"\n id=\"PolicySemantic\"\n class=\"form-field-dropdown\"\n >\n <option value=\"AnyOf\">AnyOf</option>\n <option value=\"AllOf\">AllOf</option>\n </select>\n </lib-form-field-container>\n <lib-form-field-toggle [(toggleOn)]=\"showMore\" (toggleOnChange)=\"showMoreChanged($event)\" style=\"margin: 0px 10px\"></lib-form-field-toggle>\n <div [hidden]=\"!showMore\" class=\"form-group-column\">\n <lib-form-field-container\n [title]=\"'Custom Tags'\"\n [label]=\"'OPTIONAL'\"\n class=\"form-field-advanced\"\n *ngIf=\"!hideTags\"\n >\n <lib-custom-tags [(tags)]=\"formData.tags\"></lib-custom-tags>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column two-fifths\">\n <lib-form-field-container\n [title]=\"'Associated Services'\"\n [count]=\"svc.associatedServiceNames.length\"\n [class]=\"'hide-overflow'\"\n [helpText]=\"'Preview list of all services that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"servicesLoading\"\n [allNames]=\"svc.associatedServiceNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Identities'\"\n [count]=\"svc.associatedIdentityNames.length\"\n [helpText]=\"'Preview list of all Identities that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"identitiesLoading\"\n [allNames]=\"svc.associatedIdentityNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'Associated Posture Checks'\"\n [count]=\"svc.associatedPostureCheckNames.length\"\n [helpText]=\"'Preview list of all Posture Checks that this Service Policy is associated with.'\"\n >\n <lib-preview-list\n [clickable]=\"false\"\n [isLoading]=\"postureChecksLoading\"\n [allNames]=\"svc.associatedPostureCheckNames\"\n ></lib-preview-list>\n </lib-form-field-container>\n <lib-form-field-container\n [title]=\"'API Calls'\"\n [headerActions]=\"apiOptions\"\n (actionRequested)=\"apiActionRequested($event)\"\n >\n <div class=\"form-row\">\n <input class=\"form-field-input\" [value]=\"apiCallURL\"/>\n <div class=\"icon-copy copy\" (click)=\"copyToClipboard(apiCallURL)\"></div>\n </div>\n <lib-json-view *ngIf=\"formData\" [(data)]=\"apiData\" [readOnly]=\"true\" [showCopy]=\"true\"></lib-json-view>\n </lib-form-field-container>\n </div>\n </div>\n <div class=\"form-group-column\" *ngIf=\"formView === 'raw'\">\n <lib-json-view *ngIf=\"formData\" [(data)]=\"formData\"></lib-json-view>\n </div>\n </div>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>" }]
|
|
20002
20039
|
}], ctorParameters: function () { return [{ type: SettingsService, decorators: [{
|
|
20003
20040
|
type: Inject,
|
|
20004
20041
|
args: [SETTINGS_SERVICE]
|
|
@@ -22180,12 +22217,33 @@ class JwtSignersPageComponent extends ListPageComponent {
|
|
|
22180
22217
|
const selectedItems = this.rowData.filter((row) => {
|
|
22181
22218
|
return row.selected;
|
|
22182
22219
|
});
|
|
22183
|
-
|
|
22184
|
-
this.openBulkDelete(selectedItems, label);
|
|
22220
|
+
this.checkForAssociatedEntities(selectedItems);
|
|
22185
22221
|
break;
|
|
22186
22222
|
default:
|
|
22187
22223
|
}
|
|
22188
22224
|
}
|
|
22225
|
+
confirmAssociatedDelete(jwtSignersWithAssociations) {
|
|
22226
|
+
const title = jwtSignersWithAssociations.length > 1 ? 'JWT Signers In Use' : 'JWT Signer In Use';
|
|
22227
|
+
const label1 = jwtSignersWithAssociations.length > 1 ? 'The following external JWT signers are still in use by an auth policy and can not be deleted:' : 'The following external JWT signer is still in use by an auth policy and can not be deleted:';
|
|
22228
|
+
const label2 = jwtSignersWithAssociations.length > 1 ? 'To delete these external JWT signers, first remove them from any associated auth policies.' : 'To delete this external JWT signer, first remove it from any associated auth policies.';
|
|
22229
|
+
const names = jwtSignersWithAssociations.map((item) => {
|
|
22230
|
+
return item.name;
|
|
22231
|
+
});
|
|
22232
|
+
const data = {
|
|
22233
|
+
appendId: 'DeleteExtJWTSignersWithAssociations',
|
|
22234
|
+
title: title,
|
|
22235
|
+
message: label1,
|
|
22236
|
+
submessage: label2,
|
|
22237
|
+
bulletList: names,
|
|
22238
|
+
confirmLabel: 'Ok',
|
|
22239
|
+
imageUrl: '../../assets/svgs/Growl_Error.svg',
|
|
22240
|
+
showCancelLink: false
|
|
22241
|
+
};
|
|
22242
|
+
this.dialogRef = this.dialogForm.open(ConfirmComponent, {
|
|
22243
|
+
data: data,
|
|
22244
|
+
autoFocus: false,
|
|
22245
|
+
});
|
|
22246
|
+
}
|
|
22189
22247
|
tableAction(event) {
|
|
22190
22248
|
switch (event?.action) {
|
|
22191
22249
|
case 'toggleAll':
|
|
@@ -22199,12 +22257,35 @@ class JwtSignersPageComponent extends ListPageComponent {
|
|
|
22199
22257
|
this.svc.openEditForm();
|
|
22200
22258
|
break;
|
|
22201
22259
|
case 'delete':
|
|
22202
|
-
|
|
22260
|
+
const selectedItems = [event.item];
|
|
22261
|
+
this.checkForAssociatedEntities(selectedItems);
|
|
22203
22262
|
break;
|
|
22204
22263
|
default:
|
|
22205
22264
|
break;
|
|
22206
22265
|
}
|
|
22207
22266
|
}
|
|
22267
|
+
checkForAssociatedEntities(selectedItems) {
|
|
22268
|
+
this.svc.getTableData('auth-policies', this.svc.DEFAULT_PAGING).then((policies) => {
|
|
22269
|
+
const signersWithAssociations = [];
|
|
22270
|
+
this.selectedItems.forEach((signer) => {
|
|
22271
|
+
policies.data.forEach((policy) => {
|
|
22272
|
+
if (policy.primary.extJwt?.allowedSigners?.includes(signer.id)) {
|
|
22273
|
+
signersWithAssociations.push(signer);
|
|
22274
|
+
}
|
|
22275
|
+
else if (policy.secondary.requireExtJwtSigner === signer.id) {
|
|
22276
|
+
signersWithAssociations.push(signer);
|
|
22277
|
+
}
|
|
22278
|
+
});
|
|
22279
|
+
});
|
|
22280
|
+
if (signersWithAssociations.length > 0) {
|
|
22281
|
+
this.confirmAssociatedDelete(signersWithAssociations);
|
|
22282
|
+
}
|
|
22283
|
+
else {
|
|
22284
|
+
const label = selectedItems.length > 1 ? 'external JWT signer' : 'external JWT signers';
|
|
22285
|
+
this.openBulkDelete(selectedItems, label);
|
|
22286
|
+
}
|
|
22287
|
+
});
|
|
22288
|
+
}
|
|
22208
22289
|
deleteItem(item) {
|
|
22209
22290
|
this.openBulkDelete([item], 'jwt-signer');
|
|
22210
22291
|
}
|
|
@@ -26291,7 +26372,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
26291
26372
|
}] });
|
|
26292
26373
|
|
|
26293
26374
|
const VERSION = {
|
|
26294
|
-
"version": "3.
|
|
26375
|
+
"version": "3.11.0"
|
|
26295
26376
|
};
|
|
26296
26377
|
|
|
26297
26378
|
/*
|
|
@@ -27504,6 +27585,26 @@ class NodeDataService extends ZitiDataService {
|
|
|
27504
27585
|
return results;
|
|
27505
27586
|
})));
|
|
27506
27587
|
}
|
|
27588
|
+
resetMFA(id) {
|
|
27589
|
+
const nodeServerURL = window.location.origin;
|
|
27590
|
+
const serviceUrl = nodeServerURL + '/api/mfa';
|
|
27591
|
+
const options = {
|
|
27592
|
+
body: {
|
|
27593
|
+
id: id
|
|
27594
|
+
}
|
|
27595
|
+
};
|
|
27596
|
+
return firstValueFrom(this.httpClient.delete(serviceUrl, options).pipe(catchError((err) => {
|
|
27597
|
+
const error = "Server Not Accessible";
|
|
27598
|
+
if (err.code != "ECONNREFUSED")
|
|
27599
|
+
throw ({ error: err.code });
|
|
27600
|
+
throw ({ error: error });
|
|
27601
|
+
}), map((results) => {
|
|
27602
|
+
if (!isEmpty(results.error)) {
|
|
27603
|
+
throw ({ error: results.error });
|
|
27604
|
+
}
|
|
27605
|
+
return results;
|
|
27606
|
+
})));
|
|
27607
|
+
}
|
|
27507
27608
|
deleteSubdata(entityType, id, dataType, data) {
|
|
27508
27609
|
const nodeServerURL = window.location.origin;
|
|
27509
27610
|
const serviceUrl = nodeServerURL + '/api/subSave';
|
|
@@ -27814,6 +27915,17 @@ class ZitiControllerDataService extends ZitiDataService {
|
|
|
27814
27915
|
throw ({ error: error });
|
|
27815
27916
|
})));
|
|
27816
27917
|
}
|
|
27918
|
+
resetMFA(id) {
|
|
27919
|
+
const apiVersions = this.settingsService.apiVersions || {};
|
|
27920
|
+
const prefix = apiVersions["edge-management"]?.v1?.path || '/edge/management/v1';
|
|
27921
|
+
const url = this.settingsService.settings.selectedEdgeController + `${prefix}/identities/${id}/mfa`;
|
|
27922
|
+
return firstValueFrom(this.httpClient.delete(url).pipe(catchError((err) => {
|
|
27923
|
+
const error = "Server Not Accessible";
|
|
27924
|
+
if (err.code != "ECONNREFUSED")
|
|
27925
|
+
throw ({ error: err.code });
|
|
27926
|
+
throw ({ error: error });
|
|
27927
|
+
})));
|
|
27928
|
+
}
|
|
27817
27929
|
delete(type, id) {
|
|
27818
27930
|
const apiVersions = this.settingsService.apiVersions || {};
|
|
27819
27931
|
const prefix = apiVersions["edge-management"]?.v1?.path;
|