tango-app-ui-manage-settings 3.0.62-dev → 3.0.64-dev
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/activity-logs/activity-logs.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/billing-details/billing-details.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/brand-details.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/brand-info/brand-info.component.mjs +3 -3
- package/esm2022/lib/components/brand-details/signatory-details/signatory-details.component.mjs +3 -3
- package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs +3 -3
- package/esm2022/lib/components/configurations/configurations.component.mjs +6 -4
- package/esm2022/lib/components/configurations/domain-details/domain-details.component.mjs +3 -3
- package/esm2022/lib/components/configurations/email-configuration/email-configuration.component.mjs +3 -3
- package/esm2022/lib/components/configurations/employee-training/employee-training.component.mjs +8 -21
- package/esm2022/lib/components/configurations/feature-configuration/feature-configuration.component.mjs +7 -5
- package/esm2022/lib/components/configurations/report-configuration/add-report/add-report.component.mjs +3 -3
- package/esm2022/lib/components/configurations/report-configuration/report-configuration.component.mjs +3 -3
- package/esm2022/lib/components/configurations/ticket-configuration/ticket-configuration.component.mjs +3 -3
- package/esm2022/lib/components/configurations/user-configuration/user-configuration.component.mjs +3 -3
- package/esm2022/lib/components/contact-directory/contact-directory.component.mjs +3 -3
- package/esm2022/lib/components/contact-directory/detele-spoc/detele-spoc.component.mjs +3 -3
- package/esm2022/lib/components/contact-directory/edit-spoc/edit-spoc.component.mjs +3 -3
- package/esm2022/lib/components/documents/documents.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/payments-subscription.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/add-stepprice/add-stepprice.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/credit-note/credit-note.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/model-content/model-content.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/multidropdown/multidropdown.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/need-help/need-help.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/pricing-revised/pricing-revised.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/product-confirmation/product-confirmation.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/skip-trail/skip-trail.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/subscription-approval/subscription-approval.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/successfull-subscription/successfull-subscription.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/suspended/suspended.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/trail-expired/trail-expired.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/trail-settings/trail-settings.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/unsubscribe-request/unsubscribe-request.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/update/update.component.mjs +3 -3
- package/esm2022/lib/components/payments-subscription/subscription-popups/upgrade-plan/upgrade-plan.component.mjs +3 -3
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +3 -3
- package/esm2022/lib/components/tango-manage-settings/tango-manage-settings.component.mjs +7 -5
- package/esm2022/lib/directives/dnd.directive.mjs +3 -3
- package/esm2022/lib/services/client-api.service.mjs +8 -8
- package/esm2022/lib/services/payment-subscription.service.mjs +3 -3
- package/esm2022/lib/tango-manage-settings-routing.module.mjs +4 -4
- package/esm2022/lib/tango-manage-settings.module.mjs +5 -5
- package/fesm2022/tango-app-ui-manage-settings.mjs +147 -154
- package/fesm2022/tango-app-ui-manage-settings.mjs.map +1 -1
- package/lib/components/configurations/employee-training/employee-training.component.d.ts +0 -5
- package/lib/components/tango-manage-settings/tango-manage-settings.component.d.ts +1 -0
- package/lib/services/client-api.service.d.ts +2 -2
- package/package.json +1 -1
package/esm2022/lib/components/configurations/audit-configuration/audit-configuration.component.mjs
CHANGED
|
@@ -155,10 +155,10 @@ export class AuditConfigurationComponent {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
159
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: AuditConfigurationComponent, selector: "lib-audit-configuration", viewQueries: [{ propertyName: "bulkUploadInput", first: true, predicate: ["bulkUploadInput"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"auditConfigForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"auditConfigForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"auditConfigForm.disabled ? auditConfigForm.enable() : auditConfigForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div *ngIf=\"!isMultiple\" class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"storeId\" class=\"form-label\">Store ID</label>\r\n <!-- <select (change)=\"onStoreChange($event)\" formControlName=\"storeId\" id=\"storeId\" class=\"form-select \"\r\n aria-label=\"Default select example\">\r\n <option *ngFor=\"let store of storeList\" [value]=\"store.storeId\">{{store.storeName}}</option>\r\n </select> -->\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [label]=\"'Stores'\" [searchField]=\"'storeName'\"\r\n [idField]=\"'storeId'\" [disabled]=\"auditConfigForm.get('storeId')?.disabled\"\r\n [selectedValues]=\"[selectedStore]\" (selected)=\"onStoreChange($event)\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"iteration\" class=\"form-label\">No of times for re-audit <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"iteration\" type=\"number\" class=\"form-control disabled-input\" id=\"iteration\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"ratio\" class=\"form-label\">Mapping Percentage <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"ratio\" type=\"number\" class=\"form-control disabled-input\" id=\"ratio\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"count\" class=\"form-label\">Audit Count / Store <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"count\" type=\"number\" class=\"form-control disabled-input\" id=\"count\"\r\n autocomplete=\"off\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div *ngIf=\"isMultiple\" class=\"row g-0\">\r\n <div class=\"col-5 mb-5 d-flex align-items-center\">\r\n <ul>\r\n <li class=\"mb-2\">\r\n 1. Use the template to upload multiple stores at once.\r\n </li>\r\n <li class=\"mb-2 d-flex\">\r\n 2. Download the template here - <a [href]=\"fileUploadTemplate\" class=\"d-flex\" href=\"\">\r\n <svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n Download Template\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n 3. Add your data to the Template File\r\n </li>\r\n <li class=\"mb-2\">\r\n 4. Upload it on the right for processing\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n <div class=\"col-2 d-flex justify-content-center align-items-center mb-5\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"76\" viewBox=\"0 0 1 76\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 2.74181e-06L1 76H0L0 2.74181e-06H1Z\"\r\n fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"col-5 mb-5\">\r\n\r\n <div class=\"drop-zone\" libDnd (fileDropped)=\"triggerBulkUploadInput()\">\r\n <svg class=\"mb-2\" width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4213_43399)\">\r\n <path\r\n d=\"M26.3335 26.3332L23.0002 22.9999M23.0002 22.9999L19.6669 26.3332M23.0002 22.9999V30.4999M29.9919 28.3249C30.8047 27.8818 31.4467 27.1806 31.8168 26.3321C32.1868 25.4835 32.2637 24.5359 32.0354 23.6388C31.807 22.7417 31.2865 21.9462 30.5558 21.3778C29.8251 20.8094 28.9259 20.5005 28.0002 20.4999H26.9502C26.698 19.5243 26.2278 18.6185 25.5752 17.8507C24.9225 17.0829 24.1042 16.4731 23.182 16.0671C22.2597 15.661 21.2573 15.4694 20.2503 15.5065C19.2433 15.5436 18.2578 15.8085 17.3679 16.2813C16.4779 16.7541 15.7068 17.4225 15.1124 18.2362C14.518 19.05 14.1158 19.9879 13.936 20.9794C13.7563 21.9709 13.8036 22.9903 14.0746 23.961C14.3455 24.9316 14.8329 25.8281 15.5002 26.5832\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4213_43399\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"mb-2\">\r\n <a (click)=\"triggerBulkUploadInput()\">Click to upload</a> \r\n <span class=\"t1\">or drag and drop</span>\r\n </div>\r\n <div class=\"mb-2\">the data added template file for processing.</div>\r\n <ng-container *ngIf=\"fileName\">\r\n <div class=\"mb-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"320\" height=\"1\" viewBox=\"0 0 320 1\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M320 1H0V0H320V1Z\" fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"mb-2 d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"37\" height=\"36\" viewBox=\"0 0 37 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M19.167 11.333H14.5003C14.1467 11.333 13.8076 11.4735 13.5575 11.7235C13.3075 11.9736 13.167 12.3127 13.167 12.6663V23.333C13.167 23.6866 13.3075 24.0258 13.5575 24.2758C13.8076 24.5259 14.1467 24.6663 14.5003 24.6663H22.5003C22.8539 24.6663 23.1931 24.5259 23.4431 24.2758C23.6932 24.0258 23.8337 23.6866 23.8337 23.333V15.9997M19.167 11.333L23.8337 15.9997M19.167 11.333V15.9997H23.8337\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"t3\">{{fileName}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <input [disabled]=\"auditConfigForm.disabled\" (change)=\"onBulkInputChange($event)\" class=\"d-none\"\r\n #bulkUploadInput type=\"file\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\">\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"auditConfigForm.enabled\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row align-items-start g-0 mb-2 mt-2\">\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n <div class=\"col-2 text-center\">\r\n Or\r\n </div>\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M24 20V22.6667C24 23.0203 23.8595 23.3594 23.6095 23.6095C23.3594 23.8595 23.0203 24 22.6667 24H13.3333C12.9797 24 12.6406 23.8595 12.3905 23.6095C12.1405 23.3594 12 23.0203 12 22.6667V20M21.3333 15.3333L18 12M18 12L14.6667 15.3333M18 12V20\"\r\n stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one\">\r\n <ng-container *ngIf=\"!isMultiple\">Add single store for configuration</ng-container>\r\n <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container>\r\n </div>\r\n </div>\r\n <div>\r\n <button (click)=\"isMultiple = !isMultiple\" class=\"btn btn-outline\">Click Here</button>\r\n </div>\r\n\r\n\r\n</div>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}hr{opacity:.15}.switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}ul{list-style:none}ul li{color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px}ul li a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px}.drop-zone{padding:16px 24px;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);display:flex;flex-direction:column;align-items:center}.drop-zone a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;cursor:pointer}.drop-zone .t1{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.drop-zone .t2{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.drop-zone .t3{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i6.DndDirective, selector: "[libDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
158
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditConfigurationComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i0.ChangeDetectorRef }, { token: i3.ToastService }, { token: i4.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
159
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AuditConfigurationComponent, selector: "lib-audit-configuration", viewQueries: [{ propertyName: "bulkUploadInput", first: true, predicate: ["bulkUploadInput"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"auditConfigForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"auditConfigForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"auditConfigForm.disabled ? auditConfigForm.enable() : auditConfigForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div *ngIf=\"!isMultiple\" class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"storeId\" class=\"form-label\">Store ID</label>\r\n <!-- <select (change)=\"onStoreChange($event)\" formControlName=\"storeId\" id=\"storeId\" class=\"form-select \"\r\n aria-label=\"Default select example\">\r\n <option *ngFor=\"let store of storeList\" [value]=\"store.storeId\">{{store.storeName}}</option>\r\n </select> -->\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [label]=\"'Stores'\" [searchField]=\"'storeName'\"\r\n [idField]=\"'storeId'\" [disabled]=\"auditConfigForm.get('storeId')?.disabled\"\r\n [selectedValues]=\"[selectedStore]\" (selected)=\"onStoreChange($event)\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"iteration\" class=\"form-label\">No of times for re-audit <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"iteration\" type=\"number\" class=\"form-control disabled-input\" id=\"iteration\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"ratio\" class=\"form-label\">Mapping Percentage <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"ratio\" type=\"number\" class=\"form-control disabled-input\" id=\"ratio\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"count\" class=\"form-label\">Audit Count / Store <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"count\" type=\"number\" class=\"form-control disabled-input\" id=\"count\"\r\n autocomplete=\"off\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div *ngIf=\"isMultiple\" class=\"row g-0\">\r\n <div class=\"col-5 mb-5 d-flex align-items-center\">\r\n <ul>\r\n <li class=\"mb-2\">\r\n 1. Use the template to upload multiple stores at once.\r\n </li>\r\n <li class=\"mb-2 d-flex\">\r\n 2. Download the template here - <a [href]=\"fileUploadTemplate\" class=\"d-flex\" href=\"\">\r\n <svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n Download Template\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n 3. Add your data to the Template File\r\n </li>\r\n <li class=\"mb-2\">\r\n 4. Upload it on the right for processing\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n <div class=\"col-2 d-flex justify-content-center align-items-center mb-5\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"76\" viewBox=\"0 0 1 76\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 2.74181e-06L1 76H0L0 2.74181e-06H1Z\"\r\n fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"col-5 mb-5\">\r\n\r\n <div class=\"drop-zone\" libDnd (fileDropped)=\"triggerBulkUploadInput()\">\r\n <svg class=\"mb-2\" width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4213_43399)\">\r\n <path\r\n d=\"M26.3335 26.3332L23.0002 22.9999M23.0002 22.9999L19.6669 26.3332M23.0002 22.9999V30.4999M29.9919 28.3249C30.8047 27.8818 31.4467 27.1806 31.8168 26.3321C32.1868 25.4835 32.2637 24.5359 32.0354 23.6388C31.807 22.7417 31.2865 21.9462 30.5558 21.3778C29.8251 20.8094 28.9259 20.5005 28.0002 20.4999H26.9502C26.698 19.5243 26.2278 18.6185 25.5752 17.8507C24.9225 17.0829 24.1042 16.4731 23.182 16.0671C22.2597 15.661 21.2573 15.4694 20.2503 15.5065C19.2433 15.5436 18.2578 15.8085 17.3679 16.2813C16.4779 16.7541 15.7068 17.4225 15.1124 18.2362C14.518 19.05 14.1158 19.9879 13.936 20.9794C13.7563 21.9709 13.8036 22.9903 14.0746 23.961C14.3455 24.9316 14.8329 25.8281 15.5002 26.5832\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4213_43399\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"mb-2\">\r\n <a (click)=\"triggerBulkUploadInput()\">Click to upload</a> \r\n <span class=\"t1\">or drag and drop</span>\r\n </div>\r\n <div class=\"mb-2\">the data added template file for processing.</div>\r\n <ng-container *ngIf=\"fileName\">\r\n <div class=\"mb-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"320\" height=\"1\" viewBox=\"0 0 320 1\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M320 1H0V0H320V1Z\" fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"mb-2 d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"37\" height=\"36\" viewBox=\"0 0 37 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M19.167 11.333H14.5003C14.1467 11.333 13.8076 11.4735 13.5575 11.7235C13.3075 11.9736 13.167 12.3127 13.167 12.6663V23.333C13.167 23.6866 13.3075 24.0258 13.5575 24.2758C13.8076 24.5259 14.1467 24.6663 14.5003 24.6663H22.5003C22.8539 24.6663 23.1931 24.5259 23.4431 24.2758C23.6932 24.0258 23.8337 23.6866 23.8337 23.333V15.9997M19.167 11.333L23.8337 15.9997M19.167 11.333V15.9997H23.8337\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"t3\">{{fileName}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <input [disabled]=\"auditConfigForm.disabled\" (change)=\"onBulkInputChange($event)\" class=\"d-none\"\r\n #bulkUploadInput type=\"file\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\">\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"auditConfigForm.enabled\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row align-items-start g-0 mb-2 mt-2\">\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n <div class=\"col-2 text-center\">\r\n Or\r\n </div>\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M24 20V22.6667C24 23.0203 23.8595 23.3594 23.6095 23.6095C23.3594 23.8595 23.0203 24 22.6667 24H13.3333C12.9797 24 12.6406 23.8595 12.3905 23.6095C12.1405 23.3594 12 23.0203 12 22.6667V20M21.3333 15.3333L18 12M18 12L14.6667 15.3333M18 12V20\"\r\n stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one\">\r\n <ng-container *ngIf=\"!isMultiple\">Add single store for configuration</ng-container>\r\n <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container>\r\n </div>\r\n </div>\r\n <div>\r\n <button (click)=\"isMultiple = !isMultiple\" class=\"btn btn-outline\">Click Here</button>\r\n </div>\r\n\r\n\r\n</div>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}hr{opacity:.15}.switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}ul{list-style:none}ul li{color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px}ul li a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px}.drop-zone{padding:16px 24px;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);display:flex;flex-direction:column;align-items:center}.drop-zone a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;cursor:pointer}.drop-zone .t1{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.drop-zone .t2{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.drop-zone .t3{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i6.DndDirective, selector: "[libDnd]", outputs: ["fileDropped"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] });
|
|
160
160
|
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuditConfigurationComponent, decorators: [{
|
|
162
162
|
type: Component,
|
|
163
163
|
args: [{ selector: 'lib-audit-configuration', template: "<form [formGroup]=\"auditConfigForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"auditConfigForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button (click)=\"auditConfigForm.disabled ? auditConfigForm.enable() : auditConfigForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <div *ngIf=\"!isMultiple\" class=\"row\">\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"storeId\" class=\"form-label\">Store ID</label>\r\n <!-- <select (change)=\"onStoreChange($event)\" formControlName=\"storeId\" id=\"storeId\" class=\"form-select \"\r\n aria-label=\"Default select example\">\r\n <option *ngFor=\"let store of storeList\" [value]=\"store.storeId\">{{store.storeName}}</option>\r\n </select> -->\r\n <lib-select [items]=\"storeList\" [multi]=\"false\" [label]=\"'Stores'\" [searchField]=\"'storeName'\"\r\n [idField]=\"'storeId'\" [disabled]=\"auditConfigForm.get('storeId')?.disabled\"\r\n [selectedValues]=\"[selectedStore]\" (selected)=\"onStoreChange($event)\"></lib-select>\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"iteration\" class=\"form-label\">No of times for re-audit <span\r\n class=\"alert-required\"></span></label>\r\n <input formControlName=\"iteration\" type=\"number\" class=\"form-control disabled-input\" id=\"iteration\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"ratio\" class=\"form-label\">Mapping Percentage <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"ratio\" type=\"number\" class=\"form-control disabled-input\" id=\"ratio\"\r\n autocomplete=\"off\">\r\n </div>\r\n <div class=\"col-md-12 col-lg-6 col-xl-6 col-xxl-6 mb-5\">\r\n <label for=\"count\" class=\"form-label\">Audit Count / Store <span class=\"alert-required\"></span></label>\r\n <input formControlName=\"count\" type=\"number\" class=\"form-control disabled-input\" id=\"count\"\r\n autocomplete=\"off\">\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n <div *ngIf=\"isMultiple\" class=\"row g-0\">\r\n <div class=\"col-5 mb-5 d-flex align-items-center\">\r\n <ul>\r\n <li class=\"mb-2\">\r\n 1. Use the template to upload multiple stores at once.\r\n </li>\r\n <li class=\"mb-2 d-flex\">\r\n 2. Download the template here - <a [href]=\"fileUploadTemplate\" class=\"d-flex\" href=\"\">\r\n <svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\"\r\n fill=\"none\">\r\n <path\r\n d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M5.83333 8.33333L10 12.5M10 12.5L14.1667 8.33333M10 12.5V2.5\"\r\n stroke=\"#009BF3\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n Download Template\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n 3. Add your data to the Template File\r\n </li>\r\n <li class=\"mb-2\">\r\n 4. Upload it on the right for processing\r\n </li>\r\n </ul>\r\n\r\n </div>\r\n <div class=\"col-2 d-flex justify-content-center align-items-center mb-5\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1\" height=\"76\" viewBox=\"0 0 1 76\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1 2.74181e-06L1 76H0L0 2.74181e-06H1Z\"\r\n fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"col-5 mb-5\">\r\n\r\n <div class=\"drop-zone\" libDnd (fileDropped)=\"triggerBulkUploadInput()\">\r\n <svg class=\"mb-2\" width=\"46\" height=\"46\" viewBox=\"0 0 46 46\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" fill=\"#F2F4F7\" />\r\n <rect x=\"3\" y=\"3\" width=\"40\" height=\"40\" rx=\"20\" stroke=\"#F9FAFB\" stroke-width=\"6\" />\r\n <g clip-path=\"url(#clip0_4213_43399)\">\r\n <path\r\n d=\"M26.3335 26.3332L23.0002 22.9999M23.0002 22.9999L19.6669 26.3332M23.0002 22.9999V30.4999M29.9919 28.3249C30.8047 27.8818 31.4467 27.1806 31.8168 26.3321C32.1868 25.4835 32.2637 24.5359 32.0354 23.6388C31.807 22.7417 31.2865 21.9462 30.5558 21.3778C29.8251 20.8094 28.9259 20.5005 28.0002 20.4999H26.9502C26.698 19.5243 26.2278 18.6185 25.5752 17.8507C24.9225 17.0829 24.1042 16.4731 23.182 16.0671C22.2597 15.661 21.2573 15.4694 20.2503 15.5065C19.2433 15.5436 18.2578 15.8085 17.3679 16.2813C16.4779 16.7541 15.7068 17.4225 15.1124 18.2362C14.518 19.05 14.1158 19.9879 13.936 20.9794C13.7563 21.9709 13.8036 22.9903 14.0746 23.961C14.3455 24.9316 14.8329 25.8281 15.5002 26.5832\"\r\n stroke=\"#475467\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_4213_43399\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" transform=\"translate(13 13)\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <div class=\"mb-2\">\r\n <a (click)=\"triggerBulkUploadInput()\">Click to upload</a> \r\n <span class=\"t1\">or drag and drop</span>\r\n </div>\r\n <div class=\"mb-2\">the data added template file for processing.</div>\r\n <ng-container *ngIf=\"fileName\">\r\n <div class=\"mb-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"320\" height=\"1\" viewBox=\"0 0 320 1\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M320 1H0V0H320V1Z\" fill=\"#EAECF0\" />\r\n </svg>\r\n </div>\r\n <div class=\"mb-2 d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"37\" height=\"36\" viewBox=\"0 0 37 36\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2.5\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M19.167 11.333H14.5003C14.1467 11.333 13.8076 11.4735 13.5575 11.7235C13.3075 11.9736 13.167 12.3127 13.167 12.6663V23.333C13.167 23.6866 13.3075 24.0258 13.5575 24.2758C13.8076 24.5259 14.1467 24.6663 14.5003 24.6663H22.5003C22.8539 24.6663 23.1931 24.5259 23.4431 24.2758C23.6932 24.0258 23.8337 23.6866 23.8337 23.333V15.9997M19.167 11.333L23.8337 15.9997M19.167 11.333V15.9997H23.8337\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.33333\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"t3\">{{fileName}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <input [disabled]=\"auditConfigForm.disabled\" (change)=\"onBulkInputChange($event)\" class=\"d-none\"\r\n #bulkUploadInput type=\"file\"\r\n accept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\">\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"auditConfigForm.enabled\">\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row align-items-start g-0 mb-2 mt-2\">\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n <div class=\"col-2 text-center\">\r\n Or\r\n </div>\r\n <div class=\"col-5\">\r\n <hr>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"switch-form-card\">\r\n <div class=\"d-flex align-items-center\">\r\n <svg class=\"me-2\" width=\"36\" height=\"36\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" fill=\"#DAF1FF\" />\r\n <rect x=\"2\" y=\"2\" width=\"32\" height=\"32\" rx=\"16\" stroke=\"#EAF8FF\" stroke-width=\"4\" />\r\n <path\r\n d=\"M24 20V22.6667C24 23.0203 23.8595 23.3594 23.6095 23.6095C23.3594 23.8595 23.0203 24 22.6667 24H13.3333C12.9797 24 12.6406 23.8595 12.3905 23.6095C12.1405 23.3594 12 23.0203 12 22.6667V20M21.3333 15.3333L18 12M18 12L14.6667 15.3333M18 12V20\"\r\n stroke=\"#00A3FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <div class=\"txt-one\">\r\n <ng-container *ngIf=\"!isMultiple\">Add single store for configuration</ng-container>\r\n <ng-container *ngIf=\"isMultiple\">Upload multiple stores for configuration</ng-container>\r\n </div>\r\n </div>\r\n <div>\r\n <button (click)=\"isMultiple = !isMultiple\" class=\"btn btn-outline\">Click Here</button>\r\n </div>\r\n\r\n\r\n</div>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.form-select{font-size:1.1rem;font-weight:400;border-radius:8px!important;color:var(--Gray-500, #667085);border:1px solid var(--Gray-300, #D0D5DD)!important;height:45px}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{background-color:#f9fafb!important}hr{opacity:.15}.switch-form-card{padding:8px 16px;border-radius:4px;border-left:2px solid var(--Primary-600, #00A3FF);background:var(--Primary-25, #F6FCFF);display:flex;align-items:center;justify-content:space-between}.switch-form-card .txt-one{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:140%}ul{list-style:none}ul li{color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px}ul li a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px}.drop-zone{padding:16px 24px;border-radius:8px;border:1px solid var(--Gray-200, #EAECF0);background:var(--White, #FFF);display:flex;flex-direction:column;align-items:center}.drop-zone a{color:var(--Primary-700, #009BF3);font-size:14px;font-weight:600;line-height:20px;text-decoration-line:underline;cursor:pointer}.drop-zone .t1{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.drop-zone .t2{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.drop-zone .t3{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
|
164
164
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i0.ChangeDetectorRef }, { type: i3.ToastService }, { type: i4.GlobalStateService }], propDecorators: { bulkUploadInput: [{
|
|
@@ -93,6 +93,8 @@ export class ConfigurationsComponent {
|
|
|
93
93
|
isPasserByData: data?.featureConfigs?.isPasserByData,
|
|
94
94
|
isFootfallDirectory: data?.featureConfigs?.isFootfallDirectory,
|
|
95
95
|
isExcludedArea: data?.featureConfigs?.isExcludedArea,
|
|
96
|
+
isCameraDisabled: data?.featureConfigs?.isCameraDisabled,
|
|
97
|
+
isbillingDisabled: data?.featureConfigs?.isbillingDisabled,
|
|
96
98
|
updateFeatureConfig: data?.featureConfigs?.updateFeatureConfig
|
|
97
99
|
};
|
|
98
100
|
this.featureConfigPrevValues = obj;
|
|
@@ -186,14 +188,14 @@ export class ConfigurationsComponent {
|
|
|
186
188
|
}
|
|
187
189
|
return differentEntries;
|
|
188
190
|
}
|
|
189
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
190
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
191
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationsComponent, deps: [{ token: i1.ClientApiService }, { token: i2.ToastService }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
192
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfigurationsComponent, selector: "lib-configurations", viewQueries: [{ propertyName: "accordion", first: true, predicate: ["accordion"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div ngbAccordion #accordion=\"ngbAccordion\" [closeOthers]=\"true\" [destroyOnHide]=\"true\" (show)=\"openItem()\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6 \" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Audit Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-audit-configuration></lib-audit-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Employee Training</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-employee-training></lib-employee-training>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Ticket Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-ticket-configuration></lib-ticket-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Email Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-email-configuration></lib-email-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Report Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-report-configuration></lib-report-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >User Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-user-configuration></lib-user-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Domain Details</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-domain-details></lib-domain-details> \r\n </ng-template>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Feature Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-feature-configuration></lib-feature-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".settings-accordian-card{border-radius:10px;background:var(#FFF)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i5.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i5.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i5.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i5.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i5.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i6.AuditConfigurationComponent, selector: "lib-audit-configuration" }, { kind: "component", type: i7.TicketConfigurationComponent, selector: "lib-ticket-configuration" }, { kind: "component", type: i8.ReportConfigurationComponent, selector: "lib-report-configuration" }, { kind: "component", type: i9.UserConfigurationComponent, selector: "lib-user-configuration" }, { kind: "component", type: i10.FeatureConfigurationComponent, selector: "lib-feature-configuration" }, { kind: "component", type: i11.EmailConfigurationComponent, selector: "lib-email-configuration" }, { kind: "component", type: i12.EmployeeTrainingComponent, selector: "lib-employee-training" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
191
193
|
}
|
|
192
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationsComponent, decorators: [{
|
|
193
195
|
type: Component,
|
|
194
196
|
args: [{ selector: 'lib-configurations', template: "<div class=\"row\">\r\n <div class=\"col-12\">\r\n <div ngbAccordion #accordion=\"ngbAccordion\" [closeOthers]=\"true\" [destroyOnHide]=\"true\" (show)=\"openItem()\" >\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6 \" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Audit Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-audit-configuration></lib-audit-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Employee Training</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n \r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-employee-training></lib-employee-training>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Ticket Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-ticket-configuration></lib-ticket-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Email Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-email-configuration></lib-email-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Report Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-report-configuration></lib-report-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"(gs.userAccess | async)?.userType === 'tango' \" class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >User Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-user-configuration></lib-user-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Domain Details</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-domain-details></lib-domain-details> \r\n </ng-template>\r\n </div>\r\n </div>\r\n </div> -->\r\n <div class=\"settings-accordian-card mb-6\" ngbAccordionItem>\r\n <div class=\"d-flex\" ngbAccordionHeader>\r\n <button class=\"mainheading\" ngbAccordionButton>\r\n <div class=\"header-row\">\r\n <span >Feature Configuration</span>\r\n <span class=\"divider\"></span>\r\n </div>\r\n </button>\r\n </div>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-feature-configuration></lib-feature-configuration>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>", styles: [".settings-accordian-card{border-radius:10px;background:var(#FFF)}\n"] }]
|
|
195
197
|
}], ctorParameters: () => [{ type: i1.ClientApiService }, { type: i2.ToastService }, { type: i3.GlobalStateService }], propDecorators: { accordion: [{
|
|
196
198
|
type: ViewChild,
|
|
197
199
|
args: ['accordion', { static: true }]
|
|
198
200
|
}] } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLHVCQUF1QjtJQVdkO0lBQXFDO0lBQThCO0lBVnZGLFVBQVUsQ0FBTTtJQUNDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLHNCQUFzQixDQUFNO0lBQzVCLHVCQUF1QixDQUFNO0lBQzdCLHNCQUFzQixDQUFNO0lBQzVCLG9CQUFvQixDQUFNO0lBQ2dCLFNBQVMsQ0FBTTtJQUl6RCxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dC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R0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUN6RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3JDO2lCQUNKO3FCQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQzthQUNKO1NBQ0o7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7d0dBaE1ZLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGdMQ1hwQyw0L05BNklVOzs0RkRsSUcsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQjtpSkFXWSxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29uZmlndXJhdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maWd1cmF0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNsaWVudERhdGE6IGFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0aWNrZXRDb25maWdQcmV2VmFsdWVzOiBhbnk7XHJcbiAgZmVhdHVyZUNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBkb21haW5Db25maWdQcmV2VmFsdWVzOiBhbnk7XHJcbiAgdXNlckNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBAVmlld0NoaWxkKCdhY2NvcmRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb246IGFueTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudEFwaTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdFNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdEZvcm0oZSlcclxuICAgICAgfSBlbHNlIGlmIChlLnR5cGUgPT09ICdjYW5jZWwnKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oZSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnREYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUpIHtcclxuICAgICAgICB0aGlzLmNsaWVudERhdGEgPSBlXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuSXRlbSgpIHtcclxuICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgaW5zdGFsbGF0aW9uUmVBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/Lmluc3RhbGxhdGlvblJlQXNzaWduLFxyXG4gICAgICBzZW5kVG9BZG1pbjogZGF0YT8udGlja2V0Q29uZmlncz8uYWxlcnRTZW50VG8/LmFkbWluLFxyXG4gICAgICBzZW5kVG9Vc2VyOiBkYXRhPy50aWNrZXRDb25maWdzPy5hbGVydFNlbnRUbz8udXNlcixcclxuICAgICAgZG93blRpbWVUeXBlOiBkYXRhPy50aWNrZXRDb25maWdzPy5kb3duVGltZVR5cGUsXHJcbiAgICAgIGluZnJhRG93blRpbWU6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmluZnJhRG93blRpbWUsXHJcbiAgICAgIE1pbkZpbGVzQ291bnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/Lk1pbkZpbGVzQ291bnQsXHJcbiAgICAgIGlzUmNhVGlja2V0QXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1JjYVRpY2tldEFzc2lnbixcclxuICAgICAgcmNhVGlja2V0QXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5yY2FUaWNrZXRBc3NpZ24sXHJcbiAgICAgIGlzUmVmcmVzaEFsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1JlZnJlc2hBbGVydCxcclxuICAgICAgcmVmcmVzaEFsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5yZWZyZXNoQWxlcnQsXHJcbiAgICAgIGlzU3RhdHVzQ2hlY2tBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uaXNTdGF0dXNDaGVja0FsZXJ0LFxyXG4gICAgICBzdGF0dXNDaGVja0FsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5zdGF0dXNDaGVja0FsZXJ0LFxyXG4gICAgICByZVRyYWluOiBkYXRhPy50aWNrZXRDb25maWdzPy5yZVRyYWluLFxyXG4gICAgICBhY2N1cmFjeVBlcmNlbnRhZ2U6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFjY3VyYWN5UGVyY2VudGFnZSxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRpY2tldENvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICd0aWNrZXQtY29uZmlndXJhdGlvbicgfSlcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBvcGVuOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8ub3BlbixcclxuICAgICAgY2xvc2U6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jbG9zZSxcclxuICAgICAgaW5mcmFBbGVydENvbmRpdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LmNvbmRpdGlvbixcclxuICAgICAgaW5mcmFBbGVydFZhbHVlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaW5mcmFBbGVydD8udmFsdWUsXHJcbiAgICAgIGJvdW5jZWRMaW1pdENvbmRpdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8uY29uZGl0aW9uLFxyXG4gICAgICBib3VuY2VkTGltaXRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWUsXHJcbiAgICAgIGNvbnZlcnNpb25Db25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy5jb25kaXRpb24sXHJcbiAgICAgIGNvbnZlcnNpb25WYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlLFxyXG4gICAgICBiaWxsYWJsZUNhbGN1bGF0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uYmlsbGFibGVDYWxjdWxhdGlvbixcclxuICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24sXHJcbiAgICAgIGNvbnZlcnNpb25DYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb25DYWxjdWxhdGlvbixcclxuICAgICAgaXNOb3JtYWxpemVkOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOb3JtYWxpemVkLFxyXG4gICAgICBpc1Bhc3NlckJ5RGF0YTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzUGFzc2VyQnlEYXRhLFxyXG4gICAgICBpc0Zvb3RmYWxsRGlyZWN0b3J5OiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNGb290ZmFsbERpcmVjdG9yeSxcclxuICAgICAgaXNFeGNsdWRlZEFyZWE6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRXhjbHVkZWRBcmVhLFxyXG4gICAgICB1cGRhdGVGZWF0dXJlQ29uZmlnOmRhdGE/LmZlYXR1cmVDb25maWdzPy51cGRhdGVGZWF0dXJlQ29uZmlnXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mZWF0dXJlQ29uZmlnUHJldlZhbHVlcyA9IG9ialxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAnZmVhdHVyZS1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZG9tYWluTmFtZTogZGF0YT8uc3NvTG9naW4/LmRvbWFpbk5hbWUsXHJcbiAgICAgIGlzRW5hYmxlOiBkYXRhPy5zc29Mb2dpbj8uaXNFbmFibGUsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb21haW5Db25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAnZG9tYWluLWRldGFpbHMnIH0pXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgY3NtOiBkYXRhPy5hc3NpZ25lZFVzZXJzPy5jc20sXHJcbiAgICAgIG9wczogZGF0YT8uYXNzaWduZWRVc2Vycz8ub3BzLFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXNlckNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICd1c2VyLWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN1Ym1pdEZvcm0oZTogYW55KSB7XHJcbiAgICBpZiAoZS5mb3JtID09PSAndGlja2V0LWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMudGlja2V0Q29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSkgICAgIFxyXG4gICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICAgIH0gZWxzZVxyXG4gICAgICBpZiAoZS5mb3JtID09PSAnZmVhdHVyZS1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZmVhdHVyZUNvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpICAgICBcclxuICAgICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEuY2xpZW50SWQsIGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChlLmRhdGE/LnJlc3VsdClcclxuICAgICAgICAgICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiBudWxsLCB0eXBlOiAnc3VibWl0dGVkJywgZm9ybTogJ251bGwnIH0pXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRFcnJvclRvYXN0KGUuZXJyb3I/LmVycm9yKVxyXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICB9IGVsc2VcclxuICAgICAgICBpZiAoZS5mb3JtID09PSAnZG9tYWluLWRldGFpbHMnKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhID0gIHRoaXMuZ2V0RGlmZmVyZW50RW50cmllcyh0aGlzLmRvbWFpbkNvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpICAgICBcclxuICAgICAgICAgIHRoaXMuY2xpZW50QXBpLnVwZGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhLmNsaWVudElkLCBkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0U3VjY2Vzc1RvYXN0KGUuZGF0YT8ucmVzdWx0KVxyXG4gICAgICAgICAgICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogbnVsbCwgdHlwZTogJ3N1Ym1pdHRlZCcsIGZvcm06ICdudWxsJyB9KVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0RXJyb3JUb2FzdChlLmVycm9yPy5lcnJvcilcclxuICAgICAgICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICByZXNldEZvcm0oZTogYW55KSB7XHJcbiAgICBpZiAoZS5mb3JtID09PSAndGlja2V0LWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIH0gZWxzZVxyXG4gICAgICBpZiAoZS5mb3JtID09PSAnZmVhdHVyZS1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgIH0gZWxzZVxyXG4gICAgICAgIGlmIChlLmZvcm0gPT09ICdkb21haW4tZGV0YWlscycpIHtcclxuICAgICAgICAgIHRoaXMucG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICB9IGVsc2VcclxuICAgICAgICAgIGlmIChlLmZvcm0gPT09ICd1c2VyLWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5hY2NvcmRpb24uY29sbGFwc2VBbGwoKVxyXG5cclxuICB9XHJcblxyXG4gZ2V0RGlmZmVyZW50RW50cmllcyhvYmoxOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBvYmoyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICBjb25zdCBkaWZmZXJlbnRFbnRyaWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmoyKSB7XHJcbiAgICAgICAgaWYgKG9iajEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmoxW2tleV0pICYmIEFycmF5LmlzQXJyYXkob2JqMltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9iajFba2V5XSkgIT09IEpTT04uc3RyaW5naWZ5KG9iajJba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnRFbnRyaWVzW2tleV0gPSBvYmoyW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob2JqMVtrZXldICE9PSBvYmoyW2tleV0pIHtcclxuICAgICAgICAgICAgICAgIGRpZmZlcmVudEVudHJpZXNba2V5XSA9IG9iajJba2V5XTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaWZmZXJlbnRFbnRyaWVzO1xyXG59XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uICNhY2NvcmRpb249XCJuZ2JBY2NvcmRpb25cIiBbY2xvc2VPdGhlcnNdPVwidHJ1ZVwiIFtkZXN0cm95T25IaWRlXT1cInRydWVcIiAgKHNob3cpPVwib3Blbkl0ZW0oKVwiID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTYgXCIgIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5BdWRpdCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItYXVkaXQtY29uZmlndXJhdGlvbj48L2xpYi1hdWRpdC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbXBsb3llZSBUcmFpbmluZzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1wbG95ZWUtdHJhaW5pbmc+PC9saWItZW1wbG95ZWUtdHJhaW5pbmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlRpY2tldCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItdGlja2V0LWNvbmZpZ3VyYXRpb24+PC9saWItdGlja2V0LWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkVtYWlsIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1lbWFpbC1jb25maWd1cmF0aW9uPjwvbGliLWVtYWlsLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlJlcG9ydCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItcmVwb3J0LWNvbmZpZ3VyYXRpb24+PC9saWItcmVwb3J0LWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPlVzZXIgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXVzZXItY29uZmlndXJhdGlvbj48L2xpYi11c2VyLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiAgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkRvbWFpbiBEZXRhaWxzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi1kb21haW4tZGV0YWlscz48L2xpYi1kb21haW4tZGV0YWlscz4gICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+RmVhdHVyZSBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZmVhdHVyZS1jb25maWd1cmF0aW9uPjwvbGliLWZlYXR1cmUtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PiJdfQ==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXNldHRpbmdzL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1tYW5hZ2Utc2V0dGluZ3Mvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRMUMsTUFBTSxPQUFPLHVCQUF1QjtJQVdkO0lBQXFDO0lBQThCO0lBVnZGLFVBQVUsQ0FBTTtJQUNDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzFDLHNCQUFzQixDQUFNO0lBQzVCLHVCQUF1QixDQUFNO0lBQzdCLHNCQUFzQixDQUFNO0lBQzVCLG9CQUFvQixDQUFNO0lBQ2dCLFNBQVMsQ0FBTTtJQUl6RCxZQUFvQixTQUEyQixFQUFVLE9BQXFCLEVBQVMsRUFBcUI7UUFBeEYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDMUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dC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QUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ3RELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUN6RCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3JDO2lCQUNKO3FCQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQzthQUNKO1NBQ0o7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7d0dBbE1ZLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGdMQ1hwQyw0L05BNklVOzs0RkRsSUcsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLG9CQUFvQjtpSkFXWSxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENsaWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGllbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktc2hhcmVkJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29uZmlndXJhdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maWd1cmF0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2NvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGNsaWVudERhdGE6IGFueTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuICB0aWNrZXRDb25maWdQcmV2VmFsdWVzOiBhbnk7XHJcbiAgZmVhdHVyZUNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBkb21haW5Db25maWdQcmV2VmFsdWVzOiBhbnk7XHJcbiAgdXNlckNvbmZpZ1ByZXZWYWx1ZXM6IGFueTtcclxuICBAVmlld0NoaWxkKCdhY2NvcmRpb24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBhY2NvcmRpb246IGFueTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaWVudEFwaTogQ2xpZW50QXBpU2VydmljZSwgcHJpdmF0ZSB0b2FzdGVyOiBUb2FzdFNlcnZpY2UsIHB1YmxpYyBnczpHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdEZvcm0oZSlcclxuICAgICAgfSBlbHNlIGlmIChlLnR5cGUgPT09ICdjYW5jZWwnKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oZSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnREYXRhLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcclxuICAgICAgaWYgKGUpIHtcclxuICAgICAgICB0aGlzLmNsaWVudERhdGEgPSBlXHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZVRpY2tldENvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24oZSlcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICAgIHRoaXMucG9wdWxhdGVVc2VyQ29uZmlndXJhdGlvbihlKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBvcGVuSXRlbSgpIHtcclxuICAgIHRoaXMucG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgIHRoaXMucG9wdWxhdGVGZWF0dXJlQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVUaWNrZXRDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgaW5zdGFsbGF0aW9uUmVBc3NpZ246IGRhdGE/LnRpY2tldENvbmZpZ3M/Lmluc3RhbGxhdGlvblJlQXNzaWduLFxyXG4gICAgICBzZW5kVG9BZG1pbjogZGF0YT8udGlja2V0Q29uZmlncz8uYWxlcnRTZW50VG8/LmFkbWluLFxyXG4gICAgICBzZW5kVG9Vc2VyOiBkYXRhPy50aWNrZXRDb25maWdzPy5hbGVydFNlbnRUbz8udXNlcixcclxuICAgICAgZG93blRpbWVUeXBlOiBkYXRhPy50aWNrZXRDb25maWdzPy5kb3duVGltZVR5cGUsXHJcbiAgICAgIGluZnJhRG93blRpbWU6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmluZnJhRG93blRpbWUsXHJcbiAgICAgIE1pbkZpbGVzQ291bnQ6IGRhdGE/LnRpY2tldENvbmZpZ3M/Lk1pbkZpbGVzQ291bnQsXHJcbiAgICAgIGlzUmNhVGlja2V0QXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1JjYVRpY2tldEFzc2lnbixcclxuICAgICAgcmNhVGlja2V0QXNzaWduOiBkYXRhPy50aWNrZXRDb25maWdzPy5yY2FUaWNrZXRBc3NpZ24sXHJcbiAgICAgIGlzUmVmcmVzaEFsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5pc1JlZnJlc2hBbGVydCxcclxuICAgICAgcmVmcmVzaEFsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5yZWZyZXNoQWxlcnQsXHJcbiAgICAgIGlzU3RhdHVzQ2hlY2tBbGVydDogZGF0YT8udGlja2V0Q29uZmlncz8uaXNTdGF0dXNDaGVja0FsZXJ0LFxyXG4gICAgICBzdGF0dXNDaGVja0FsZXJ0OiBkYXRhPy50aWNrZXRDb25maWdzPy5zdGF0dXNDaGVja0FsZXJ0LFxyXG4gICAgICByZVRyYWluOiBkYXRhPy50aWNrZXRDb25maWdzPy5yZVRyYWluLFxyXG4gICAgICBhY2N1cmFjeVBlcmNlbnRhZ2U6IGRhdGE/LnRpY2tldENvbmZpZ3M/LmFjY3VyYWN5UGVyY2VudGFnZSxcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRpY2tldENvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICd0aWNrZXQtY29uZmlndXJhdGlvbicgfSlcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24oZGF0YTogYW55KSB7XHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBvcGVuOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8ub3BlbixcclxuICAgICAgY2xvc2U6IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jbG9zZSxcclxuICAgICAgaW5mcmFBbGVydENvbmRpdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmluZnJhQWxlcnQ/LmNvbmRpdGlvbixcclxuICAgICAgaW5mcmFBbGVydFZhbHVlOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaW5mcmFBbGVydD8udmFsdWUsXHJcbiAgICAgIGJvdW5jZWRMaW1pdENvbmRpdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8uY29uZGl0aW9uLFxyXG4gICAgICBib3VuY2VkTGltaXRWYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmJvdW5jZWRMaW1pdD8udmFsdWUsXHJcbiAgICAgIGNvbnZlcnNpb25Db25kaXRpb246IGRhdGE/LmZlYXR1cmVDb25maWdzPy5jb252ZXJzaW9uPy5jb25kaXRpb24sXHJcbiAgICAgIGNvbnZlcnNpb25WYWx1ZTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb24/LnZhbHVlLFxyXG4gICAgICBiaWxsYWJsZUNhbGN1bGF0aW9uOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uYmlsbGFibGVDYWxjdWxhdGlvbixcclxuICAgICAgbWlzc2VkT3Bwb3J0dW5pdHlDYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/Lm1pc3NlZE9wcG9ydHVuaXR5Q2FsY3VsYXRpb24sXHJcbiAgICAgIGNvbnZlcnNpb25DYWxjdWxhdGlvbjogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmNvbnZlcnNpb25DYWxjdWxhdGlvbixcclxuICAgICAgaXNOb3JtYWxpemVkOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNOb3JtYWxpemVkLFxyXG4gICAgICBpc1Bhc3NlckJ5RGF0YTogZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzUGFzc2VyQnlEYXRhLFxyXG4gICAgICBpc0Zvb3RmYWxsRGlyZWN0b3J5OiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNGb290ZmFsbERpcmVjdG9yeSxcclxuICAgICAgaXNFeGNsdWRlZEFyZWE6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzRXhjbHVkZWRBcmVhLFxyXG4gICAgICBpc0NhbWVyYURpc2FibGVkOiBkYXRhPy5mZWF0dXJlQ29uZmlncz8uaXNDYW1lcmFEaXNhYmxlZCxcclxuICAgICAgaXNiaWxsaW5nRGlzYWJsZWQ6ZGF0YT8uZmVhdHVyZUNvbmZpZ3M/LmlzYmlsbGluZ0Rpc2FibGVkLFxyXG4gICAgICB1cGRhdGVGZWF0dXJlQ29uZmlnOmRhdGE/LmZlYXR1cmVDb25maWdzPy51cGRhdGVGZWF0dXJlQ29uZmlnXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5mZWF0dXJlQ29uZmlnUHJldlZhbHVlcyA9IG9ialxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAnZmVhdHVyZS1jb25maWd1cmF0aW9uJyB9KVxyXG4gIH1cclxuXHJcbiAgcG9wdWxhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgZG9tYWluTmFtZTogZGF0YT8uc3NvTG9naW4/LmRvbWFpbk5hbWUsXHJcbiAgICAgIGlzRW5hYmxlOiBkYXRhPy5zc29Mb2dpbj8uaXNFbmFibGUsXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kb21haW5Db25maWdQcmV2VmFsdWVzID0gb2JqXHJcblxyXG4gICAgdGhpcy5jbGllbnRBcGkuY2xpZW50Rm9ybURhdGEubmV4dCh7IHZhbHVlOiB7IC4uLm9iaiB9LCB0eXBlOiAnaW5wdXQnLCBmb3JtOiAnZG9tYWluLWRldGFpbHMnIH0pXHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVVzZXJDb25maWd1cmF0aW9uKGRhdGE6IGFueSkge1xyXG4gICAgbGV0IG9iaiA9IHtcclxuICAgICAgY3NtOiBkYXRhPy5hc3NpZ25lZFVzZXJzPy5jc20sXHJcbiAgICAgIG9wczogZGF0YT8uYXNzaWduZWRVc2Vycz8ub3BzLFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXNlckNvbmZpZ1ByZXZWYWx1ZXMgPSBvYmpcclxuXHJcbiAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IHsgLi4ub2JqIH0sIHR5cGU6ICdpbnB1dCcsIGZvcm06ICd1c2VyLWNvbmZpZ3VyYXRpb24nIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN1Ym1pdEZvcm0oZTogYW55KSB7XHJcbiAgICBpZiAoZS5mb3JtID09PSAndGlja2V0LWNvbmZpZ3VyYXRpb24nKSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMudGlja2V0Q29uZmlnUHJldlZhbHVlcywgZS52YWx1ZSkgICAgIFxyXG4gICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVUaWNrZXRDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG5cclxuICAgIH0gZWxzZVxyXG4gICAgICBpZiAoZS5mb3JtID09PSAnZmVhdHVyZS1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IGRhdGEgPSAgdGhpcy5nZXREaWZmZXJlbnRFbnRyaWVzKHRoaXMuZmVhdHVyZUNvbmZpZ1ByZXZWYWx1ZXMsIGUudmFsdWUpXHJcbiAgICAgICAgdGhpcy5jbGllbnRBcGkudXBkYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhLmNsaWVudElkLCBkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5nZXRTdWNjZXNzVG9hc3QoZS5kYXRhPy5yZXN1bHQpXHJcbiAgICAgICAgICAgIHRoaXMuY2xpZW50QXBpLmNsaWVudEZvcm1EYXRhLm5leHQoeyB2YWx1ZTogbnVsbCwgdHlwZTogJ3N1Ym1pdHRlZCcsIGZvcm06ICdudWxsJyB9KVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZ2V0RXJyb3JUb2FzdChlLmVycm9yPy5lcnJvcilcclxuICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZUZlYXR1cmVDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgaWYgKGUuZm9ybSA9PT0gJ2RvbWFpbi1kZXRhaWxzJykge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9ICB0aGlzLmdldERpZmZlcmVudEVudHJpZXModGhpcy5kb21haW5Db25maWdQcmV2VmFsdWVzLCBlLnZhbHVlKSAgICAgXHJcbiAgICAgICAgICB0aGlzLmNsaWVudEFwaS51cGRhdGVEb21haW5EZXRhaWxDb25maWd1cmF0aW9uKHRoaXMuY2xpZW50RGF0YS5jbGllbnRJZCwgZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldFN1Y2Nlc3NUb2FzdChlLmRhdGE/LnJlc3VsdClcclxuICAgICAgICAgICAgICB0aGlzLmNsaWVudEFwaS5jbGllbnRGb3JtRGF0YS5uZXh0KHsgdmFsdWU6IG51bGwsIHR5cGU6ICdzdWJtaXR0ZWQnLCBmb3JtOiAnbnVsbCcgfSlcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy50b2FzdGVyLmdldEVycm9yVG9hc3QoZS5lcnJvcj8uZXJyb3IpXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3B1bGF0ZURvbWFpbkRldGFpbENvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKGU6IGFueSkge1xyXG4gICAgaWYgKGUuZm9ybSA9PT0gJ3RpY2tldC1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlVGlja2V0Q29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICB9IGVsc2VcclxuICAgICAgaWYgKGUuZm9ybSA9PT0gJ2ZlYXR1cmUtY29uZmlndXJhdGlvbicpIHtcclxuICAgICAgICB0aGlzLnBvcHVsYXRlRmVhdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICB9IGVsc2VcclxuICAgICAgICBpZiAoZS5mb3JtID09PSAnZG9tYWluLWRldGFpbHMnKSB7XHJcbiAgICAgICAgICB0aGlzLnBvcHVsYXRlRG9tYWluRGV0YWlsQ29uZmlndXJhdGlvbih0aGlzLmNsaWVudERhdGEpXHJcbiAgICAgICAgfSBlbHNlXHJcbiAgICAgICAgICBpZiAoZS5mb3JtID09PSAndXNlci1jb25maWd1cmF0aW9uJykge1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlVXNlckNvbmZpZ3VyYXRpb24odGhpcy5jbGllbnREYXRhKVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuYWNjb3JkaW9uLmNvbGxhcHNlQWxsKClcclxuXHJcbiAgfVxyXG5cclxuIGdldERpZmZlcmVudEVudHJpZXMob2JqMTogUmVjb3JkPHN0cmluZywgYW55Piwgb2JqMjogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgY29uc3QgZGlmZmVyZW50RW50cmllczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqMikge1xyXG4gICAgICAgIGlmIChvYmoxLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqMVtrZXldKSAmJiBBcnJheS5pc0FycmF5KG9iajJba2V5XSkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShvYmoxW2tleV0pICE9PSBKU09OLnN0cmluZ2lmeShvYmoyW2tleV0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlmZmVyZW50RW50cmllc1trZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9iajFba2V5XSAhPT0gb2JqMltrZXldKSB7XHJcbiAgICAgICAgICAgICAgICBkaWZmZXJlbnRFbnRyaWVzW2tleV0gPSBvYmoyW2tleV07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGlmZmVyZW50RW50cmllcztcclxufVxyXG5cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbiAjYWNjb3JkaW9uPVwibmdiQWNjb3JkaW9uXCIgW2Nsb3NlT3RoZXJzXT1cInRydWVcIiBbZGVzdHJveU9uSGlkZV09XCJ0cnVlXCIgIChzaG93KT1cIm9wZW5JdGVtKClcIiA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8udXNlclR5cGUgPT09ICd0YW5nbycgXCIgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02IFwiICBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+QXVkaXQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWF1ZGl0LWNvbmZpZ3VyYXRpb24+PC9saWItYXVkaXQtY29uZmlndXJhdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyBcIiBjbGFzcz1cInNldHRpbmdzLWFjY29yZGlhbi1jYXJkIG1iLTZcIiBuZ2JBY2NvcmRpb25JdGVtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIG5nYkFjY29yZGlvbkhlYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWFpbmhlYWRpbmdcIiBuZ2JBY2NvcmRpb25CdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItcm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiA+RW1wbG95ZWUgVHJhaW5pbmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWVtcGxveWVlLXRyYWluaW5nPjwvbGliLWVtcGxveWVlLXRyYWluaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5UaWNrZXQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXRpY2tldC1jb25maWd1cmF0aW9uPjwvbGliLXRpY2tldC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5FbWFpbCBDb25maWd1cmF0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Db2xsYXBzZT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZW1haWwtY29uZmlndXJhdGlvbj48L2xpYi1lbWFpbC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5SZXBvcnQgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlcG9ydC1jb25maWd1cmF0aW9uPjwvbGliLXJlcG9ydC1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/LnVzZXJUeXBlID09PSAndGFuZ28nIFwiIGNsYXNzPVwic2V0dGluZ3MtYWNjb3JkaWFuLWNhcmQgbWItNlwiIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Vc2VyIENvbmZpZ3VyYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpYi11c2VyLWNvbmZpZ3VyYXRpb24+PC9saWItdXNlci1jb25maWd1cmF0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgIG5nYkFjY29yZGlvbkl0ZW0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtYWluaGVhZGluZ1wiIG5nYkFjY29yZGlvbkJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuID5Eb21haW4gRGV0YWlsczwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZG9tYWluLWRldGFpbHM+PC9saWItZG9tYWluLWRldGFpbHM+ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1hY2NvcmRpYW4tY2FyZCBtYi02XCIgbmdiQWNjb3JkaW9uSXRlbT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1haW5oZWFkaW5nXCIgbmdiQWNjb3JkaW9uQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gPkZlYXR1cmUgQ29uZmlndXJhdGlvbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25Cb2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZlYXR1cmUtY29uZmlndXJhdGlvbj48L2xpYi1mZWF0dXJlLWNvbmZpZ3VyYXRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4iXX0=
|
|
@@ -77,10 +77,10 @@ export class DomainDetailsComponent {
|
|
|
77
77
|
this.domainDetailsForm.value.domainName = this.allowedDomains;
|
|
78
78
|
this.apiService.clientFormData.next({ value: this.domainDetailsForm.value, type: 'submit', form: 'domain-details' });
|
|
79
79
|
}
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DomainDetailsComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ClientApiService }, { token: i3.GlobalStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DomainDetailsComponent, selector: "lib-domain-details", ngImport: i0, template: "<form [formGroup]=\"domainDetailsForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"domainDetailsForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"domainDetailsForm.disabled ? domainDetailsForm.enable() : domainDetailsForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 mb-5\">\r\n <div class=\"outer-container\">\r\n <div class=\" input-container form-control\">\r\n <ng-container *ngFor=\"let domain of allowedDomains; let i = index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{domain}}</span>\r\n <span *ngIf=\"domainDetailsForm.enabled\" (click)=\"removeChip(i)\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" formControlName=\"domainName\" (keydown)=\"onKeyDown($event)\" type=\"text\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 mb-5\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <label class=\"sso-label me-5\" for=\"isPasserByData\">SSO Login</label>\r\n <div class=\"form-check form-switch\">\r\n <input formControlName=\"isEnable\" class=\"form-check-input\" type=\"checkbox\"\r\n id=\"isPasserByData\">\r\n </div>\r\n </div>\r\n <div class=\"sso-sub\">Turn on will only allow SSO as default login</div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"domainDetailsForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
82
82
|
}
|
|
83
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DomainDetailsComponent, decorators: [{
|
|
84
84
|
type: Component,
|
|
85
85
|
args: [{ selector: 'lib-domain-details', template: "<form [formGroup]=\"domainDetailsForm\">\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"(gs.userAccess | async)?.settings_configuration_isEdit \" >\r\n <div *ngIf=\"domainDetailsForm.disabled\" class=\"col-12 mb-5\">\r\n <div class=\" d-flex justify-content-end\">\r\n <button\r\n (click)=\"domainDetailsForm.disabled ? domainDetailsForm.enable() : domainDetailsForm.disable()\"\r\n type=\"button\" class=\"btn btn-outline align-items-end\"><span class=\"me-2\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_2579_25125)\">\r\n <path\r\n d=\"M14.167 2.49993C14.3859 2.28106 14.6457 2.10744 14.9317 1.98899C15.2176 1.87054 15.5241 1.80957 15.8337 1.80957C16.1432 1.80957 16.4497 1.87054 16.7357 1.98899C17.0216 2.10744 17.2815 2.28106 17.5003 2.49993C17.7192 2.7188 17.8928 2.97863 18.0113 3.2646C18.1297 3.55057 18.1907 3.85706 18.1907 4.16659C18.1907 4.47612 18.1297 4.78262 18.0113 5.06859C17.8928 5.35455 17.7192 5.61439 17.5003 5.83326L6.25033 17.0833L1.66699 18.3333L2.91699 13.7499L14.167 2.49993Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_2579_25125\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg></span>Edit Details</button>\r\n </div>\r\n </div> \r\n </ng-container>\r\n\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 mb-5\">\r\n <div class=\"outer-container\">\r\n <div class=\" input-container form-control\">\r\n <ng-container *ngFor=\"let domain of allowedDomains; let i = index\">\r\n <span class=\"chip\">\r\n <span class=\"me-3\">{{domain}}</span>\r\n <span *ngIf=\"domainDetailsForm.enabled\" (click)=\"removeChip(i)\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M9 3L3 9M3 3L9 9\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg>\r\n </span>\r\n </span>\r\n </ng-container>\r\n <input style=\"min-height: 44px;\" formControlName=\"domainName\" (keydown)=\"onKeyDown($event)\" type=\"text\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 col-lg-12 col-xl-12 col-xxl-12 mb-5\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <label class=\"sso-label me-5\" for=\"isPasserByData\">SSO Login</label>\r\n <div class=\"form-check form-switch\">\r\n <input formControlName=\"isEnable\" class=\"form-check-input\" type=\"checkbox\"\r\n id=\"isPasserByData\">\r\n </div>\r\n </div>\r\n <div class=\"sso-sub\">Turn on will only allow SSO as default login</div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"domainDetailsForm.enabled\">\r\n <div class=\"mb-5 w-100 footer-seperator\"></div>\r\n <div class=\"d-flex justify-content-end\">\r\n <a type=\"button\" class=\"btn btn-outline mt-1 me-4\" (click)=\"onCancel()\">Cancel</a>\r\n <a type=\"submit\" class=\"btn btn-primary px-4 \" (click)=\"onSubmit()\"><span>Save Changes</span></a>\r\n </div>\r\n </div>\r\n\r\n</form>", styles: [".form-control{display:block;height:45px;padding:.5rem 1rem;font-size:1.1rem;font-weight:400;color:var(--Gray-500, #667085);-webkit-appearance:none;appearance:none;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control[disabled]{background-color:#f9fafb!important}.is-invalid{border-radius:8px!important;border:1px solid var(--Error-300, #FDA29B)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;padding-right:calc(1.5em + .75rem)!important;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzIyMDFfMjA5NTApIj4KPHBhdGggZD0iTTcuOTk5NjcgNS4zMzM5OFY4LjAwMDY1TTcuOTk5NjcgMTAuNjY3M0g4LjAwNjM0TTE0LjY2NjMgOC4wMDA2NUMxNC42NjYzIDExLjY4MjYgMTEuNjgxNiAxNC42NjczIDcuOTk5NjcgMTQuNjY3M0M0LjMxNzc4IDE0LjY2NzMgMS4zMzMwMSAxMS42ODI2IDEuMzMzMDEgOC4wMDA2NUMxLjMzMzAxIDQuMzE4NzUgNC4zMTc3OCAxLjMzMzk4IDcuOTk5NjcgMS4zMzM5OEMxMS42ODE2IDEuMzMzOTggMTQuNjY2MyA0LjMxODc1IDE0LjY2NjMgOC4wMDA2NVoiIHN0cm9rZT0iI0YwNDQzOCIgc3Ryb2tlLXdpZHRoPSIxLjMzMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8yMjAxXzIwOTUwIj4KPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=)!important;background-repeat:no-repeat!important;background-position:right calc(.375em + .1875rem) center!important;background-size:calc(.75em + .375rem) calc(.75em + .375rem)!important}small{color:var(--Error-500, #F04438)!important;font-size:14px!important;font-weight:400!important;line-height:20px;display:block;margin-top:6px}.cancel{border-radius:8px;border:1px solid #D0D5DD;background:#fff;color:#344054;font-family:Inter;font-size:14px;font-weight:600;line-height:20px;text-transform:capitalize}.apply{color:#fff;font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px;text-transform:capitalize}.footer-seperator{border-top:1px solid #EAECF0}:host{width:100%;height:100%}.outer-container{position:relative}.outer-container .form-control{padding-top:0;padding-bottom:0}.outer-container .input-container{border:1px solid black;height:100%;width:100%;display:flex;flex-wrap:wrap}.outer-container .input-container input{all:unset;flex:1;min-width:50px}.outer-container .input-container .chip{margin:10px 0 10px 10px;padding:3px 10px;border-radius:16px;background:var(--Gray-100, #F2F4F7);color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-weight:500;line-height:20px}.outer-container .input-container .chip:nth-child(1){margin-left:0}.sso-label{color:var(--Gray-700, #344054);font-family:Inter;font-size:18px;font-weight:600;line-height:28px}.sso-sub{color:var(--Gray-500, #667085);font-family:Inter;font-size:16px;font-weight:500;line-height:24px}\n"] }]
|
|
86
86
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.ClientApiService }, { type: i3.GlobalStateService }] });
|