bpm-core 0.0.97 → 0.0.99
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/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +7 -5
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +5 -5
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +8 -9
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/lib/directives/currency.directive.mjs +4 -2
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +3 -3
- package/fesm2022/bpm-core.mjs +48 -45
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +2 -2
- package/lib/components/shared-components/form-field/shared-imports.d.ts +2 -2
- package/package.json +1 -1
|
@@ -141,7 +141,7 @@ export class SearchEmployeeComponent extends ControlValueAccessorDirective {
|
|
|
141
141
|
useExisting: forwardRef(() => SearchEmployeeComponent),
|
|
142
142
|
multi: true,
|
|
143
143
|
},
|
|
144
|
-
], usesInheritance: true, ngImport: i0, template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"!required\"\r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [floatLabel]=\"floatLabel\"\r\n [ngClass]=\"{\r\n 'custom-validation': !control.errors\r\n }\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"Number\"\r\n (input)=\"onLoadOptions($event)\"\r\n matInput\r\n [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\"\r\n [formControl]=\"employeeSearchControl\"\r\n />\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"dropdown-img\">\r\n <ds-avatar\r\n [image]=\"getImage(option?.email)\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n size=\"small\"\r\n >\r\n </ds-avatar>\r\n </div>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-14 fw-medium fc-onyx mb-0 line-height-1\">\r\n {{ option?.name }}\r\n </h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{\r\n option?.description\r\n }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n\r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n\r\n <!-- <app-validation-errors [errors]=\"customErrorMessage || employeeSearchControl.errors\" [isEmployeeSearchControl]=\"multiple? true: false\"></app-validation-errors> -->\r\n @if(control.invalid && employeeSearchControl.touched){\r\n <mat-error class=\"mb-2\">\r\n this filed is required\r\n </mat-error>\r\n }\r\n\r\n\r\n\r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ \"userAlreadyExist\" | translate }}</mat-error>\r\n } @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{ 'mt-0': $index === 0 }\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <ds-avatar\r\n [image]=\"getImage(emails?.['personEmail'])\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar prof-img\"\r\n >\r\n </ds-avatar>\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button\r\n class=\"ds-btn-action\"\r\n size=\"small\"\r\n (click)=\"deleteRow($index, emails)\"\r\n icon\r\n >\r\n <ds-icon icon=\"trash\" class=\"fc-coral fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n} @if (isReadOnly && control.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item\"\r\n type=\"user-picker\"\r\n [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\"\r\n [ngClass]=\"{ 'user-picker': !isReadOnly }\"\r\n [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\"\r\n [name]=\"control.value['personName']\"\r\n [value]=\"control.value['personEmail']\"\r\n [arrayList]=\"arrayList\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ \"searchEmployeeTooltip_1\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_2\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_3\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_4\" | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}.dropdown-img{width:30px;height:30px;border-radius:50%;border:2px solid #fff}.dropdown-img .avatar--medium{--default-size: 30px}:host ::ng-deep .avatar{border:0 none!important}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i4.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: i5.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i6.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i3.ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
144
|
+
], usesInheritance: true, ngImport: i0, template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"required || mandatory ? false : true\"\r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [floatLabel]=\"floatLabel\"\r\n [ngClass]=\"{\r\n 'custom-validation': !control.errors\r\n }\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"Number\"\r\n (input)=\"onLoadOptions($event)\"\r\n matInput\r\n [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\"\r\n [formControl]=\"employeeSearchControl\"\r\n />\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"dropdown-img\">\r\n <ds-avatar\r\n [image]=\"getImage(option?.email)\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n size=\"small\"\r\n >\r\n </ds-avatar>\r\n </div>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-14 fw-medium fc-onyx mb-0 line-height-1\">\r\n {{ option?.name }}\r\n </h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{\r\n option?.description\r\n }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n\r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n\r\n <!-- <app-validation-errors [errors]=\"customErrorMessage || employeeSearchControl.errors\" [isEmployeeSearchControl]=\"multiple? true: false\"></app-validation-errors> -->\r\n @if(control.invalid && employeeSearchControl.touched){\r\n <mat-error class=\"mb-2\">\r\n this filed is required\r\n </mat-error>\r\n }\r\n\r\n\r\n\r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ \"userAlreadyExist\" | translate }}</mat-error>\r\n } @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{ 'mt-0': $index === 0 }\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <ds-avatar\r\n [image]=\"getImage(emails?.['personEmail'])\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar prof-img\"\r\n >\r\n </ds-avatar>\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button\r\n class=\"ds-btn-action\"\r\n size=\"small\"\r\n (click)=\"deleteRow($index, emails)\"\r\n icon\r\n >\r\n <ds-icon icon=\"trash\" class=\"fc-coral fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n} @if (isReadOnly && control.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item\"\r\n type=\"user-picker\"\r\n [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\"\r\n [ngClass]=\"{ 'user-picker': !isReadOnly }\"\r\n [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\"\r\n [name]=\"control.value['personName']\"\r\n [value]=\"control.value['personEmail']\"\r\n [arrayList]=\"arrayList\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ \"searchEmployeeTooltip_1\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_2\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_3\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_4\" | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}.dropdown-img{width:30px;height:30px;border-radius:50%;border:2px solid #fff}.dropdown-img .avatar--medium{--default-size: 30px}:host ::ng-deep .avatar{border:0 none!important}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i4.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "component", type: i5.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i6.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i3.ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
|
|
145
145
|
}
|
|
146
146
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SearchEmployeeComponent, decorators: [{
|
|
147
147
|
type: Component,
|
|
@@ -159,7 +159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
159
159
|
useExisting: forwardRef(() => SearchEmployeeComponent),
|
|
160
160
|
multi: true,
|
|
161
161
|
},
|
|
162
|
-
], template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"
|
|
162
|
+
], template: "@if (!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"required || mandatory ? false : true\"\r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [floatLabel]=\"floatLabel\"\r\n [ngClass]=\"{\r\n 'custom-validation': !control.errors\r\n }\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <ds-icon icon=\"search\" class=\"fc-coral fs-18\"></ds-icon>\r\n <label class=\"mat-form-content\">\r\n <input\r\n type=\"text\"\r\n aria-label=\"Number\"\r\n (input)=\"onLoadOptions($event)\"\r\n matInput\r\n [disabled]=\"isDisabled\"\r\n [matAutocomplete]=\"auto\"\r\n [formControl]=\"employeeSearchControl\"\r\n />\r\n </label>\r\n @if (loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n }\r\n <mat-autocomplete #auto=\"matAutocomplete\">\r\n @for (option of data; track option) {\r\n <mat-option\r\n [value]=\"option?.['personName']\"\r\n (onSelectionChange)=\"selectOption(option, $event)\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div class=\"dropdown-img\">\r\n <ds-avatar\r\n [image]=\"getImage(option?.email)\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar\"\r\n size=\"small\"\r\n >\r\n </ds-avatar>\r\n </div>\r\n <div class=\"line-height-1\">\r\n <h6 class=\"fs-14 fw-medium fc-onyx mb-0 line-height-1\">\r\n {{ option?.name }}\r\n </h6>\r\n <span class=\"fs-13 fw-normal fc-dark-gray\">{{\r\n option?.description\r\n }}</span>\r\n </div>\r\n </div>\r\n </mat-option>\r\n\r\n }\r\n </mat-autocomplete>\r\n @if (showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n\r\n <!-- <app-validation-errors [errors]=\"customErrorMessage || employeeSearchControl.errors\" [isEmployeeSearchControl]=\"multiple? true: false\"></app-validation-errors> -->\r\n @if(control.invalid && employeeSearchControl.touched){\r\n <mat-error class=\"mb-2\">\r\n this filed is required\r\n </mat-error>\r\n }\r\n\r\n\r\n\r\n @if (userAlreadyExist) {\r\n <mat-error class=\"mb-2\">{{ \"userAlreadyExist\" | translate }}</mat-error>\r\n } @if (arrayList?.length && !isReadOnly && multiple) {\r\n <div class=\"col-12 mt-2\">\r\n <div class=\"example-list n-results\">\r\n @for (emails of arrayList; track $index) {\r\n <div class=\"example-box n-col px-3\" [ngClass]=\"{ 'mt-0': $index === 0 }\">\r\n <div class=\"d-flex flex-grow-1 w-100\">\r\n <div class=\"user-info flex-grow-1\">\r\n <ds-avatar\r\n [image]=\"getImage(emails?.['personEmail'])\"\r\n onerror=\"this.onerror=null;this.src='assets/images/user.svg';\"\r\n slot=\"prefix\"\r\n class=\"avatar prof-img\"\r\n >\r\n </ds-avatar>\r\n @if (emails?.['personName']) {\r\n <label>\r\n {{ emails?.['personName'] }}\r\n <span class=\"title\">{{ emails?.['personEmail'] }}</span>\r\n </label>\r\n }\r\n </div>\r\n @if (!isReadOnly) {\r\n <ds-button\r\n class=\"ds-btn-action\"\r\n size=\"small\"\r\n (click)=\"deleteRow($index, emails)\"\r\n icon\r\n >\r\n <ds-icon icon=\"trash\" class=\"fc-coral fs-20\"></ds-icon>\r\n </ds-button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n</ng-container>\r\n} @if (isReadOnly && control.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item\"\r\n type=\"user-picker\"\r\n [hasLabel]=\"!!label\"\r\n [multiple]=\"multiple\"\r\n [ngClass]=\"{ 'user-picker': !isReadOnly }\"\r\n [actionType]=\"!isReadOnly ? 'delete' : 'edit'\"\r\n [label]=\"label\"\r\n [name]=\"control.value['personName']\"\r\n [value]=\"control.value['personEmail']\"\r\n [arrayList]=\"arrayList\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n\r\n<sat-popover #searchEmpPopover [hasBackdrop]=\"true\" verticalAlign=\"below\">\r\n <div class=\"default-popover p-3\">\r\n <ol class=\"px-3 m-0\">\r\n <li>{{ \"searchEmployeeTooltip_1\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_2\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_3\" | translate }}</li>\r\n <li>{{ \"searchEmployeeTooltip_4\" | translate }}</li>\r\n </ol>\r\n </div>\r\n</sat-popover>\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}.agenda-list.inside .mat-list-item{display:flex;align-items:center;padding:0 1rem;background-color:#fff;border:1px solid silver;height:88px!important}.agenda-list.inside .mat-list-item:before{position:relative;left:auto;right:auto}.agenda-list .mat-list-item{height:66px!important;background-color:#d3d3d3;margin-bottom:1.5rem;cursor:move}.agenda-list .mat-list-item:hover:before{opacity:1}.agenda-list .mat-list-item:before{content:\"\\e928\";font-family:stc-font-icons;left:-1.5rem;color:#a9a9a9;position:absolute;font-size:1.5rem;opacity:0;transition:all .3s linear}[dir=rtl] .agenda-list .mat-list-item:before{left:auto;right:-1.5rem}.agenda-list .mat-list-item:last-child{margin-bottom:0}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:0;overflow:hidden}.example-box{color:#000000de;display:flex;box-sizing:border-box;cursor:move;font-size:14px;position:relative;background-color:#f3f3f1;padding:18px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.example-box .user-info{display:flex;align-items:center}.example-box .user-info .drag-icon{position:absolute;left:18px;cursor:move}html[dir=rtl] .example-box .user-info .drag-icon{left:auto;right:18px}.example-box .user-info .prof-img{width:40px;height:40px;border-radius:50%;border:2px solid #fff;margin-inline-end:10px}.example-box .user-info label{font-size:13px;font-weight:500;color:#1d242d;flex-grow:1}.example-box .user-info label .title{display:block;color:#ff375e;font-size:9px}.example-box .user-info-reviewer{display:flex;gap:.5rem;width:calc(100% + 68px);padding:10px 15px;margin:10px 0 -18px -50px;background-color:#dde0e1}[dir=rtl] .example-box .user-info-reviewer{margin:10px -50px -18px 0}.example-box .user-info-reviewer .drag-icon{position:absolute;transform:translateY(-50%);cursor:move}.example-box .user-info-reviewer .reviewer-info{display:flex}.example-box .user-info-reviewer .reviewer-info .prof-img{width:20px;height:20px;border-radius:50%;border:1px solid #fff;margin:0 5px}.example-box .user-info-reviewer .reviewer-info label{font-size:11px;font-weight:500;color:#000;width:100px;margin-top:1px}.example-box .user-info-reviewer .reviewer-info label .title{display:block;color:#ff375e;font-size:11px}.example-box .user-info-reviewer span{color:#a54ee1;font-size:11px;padding:0;margin-bottom:0;display:block;text-align:start}.example-box .icon{width:30px;height:30px;background-color:#ff375e33;text-align:center;line-height:26px;cursor:pointer;flex-shrink:0}.cdk-drag-preview{box-sizing:border-box;border-radius:0;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;overflow:hidden}.cdk-drag-preview .icon{display:none}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.n-content{max-width:700px;width:100%}.n-results{width:100%;border:0;counter-reset:section}.n-results .n-col{position:relative;background-color:#f3f3f1;padding:10px;justify-content:space-between;align-items:flex-start;margin-top:10px;padding-inline-start:50px;border:0;flex-direction:column;width:100%}.n-results .n-col:last-child{margin-bottom:30px}.n-results .n-col:after,.n-results .n-col:before{display:none}@media (max-width: 991px){.example-box .user-info:before{margin-inline-end:10px;flex-shrink:0}}@media (max-width: 767px){.n-col{padding-inline-start:40px}.n-col .user-info-reviewer span{margin-bottom:0}}@media (max-width: 321px){.n-results .n-col{flex-wrap:wrap;justify-content:center}.n-results .n-col .user-info{justify-content:center}.n-results .n-col .user-info:before{position:absolute;top:15px;left:15px}.n-results .n-col .user-info .prof-img{margin:0 10px 10px}.n-results .n-col .user-info label{width:100%;text-align:center}.n-results .n-col .icon{width:100%}}::ng-deep .default-popover{max-width:320px;right:-2.5rem!important}[dir=rtl] ::ng-deep .default-popover{left:-2.5rem!important;right:auto}.dropdown-img{width:30px;height:30px;border-radius:50%;border:2px solid #fff}.dropdown-img .avatar--medium{--default-size: 30px}:host ::ng-deep .avatar{border:0 none!important}\n"] }]
|
|
163
163
|
}], propDecorators: { valueName: [{
|
|
164
164
|
type: Input
|
|
165
165
|
}], className: [{
|
|
@@ -189,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
189
189
|
}], emitedDeletedValue: [{
|
|
190
190
|
type: Output
|
|
191
191
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL3NlYXJjaC1lbXBsb3llZS9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvc2VhcmNoLWVtcGxveWVlL3NlYXJjaC1lbXBsb3llZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7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MUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzVDSCw2bEtBd0pBLDIySUQxSEksWUFBWSw0TEFDWixRQUFRLGlVQUNSLE9BQU8sbUZBQ1AscUJBQXFCLHcxQkFDckIsV0FBVyxzWkFDWCxnQkFBZ0I7OzJGQVdQLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0UscUJBQXFCLFdBR3RCLENBQUMsc0JBQXNCLENBQUMsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixPQUFPO3dCQUNQLHFCQUFxQjt3QkFDckIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLEdBQUcsT0FBTztxQkFDWCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3Jtc01vZHVsZSxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRGVzdHJveVJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgU2F0UG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BuY3N0YXRlL3NhdC1wb3BvdmVyJztcclxuaW1wb3J0IHsgU2hhcmVkcyB9IGZyb20gJy4uL3NoYXJlZC1pbXBvcnRzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoLWVtcGxveWVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICAuLi5TaGFyZWRzLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQ8XHJcbiAgVHlwZVxyXG4+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIHZhbHVlTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIG9wdGlvbmFsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGF0YSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBlcnJvciE6IHN0cmluZztcclxuICBzZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEVtcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG93RWRpdCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBlZGl0RGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlRGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhcnJheUxpc3Q6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgaXNVbmlxdWVVc2VycyA9IGZhbHNlO1xyXG4gIHVzZXJBbHJlYWR5RXhpc3QgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZW1pdGVkRGVsZXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gXHJcblxyXG4gIGRlbGV0ZVJvdyhpbmQ6IG51bWJlciwgcm93RGF0YSkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5hcnJheUxpc3QgPSB0aGlzLmFycmF5TGlzdD8uZmlsdGVyKChpdGVtOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9IGluZDtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICByb3dEYXRhOiByb3dEYXRhLFxyXG4gICAgICAgIGFycmF5TGlzdDogdGhpcy5hcnJheUxpc3QsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuZW1pdGVkRGVsZXRlZFZhbHVlLmVtaXQob2JqKTtcclxuICAgIH1cclxuICAgIGlmKCF0aGlzLmFycmF5TGlzdD8ubGVuZ3RoICYmIHRoaXMubXVsdGlwbGUpe1xyXG4gICAgICB0aGlzLmVtcGxveWVlU2VhcmNoQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuVmFsaWRhdG9yc1sncmVxdWlyZWQnXSlcclxuICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKVxyXG4gICAgfSBcclxuICB9XHJcblxyXG4gIG9uTG9hZE9wdGlvbnMoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIGlmIChpbnB1dC5sZW5ndGggPj0gMykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2VcclxuICAgICAgICAuc2VhcmNoRW1wbG95ZWUoaW5wdXQpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZm9ybTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBmb3JtLlVzZXJzO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7fSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoaW5wdXQubGVuZ3RoID09IDApIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbmNsdWRlRGF0YShvcHRpb246IGFueSwgZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb24/LmVtYWlsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpIHx8XHJcbiAgICAgIG9wdGlvbj8ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZShpZDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgaWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb24ob2JqZWN0OiBhbnksIGV2OiBhbnkpIHtcclxuICAgIHRoaXMudXNlckFscmVhZHlFeGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFycmF5TGlzdD8uc29tZSgoaXRlbSkgPT4gaXRlbT8ucGVyc29uRW1haWwgPT09IG9iamVjdD8uZW1haWwpKSB7XHJcbiAgICAgICAgdGhpcy51c2VyQWxyZWFkeUV4aXN0ID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICBwZXJzb25OYW1lOiBvYmplY3QubmFtZSxcclxuICAgICAgICBwZXJzb25FbWFpbDogb2JqZWN0LmVtYWlsLFxyXG4gICAgICAgIC8vIGpvYjogb2JqZWN0LmpvYi5uYW1lLFxyXG4gICAgICAgIC8vIGpvYkNvZGU6IG9iamVjdC5qb2IuY29kZSxcclxuICAgICAgICAvLyBtYW5hZ2VyOiBvYmplY3QubWFuYWdlcixcclxuICAgICAgICAvLyBkZXBhcnRtZW50OiBvYmplY3QuZGVwYXJ0bWVudCxcclxuICAgICAgICAvLyBnZW5lcmFsRGVwYXJ0bWVudDogb2JqZWN0LmdlbmVyYWxEZXBhcnRtZW50LFxyXG4gICAgICAgIC8vIHNlY3Rvcjogb2JqZWN0LnNlY3RvcixcclxuICAgICAgICAvLyBzZWN0aW9uOiBvYmplY3Quc2VjdGlvbixcclxuICAgICAgICAvLyBzZW5pb3JTZWN0b3JOYW1lOiBvYmplY3Quc2VuaW9yU2VjdG9yTmFtZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hcnJheUxpc3Q/LnB1c2gob2JqKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuYXJyYXlMaXN0KTtcclxuICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgY29udHJvbFZhbHVlID0ge1xyXG4gICAgICAgIHBlcnNvbk5hbWU6IG9iamVjdC5uYW1lLFxyXG4gICAgICAgIHBlcnNvbkVtYWlsOiBvYmplY3QuZW1haWwsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWUpO1xyXG4gICAgICB0aGlzLmVtcGxveWVlU2VhcmNoQ29udHJvbC5zZXRWYWx1ZShvYmplY3QubmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHNlYXJjaEVtcCB7XHJcbiAgcGVyc29uTmFtZT86IHN0cmluZztcclxuICBwZXJzb25FbWFpbD86IHN0cmluZztcclxuICBjb250YWN0Pzogc3RyaW5nO1xyXG4gIGVtcGxveWVlTnVtYmVyPzogc3RyaW5nO1xyXG59XHJcbiIsIkBpZiAoIWlzUmVhZE9ubHkpIHtcclxuPG5nLWNvbnRhaW5lcj5cclxuICBAaWYobGFiZWwpIHtcclxuICA8YXBwLWZvcm0tbGFiZWxcclxuICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICBbb3B0aW9uYWxdPVwiIXJlcXVpcmVkXCJcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gID48L2FwcC1mb3JtLWxhYmVsPlxyXG4gIH1cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICdjdXN0b20tdmFsaWRhdGlvbic6ICFjb250cm9sLmVycm9yc1xyXG4gICB9XCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8ZHMtaWNvbiBpY29uPVwic2VhcmNoXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0xOFwiPjwvZHMtaWNvbj5cclxuICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgIChpbnB1dCk9XCJvbkxvYWRPcHRpb25zKCRldmVudClcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImVtcGxveWVlU2VhcmNoQ29udHJvbFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsXCIgbWF0U3VmZml4Pjwvc3Bhbj5cclxuICAgIH1cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBkYXRhOyB0cmFjayBvcHRpb24pIHtcclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uPy5bJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0T3B0aW9uKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWltZ1wiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgICAgIFtpbWFnZV09XCJnZXRJbWFnZShvcHRpb24/LmVtYWlsKVwiXHJcbiAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlci5zdmcnO1wiXHJcbiAgICAgICAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZmMtb255eCBtYi0wIGxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbj8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMyBmdy1ub3JtYWwgZmMtZGFyay1ncmF5XCI+e3tcclxuICAgICAgICAgICAgICAgIG9wdGlvbj8uZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcblxyXG4gICAgICB9XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICBAaWYgKHNob3dIaW50KSB7XHJcbiAgICA8bWF0LWhpbnQ+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZmMtb2FzaXMtbGlnaHQtaW1wJzogdmFsdWUgfVwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3sgaGludCB9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG4gICAgICA8IS0tIDxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjdXN0b21FcnJvck1lc3NhZ2UgfHwgZW1wbG95ZWVTZWFyY2hDb250cm9sLmVycm9yc1wiIFtpc0VtcGxveWVlU2VhcmNoQ29udHJvbF09XCJtdWx0aXBsZT8gdHJ1ZTogZmFsc2VcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz4gLS0+XHJcbiAgICAgICBAaWYoY29udHJvbC5pbnZhbGlkICYmIGVtcGxveWVlU2VhcmNoQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgdGhpcyBmaWxlZCBpcyByZXF1aXJlZFxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgfVxyXG5cclxuXHJcblxyXG4gIEBpZiAodXNlckFscmVhZHlFeGlzdCkge1xyXG4gIDxtYXQtZXJyb3IgY2xhc3M9XCJtYi0yXCI+e3sgXCJ1c2VyQWxyZWFkeUV4aXN0XCIgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cclxuICB9IEBpZiAoYXJyYXlMaXN0Py5sZW5ndGggJiYgIWlzUmVhZE9ubHkgJiYgbXVsdGlwbGUpIHtcclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG10LTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3Qgbi1yZXN1bHRzXCI+XHJcbiAgICAgIEBmb3IgKGVtYWlscyBvZiBhcnJheUxpc3Q7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1ib3ggbi1jb2wgcHgtM1wiIFtuZ0NsYXNzXT1cInsgJ210LTAnOiAkaW5kZXggPT09IDAgfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1ncm93LTEgdy0xMDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgPGRzLWF2YXRhclxyXG4gICAgICAgICAgICAgIFtpbWFnZV09XCJnZXRJbWFnZShlbWFpbHM/LlsncGVyc29uRW1haWwnXSlcIlxyXG4gICAgICAgICAgICAgIG9uZXJyb3I9XCJ0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz0nYXNzZXRzL2ltYWdlcy91c2VyLnN2Zyc7XCJcclxuICAgICAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhciBwcm9mLWltZ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgIEBpZiAoZW1haWxzPy5bJ3BlcnNvbk5hbWUnXSkge1xyXG4gICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAge3sgZW1haWxzPy5bJ3BlcnNvbk5hbWUnXSB9fVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyBlbWFpbHM/LlsncGVyc29uRW1haWwnXSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBAaWYgKCFpc1JlYWRPbmx5KSB7XHJcbiAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZHMtYnRuLWFjdGlvblwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSb3coJGluZGV4LCBlbWFpbHMpXCJcclxuICAgICAgICAgICAgaWNvblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwidHJhc2hcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvbmctY29udGFpbmVyPlxyXG59IEBpZiAoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKSB7XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGFwcC1pbmZvLWl0ZW1cclxuICAgIGNsYXNzPVwiaW5mby1pdGVtXCJcclxuICAgIHR5cGU9XCJ1c2VyLXBpY2tlclwiXHJcbiAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAndXNlci1waWNrZXInOiAhaXNSZWFkT25seSB9XCJcclxuICAgIFthY3Rpb25UeXBlXT1cIiFpc1JlYWRPbmx5ID8gJ2RlbGV0ZScgOiAnZWRpdCdcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtuYW1lXT1cImNvbnRyb2wudmFsdWVbJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVsncGVyc29uRW1haWwnXVwiXHJcbiAgICBbYXJyYXlMaXN0XT1cImFycmF5TGlzdFwiXHJcbiAgPlxyXG4gIDwvYXBwLWluZm8taXRlbT5cclxuPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxzYXQtcG9wb3ZlciAjc2VhcmNoRW1wUG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCI+XHJcbiAgICA8b2wgY2xhc3M9XCJweC0zIG0tMFwiPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfMVwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgICAgPGxpPnt7IFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzJcIiB8IHRyYW5zbGF0ZSB9fTwvbGk+XHJcbiAgICAgIDxsaT57eyBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8zXCIgfCB0cmFuc2xhdGUgfX08L2xpPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfNFwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgIDwvb2w+XHJcbiAgPC9kaXY+XHJcbjwvc2F0LXBvcG92ZXI+XHJcbiJdfQ==
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL3NlYXJjaC1lbXBsb3llZS9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvc2VhcmNoLWVtcGxveWVlL3NlYXJjaC1lbXBsb3llZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7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MUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQzVDSCx3bktBd0pBLDIySUQxSEksWUFBWSw0TEFDWixRQUFRLGlVQUNSLE9BQU8sbUZBQ1AscUJBQXFCLHcxQkFDckIsV0FBVyxzWkFDWCxnQkFBZ0I7OzJGQVdQLHVCQUF1QjtrQkF2Qm5DLFNBQVM7K0JBQ0UscUJBQXFCLFdBR3RCLENBQUMsc0JBQXNCLENBQUMsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osUUFBUTt3QkFDUixPQUFPO3dCQUNQLHFCQUFxQjt3QkFDckIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLEdBQUcsT0FBTztxQkFDWCxhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFLUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3Jtc01vZHVsZSxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRGVzdHJveVJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgU2F0UG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BuY3N0YXRlL3NhdC1wb3BvdmVyJztcclxuaW1wb3J0IHsgU2hhcmVkcyB9IGZyb20gJy4uL3NoYXJlZC1pbXBvcnRzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoLWVtcGxveWVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWVtcGxveWVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRJbnB1dCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNhdFBvcG92ZXJNb2R1bGUsXHJcbiAgICAuLi5TaGFyZWRzLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQ8XHJcbiAgVHlwZVxyXG4+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIHZhbHVlTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc05hbWUgPSAnYm9yZGVyZWQtaW5wdXQnO1xyXG4gIEBJbnB1dCgpIG9wdGlvbmFsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGF0YSE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuICBASW5wdXQoKSBlcnJvciE6IHN0cmluZztcclxuICBzZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEVtcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb25JbnB1dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBzaG93RWRpdCA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBlZGl0RGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlRGlyZWN0TWFuZ2VyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBhcnJheUxpc3Q6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgaXNVbmlxdWVVc2VycyA9IGZhbHNlO1xyXG4gIHVzZXJBbHJlYWR5RXhpc3QgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZW1pdGVkRGVsZXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gXHJcblxyXG4gIGRlbGV0ZVJvdyhpbmQ6IG51bWJlciwgcm93RGF0YSkge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5hcnJheUxpc3QgPSB0aGlzLmFycmF5TGlzdD8uZmlsdGVyKChpdGVtOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9IGluZDtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICByb3dEYXRhOiByb3dEYXRhLFxyXG4gICAgICAgIGFycmF5TGlzdDogdGhpcy5hcnJheUxpc3QsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuZW1pdGVkRGVsZXRlZFZhbHVlLmVtaXQob2JqKTtcclxuICAgIH1cclxuICAgIGlmKCF0aGlzLmFycmF5TGlzdD8ubGVuZ3RoICYmIHRoaXMubXVsdGlwbGUpe1xyXG4gICAgICB0aGlzLmVtcGxveWVlU2VhcmNoQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMuVmFsaWRhdG9yc1sncmVxdWlyZWQnXSlcclxuICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKVxyXG4gICAgfSBcclxuICB9XHJcblxyXG4gIG9uTG9hZE9wdGlvbnMoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIGlmIChpbnB1dC5sZW5ndGggPj0gMykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2VcclxuICAgICAgICAuc2VhcmNoRW1wbG95ZWUoaW5wdXQpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAoZm9ybTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBmb3JtLlVzZXJzO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7fSxcclxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoaW5wdXQubGVuZ3RoID09IDApIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbmNsdWRlRGF0YShvcHRpb246IGFueSwgZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKFxyXG4gICAgICBvcHRpb24/LmVtYWlsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpIHx8XHJcbiAgICAgIG9wdGlvbj8ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb247XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJbWFnZShpZDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgaWQ7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RPcHRpb24ob2JqZWN0OiBhbnksIGV2OiBhbnkpIHtcclxuICAgIHRoaXMudXNlckFscmVhZHlFeGlzdCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmRhdGEgPSBbXTtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmFycmF5TGlzdD8uc29tZSgoaXRlbSkgPT4gaXRlbT8ucGVyc29uRW1haWwgPT09IG9iamVjdD8uZW1haWwpKSB7XHJcbiAgICAgICAgdGhpcy51c2VyQWxyZWFkeUV4aXN0ID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG9iaiA9IHtcclxuICAgICAgICBwZXJzb25OYW1lOiBvYmplY3QubmFtZSxcclxuICAgICAgICBwZXJzb25FbWFpbDogb2JqZWN0LmVtYWlsLFxyXG4gICAgICAgIC8vIGpvYjogb2JqZWN0LmpvYi5uYW1lLFxyXG4gICAgICAgIC8vIGpvYkNvZGU6IG9iamVjdC5qb2IuY29kZSxcclxuICAgICAgICAvLyBtYW5hZ2VyOiBvYmplY3QubWFuYWdlcixcclxuICAgICAgICAvLyBkZXBhcnRtZW50OiBvYmplY3QuZGVwYXJ0bWVudCxcclxuICAgICAgICAvLyBnZW5lcmFsRGVwYXJ0bWVudDogb2JqZWN0LmdlbmVyYWxEZXBhcnRtZW50LFxyXG4gICAgICAgIC8vIHNlY3Rvcjogb2JqZWN0LnNlY3RvcixcclxuICAgICAgICAvLyBzZWN0aW9uOiBvYmplY3Quc2VjdGlvbixcclxuICAgICAgICAvLyBzZW5pb3JTZWN0b3JOYW1lOiBvYmplY3Quc2VuaW9yU2VjdG9yTmFtZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5hcnJheUxpc3Q/LnB1c2gob2JqKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuYXJyYXlMaXN0KTtcclxuICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgY29udHJvbFZhbHVlID0ge1xyXG4gICAgICAgIHBlcnNvbk5hbWU6IG9iamVjdC5uYW1lLFxyXG4gICAgICAgIHBlcnNvbkVtYWlsOiBvYmplY3QuZW1haWwsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShjb250cm9sVmFsdWUpO1xyXG4gICAgICB0aGlzLmVtcGxveWVlU2VhcmNoQ29udHJvbC5zZXRWYWx1ZShvYmplY3QubmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHNlYXJjaEVtcCB7XHJcbiAgcGVyc29uTmFtZT86IHN0cmluZztcclxuICBwZXJzb25FbWFpbD86IHN0cmluZztcclxuICBjb250YWN0Pzogc3RyaW5nO1xyXG4gIGVtcGxveWVlTnVtYmVyPzogc3RyaW5nO1xyXG59XHJcbiIsIkBpZiAoIWlzUmVhZE9ubHkpIHtcclxuPG5nLWNvbnRhaW5lcj5cclxuICBAaWYobGFiZWwpIHtcclxuICA8YXBwLWZvcm0tbGFiZWxcclxuICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICBbb3B0aW9uYWxdPVwicmVxdWlyZWQgfHwgbWFuZGF0b3J5ID8gZmFsc2UgOiB0cnVlXCJcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gID48L2FwcC1mb3JtLWxhYmVsPlxyXG4gIH1cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICdjdXN0b20tdmFsaWRhdGlvbic6ICFjb250cm9sLmVycm9yc1xyXG4gICB9XCJcclxuICA+XHJcbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XHJcbiAgICA8ZHMtaWNvbiBpY29uPVwic2VhcmNoXCIgY2xhc3M9XCJmYy1jb3JhbCBmcy0xOFwiPjwvZHMtaWNvbj5cclxuICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgIChpbnB1dCk9XCJvbkxvYWRPcHRpb25zKCRldmVudClcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImVtcGxveWVlU2VhcmNoQ29udHJvbFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsXCIgbWF0U3VmZml4Pjwvc3Bhbj5cclxuICAgIH1cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgIEBmb3IgKG9wdGlvbiBvZiBkYXRhOyB0cmFjayBvcHRpb24pIHtcclxuICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uPy5bJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0T3B0aW9uKG9wdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWltZ1wiPlxyXG4gICAgICAgICAgICAgIDxkcy1hdmF0YXJcclxuICAgICAgICAgICAgICAgIFtpbWFnZV09XCJnZXRJbWFnZShvcHRpb24/LmVtYWlsKVwiXHJcbiAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5vbmVycm9yPW51bGw7dGhpcy5zcmM9J2Fzc2V0cy9pbWFnZXMvdXNlci5zdmcnO1wiXHJcbiAgICAgICAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvZHMtYXZhdGFyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJmcy0xNCBmdy1tZWRpdW0gZmMtb255eCBtYi0wIGxpbmUtaGVpZ2h0LTFcIj5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbj8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMyBmdy1ub3JtYWwgZmMtZGFyay1ncmF5XCI+e3tcclxuICAgICAgICAgICAgICAgIG9wdGlvbj8uZGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L21hdC1vcHRpb24+XHJcblxyXG4gICAgICB9XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICBAaWYgKHNob3dIaW50KSB7XHJcbiAgICA8bWF0LWhpbnQ+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZmMtb2FzaXMtbGlnaHQtaW1wJzogdmFsdWUgfVwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3sgaGludCB9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcblxyXG4gICAgICA8IS0tIDxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjdXN0b21FcnJvck1lc3NhZ2UgfHwgZW1wbG95ZWVTZWFyY2hDb250cm9sLmVycm9yc1wiIFtpc0VtcGxveWVlU2VhcmNoQ29udHJvbF09XCJtdWx0aXBsZT8gdHJ1ZTogZmFsc2VcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz4gLS0+XHJcbiAgICAgICBAaWYoY29udHJvbC5pbnZhbGlkICYmIGVtcGxveWVlU2VhcmNoQ29udHJvbC50b3VjaGVkKXtcclxuICAgICAgICA8bWF0LWVycm9yIGNsYXNzPVwibWItMlwiPlxyXG4gICAgICAgICAgdGhpcyBmaWxlZCBpcyByZXF1aXJlZFxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgfVxyXG5cclxuXHJcblxyXG4gIEBpZiAodXNlckFscmVhZHlFeGlzdCkge1xyXG4gIDxtYXQtZXJyb3IgY2xhc3M9XCJtYi0yXCI+e3sgXCJ1c2VyQWxyZWFkeUV4aXN0XCIgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cclxuICB9IEBpZiAoYXJyYXlMaXN0Py5sZW5ndGggJiYgIWlzUmVhZE9ubHkgJiYgbXVsdGlwbGUpIHtcclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIG10LTJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWxpc3Qgbi1yZXN1bHRzXCI+XHJcbiAgICAgIEBmb3IgKGVtYWlscyBvZiBhcnJheUxpc3Q7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhhbXBsZS1ib3ggbi1jb2wgcHgtM1wiIFtuZ0NsYXNzXT1cInsgJ210LTAnOiAkaW5kZXggPT09IDAgfVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1ncm93LTEgdy0xMDBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWluZm8gZmxleC1ncm93LTFcIj5cclxuICAgICAgICAgICAgPGRzLWF2YXRhclxyXG4gICAgICAgICAgICAgIFtpbWFnZV09XCJnZXRJbWFnZShlbWFpbHM/LlsncGVyc29uRW1haWwnXSlcIlxyXG4gICAgICAgICAgICAgIG9uZXJyb3I9XCJ0aGlzLm9uZXJyb3I9bnVsbDt0aGlzLnNyYz0nYXNzZXRzL2ltYWdlcy91c2VyLnN2Zyc7XCJcclxuICAgICAgICAgICAgICBzbG90PVwicHJlZml4XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhciBwcm9mLWltZ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9kcy1hdmF0YXI+XHJcbiAgICAgICAgICAgIEBpZiAoZW1haWxzPy5bJ3BlcnNvbk5hbWUnXSkge1xyXG4gICAgICAgICAgICA8bGFiZWw+XHJcbiAgICAgICAgICAgICAge3sgZW1haWxzPy5bJ3BlcnNvbk5hbWUnXSB9fVxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj57eyBlbWFpbHM/LlsncGVyc29uRW1haWwnXSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBAaWYgKCFpc1JlYWRPbmx5KSB7XHJcbiAgICAgICAgICA8ZHMtYnV0dG9uXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZHMtYnRuLWFjdGlvblwiXHJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSb3coJGluZGV4LCBlbWFpbHMpXCJcclxuICAgICAgICAgICAgaWNvblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwidHJhc2hcIiBjbGFzcz1cImZjLWNvcmFsIGZzLTIwXCI+PC9kcy1pY29uPlxyXG4gICAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvbmctY29udGFpbmVyPlxyXG59IEBpZiAoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKSB7XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGFwcC1pbmZvLWl0ZW1cclxuICAgIGNsYXNzPVwiaW5mby1pdGVtXCJcclxuICAgIHR5cGU9XCJ1c2VyLXBpY2tlclwiXHJcbiAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAndXNlci1waWNrZXInOiAhaXNSZWFkT25seSB9XCJcclxuICAgIFthY3Rpb25UeXBlXT1cIiFpc1JlYWRPbmx5ID8gJ2RlbGV0ZScgOiAnZWRpdCdcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtuYW1lXT1cImNvbnRyb2wudmFsdWVbJ3BlcnNvbk5hbWUnXVwiXHJcbiAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVsncGVyc29uRW1haWwnXVwiXHJcbiAgICBbYXJyYXlMaXN0XT1cImFycmF5TGlzdFwiXHJcbiAgPlxyXG4gIDwvYXBwLWluZm8taXRlbT5cclxuPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbjxzYXQtcG9wb3ZlciAjc2VhcmNoRW1wUG9wb3ZlciBbaGFzQmFja2Ryb3BdPVwidHJ1ZVwiIHZlcnRpY2FsQWxpZ249XCJiZWxvd1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXBvcG92ZXIgcC0zXCI+XHJcbiAgICA8b2wgY2xhc3M9XCJweC0zIG0tMFwiPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfMVwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgICAgPGxpPnt7IFwic2VhcmNoRW1wbG95ZWVUb29sdGlwXzJcIiB8IHRyYW5zbGF0ZSB9fTwvbGk+XHJcbiAgICAgIDxsaT57eyBcInNlYXJjaEVtcGxveWVlVG9vbHRpcF8zXCIgfCB0cmFuc2xhdGUgfX08L2xpPlxyXG4gICAgICA8bGk+e3sgXCJzZWFyY2hFbXBsb3llZVRvb2x0aXBfNFwiIHwgdHJhbnNsYXRlIH19PC9saT5cclxuICAgIDwvb2w+XHJcbiAgPC9kaXY+XHJcbjwvc2F0LXBvcG92ZXI+XHJcbiJdfQ==
|
|
@@ -34,7 +34,7 @@ export class TextareaComponent extends ControlValueAccessorDirective {
|
|
|
34
34
|
useExisting: forwardRef(() => TextareaComponent),
|
|
35
35
|
multi: true,
|
|
36
36
|
},
|
|
37
|
-
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
37
|
+
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\"\r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n\r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n\r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n </ng-container>\r\n}\r\n@if (isReadOnly && control.value && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: i1.MatFormFieldModule }, { kind: "component", type: i1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i4.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i5.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i6.ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.EnOnlyDirective, selector: "[enOnly]" }, { kind: "directive", type: i9.ArOnlyDirective, selector: "[arOnly]" }] });
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -48,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
48
48
|
useExisting: forwardRef(() => TextareaComponent),
|
|
49
49
|
multi: true,
|
|
50
50
|
},
|
|
51
|
-
], template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
51
|
+
], template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n <mat-form-field class=\"custom-textarea bordered-input {{className}}\">\r\n <mat-label>{{ label }}</mat-label>\r\n <label class=\"mat-form-content\">\r\n @if (type === 'arOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" arOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type === 'enOnly'){\r\n <textarea [placeholder]=\"placeholder\" min=\"minlength\" enOnly max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n @if (type !== 'enOnly' && type !== 'arOnly' ){\r\n <textarea [placeholder]=\"placeholder\"\r\n [maxlength]=\"maxLength\" min=\"minlength\" specialIsAlphaNumeric max=\"maxValue\"\r\n [formControl]=\"control\" matInput></textarea>\r\n }\r\n\r\n </label>\r\n @if (showHint){\r\n <mat-hint class=\"d-flex align-items-center gap-1 mt-1\">\r\n <span class=\"sfi sfi-info fs-17 fc-dark-gray\" [ngClass]=\"{'fc-oasis-light-imp':value}\"></span>\r\n <span class=\"fs-12 fc-black line-height-1\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n\r\n </mat-form-field>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n </ng-container>\r\n}\r\n@if (isReadOnly && control.value && (showIfEmpty || control)){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [label]=\"label\" [value]=\"control?.value\" [type]=\"type\"></app-info-item>\r\n </ng-container>\r\n}\r\n" }]
|
|
52
52
|
}], propDecorators: { className: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], preventSpecailChar: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQmhFLE1BQU0sT0FBTyxpQkFBd0IsU0FBUSw2QkFBbUM7SUFDckUsU0FBUyxDQUFVO0lBQ25CLGtCQUFrQixDQUFXO0lBQ3RDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkIsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWTthQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQzt1R0FkVSxpQkFBaUI7MkZBQWpCLGlCQUFpQix5SUFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsaURDdkJILDZ3REF3Q0E7OzJGRGZhLGlCQUFpQjtrQkFuQjdCLFNBQVM7K0JBQ0UsY0FBYyxXQUdmLENBQUMsc0JBQXNCLENBQUMsV0FDeEI7d0JBQ1AsR0FBRyxjQUFjO3dCQUNqQixHQUFHLE9BQU87d0JBQ1YsR0FBRyxzQkFBc0I7cUJBQzFCLGNBQ1csSUFBSSxhQUNMO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIGZvcndhcmRSZWYsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUltcG9ydHMsIFNoYXJlZHMsIFRleHRMYW5ndWFnZURpcmVjdGl2ZXMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRleHRhcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIC4uLk1hdEZvcm1JbXBvcnRzLFxyXG4gICAgLi4uU2hhcmVkcyxcclxuICAgIC4uLlRleHRMYW5ndWFnZURpcmVjdGl2ZXNcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUZXh0YXJlYUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUNvbXBvbmVudDxUeXBlPiBleHRlbmRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlPFR5cGU+IHtcclxuICBASW5wdXQoKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHJldmVudFNwZWNhaWxDaGFyITogYm9vbGVhbjtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKVxyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UucmVzZXRBY3Rpb24kXHJcbiAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcclxuICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy5jb250cm9sLmVuYWJsZWQpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxufVxyXG4iLCJAaWYoIWlzUmVhZE9ubHkpe1xyXG4gIDxuZy1jb250YWluZXI+XHJcbiAgICBAaWYobGFiZWwpe1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cInJlcXVpcmVkIHx8IG1hbmRhdG9yeSA/IGZhbHNlIDogdHJ1ZVwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgICB9XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJjdXN0b20tdGV4dGFyZWEgYm9yZGVyZWQtaW5wdXQgIHt7Y2xhc3NOYW1lfX1cIj5cclxuICAgICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgICAgQGlmICh0eXBlID09PSAnYXJPbmx5Jyl7XHJcbiAgICAgICAgICA8dGV4dGFyZWEgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgICBtaW49XCJtaW5sZW5ndGhcIiBhck9ubHkgbWF4PVwibWF4VmFsdWVcIlxyXG4gICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIG1hdElucHV0PjwvdGV4dGFyZWE+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAodHlwZSA9PT0gJ2VuT25seScpe1xyXG4gICAgICAgICAgPHRleHRhcmVhICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAgbWluPVwibWlubGVuZ3RoXCIgZW5Pbmx5IG1heD1cIm1heFZhbHVlXCJcclxuICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBtYXRJbnB1dD48L3RleHRhcmVhPlxyXG4gICAgICAgIH1cclxuICAgICAgIEBpZiAodHlwZSAhPT0gJ2VuT25seScgJiYgIHR5cGUgIT09ICdhck9ubHknICl7XHJcbiAgICAgICAgPHRleHRhcmVhIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIiBtaW49XCJtaW5sZW5ndGhcIiBzcGVjaWFsSXNBbHBoYU51bWVyaWMgbWF4PVwibWF4VmFsdWVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCIgbWF0SW5wdXQ+PC90ZXh0YXJlYT5cclxuICAgICAgIH1cclxuXHJcbiAgICAgIDwvbGFiZWw+XHJcbiAgICAgIEBpZiAoc2hvd0hpbnQpe1xyXG4gICAgICAgIDxtYXQtaGludCBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTEgbXQtMVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLWluZm8gZnMtMTcgZmMtZGFyay1ncmF5XCIgW25nQ2xhc3NdPVwieydmYy1vYXNpcy1saWdodC1pbXAnOnZhbHVlfVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZnMtMTIgZmMtYmxhY2sgbGluZS1oZWlnaHQtMVwiPnt7IGhpbnQgfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtaGludD5cclxuICAgICAgfVxyXG5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+XHJcblxyXG4gIDwvbmctY29udGFpbmVyPlxyXG59XHJcbkBpZiAoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlICYmIChzaG93SWZFbXB0eSB8fCBjb250cm9sKSl7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgW2luc2lkZVRhYmxlXT1cImluc2lkZVRhYmxlXCIgW2xhYmVsXT1cImxhYmVsXCIgW3ZhbHVlXT1cImNvbnRyb2w/LnZhbHVlXCIgW3R5cGVdPVwidHlwZVwiPjwvYXBwLWluZm8taXRlbT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
@@ -50,7 +50,7 @@ export class ToggleButtonComponent extends ControlValueAccessorDirective {
|
|
|
50
50
|
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
51
51
|
multi: true,
|
|
52
52
|
},
|
|
53
|
-
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
53
|
+
], usesInheritance: true, ngImport: i0, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"Toggle__buttons d-flex align-items-center gap-3\" [value]=\"toggleButtonControl.value\" [formControl]=\"toggleButtonControl\"\r\n aria-label=\"Font Style\" [multiple]=\"multiple\">\r\n @for(item of options; track item){\r\n <mat-button-toggle (click)=\"setToggelButtonValue(hasHint, hintSection, item)\" [value]=\"item[key]\" [satPopoverAnchor]=\"hintSection\">\r\n <span>\r\n {{item[displayedLabel]}}\r\n </span>\r\n <sat-popover #hintSection [hasBackdrop]=\" true\" verticalAlign=\"below\">\r\n <div class=\"default-tooltip\">\r\n <p class=\"m-0\" [innerHTML]=\"item[displayedLabel]\"></p>\r\n </div>\r\n </sat-popover>\r\n </mat-button-toggle>\r\n }\r\n\r\n </mat-button-toggle-group>\r\n }\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && toggleButtonControl.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [type]=\"'toggleBtn'\" [label]=\"label\" [value]=\"control.value?.value\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n", styles: [""], dependencies: [{ kind: "directive", type: MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: SatPopoverModule }, { kind: "component", type: i1.SatPopoverComponent, selector: "sat-popover", inputs: ["anchor", "horizontalAlign", "xAlign", "verticalAlign", "yAlign", "forceAlignment", "lockAlignment", "autoFocus", "restoreFocus", "scrollStrategy", "hasBackdrop", "interactiveClose", "openTransition", "closeTransition", "openAnimationStartAtScale", "closeAnimationEndAtScale", "backdropClass", "panelClass"], outputs: ["opened", "closed", "afterOpen", "afterClose", "backdropClicked", "overlayKeydown"] }, { kind: "directive", type: i1.SatPopoverAnchorDirective, selector: "[satPopoverAnchor]", inputs: ["satPopoverAnchor"], exportAs: ["satPopoverAnchor"] }, { kind: "component", type: i2.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i3.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i4.ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
54
54
|
}
|
|
55
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ToggleButtonComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
@@ -65,7 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
65
65
|
useExisting: forwardRef(() => ToggleButtonComponent),
|
|
66
66
|
multi: true,
|
|
67
67
|
},
|
|
68
|
-
], standalone: true, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
68
|
+
], standalone: true, template: "@if(!isReadOnly){\r\n <ng-container>\r\n @if(label){\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n @if(options){\r\n <mat-button-toggle-group class=\"Toggle__buttons d-flex align-items-center gap-3\" [value]=\"toggleButtonControl.value\" [formControl]=\"toggleButtonControl\"\r\n aria-label=\"Font Style\" [multiple]=\"multiple\">\r\n @for(item of options; track item){\r\n <mat-button-toggle (click)=\"setToggelButtonValue(hasHint, hintSection, item)\" [value]=\"item[key]\" [satPopoverAnchor]=\"hintSection\">\r\n <span>\r\n {{item[displayedLabel]}}\r\n </span>\r\n <sat-popover #hintSection [hasBackdrop]=\" true\" verticalAlign=\"below\">\r\n <div class=\"default-tooltip\">\r\n <p class=\"m-0\" [innerHTML]=\"item[displayedLabel]\"></p>\r\n </div>\r\n </sat-popover>\r\n </mat-button-toggle>\r\n }\r\n\r\n </mat-button-toggle-group>\r\n }\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && toggleButtonControl.value){\r\n <ng-container>\r\n <app-info-item class=\"info-item w-100\" [insideTable]=\"insideTable\" [type]=\"'toggleBtn'\" [label]=\"label\" [value]=\"control.value?.value\"></app-info-item>\r\n </ng-container>\r\n\r\n}\r\n" }]
|
|
69
69
|
}], propDecorators: { className: [{
|
|
70
70
|
type: Input
|
|
71
71
|
}], data: [{
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
87
87
|
}], key: [{
|
|
88
88
|
type: Input
|
|
89
89
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC90b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLGVBQWUsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBcUI5RCxNQUFNLE9BQU8scUJBQTRCLFNBQVEsNkJBQW1DO0lBQ3pFLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QixJQUFJLENBQVM7SUFDWixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUMvQixLQUFLLENBQVU7SUFDZixRQUFRLENBQVU7SUFD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RXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBpbmplY3QsIERlc3Ryb3lSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01hdEJ1dHRvblRvZ2dsZSwgTWF0QnV0dG9uVG9nZ2xlR3JvdXB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSBcIkBuY3N0YXRlL3NhdC1wb3BvdmVyXCI7XHJcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmV9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1NoYXJlZHN9IGZyb20gJy4uL3NoYXJlZC1pbXBvcnRzJztcclxuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRvZ2dsZS1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QnV0dG9uVG9nZ2xlR3JvdXAsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGUsXHJcbiAgICBTYXRQb3BvdmVyTW9kdWxlLFxyXG4gICAgLi4uU2hhcmVkc1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVCdXR0b25Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2dnbGVCdXR0b25Db21wb25lbnQ8VHlwZT4gZXh0ZW5kcyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZTxUeXBlPiB7XHJcbiAgQElucHV0KCkgY2xhc3NOYW1lID0gJ2JvcmRlcmVkLWlucHV0JztcclxuICBASW5wdXQoKSBkYXRhITogYW55W107XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGVycm9yITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbkFyITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbkVuITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhhc0hpbnQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXTtcclxuICBASW5wdXQoKSBkaXNwbGF5ZWRMYWJlbDogc3RyaW5nID0gJ2Rlc2NyaXB0aW9uJztcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZyA9ICd2YWx1ZSc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHRoaXMudG9nZ2xlQnV0dG9uQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvbnRyb2wudmFsdWU/LmtleSlcclxuXHJcbiAgICB0aGlzLnRvZ2dsZUJ1dHRvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoY3RybFZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKGN0cmxWYWx1ZT8ua2V5KSB7XHJcbiAgICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbkNvbnRyb2wuc2V0VmFsdWUoY3RybFZhbHVlPy5rZXkpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZXRUb2dnZWxCdXR0b25WYWx1ZShoYXNIaW50OiBib29sZWFuLCBoaW50U2VjdGlvbjogYW55LCBpdGVtOiBhbnkpIHtcclxuICAgIGhhc0hpbnQgPyBoaW50U2VjdGlvbj8udG9nZ2xlKCkgOiBudWxsXHJcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoe2tleTogaXRlbVt0aGlzLmtleV0sIHZhbHVlOiBpdGVtW3RoaXMuZGlzcGxheWVkTGFiZWxdfSlcclxuICAgIHRoaXMudG9nZ2xlQnV0dG9uQ29udHJvbC5zZXRWYWx1ZShpdGVtW3RoaXMua2V5XSk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZighaXNSZWFkT25seSl7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIEBpZihsYWJlbCl7XHJcbiAgICAgIDxhcHAtZm9ybS1sYWJlbCBbbGFiZWxdPVwibGFiZWxcIiBbb3B0aW9uYWxdPVwicmVxdWlyZWQgfHwgbWFuZGF0b3J5ID8gZmFsc2UgOiB0cnVlXCIgW3Rvb2x0aXBdPVwidG9vbHRpcFwiPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgICAgIH1cclxuXHJcbiAgQGlmKG9wdGlvbnMpe1xyXG4gICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGNsYXNzPVwiVG9nZ2xlX19idXR0b25zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIiBbdmFsdWVdPVwidG9nZ2xlQnV0dG9uQ29udHJvbC52YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJ0b2dnbGVCdXR0b25Db250cm9sXCJcclxuICAgIGFyaWEtbGFiZWw9XCJGb250IFN0eWxlXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+XHJcbiAgICBAZm9yKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaXRlbSl7XHJcbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSAoY2xpY2spPVwic2V0VG9nZ2VsQnV0dG9uVmFsdWUoaGFzSGludCwgaGludFNlY3Rpb24sIGl0ZW0pXCIgW3ZhbHVlXT1cIml0ZW1ba2V5XVwiIFtzYXRQb3BvdmVyQW5jaG9yXT1cImhpbnRTZWN0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICB7e2l0ZW1bZGlzcGxheWVkTGFiZWxdfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNhdC1wb3BvdmVyICNoaW50U2VjdGlvbiBbaGFzQmFja2Ryb3BdPVwiIHRydWVcIiB2ZXJ0aWNhbEFsaWduPVwiYmVsb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZhdWx0LXRvb2x0aXBcIj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJtLTBcIiBbaW5uZXJIVE1MXT1cIml0ZW1bZGlzcGxheWVkTGFiZWxdXCI+PC9wPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9zYXQtcG9wb3Zlcj5cclxuICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cclxuICAgIH1cclxuXHJcbiA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxyXG4gIH1cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG5cclxuQGlmKGlzUmVhZE9ubHkgJiYgdG9nZ2xlQnV0dG9uQ29udHJvbC52YWx1ZSl7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgW2luc2lkZVRhYmxlXT1cImluc2lkZVRhYmxlXCIgW3R5cGVdPVwiJ3RvZ2dsZUJ0bidcIiBbbGFiZWxdPVwibGFiZWxcIiBbdmFsdWVdPVwiY29udHJvbC52YWx1ZT8udmFsdWVcIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -14,7 +14,9 @@ export class MycurrencyDirective {
|
|
|
14
14
|
this.el = this.elementRef.nativeElement;
|
|
15
15
|
}
|
|
16
16
|
ngOnInit() {
|
|
17
|
-
|
|
17
|
+
setTimeout(() => {
|
|
18
|
+
this.el.value = this.formatcurrencypipe.transform(this.el.value);
|
|
19
|
+
});
|
|
18
20
|
}
|
|
19
21
|
onFocus(value, event) {
|
|
20
22
|
this.el.value = this.formatcurrencypipe.parse(value); // opossite of transform
|
|
@@ -72,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
72
74
|
type: HostListener,
|
|
73
75
|
args: ['keydown', ['$event']]
|
|
74
76
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3kuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9kaXJlY3RpdmVzL2N1cnJlbmN5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFzQixLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU1qRixNQUFNLE9BQU8sbUJBQW1CO0lBS3BCO0lBQ0E7SUFMRixFQUFFLENBQU07SUFDUCxRQUFRLENBQVU7SUFFM0IsWUFDVSxVQUFxQixFQUNyQixrQkFBaUM7UUFEakMsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWU7UUFFekMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssRUFBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDOUUsSUFBRyxLQUFLLENBQUMsS0FBSyxJQUFHLENBQUMsRUFDbEIsQ0FBQztZQUNHLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFMUIsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ29DLFNBQVMsQ0FBQyxLQUFLO1FBQ2xELE1BQU0sQ0FBQyxHQUFtQixLQUFLLENBQUM7UUFDOUIsSUFBRyxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsRUFBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hELGdCQUFnQjtZQUNoQixDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsZ0JBQWdCO1lBQ2hCLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxnQkFBZ0I7WUFDaEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlDLGdCQUFnQjtZQUNoQixDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBRTtZQUNwQixnQ0FBZ0M7WUFDaEMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsbUNBQW1DO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBQ0QsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUUsRUFBRSxDQUFDO1lBQzdGLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQzt1R0F0RFUsbUJBQW1COzJGQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzRHQUdVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBY04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBQyxDQUFDLHFCQUFxQixFQUFDLFFBQVEsQ0FBQztnQkFZdEQsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUlSLFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yICovXHJcbmltcG9ydCB7RGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE9uSW5pdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge015Y3VycmVuY3lQaXBlfSBmcm9tIFwiLi4vcGlwZXNcIjtcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYXBwTXljdXJyZW5jeV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIE15Y3VycmVuY3lEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHJpdmF0ZSBlbDogYW55O1xyXG4gIEBJbnB1dCgpIGRlY2ltYWxzITogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZWxlbWVudFJlZjpFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBmb3JtYXRjdXJyZW5jeXBpcGU6TXljdXJyZW5jeVBpcGVcclxuICApIHtcclxuICAgIHRoaXMuZWwgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcbiAgbmdPbkluaXQoKXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmVsLnZhbHVlID0gdGhpcy5mb3JtYXRjdXJyZW5jeXBpcGUudHJhbnNmb3JtKHRoaXMuZWwudmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoXCJmb2N1c1wiLFtcIiRldmVudC50YXJnZXQudmFsdWVcIixcIiRldmVudFwiXSlcclxuICBvbkZvY3VzKHZhbHVlLGV2ZW50KSB7XHJcbiAgICB0aGlzLmVsLnZhbHVlID0gdGhpcy5mb3JtYXRjdXJyZW5jeXBpcGUucGFyc2UodmFsdWUpOyAvLyBvcG9zc2l0ZSBvZiB0cmFuc2Zvcm1cclxuICAgIGlmKGV2ZW50LndoaWNoPT0gOSlcclxuICAgIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5lbC5zZWxlY3QoKTtcclxuXHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwiYmx1clwiLCBbXCIkZXZlbnQudGFyZ2V0LnZhbHVlXCJdKVxyXG4gIG9uQmx1cih2YWx1ZSkge1xyXG4gICAgdGhpcy5lbC52YWx1ZSA9IHRoaXMuZm9ybWF0Y3VycmVuY3lwaXBlLnRyYW5zZm9ybSh2YWx1ZSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleURvd24oZXZlbnQpIHtcclxuICAgIGNvbnN0IGUgPSA8S2V5Ym9hcmRFdmVudD4gZXZlbnQ7XHJcbiAgICAgIGlmKGUua2V5ID09ICfZiCcgfHwgZS5rZXkgPT0gJ9iyJyl7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoWzQ2LCA4LCA5LCAyNywgMTMsIDExMCwgMTkwXS5pbmRleE9mKGUua2V5Q29kZSkgIT09IC0xIHx8XHJcbiAgICAgICAgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAgIChlLmtleUNvZGUgPT09IDY1ICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSkgfHxcclxuICAgICAgICAvLyBBbGxvdzogQ3RybCtDXHJcbiAgICAgICAgKGUua2V5Q29kZSA9PT0gNjcgJiYgKGUuY3RybEtleSB8fCBlLm1ldGFLZXkpKSB8fFxyXG4gICAgICAgIC8vIEFsbG93OiBDdHJsK1ZcclxuICAgICAgICAoZS5rZXlDb2RlID09PSA4NiAmJiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkpIHx8XHJcbiAgICAgICAgLy8gQWxsb3c6IEN0cmwrWFxyXG4gICAgICAgIChlLmtleUNvZGUgPT09IDg4ICYmIChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSkgfHxcclxuICAgICAgICAoZS5rZXlDb2RlID09PSAxODggKSB8fFxyXG4gICAgICAgIC8vIEFsbG93OiBob21lLCBlbmQsIGxlZnQsIHJpZ2h0XHJcbiAgICAgICAgKGUua2V5Q29kZSA+PSAzNSAmJiBlLmtleUNvZGUgPD0gMzkpKSB7XHJcbiAgICAgICAgICAvLyBsZXQgaXQgaGFwcGVuLCBkb24ndCBkbyBhbnl0aGluZ1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgICBpZiAoKGUuc2hpZnRLZXkgfHwgKGUua2V5Q29kZSA8IDQ4IHx8IGUua2V5Q29kZSA+IDU3KSkgJiYgKGUua2V5Q29kZSA8IDk2IHx8IGUua2V5Q29kZSA+IDEwNSApKSB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|