vcomply-workflow-engine 6.1.27 → 6.1.29
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/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs
CHANGED
|
@@ -52,11 +52,11 @@ export class FrequencyDueDateComponent {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyDueDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: { mode: "mode", pageType: "pageType", completedRequired: "completedRequired", notCompletedRequired: "notCompletedRequired", completedValue: "completedValue", notCompletedValue: "notCompletedValue", deactivateValue: "deactivateValue", isDeactivated: "isDeactivated", id: "id", pageName: "pageName" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div>\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: { mode: "mode", pageType: "pageType", completedRequired: "completedRequired", notCompletedRequired: "notCompletedRequired", completedValue: "completedValue", notCompletedValue: "notCompletedValue", deactivateValue: "deactivateValue", isDeactivated: "isDeactivated", id: "id", pageName: "pageName" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <!-- TODO: Uncomment this once the deactivation is implemented -->\n <!-- <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div> -->\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
56
56
|
}
|
|
57
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyDueDateComponent, decorators: [{
|
|
58
58
|
type: Component,
|
|
59
|
-
args: [{ selector: 'app-frequency-due-date', template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the
|
|
59
|
+
args: [{ selector: 'app-frequency-due-date', template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <!-- TODO: Uncomment this once the deactivation is implemented -->\n <!-- <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div> -->\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
60
60
|
}], ctorParameters: function () { return []; }, propDecorators: { mode: [{
|
|
61
61
|
type: Input
|
|
62
62
|
}], pageType: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
80
80
|
}], valueChange: [{
|
|
81
81
|
type: Output
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWR1ZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1kdWUtZGF0ZS9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWR1ZS1kYXRlL2ZyZXF1ZW5jeS1kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU85QyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDO1FBQ1MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsU0FBSSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFaEIsYUFBUSxHQUFnQyxnQkFBZ0IsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQywwQkFBMEI7UUFDcEQseUJBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUMsOEJBQThCO1FBQzNELG1CQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsMkJBQTJCO1FBQy9DLHNCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLCtCQUErQjtRQUN0RCxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1AsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUliLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFwQi9DLENBQUM7SUFzQmhCLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxVQUFlO1FBQ3ZDLElBQ0UsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNqQztZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLFVBQVUsS0FBSyxXQUFXLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMxQztpQkFBTSxJQUFJLFVBQVUsS0FBSyxlQUFlLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQzdDO2lCQUFNLElBQUksVUFBVSxLQUFLLGFBQWEsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0M7U0FDRjtJQUNILENBQUM7K0dBbkRVLHlCQUF5QjttR0FBekIseUJBQXlCLDJaQ1J0Qyx1dE1BMEtBOzs0RkRsS2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRleHRJbmZvIH0gZnJvbSAnLi9kdWUtZGF0ZS5jb250YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RHVlRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgQElucHV0KCkgbW9kZSA9ICcnO1xuXG4gIGRlZmF1bHRXaW5kb3c6IG51bWJlciA9IDA7XG4gIGRlZmF1bHRGYWlsZWQ6IG51bWJlciA9IDA7XG4gIGRlZmF1bHREZWFjdGl2YXRlOiBudW1iZXIgPSAwO1xuICB0eXBlOiBzdHJpbmcgPSB0aGlzLm1vZGU7XG5cbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XG4gIEBJbnB1dCgpIGNvbXBsZXRlZFJlcXVpcmVkID0gdHJ1ZTsgLy8gd2hlbiBjb21wbGV0ZWQgcmVxdWlyZWRcbiAgQElucHV0KCkgbm90Q29tcGxldGVkUmVxdWlyZWQgPSB0cnVlOyAvLyB3aGVuIG5vdCBjb21wbGV0ZWQgcmVxdWlyZWRcbiAgQElucHV0KCkgY29tcGxldGVkVmFsdWUgPSAyOyAvLyB0YWtlIGlucHV0IGZvciBjb21wbGV0ZWRcbiAgQElucHV0KCkgbm90Q29tcGxldGVkVmFsdWUgPSAyOyAvLyB0YWtlIGlucHV0IGZvciBub3QgY29tcGxldGVkXG4gIEBJbnB1dCgpIGRlYWN0aXZhdGVWYWx1ZSA9IDE1O1xuICBASW5wdXQoKSBpc0RlYWN0aXZhdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkID0gMDtcbiAgQElucHV0KCkgcGFnZU5hbWUgPSAnJztcblxuICBkdWVEYXRlVGV4dDogYW55O1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kdWVEYXRlVGV4dCA9IHRleHRJbmZvW3RoaXMubW9kZV07XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3Jldmlld2VyRnJlcXVlbmN5Jykge1xuICAgICAgdGhpcy50eXBlID0gJ3Jldmlldyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMubW9kZTtcbiAgICB9XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IGFueSkge1xuICAgIGlmIChcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSkpICYmXG4gICAgICBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpID4gLTFcbiAgICApIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh7XG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgICAgcGFnZU5hbWU6IHRoaXMucGFnZU5hbWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFjdGlvblR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICAgIHRoaXMuY29tcGxldGVkVmFsdWUgPSB0aGlzLmRlZmF1bHRXaW5kb3c7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvblR5cGUgPT09ICdub3QgY29tcGxldGVkJykge1xuICAgICAgICB0aGlzLm5vdENvbXBsZXRlZFZhbHVlID0gdGhpcy5kZWZhdWx0RmFpbGVkO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb25UeXBlID09PSAnZGVhY3RpdmF0ZWQnKSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZVZhbHVlID0gdGhpcy5kZWZhdWx0RGVhY3RpdmF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJbJ3Jlc3BvbnNpYmlsaXR5JywgJ3BvbGljeScsICdyZXZpZXdlckZyZXF1ZW5jeSddLmluY2x1ZGVzKG1vZGUpXCJcbiAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tXCJcbj5cbiAgPGRpdiAqbmdJZj1cImNvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0gdngtbXQtNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XG4gICAgICB7eyBkdWVEYXRlVGV4dC53aW5kb3dPcGVuIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCJcbiAgICA+XG4gICAgICBUaGUge3sgcGFnZVR5cGUgfX0gY2FuIGJlIHt7IGR1ZURhdGVUZXh0Py5rZXlzIH19IG9uIHRoZSBkdWUgZGF0ZSBhbmRcbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImNvdW50TnVtXCJcbiAgICAgICAgW2lkXT1cIidjb21wbGV0ZS0nICsgaWRcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wbGV0ZWRWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdjb21wbGV0ZWQnKVwiXG4gICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxuICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXG4gICAgICAvPlxuICAgICAge3sgY29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPmJlZm9yZTwvc3Bhbj4gdGhlIGR1ZSBkYXRlLiBXaGVyZSB0aGlzIG9jY3VycyxcbiAgICAgIHRoaXMgd2lsbCBzaG93IGFzIHRoZSB7eyBtb2RlID09PSBcInJldmlld2VyRnJlcXVlbmN5XCIgPyBcInBvbGljeVwiIDogdHlwZSB9fSBiZWluZ1xuICAgICAgPHNwYW4gY2xhc3M9XCJjb21wbGV0ZWQtdGV4dCB2eC1mdy01MDBcIlxuICAgICAgICA+e3sgZHVlRGF0ZVRleHQ/LmtleXMgfX0gb24gdGltZTwvc3BhblxuICAgICAgPi5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5vdENvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0gdngtbXQtNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XG4gICAgICB7eyBkdWVEYXRlVGV4dC5leHRlbnNpb24gfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZyZXF1ZW5jeS1ib3R0b20taXRlbS1ib3ggdngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1wLTMgdngtcHQtNCB2eC1wYi00IHZ4LWQtYmxvY2tcIlxuICAgID5cbiAgICAgIFRoZSB7eyBwYWdlVHlwZSB9fSBjYW4gYmUge3sgZHVlRGF0ZVRleHQ/LmtleXMgfX1cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImNvdW50TnVtXCJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIFtpZF09XCInbm90LWNvbXBsZXRlZC0nICsgaWRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm5vdENvbXBsZXRlZFZhbHVlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgJ25vdCBjb21wbGV0ZWQnKVwiXG4gICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxuICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXG4gICAgICAvPlxuICAgICAge3sgbm90Q29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPmFmdGVyPC9zcGFuPiB0aGUgZHVlIGRhdGUuIFdoZXJlIHRoaXMgb2NjdXJzLCB0aGlzXG4gICAgICB3aWxsIHNob3cgYXMgdGhlIHt7IG1vZGUgPT09IFwicmV2aWV3ZXJGcmVxdWVuY3lcIiA/IFwicG9saWN5XCIgOiB0eXBlIH19IGJlaW5nXG4gICAgICA8c3BhbiBjbGFzcz1cImRlbGF5LXRleHQgdngtZnctNTAwXCJcbiAgICAgICAgPnt7IGR1ZURhdGVUZXh0Py5rZXlzIH19IHdpdGggZGVsYXk8L3NwYW5cbiAgICAgID4uXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJub3RDb21wbGV0ZWRSZXF1aXJlZFwiIGNsYXNzPVwiZnJlcXVlbmN5LWJvdHRvbS1pdGVtIHZ4LW10LTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxuICAgICAge3sgZHVlRGF0ZVRleHQud2luZG93Q2xvc2VzIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCJcbiAgICA+XG4gICAgICBUaGUge3sgcGFnZVR5cGUgfX0gY2Fubm90IGJlIHt7IGR1ZURhdGVUZXh0Py5rZXlzIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj57eyBub3RDb21wbGV0ZWRWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgIHt7IG5vdENvbXBsZXRlZFZhbHVlIDwgMiA/IFwiZGF5XCIgOiBcImRheXNcIiB9fVxuICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDBcIj5hZnRlcjwvc3Bhbj4gdGhlIGR1ZSBkYXRlLiBXaGVyZSB0aGlzIG9jY3VycywgdGhpc1xuICAgICAgd2lsbCBzaG93IGFzIHRoZSB7eyB0eXBlIH19IGJlaW5nXG4gICAgICA8c3BhbiBjbGFzcz1cIm5vdGNvbXBsZXRlZC10ZXh0IHZ4LWZ3LTUwMFwiXG4gICAgICAgID5ub3RcbiAgICAgICAge3tcbiAgICAgICAgICBkdWVEYXRlVGV4dD8ua2V5cyA9PT0gXCJyZXZpZXdlZFwiID8gXCJjb21wbGV0ZWRcIiA6IGR1ZURhdGVUZXh0Py5rZXlzXG4gICAgICAgIH19PC9zcGFuXG4gICAgICA+LlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJpc0RlYWN0aXZhdGVkICYmIG1vZGUgPT09ICdyZXNwb25zaWJpbGl0eSdcIlxuICAgIGNsYXNzPVwiZnJlcXVlbmN5LWJvdHRvbS1pdGVtIHZ4LW10LTVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5cbiAgICAgIEFVVE9NQVRJQyBERUFDVElWQVRFOlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZnJlcXVlbmN5LWJvdHRvbS1pdGVtLWJveCB2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMyB2eC1wdC00IHZ4LXBiLTQgdngtZC1ibG9ja1wiXG4gICAgPlxuICAgICAgVGhpcyB7eyB0eXBlIH19IHdpbGwgYmUgYXV0b21hdGljYWxseSBkZWFjdGl2YXRlZCwgaWYgaXQgaXMgbm90XG4gICAgICB7eyBkdWVEYXRlVGV4dD8ua2V5cyB9fVxuICAgICAgZm9yXG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJjb3VudE51bVwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBbaWRdPVwiJ2RlYWN0aXZhdGUnICsgaWRcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImRlYWN0aXZhdGVWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdkZWFjdGl2YXRlZCcpXCJcbiAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICAgIG1pbj1cIjBcIlxuICAgICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcbiAgICAgIC8+XG4gICAgICBjb25zZWN1dGl2ZSBkdWUgZGF0ZXMuXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gRm9yIFBvbGljeSAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGVcIiAqbmdJZj1cIm1vZGUgPT0gJ3BvbGljeScgJiYgZmFsc2VcIj5cbiAgPGRpdiAqbmdJZj1cImNvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtcm93XCI+XG4gICAgPHA+VGhlIHBvbGljeSBjYW4gYmUgPGkgY2xhc3M9XCJjb21wbGV0ZWRcIj5hdHRlc3RlZDwvaT48L3A+XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwiJ2NvbXBsZXRlLScgKyBpZFwiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY29tcGxldGVkVmFsdWVcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgJ2NvbXBsZXRlZCcpXCJcbiAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxuICAgICAgbWluPVwiMFwiXG4gICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcbiAgICAvPlxuICAgIDxwPnt7IGNvbXBsZXRlZFZhbHVlIDwgMiA/IFwiZGF5XCIgOiBcImRheXNcIiB9fSBiZWZvcmUgdGhlIGR1ZSBkYXRlLjwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJub3RDb21wbGV0ZWRSZXF1aXJlZFwiIGNsYXNzPVwiZnJlcXVlbmN5LWR1ZS1kYXRlLXJvd1wiPlxuICAgIDxwPlRoZSBwb2xpY3kgYXR0ZXN0YXRpb24gd2lsbCA8aT5mYWlsPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW2lkXT1cIidub3QtY29tcGxldGVkLScgKyBpZFwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm5vdENvbXBsZXRlZFZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdub3QgY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+XG4gICAgICB7eyBub3RDb21wbGV0ZWRWYWx1ZSA8IDIgPyBcImRheVwiIDogXCJkYXlzXCIgfX0gYWZ0ZXIgdGhlIGR1ZSBkYXRlIGlmIGl0IGlzXG4gICAgICBub3QgY29tcGxldGVkLlxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGVcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jldmlld2VyRnJlcXVlbmN5JyAmJiBmYWxzZVwiPlxuICA8ZGl2ICpuZ0lmPVwiY29tcGxldGVkUmVxdWlyZWRcIiBjbGFzcz1cImZyZXF1ZW5jeS1kdWUtZGF0ZS1yb3dcIj5cbiAgICA8cD5UaGUgcG9saWN5IGNhbiBiZSA8aSBjbGFzcz1cImNvbXBsZXRlZFwiPnJldmlld2VkPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIFtpZF09XCInY29tcGxldGUtJyArIGlkXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJjb21wbGV0ZWRWYWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LCAnY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+e3sgY29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19IGJlZm9yZSB0aGUgcmV2aWV3IGRhdGUuPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm5vdENvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtcm93XCI+XG4gICAgPHA+VGhlIHBvbGljeSByZXZpZXcgd2lsbCA8aT5mYWlsPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW2lkXT1cIidub3QtY29tcGxldGVkLScgKyBpZFwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm5vdENvbXBsZXRlZFZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdub3QgY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+XG4gICAgICB7eyBub3RDb21wbGV0ZWRWYWx1ZSA8IDIgPyBcImRheVwiIDogXCJkYXlzXCIgfX0gYWZ0ZXIgdGhlIHJldmlldyBkYXRlIGlmIGl0XG4gICAgICBpcyBub3QgY29tcGxldGVkLlxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWR1ZS1kYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5L2ZyZXF1ZW5jeS1kdWUtZGF0ZS9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3kvZnJlcXVlbmN5LWR1ZS1kYXRlL2ZyZXF1ZW5jeS1kdWUtZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU85QyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDO1FBQ1MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUMxQixzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFDOUIsU0FBSSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFaEIsYUFBUSxHQUFnQyxnQkFBZ0IsQ0FBQztRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsQ0FBQywwQkFBMEI7UUFDcEQseUJBQW9CLEdBQUcsSUFBSSxDQUFDLENBQUMsOEJBQThCO1FBQzNELG1CQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsMkJBQTJCO1FBQy9DLHNCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDLCtCQUErQjtRQUN0RCxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUNyQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1AsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUliLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFwQi9DLENBQUM7SUFzQmhCLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLG1CQUFtQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ3RCO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVUsRUFBRSxVQUFlO1FBQ3ZDLElBQ0UsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUNqQztZQUNBLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3hCLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLFVBQVUsS0FBSyxXQUFXLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUMxQztpQkFBTSxJQUFJLFVBQVUsS0FBSyxlQUFlLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQzdDO2lCQUFNLElBQUksVUFBVSxLQUFLLGFBQWEsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0M7U0FDRjtJQUNILENBQUM7K0dBbkRVLHlCQUF5QjttR0FBekIseUJBQXlCLDJaQ1J0Qyxvek1BNktBOzs0RkRyS2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRleHRJbmZvIH0gZnJvbSAnLi9kdWUtZGF0ZS5jb250YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kdWUtZGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZHVlLWRhdGUuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RHVlRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgQElucHV0KCkgbW9kZSA9ICcnO1xuXG4gIGRlZmF1bHRXaW5kb3c6IG51bWJlciA9IDA7XG4gIGRlZmF1bHRGYWlsZWQ6IG51bWJlciA9IDA7XG4gIGRlZmF1bHREZWFjdGl2YXRlOiBudW1iZXIgPSAwO1xuICB0eXBlOiBzdHJpbmcgPSB0aGlzLm1vZGU7XG5cbiAgQElucHV0KCkgcGFnZVR5cGU6ICdyZXNwb25zaWJpbGl0eScgfCAncG9saWN5JyA9ICdyZXNwb25zaWJpbGl0eSc7XG4gIEBJbnB1dCgpIGNvbXBsZXRlZFJlcXVpcmVkID0gdHJ1ZTsgLy8gd2hlbiBjb21wbGV0ZWQgcmVxdWlyZWRcbiAgQElucHV0KCkgbm90Q29tcGxldGVkUmVxdWlyZWQgPSB0cnVlOyAvLyB3aGVuIG5vdCBjb21wbGV0ZWQgcmVxdWlyZWRcbiAgQElucHV0KCkgY29tcGxldGVkVmFsdWUgPSAyOyAvLyB0YWtlIGlucHV0IGZvciBjb21wbGV0ZWRcbiAgQElucHV0KCkgbm90Q29tcGxldGVkVmFsdWUgPSAyOyAvLyB0YWtlIGlucHV0IGZvciBub3QgY29tcGxldGVkXG4gIEBJbnB1dCgpIGRlYWN0aXZhdGVWYWx1ZSA9IDE1O1xuICBASW5wdXQoKSBpc0RlYWN0aXZhdGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlkID0gMDtcbiAgQElucHV0KCkgcGFnZU5hbWUgPSAnJztcblxuICBkdWVEYXRlVGV4dDogYW55O1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kdWVEYXRlVGV4dCA9IHRleHRJbmZvW3RoaXMubW9kZV07XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3Jldmlld2VyRnJlcXVlbmN5Jykge1xuICAgICAgdGhpcy50eXBlID0gJ3Jldmlldyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudHlwZSA9IHRoaXMubW9kZTtcbiAgICB9XG4gIH1cblxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnksIGFjdGlvblR5cGU6IGFueSkge1xuICAgIGlmIChcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSkpICYmXG4gICAgICBwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpID4gLTFcbiAgICApIHtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh7XG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXG4gICAgICAgIHZhbHVlOiBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgICAgcGFnZU5hbWU6IHRoaXMucGFnZU5hbWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFjdGlvblR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgICAgIHRoaXMuY29tcGxldGVkVmFsdWUgPSB0aGlzLmRlZmF1bHRXaW5kb3c7XG4gICAgICB9IGVsc2UgaWYgKGFjdGlvblR5cGUgPT09ICdub3QgY29tcGxldGVkJykge1xuICAgICAgICB0aGlzLm5vdENvbXBsZXRlZFZhbHVlID0gdGhpcy5kZWZhdWx0RmFpbGVkO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb25UeXBlID09PSAnZGVhY3RpdmF0ZWQnKSB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZVZhbHVlID0gdGhpcy5kZWZhdWx0RGVhY3RpdmF0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJbJ3Jlc3BvbnNpYmlsaXR5JywgJ3BvbGljeScsICdyZXZpZXdlckZyZXF1ZW5jeSddLmluY2x1ZGVzKG1vZGUpXCJcbiAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tXCJcbj5cbiAgPGRpdiAqbmdJZj1cImNvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0gdngtbXQtNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XG4gICAgICB7eyBkdWVEYXRlVGV4dC53aW5kb3dPcGVuIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCJcbiAgICA+XG4gICAgICBUaGUge3sgcGFnZVR5cGUgfX0gY2FuIGJlIHt7IGR1ZURhdGVUZXh0Py5rZXlzIH19IG9uIHRoZSBkdWUgZGF0ZSBhbmRcbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImNvdW50TnVtXCJcbiAgICAgICAgW2lkXT1cIidjb21wbGV0ZS0nICsgaWRcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJjb21wbGV0ZWRWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdjb21wbGV0ZWQnKVwiXG4gICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxuICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXG4gICAgICAvPlxuICAgICAge3sgY29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPmJlZm9yZTwvc3Bhbj4gdGhlIGR1ZSBkYXRlLiBXaGVyZSB0aGlzIG9jY3VycyxcbiAgICAgIHRoaXMgd2lsbCBzaG93IGFzIHRoZVxuICAgICAge3sgbW9kZSA9PT0gXCJyZXZpZXdlckZyZXF1ZW5jeVwiID8gXCJwb2xpY3lcIiA6IHR5cGUgfX0gYmVpbmdcbiAgICAgIDxzcGFuIGNsYXNzPVwiY29tcGxldGVkLXRleHQgdngtZnctNTAwXCJcbiAgICAgICAgPnt7IGR1ZURhdGVUZXh0Py5rZXlzIH19IG9uIHRpbWU8L3NwYW5cbiAgICAgID4uXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJub3RDb21wbGV0ZWRSZXF1aXJlZFwiIGNsYXNzPVwiZnJlcXVlbmN5LWJvdHRvbS1pdGVtIHZ4LW10LTVcIj5cbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxuICAgICAge3sgZHVlRGF0ZVRleHQuZXh0ZW5zaW9uIH19XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCJcbiAgICA+XG4gICAgICBUaGUge3sgcGFnZVR5cGUgfX0gY2FuIGJlIHt7IGR1ZURhdGVUZXh0Py5rZXlzIH19XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJjb3VudE51bVwiXG4gICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICBbaWRdPVwiJ25vdC1jb21wbGV0ZWQtJyArIGlkXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJub3RDb21wbGV0ZWRWYWx1ZVwiXG4gICAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdub3QgY29tcGxldGVkJylcIlxuICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcbiAgICAgICAgbWluPVwiMFwiXG4gICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgLz5cbiAgICAgIHt7IG5vdENvbXBsZXRlZFZhbHVlIDwgMiA/IFwiZGF5XCIgOiBcImRheXNcIiB9fVxuICAgICAgPHNwYW4gY2xhc3M9XCJ2eC1mdy01MDBcIj5hZnRlcjwvc3Bhbj4gdGhlIGR1ZSBkYXRlLiBXaGVyZSB0aGlzIG9jY3VycywgdGhpc1xuICAgICAgd2lsbCBzaG93IGFzIHRoZVxuICAgICAge3sgbW9kZSA9PT0gXCJyZXZpZXdlckZyZXF1ZW5jeVwiID8gXCJwb2xpY3lcIiA6IHR5cGUgfX0gYmVpbmdcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGVsYXktdGV4dCB2eC1mdy01MDBcIlxuICAgICAgICA+e3sgZHVlRGF0ZVRleHQ/LmtleXMgfX0gd2l0aCBkZWxheTwvc3BhblxuICAgICAgPi5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIm5vdENvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0gdngtbXQtNVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+XG4gICAgICB7eyBkdWVEYXRlVGV4dC53aW5kb3dDbG9zZXMgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZyZXF1ZW5jeS1ib3R0b20taXRlbS1ib3ggdngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1wLTMgdngtcHQtNCB2eC1wYi00IHZ4LWQtYmxvY2tcIlxuICAgID5cbiAgICAgIFRoZSB7eyBwYWdlVHlwZSB9fSBjYW5ub3QgYmUge3sgZHVlRGF0ZVRleHQ/LmtleXMgfX1cbiAgICAgIDxzcGFuIGNsYXNzPVwidngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPnt7IG5vdENvbXBsZXRlZFZhbHVlIH19PC9zcGFuPlxuICAgICAge3sgbm90Q29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19XG4gICAgICA8c3BhbiBjbGFzcz1cInZ4LWZ3LTUwMFwiPmFmdGVyPC9zcGFuPiB0aGUgZHVlIGRhdGUuIFdoZXJlIHRoaXMgb2NjdXJzLCB0aGlzXG4gICAgICB3aWxsIHNob3cgYXMgdGhlIHt7IHR5cGUgfX0gYmVpbmdcbiAgICAgIDxzcGFuIGNsYXNzPVwibm90Y29tcGxldGVkLXRleHQgdngtZnctNTAwXCJcbiAgICAgICAgPm5vdFxuICAgICAgICB7e1xuICAgICAgICAgIGR1ZURhdGVUZXh0Py5rZXlzID09PSBcInJldmlld2VkXCIgPyBcImNvbXBsZXRlZFwiIDogZHVlRGF0ZVRleHQ/LmtleXNcbiAgICAgICAgfX08L3NwYW5cbiAgICAgID4uXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gVE9ETzogVW5jb21tZW50IHRoaXMgb25jZSB0aGUgZGVhY3RpdmF0aW9uIGlzIGltcGxlbWVudGVkIC0tPlxuICA8IS0tIDxkaXZcbiAgICAqbmdJZj1cImlzRGVhY3RpdmF0ZWQgJiYgbW9kZSA9PT0gJ3Jlc3BvbnNpYmlsaXR5J1wiXG4gICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0gdngtbXQtNVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlxuICAgICAgQVVUT01BVElDIERFQUNUSVZBVEU6XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmcmVxdWVuY3ktYm90dG9tLWl0ZW0tYm94IHZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtcC0zIHZ4LXB0LTQgdngtcGItNCB2eC1kLWJsb2NrXCJcbiAgICA+XG4gICAgICBUaGlzIHt7IHR5cGUgfX0gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRlYWN0aXZhdGVkLCBpZiBpdCBpcyBub3RcbiAgICAgIHt7IGR1ZURhdGVUZXh0Py5rZXlzIH19XG4gICAgICBmb3JcbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImNvdW50TnVtXCJcbiAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgIFtpZF09XCInZGVhY3RpdmF0ZScgKyBpZFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGVhY3RpdmF0ZVZhbHVlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgJ2RlYWN0aXZhdGVkJylcIlxuICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcbiAgICAgICAgbWluPVwiMFwiXG4gICAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgICAgLz5cbiAgICAgIGNvbnNlY3V0aXZlIGR1ZSBkYXRlcy5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+IC0tPlxuPC9kaXY+XG5cbjwhLS0gRm9yIFBvbGljeSAtLT5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGVcIiAqbmdJZj1cIm1vZGUgPT0gJ3BvbGljeScgJiYgZmFsc2VcIj5cbiAgPGRpdiAqbmdJZj1cImNvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtcm93XCI+XG4gICAgPHA+VGhlIHBvbGljeSBjYW4gYmUgPGkgY2xhc3M9XCJjb21wbGV0ZWRcIj5hdHRlc3RlZDwvaT48L3A+XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwiJ2NvbXBsZXRlLScgKyBpZFwiXG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIFsobmdNb2RlbCldPVwiY29tcGxldGVkVmFsdWVcIlxuICAgICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudCwgJ2NvbXBsZXRlZCcpXCJcbiAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxuICAgICAgbWluPVwiMFwiXG4gICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcbiAgICAvPlxuICAgIDxwPnt7IGNvbXBsZXRlZFZhbHVlIDwgMiA/IFwiZGF5XCIgOiBcImRheXNcIiB9fSBiZWZvcmUgdGhlIGR1ZSBkYXRlLjwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJub3RDb21wbGV0ZWRSZXF1aXJlZFwiIGNsYXNzPVwiZnJlcXVlbmN5LWR1ZS1kYXRlLXJvd1wiPlxuICAgIDxwPlRoZSBwb2xpY3kgYXR0ZXN0YXRpb24gd2lsbCA8aT5mYWlsPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW2lkXT1cIidub3QtY29tcGxldGVkLScgKyBpZFwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm5vdENvbXBsZXRlZFZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdub3QgY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+XG4gICAgICB7eyBub3RDb21wbGV0ZWRWYWx1ZSA8IDIgPyBcImRheVwiIDogXCJkYXlzXCIgfX0gYWZ0ZXIgdGhlIGR1ZSBkYXRlIGlmIGl0IGlzXG4gICAgICBub3QgY29tcGxldGVkLlxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGVcIiAqbmdJZj1cIm1vZGUgPT0gJ3Jldmlld2VyRnJlcXVlbmN5JyAmJiBmYWxzZVwiPlxuICA8ZGl2ICpuZ0lmPVwiY29tcGxldGVkUmVxdWlyZWRcIiBjbGFzcz1cImZyZXF1ZW5jeS1kdWUtZGF0ZS1yb3dcIj5cbiAgICA8cD5UaGUgcG9saWN5IGNhbiBiZSA8aSBjbGFzcz1cImNvbXBsZXRlZFwiPnJldmlld2VkPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIFtpZF09XCInY29tcGxldGUtJyArIGlkXCJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgWyhuZ01vZGVsKV09XCJjb21wbGV0ZWRWYWx1ZVwiXG4gICAgICAoY2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50LCAnY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+e3sgY29tcGxldGVkVmFsdWUgPCAyID8gXCJkYXlcIiA6IFwiZGF5c1wiIH19IGJlZm9yZSB0aGUgcmV2aWV3IGRhdGUuPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm5vdENvbXBsZXRlZFJlcXVpcmVkXCIgY2xhc3M9XCJmcmVxdWVuY3ktZHVlLWRhdGUtcm93XCI+XG4gICAgPHA+VGhlIHBvbGljeSByZXZpZXcgd2lsbCA8aT5mYWlsPC9pPjwvcD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgW2lkXT1cIidub3QtY29tcGxldGVkLScgKyBpZFwiXG4gICAgICBbKG5nTW9kZWwpXT1cIm5vdENvbXBsZXRlZFZhbHVlXCJcbiAgICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQsICdub3QgY29tcGxldGVkJylcIlxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXG4gICAgICBtaW49XCIwXCJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxuICAgIC8+XG4gICAgPHA+XG4gICAgICB7eyBub3RDb21wbGV0ZWRWYWx1ZSA8IDIgPyBcImRheVwiIDogXCJkYXlzXCIgfX0gYWZ0ZXIgdGhlIHJldmlldyBkYXRlIGlmIGl0XG4gICAgICBpcyBub3QgY29tcGxldGVkLlxuICAgIDwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -27164,11 +27164,11 @@ class FrequencyDueDateComponent {
|
|
|
27164
27164
|
}
|
|
27165
27165
|
}
|
|
27166
27166
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyDueDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: { mode: "mode", pageType: "pageType", completedRequired: "completedRequired", notCompletedRequired: "notCompletedRequired", completedValue: "completedValue", notCompletedValue: "notCompletedValue", deactivateValue: "deactivateValue", isDeactivated: "isDeactivated", id: "id", pageName: "pageName" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div>\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$3.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: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
27167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FrequencyDueDateComponent, selector: "app-frequency-due-date", inputs: { mode: "mode", pageType: "pageType", completedRequired: "completedRequired", notCompletedRequired: "notCompletedRequired", completedValue: "completedValue", notCompletedValue: "notCompletedValue", deactivateValue: "deactivateValue", isDeactivated: "isDeactivated", id: "id", pageName: "pageName" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <!-- TODO: Uncomment this once the deactivation is implemented -->\n <!-- <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div> -->\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$3.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: i1$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
27168
27168
|
}
|
|
27169
27169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FrequencyDueDateComponent, decorators: [{
|
|
27170
27170
|
type: Component,
|
|
27171
|
-
args: [{ selector: 'app-frequency-due-date', template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the
|
|
27171
|
+
args: [{ selector: 'app-frequency-due-date', template: "<div\n *ngIf=\"['responsibility', 'policy', 'reviewerFrequency'].includes(mode)\"\n class=\"frequency-bottom\"\n>\n <div *ngIf=\"completedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowOpen }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }} on the due date and\n <input\n class=\"countNum\"\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ completedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">before</span> the due date. Where this occurs,\n this will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"completed-text vx-fw-500\"\n >{{ dueDateText?.keys }} on time</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.extension }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} can be {{ dueDateText?.keys }}\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the\n {{ mode === \"reviewerFrequency\" ? \"policy\" : type }} being\n <span class=\"delay-text vx-fw-500\"\n >{{ dueDateText?.keys }} with delay</span\n >.\n </div>\n </div>\n\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-bottom-item vx-mt-5\">\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n {{ dueDateText.windowCloses }}\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n The {{ pageType }} cannot be {{ dueDateText?.keys }}\n <span class=\"vx-fw-500 vx-label-txt\">{{ notCompletedValue }}</span>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }}\n <span class=\"vx-fw-500\">after</span> the due date. Where this occurs, this\n will show as the {{ type }} being\n <span class=\"notcompleted-text vx-fw-500\"\n >not\n {{\n dueDateText?.keys === \"reviewed\" ? \"completed\" : dueDateText?.keys\n }}</span\n >.\n </div>\n </div>\n\n <!-- TODO: Uncomment this once the deactivation is implemented -->\n <!-- <div\n *ngIf=\"isDeactivated && mode === 'responsibility'\"\n class=\"frequency-bottom-item vx-mt-5\"\n >\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">\n AUTOMATIC DEACTIVATE:\n </div>\n <div\n class=\"frequency-bottom-item-box vx-fs-13 vx-paragraph-txt vx-p-3 vx-pt-4 vx-pb-4 vx-d-block\"\n >\n This {{ type }} will be automatically deactivated, if it is not\n {{ dueDateText?.keys }}\n for\n <input\n class=\"countNum\"\n type=\"number\"\n [id]=\"'deactivate' + id\"\n [(ngModel)]=\"deactivateValue\"\n (change)=\"onValueChange($event, 'deactivated')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n consecutive due dates.\n </div>\n </div> -->\n</div>\n\n<!-- For Policy -->\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'policy' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">attested</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the due date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy attestation will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the due date if it is\n not completed.\n </p>\n </div>\n</div>\n<div class=\"frequency-due-date\" *ngIf=\"mode == 'reviewerFrequency' && false\">\n <div *ngIf=\"completedRequired\" class=\"frequency-due-date-row\">\n <p>The policy can be <i class=\"completed\">reviewed</i></p>\n <input\n [id]=\"'complete-' + id\"\n type=\"number\"\n [(ngModel)]=\"completedValue\"\n (change)=\"onValueChange($event, 'completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>{{ completedValue < 2 ? \"day\" : \"days\" }} before the review date.</p>\n </div>\n <div *ngIf=\"notCompletedRequired\" class=\"frequency-due-date-row\">\n <p>The policy review will <i>fail</i></p>\n <input\n type=\"number\"\n [id]=\"'not-completed-' + id\"\n [(ngModel)]=\"notCompletedValue\"\n (change)=\"onValueChange($event, 'not completed')\"\n onkeydown=\"return event.keyCode !== 190\"\n min=\"0\"\n oninput=\"this.value = Math.abs(this.value)\"\n />\n <p>\n {{ notCompletedValue < 2 ? \"day\" : \"days\" }} after the review date if it\n is not completed.\n </p>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";::ng-deep .frequency-bottom-item-box{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-bottom-item-box input.countNum{-moz-appearance:textfield;border:none;border-bottom:1px solid #DBDBDB;color:#161b2f;display:inline-block;font-size:13px;text-align:center;width:2.75rem;padding:.125rem;margin:0 .5rem;outline:none}::ng-deep .frequency-bottom-item-box input.countNum::-webkit-inner-spin-button,::ng-deep .frequency-bottom-item-box input.countNum::-webkit-outer-spin-button{-webkit-appearance:none}::ng-deep .frequency-bottom-item-box .completed-text{color:#34aa44}::ng-deep .frequency-bottom-item-box .delay-text{color:#f0b819}::ng-deep .frequency-bottom-item-box .notcompleted-text{color:#d93b41}.frequency-due-date{display:block}.frequency-due-date-row{display:flex;border-top:1px solid #f1f1f1;padding:12px 20px;align-items:center}.frequency-due-date p{font-size:13px;color:#747576;width:auto;margin:0;font-weight:400;line-height:20px}.frequency-due-date p i{color:#d93b41;font-style:italic;font-weight:500;padding:0 4px}.frequency-due-date p i.completed{color:#1e5dd3}.frequency-due-date p strong{font-weight:600;font-style:italic}.frequency-due-date input{-moz-appearance:textfield;font-size:14px;color:#161b2f;border:0;border-bottom:2px solid #dcdcdc;display:inline-block;width:36px;text-align:center;padding:4px;margin:0 8px;outline:none}.frequency-due-date input::-webkit-outer-spin-button,.frequency-due-date input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
|
|
27172
27172
|
}], ctorParameters: function () { return []; }, propDecorators: { mode: [{
|
|
27173
27173
|
type: Input
|
|
27174
27174
|
}], pageType: [{
|