tango-app-ui-shared 3.0.3 → 3.0.4

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.
Files changed (41) hide show
  1. package/esm2022/lib/modules/common/common-shared.module.mjs +30 -0
  2. package/esm2022/lib/modules/common/custom-select/custom-select.component.mjs +134 -0
  3. package/esm2022/lib/modules/common/filters/filters.component.mjs +154 -0
  4. package/esm2022/lib/modules/common/pagination/pagination.component.mjs +48 -0
  5. package/esm2022/lib/modules/layout/header/header-menu/header-menu.component.mjs +3 -3
  6. package/esm2022/lib/modules/layout/header/page-title/page-title.component.mjs +2 -2
  7. package/esm2022/lib/modules/layout/layout/layout.component.mjs +3 -3
  8. package/esm2022/lib/modules/layout/layout.module.mjs +22 -5
  9. package/esm2022/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.mjs +11 -5
  10. package/esm2022/lib/modules/layout/sidebar/sidebar.component.mjs +3 -3
  11. package/esm2022/lib/modules/layout/toolbar/accounting/accounting.component.mjs +4 -3
  12. package/esm2022/lib/modules/layout/toolbar/classic/classic.component.mjs +252 -48
  13. package/esm2022/lib/modules/layout/toolbar/client-settings/client-settings.component.mjs +38 -0
  14. package/esm2022/lib/modules/layout/toolbar/extended/extended.component.mjs +4 -3
  15. package/esm2022/lib/modules/layout/toolbar/reports/reports.component.mjs +4 -3
  16. package/esm2022/lib/modules/layout/toolbar/saas/saas.component.mjs +4 -3
  17. package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +4 -8
  18. package/esm2022/lib/routes/route-wraper-modules/ticket-wrapper.module.mjs +18 -0
  19. package/esm2022/lib/routes/routing.mjs +5 -1
  20. package/esm2022/lib/services/auth.service.mjs +24 -4
  21. package/esm2022/lib/services/global-state.service.mjs +3 -1
  22. package/esm2022/lib/services/toast.service.mjs +66 -0
  23. package/esm2022/public-api.mjs +7 -1
  24. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs +21 -0
  25. package/fesm2022/tango-app-ui-shared-ticket-wrapper.module-BLrWsK0B.mjs.map +1 -0
  26. package/fesm2022/tango-app-ui-shared.mjs +832 -141
  27. package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
  28. package/lib/modules/common/common-shared.module.d.ts +12 -0
  29. package/lib/modules/common/custom-select/custom-select.component.d.ts +29 -0
  30. package/lib/modules/common/filters/filters.component.d.ts +32 -0
  31. package/lib/modules/common/pagination/pagination.component.d.ts +17 -0
  32. package/lib/modules/layout/layout.module.d.ts +11 -7
  33. package/lib/modules/layout/sidebar/sidebar-footer/sidebar-footer.component.d.ts +2 -0
  34. package/lib/modules/layout/toolbar/classic/classic.component.d.ts +36 -17
  35. package/lib/modules/layout/toolbar/client-settings/client-settings.component.d.ts +15 -0
  36. package/lib/routes/route-wraper-modules/ticket-wrapper.module.d.ts +7 -0
  37. package/lib/services/auth.service.d.ts +8 -1
  38. package/lib/services/global-state.service.d.ts +2 -0
  39. package/lib/services/toast.service.d.ts +9 -0
  40. package/package.json +1 -1
  41. package/public-api.d.ts +6 -0
@@ -1,15 +1,16 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../keenicon/keenicon.component";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "../../keenicon/keenicon.component";
4
5
  export class AccountingComponent {
5
6
  constructor() { }
6
7
  ngOnInit() {
7
8
  }
8
9
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AccountingComponent, selector: "lib-accounting", ngImport: i0, template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "component", type: i2.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
10
11
  }
11
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AccountingComponent, decorators: [{
12
13
  type: Component,
13
14
  args: [{ selector: 'lib-accounting', template: "<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-3 d-none d-md-block\">Actions:</span>\r\n <!--end::Label-->\r\n\r\n <!--begin::Actions-->\r\n <div class=\"d-flex flex-shrink-0\">\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Add a team member\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"plus-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Create new account\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"gen037.svg\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n\r\n <!--begin::Button-->\r\n <div data-bs-toggle=\"tooltip\" data-bs-placement=\"top\" data-bs-trigger=\"hover\" title=\"Invite friends\">\r\n <a href=\"#\" class=\"btn btn-sm btn-icon btn-active-color-success\">\r\n <lib-keenicon name=\"dots-square\" class=\"fs-2x\"></lib-keenicon>\r\n </a>\r\n </div>\r\n <!--end::Button-->\r\n </div>\r\n <!--end::Actions-->\r\n</div>\r\n<!--end::Input group-->\r\n\r\n<!--begin::Input group-->\r\n<div class=\"d-flex align-items-center flex-shrink-0\">\r\n <!--begin::Desktop separartor-->\r\n <div class=\"bullet bg-secondary h-35px w-1px mx-5\"></div>\r\n <!--end::Desktop separartor-->\r\n\r\n <!--begin::Label-->\r\n <span class=\"fs-7 text-gray-700 fw-bold pe-4 ps-1 d-none d-md-block\">Progress:</span>\r\n <!--end::Label-->\r\n\r\n <div class=\"progress w-100px w-xl-150px w-xxl-300px h-25px bg-light-success\">\r\n <div class=\"progress-bar rounded bg-success fs-7 fw-bold\" role=\"progressbar\" style=\"width: 72%;\" aria-valuenow=\"72\"\r\n aria-valuemin=\"0\" aria-valuemax=\"100\">72%</div>\r\n </div>\r\n</div>\r\n<!--end::Input group-->\r\n<!--end::Toolbar start-->\r\n\r\n<!--begin::Toolbar end-->\r\n<div class=\"d-flex align-items-center\">\r\n <!--begin::Input group-->\r\n <div class=\"me-3\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid\" data-control=\"select2\" data-placeholder=\"Latest\"\r\n data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Today 16 Feb</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Select-->\r\n </div>\r\n <!--end::Input group--->\r\n\r\n <!--begin::Input group--->\r\n <div class=\"m-0\">\r\n <!--begin::Select-->\r\n <select class=\"form-select form-select-sm form-select-solid w-md-125px\" data-control=\"select2\"\r\n data-placeholder=\"Filters\" data-hide-search=\"true\">\r\n <option value=\"\"></option>\r\n <option value=\"1\" selected>Filters</option>\r\n <option value=\"2\">In Progress</option>\r\n <option value=\"3\">Done</option>\r\n </select>\r\n <!--end::Content-->\r\n </div>\r\n <!--end::Input group--->\r\n</div>\r\n" }]
14
15
  }], ctorParameters: () => [] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9hY2NvdW50aW5nL2FjY291bnRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7OztBQU9sRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO3VHQUpVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHNEQ1BoQyxpd0dBb0ZBOzsyRkQ3RWEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY2NvdW50aW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3VudGluZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudGluZy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvdW50aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS1iZWdpbjo6SW5wdXQgZ3JvdXAtLT5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1zaHJpbmstMFwiPlxyXG4gIDwhLS1iZWdpbjo6TGFiZWwtLT5cclxuICA8c3BhbiBjbGFzcz1cImZzLTcgdGV4dC1ncmF5LTcwMCBmdy1ib2xkIHBlLTMgZC1ub25lIGQtbWQtYmxvY2tcIj5BY3Rpb25zOjwvc3Bhbj5cclxuICA8IS0tZW5kOjpMYWJlbC0tPlxyXG5cclxuICA8IS0tYmVnaW46OkFjdGlvbnMtLT5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtc2hyaW5rLTBcIj5cclxuICAgIDwhLS1iZWdpbjo6QnV0dG9uLS0+XHJcbiAgICA8ZGl2IGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtYnMtcGxhY2VtZW50PVwidG9wXCIgZGF0YS1icy10cmlnZ2VyPVwiaG92ZXJcIiB0aXRsZT1cIkFkZCBhIHRlYW0gbWVtYmVyXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3Itc3VjY2Vzc1wiPlxyXG4gICAgICAgIDxsaWIta2Vlbmljb24gbmFtZT1cInBsdXMtc3F1YXJlXCIgY2xhc3M9XCJmcy0yeFwiPjwvbGliLWtlZW5pY29uPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OkJ1dHRvbi0tPlxyXG5cclxuICAgIDwhLS1iZWdpbjo6QnV0dG9uLS0+XHJcbiAgICA8ZGl2IGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtYnMtcGxhY2VtZW50PVwidG9wXCIgZGF0YS1icy10cmlnZ2VyPVwiaG92ZXJcIiB0aXRsZT1cIkNyZWF0ZSBuZXcgYWNjb3VudFwiPlxyXG4gICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXN1Y2Nlc3NcIj5cclxuICAgICAgICA8bGliLWtlZW5pY29uIG5hbWU9XCJnZW4wMzcuc3ZnXCIgY2xhc3M9XCJmcy0yeFwiPjwvbGliLWtlZW5pY29uPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OkJ1dHRvbi0tPlxyXG5cclxuICAgIDwhLS1iZWdpbjo6QnV0dG9uLS0+XHJcbiAgICA8ZGl2IGRhdGEtYnMtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtYnMtcGxhY2VtZW50PVwidG9wXCIgZGF0YS1icy10cmlnZ2VyPVwiaG92ZXJcIiB0aXRsZT1cIkludml0ZSBmcmllbmRzXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3Itc3VjY2Vzc1wiPlxyXG4gICAgICAgIDxsaWIta2Vlbmljb24gbmFtZT1cImRvdHMtc3F1YXJlXCIgY2xhc3M9XCJmcy0yeFwiPjwvbGliLWtlZW5pY29uPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OkJ1dHRvbi0tPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OkFjdGlvbnMtLT5cclxuPC9kaXY+XHJcbjwhLS1lbmQ6OklucHV0IGdyb3VwLS0+XHJcblxyXG48IS0tYmVnaW46OklucHV0IGdyb3VwLS0+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtc2hyaW5rLTBcIj5cclxuICA8IS0tYmVnaW46OkRlc2t0b3Agc2VwYXJhcnRvci0tPlxyXG4gIDxkaXYgY2xhc3M9XCJidWxsZXQgYmctc2Vjb25kYXJ5IGgtMzVweCB3LTFweCBteC01XCI+PC9kaXY+XHJcbiAgPCEtLWVuZDo6RGVza3RvcCBzZXBhcmFydG9yLS0+XHJcblxyXG4gIDwhLS1iZWdpbjo6TGFiZWwtLT5cclxuICA8c3BhbiBjbGFzcz1cImZzLTcgdGV4dC1ncmF5LTcwMCBmdy1ib2xkIHBlLTQgcHMtMSBkLW5vbmUgZC1tZC1ibG9ja1wiPlByb2dyZXNzOjwvc3Bhbj5cclxuICA8IS0tZW5kOjpMYWJlbC0tPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mgdy0xMDBweCB3LXhsLTE1MHB4IHcteHhsLTMwMHB4IGgtMjVweCBiZy1saWdodC1zdWNjZXNzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyIHJvdW5kZWQgYmctc3VjY2VzcyBmcy03IGZ3LWJvbGRcIiByb2xlPVwicHJvZ3Jlc3NiYXJcIiBzdHlsZT1cIndpZHRoOiA3MiU7XCIgYXJpYS12YWx1ZW5vdz1cIjcyXCJcclxuICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIiBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+NzIlPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpJbnB1dCBncm91cC0tPlxyXG48IS0tZW5kOjpUb29sYmFyIHN0YXJ0LS0+XHJcblxyXG48IS0tYmVnaW46OlRvb2xiYXIgZW5kLS0+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgPCEtLWJlZ2luOjpJbnB1dCBncm91cC0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtZS0zXCI+XHJcbiAgICA8IS0tYmVnaW46OlNlbGVjdC0tPlxyXG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0LXNvbGlkXCIgZGF0YS1jb250cm9sPVwic2VsZWN0MlwiIGRhdGEtcGxhY2Vob2xkZXI9XCJMYXRlc3RcIlxyXG4gICAgICBkYXRhLWhpZGUtc2VhcmNoPVwidHJ1ZVwiPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCIgc2VsZWN0ZWQ+VG9kYXkgMTYgRmViPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+SW4gUHJvZ3Jlc3M8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj5Eb25lPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICAgIDwhLS1lbmQ6OlNlbGVjdC0tPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OklucHV0IGdyb3VwLS0tPlxyXG5cclxuICA8IS0tYmVnaW46OklucHV0IGdyb3VwLS0tPlxyXG4gIDxkaXYgY2xhc3M9XCJtLTBcIj5cclxuICAgIDwhLS1iZWdpbjo6U2VsZWN0LS0+XHJcbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1zZWxlY3QgZm9ybS1zZWxlY3Qtc20gZm9ybS1zZWxlY3Qtc29saWQgdy1tZC0xMjVweFwiIGRhdGEtY29udHJvbD1cInNlbGVjdDJcIlxyXG4gICAgICBkYXRhLXBsYWNlaG9sZGVyPVwiRmlsdGVyc1wiIGRhdGEtaGlkZS1zZWFyY2g9XCJ0cnVlXCI+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj48L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIiBzZWxlY3RlZD5GaWx0ZXJzPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+SW4gUHJvZ3Jlc3M8L29wdGlvbj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj5Eb25lPC9vcHRpb24+XHJcbiAgICA8L3NlbGVjdD5cclxuICAgIDwhLS1lbmQ6OkNvbnRlbnQtLT5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpJbnB1dCBncm91cC0tLT5cclxuPC9kaXY+XHJcbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9hY2NvdW50aW5nL2FjY291bnRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvYWNjb3VudGluZy9hY2NvdW50aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPbEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQzt1R0FKVSxtQkFBbUI7MkZBQW5CLG1CQUFtQixzRENQaEMsaXdHQW9GQTs7MkZEN0VhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWNjb3VudGluZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY291bnRpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FjY291bnRpbmcuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3VudGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tYmVnaW46OklucHV0IGdyb3VwLS0+XHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtc2hyaW5rLTBcIj5cclxuICA8IS0tYmVnaW46OkxhYmVsLS0+XHJcbiAgPHNwYW4gY2xhc3M9XCJmcy03IHRleHQtZ3JheS03MDAgZnctYm9sZCBwZS0zIGQtbm9uZSBkLW1kLWJsb2NrXCI+QWN0aW9uczo8L3NwYW4+XHJcbiAgPCEtLWVuZDo6TGFiZWwtLT5cclxuXHJcbiAgPCEtLWJlZ2luOjpBY3Rpb25zLS0+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXNocmluay0wXCI+XHJcbiAgICA8IS0tYmVnaW46OkJ1dHRvbi0tPlxyXG4gICAgPGRpdiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLWJzLXBsYWNlbWVudD1cInRvcFwiIGRhdGEtYnMtdHJpZ2dlcj1cImhvdmVyXCIgdGl0bGU9XCJBZGQgYSB0ZWFtIG1lbWJlclwiPlxyXG4gICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXN1Y2Nlc3NcIj5cclxuICAgICAgICA8bGliLWtlZW5pY29uIG5hbWU9XCJwbHVzLXNxdWFyZVwiIGNsYXNzPVwiZnMtMnhcIj48L2xpYi1rZWVuaWNvbj5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpCdXR0b24tLT5cclxuXHJcbiAgICA8IS0tYmVnaW46OkJ1dHRvbi0tPlxyXG4gICAgPGRpdiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLWJzLXBsYWNlbWVudD1cInRvcFwiIGRhdGEtYnMtdHJpZ2dlcj1cImhvdmVyXCIgdGl0bGU9XCJDcmVhdGUgbmV3IGFjY291bnRcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1zdWNjZXNzXCI+XHJcbiAgICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiZ2VuMDM3LnN2Z1wiIGNsYXNzPVwiZnMtMnhcIj48L2xpYi1rZWVuaWNvbj5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpCdXR0b24tLT5cclxuXHJcbiAgICA8IS0tYmVnaW46OkJ1dHRvbi0tPlxyXG4gICAgPGRpdiBkYXRhLWJzLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLWJzLXBsYWNlbWVudD1cInRvcFwiIGRhdGEtYnMtdHJpZ2dlcj1cImhvdmVyXCIgdGl0bGU9XCJJbnZpdGUgZnJpZW5kc1wiPlxyXG4gICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXN1Y2Nlc3NcIj5cclxuICAgICAgICA8bGliLWtlZW5pY29uIG5hbWU9XCJkb3RzLXNxdWFyZVwiIGNsYXNzPVwiZnMtMnhcIj48L2xpYi1rZWVuaWNvbj5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tZW5kOjpCdXR0b24tLT5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpBY3Rpb25zLS0+XHJcbjwvZGl2PlxyXG48IS0tZW5kOjpJbnB1dCBncm91cC0tPlxyXG5cclxuPCEtLWJlZ2luOjpJbnB1dCBncm91cC0tPlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXNocmluay0wXCI+XHJcbiAgPCEtLWJlZ2luOjpEZXNrdG9wIHNlcGFyYXJ0b3ItLT5cclxuICA8ZGl2IGNsYXNzPVwiYnVsbGV0IGJnLXNlY29uZGFyeSBoLTM1cHggdy0xcHggbXgtNVwiPjwvZGl2PlxyXG4gIDwhLS1lbmQ6OkRlc2t0b3Agc2VwYXJhcnRvci0tPlxyXG5cclxuICA8IS0tYmVnaW46OkxhYmVsLS0+XHJcbiAgPHNwYW4gY2xhc3M9XCJmcy03IHRleHQtZ3JheS03MDAgZnctYm9sZCBwZS00IHBzLTEgZC1ub25lIGQtbWQtYmxvY2tcIj5Qcm9ncmVzczo8L3NwYW4+XHJcbiAgPCEtLWVuZDo6TGFiZWwtLT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzIHctMTAwcHggdy14bC0xNTBweCB3LXh4bC0zMDBweCBoLTI1cHggYmctbGlnaHQtc3VjY2Vzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhciByb3VuZGVkIGJnLXN1Y2Nlc3MgZnMtNyBmdy1ib2xkXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgc3R5bGU9XCJ3aWR0aDogNzIlO1wiIGFyaWEtdmFsdWVub3c9XCI3MlwiXHJcbiAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCIgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjcyJTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLWVuZDo6SW5wdXQgZ3JvdXAtLT5cclxuPCEtLWVuZDo6VG9vbGJhciBzdGFydC0tPlxyXG5cclxuPCEtLWJlZ2luOjpUb29sYmFyIGVuZC0tPlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gIDwhLS1iZWdpbjo6SW5wdXQgZ3JvdXAtLT5cclxuICA8ZGl2IGNsYXNzPVwibWUtM1wiPlxyXG4gICAgPCEtLWJlZ2luOjpTZWxlY3QtLT5cclxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLXNlbGVjdCBmb3JtLXNlbGVjdC1zbSBmb3JtLXNlbGVjdC1zb2xpZFwiIGRhdGEtY29udHJvbD1cInNlbGVjdDJcIiBkYXRhLXBsYWNlaG9sZGVyPVwiTGF0ZXN0XCJcclxuICAgICAgZGF0YS1oaWRlLXNlYXJjaD1cInRydWVcIj5cclxuICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiIHNlbGVjdGVkPlRvZGF5IDE2IEZlYjwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPkluIFByb2dyZXNzPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIzXCI+RG9uZTwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgICA8IS0tZW5kOjpTZWxlY3QtLT5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpJbnB1dCBncm91cC0tLT5cclxuXHJcbiAgPCEtLWJlZ2luOjpJbnB1dCBncm91cC0tLT5cclxuICA8ZGl2IGNsYXNzPVwibS0wXCI+XHJcbiAgICA8IS0tYmVnaW46OlNlbGVjdC0tPlxyXG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tc2VsZWN0IGZvcm0tc2VsZWN0LXNtIGZvcm0tc2VsZWN0LXNvbGlkIHctbWQtMTI1cHhcIiBkYXRhLWNvbnRyb2w9XCJzZWxlY3QyXCJcclxuICAgICAgZGF0YS1wbGFjZWhvbGRlcj1cIkZpbHRlcnNcIiBkYXRhLWhpZGUtc2VhcmNoPVwidHJ1ZVwiPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+PC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCIgc2VsZWN0ZWQ+RmlsdGVyczwvb3B0aW9uPlxyXG4gICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPkluIFByb2dyZXNzPC9vcHRpb24+XHJcbiAgICAgIDxvcHRpb24gdmFsdWU9XCIzXCI+RG9uZTwvb3B0aW9uPlxyXG4gICAgPC9zZWxlY3Q+XHJcbiAgICA8IS0tZW5kOjpDb250ZW50LS0+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLWVuZDo6SW5wdXQgZ3JvdXAtLS0+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,67 +1,271 @@
1
- import { Component } from '@angular/core';
1
+ import { Component, HostListener } from '@angular/core';
2
+ import * as dayjs from 'dayjs';
3
+ import 'dayjs/locale/en';
4
+ import utc from 'dayjs/plugin/utc';
5
+ import timezone from 'dayjs/plugin/timezone';
2
6
  import * as i0 from "@angular/core";
3
7
  import * as i1 from "tango-app-ui-metronics";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "../../keenicon/keenicon.component";
8
+ import * as i2 from "projects/tango-app-shared/src/lib/services/global-state.service";
9
+ import * as i3 from "projects/tango-app-shared/src/lib/services/auth.service";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@angular/forms";
12
+ import * as i6 from "ngx-daterangepicker-material";
13
+ dayjs.extend(utc);
14
+ dayjs.extend(timezone);
6
15
  export class ClassicComponent {
7
16
  layout;
17
+ globalService;
18
+ service;
8
19
  unsubscribe = [];
9
- appToolbarPrimaryButton;
10
- appToolbarPrimaryButtonLabel = '';
11
- appToolbarPrimaryButtonUrl = '';
12
- appToolbarPrimaryButtonModal = '';
13
- appToolbarSecondaryButton;
14
- appToolbarFixedDesktop;
15
- appToolbarSecondaryButtonLabel = '';
16
- appToolbarSecondaryButtonUrl = '';
17
- appToolbarSecondaryButtonModal = '';
18
- appToolbarFilterButton;
19
- appToolbarDaterangepickerButton;
20
- secondaryButtonClass = '';
21
- filterButtonClass = '';
22
- daterangepickerButtonClass = '';
23
- constructor(layout) {
20
+ dataObject = [
21
+ { Description: 'Clients', Issues: [] }
22
+ ];
23
+ isCustomDate;
24
+ dummyArray = [];
25
+ noFilter = false;
26
+ searchValue;
27
+ responseArray = [];
28
+ getClientList;
29
+ constructor(layout, globalService, service) {
24
30
  this.layout = layout;
31
+ this.globalService = globalService;
32
+ this.service = service;
25
33
  }
34
+ ngOnDestroy() {
35
+ this.unsubscribe.forEach((sb) => sb.unsubscribe());
36
+ }
37
+ // @Input() dataObject: any[] = [];
38
+ Opendropdown = false;
39
+ permission = [
40
+ { group: 'Super Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
41
+ { group: 'Admin', description: 'Lorem ipsum dolor sit amet, consectetur ' },
42
+ { group: 'User', description: 'Lorem ipsum dolor sit amet, consectetur ' },
43
+ ];
44
+ showdropdown;
45
+ selectedValues = [];
46
+ selectedValuesArray = [];
47
+ selectedDateRange = {};
48
+ selectedFilters = {
49
+ store: null,
50
+ stores: [],
51
+ date: null,
52
+ };
26
53
  ngOnInit() {
27
- this.updateProps();
54
+ this.service.getClients().subscribe({
55
+ next: (res) => {
56
+ this.getClientList = res?.data?.result;
57
+ this.dataObject[0].Issues = this.getClientList;
58
+ }
59
+ });
60
+ console.log(this.dataObject);
61
+ this.dummyArray = JSON.parse(JSON.stringify(this.dataObject));
62
+ this.responseArray = JSON.parse(JSON.stringify(this.dataObject));
63
+ // this.updateProps();
28
64
  const subscr = this.layout.layoutConfigSubject
29
65
  .asObservable()
30
66
  .subscribe(() => {
31
- this.updateProps();
67
+ // this.updateProps();
32
68
  });
33
69
  this.unsubscribe.push(subscr);
70
+ try {
71
+ // Parse dates from localStorage and format them
72
+ const headerFilters = JSON.parse(localStorage.getItem('header-filters') || '{}');
73
+ if (headerFilters.stores) {
74
+ this.selectedValuesArray = [headerFilters.stores];
75
+ }
76
+ if (headerFilters.date) {
77
+ this.globalService.dataRangeValue.next(this.selectedFilters);
78
+ this.selectedDateRange.startDate = headerFilters.date.startDate;
79
+ this.selectedDateRange.endDate = headerFilters.date.endDate;
80
+ }
81
+ }
82
+ catch (error) {
83
+ console.error('Error parsing dates from localStorage:', error);
84
+ // Handle parsing error, e.g., set default dates
85
+ // Example:
86
+ this.selectedDateRange.startDate = dayjs().format('MM-DD-YYYY');
87
+ this.selectedDateRange.endDate = dayjs().format('MM-DD-YYYY');
88
+ }
34
89
  }
35
- updateProps() {
36
- this.appToolbarPrimaryButton = this.layout.getProp('app.toolbar.primaryButton');
37
- this.appToolbarPrimaryButtonLabel = this.layout.getProp('app.toolbar.primaryButtonLabel');
38
- this.appToolbarPrimaryButtonUrl = this.layout.getProp('app.toolbar.primaryButtonUrl');
39
- this.appToolbarPrimaryButtonModal = this.layout.getProp('app.toolbar.primaryButtonModal');
40
- this.appToolbarSecondaryButton = this.layout.getProp('app.toolbar.secondaryButton');
41
- this.secondaryButtonClass = this.appToolbarFixedDesktop
42
- ? 'btn-light'
43
- : 'bg-body btn-color-gray-700 btn-active-color-primary';
44
- this.appToolbarFixedDesktop = this.layout.getProp('appToolbarFixedDesktop');
45
- this.appToolbarSecondaryButtonLabel = this.layout.getProp('appToolbarSecondaryButtonLabel');
46
- this.appToolbarSecondaryButtonUrl = this.layout.getProp('appToolbarSecondaryButtonUrl');
47
- this.appToolbarSecondaryButtonModal = this.layout.getProp('appToolbarSecondaryButtonModal');
48
- this.appToolbarFilterButton = this.layout.getProp('appToolbarFilterButton');
49
- this.appToolbarDaterangepickerButton = this.layout.getProp('appToolbarDaterangepickerButton');
50
- this.filterButtonClass = this.appToolbarFixedDesktop
51
- ? 'btn-light'
52
- : 'bg-body btn-color-gray-600 btn-active-color-primary';
53
- this.daterangepickerButtonClass = this.appToolbarFixedDesktop
54
- ? 'btn-light'
55
- : 'bg-body btn-color-gray-700 btn-active-color-primary';
90
+ onClick(event) {
91
+ const target = event.target;
92
+ if (!target.closest('.dropdown1')) {
93
+ this.Opendropdown = false;
94
+ }
95
+ if (!target.closest('.dropdown-content')) {
96
+ this.dataObject.forEach((item, i) => {
97
+ item.isOpen = false;
98
+ });
99
+ }
56
100
  }
57
- ngOnDestroy() {
58
- this.unsubscribe.forEach((sb) => sb.unsubscribe());
101
+ // ngOnInit() {
102
+ // console.log(this.dataObject,'obj');
103
+ // }
104
+ opendropdown(e) {
105
+ console.log(687);
106
+ e.stopPropagation();
107
+ this.Opendropdown = !this.Opendropdown;
108
+ }
109
+ Dropdown(value, index, event) {
110
+ event.stopPropagation();
111
+ this.dataObject.forEach((item, i) => {
112
+ if (i !== index) {
113
+ item.isOpen = false; // Close other dropdowns
114
+ }
115
+ });
116
+ this.dataObject[index].isOpen = !this.dataObject[index].isOpen;
117
+ // if (this.dataObject[index].isOpen) {
118
+ // document.addEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
119
+ // } else {
120
+ // document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
121
+ // }
122
+ }
123
+ // clickOutsideDropdownContent(index: number, event: Event) {
124
+ // if (!this.elementRef.nativeElement.contains(event.target as Node)) {
125
+ // this.dataObject[index].isOpen = false;
126
+ // document.removeEventListener('click', this.clickOutsideDropdownContent.bind(this, index));
127
+ // }
128
+ // }
129
+ searchData(event, i) {
130
+ const filteredIssues = this.dummyArray[i].Issues.filter((item) => new RegExp(event.target.value, 'i').test(item.clientId));
131
+ this.dataObject[i].Issues = filteredIssues;
132
+ if (filteredIssues.length) {
133
+ this.noFilter = false;
134
+ }
135
+ else {
136
+ this.noFilter = true;
137
+ }
138
+ }
139
+ toggleCheckbox(issue, index) {
140
+ const currentIssues = this.dataObject[index].Issues;
141
+ this.selectedValuesArray[index] = this.selectedValuesArray[index] || [];
142
+ const selectedValues = this.selectedValuesArray[index]; // Retrieve selected values array for the current dropdown index
143
+ if (issue === 'Select All') {
144
+ const currentIssues = this.dataObject[index].Issues.map((item) => item.clientId);
145
+ if (selectedValues.length === currentIssues.length) {
146
+ // If all items are already selected, deselect all
147
+ this.selectedValuesArray[index] = [];
148
+ }
149
+ else {
150
+ // Otherwise, select all items
151
+ this.selectedValuesArray[index] = [...currentIssues];
152
+ }
153
+ }
154
+ else {
155
+ if (selectedValues.includes(issue)) {
156
+ this.selectedValuesArray[index] = selectedValues.filter((item) => item !== issue); // Deselect the individual item if already selected
157
+ }
158
+ else {
159
+ this.selectedValuesArray[index].push(issue); // Select the individual item if not already selected
160
+ }
161
+ }
162
+ // Update "Select All" checkbox status based on selected values
163
+ const selectAllId = `selectall${index}`;
164
+ const selectAllElement = document.getElementById(selectAllId);
165
+ if (selectAllElement) {
166
+ selectAllElement.checked = selectedValues.length === currentIssues.length;
167
+ }
168
+ // Update checkboxes based on selected values
169
+ currentIssues.forEach((item) => {
170
+ const isChecked = this.selectedValuesArray[index].includes(item);
171
+ const checkboxId = `option${item}`;
172
+ const checkboxElement = document.getElementById(checkboxId);
173
+ if (checkboxElement) {
174
+ checkboxElement.checked = isChecked;
175
+ }
176
+ });
177
+ }
178
+ Reset() {
179
+ this.selectedValuesArray = [];
180
+ this.Opendropdown = false;
181
+ }
182
+ Apply() {
183
+ var selectedValue = [];
184
+ for (let i = 0; i < this.selectedValuesArray.length; i++) {
185
+ const selectedValues = this.selectedValuesArray[i];
186
+ const issues = this.dataObject[i].Issues;
187
+ if (selectedValues) {
188
+ this.selectedValuesArray[i] = selectedValues.map((selectedId) => {
189
+ const issue = issues.find((issueItem) => issueItem.clientId === selectedId);
190
+ selectedValue.push(issue);
191
+ return issue ? issue : ''; // Get the text corresponding to the id
192
+ });
193
+ }
194
+ }
195
+ this.globalService.dataRangeValue.next(this.selectedFilters);
196
+ console.log(this.selectedFilters);
197
+ this.Opendropdown = false;
198
+ this.selectedValuesArray.forEach((item, index) => {
199
+ item = item.map((ele) => ele.clientId);
200
+ this.selectedValuesArray[index] = item;
201
+ });
202
+ this.responseArray.forEach((item, index) => {
203
+ item.Issues = this.selectedValuesArray[index] ? this.selectedValuesArray[index] : [];
204
+ });
205
+ // this.selectedFilters.stores=this.responseArray
206
+ this.selectedFilters.stores = this.responseArray[0].Issues;
207
+ this.selectedFilters.date = this.selectedDateRange;
208
+ localStorage.setItem('header-filters', JSON.stringify(this.selectedFilters));
209
+ }
210
+ ranges = {
211
+ 'Today': [dayjs(), dayjs()],
212
+ 'Yesterday': [dayjs().subtract(1, 'days'), dayjs().subtract(1, 'days')],
213
+ 'This Week': [dayjs().subtract(6, 'days'), dayjs()],
214
+ 'Last Week': [dayjs().subtract(14, 'days').startOf('days'), dayjs().subtract(8, 'days').endOf('days')],
215
+ 'This Month': [dayjs().startOf('month'), dayjs().endOf('month')],
216
+ 'Last Month': [
217
+ dayjs().subtract(1, 'month').startOf('month'),
218
+ dayjs().subtract(1, 'month').endOf('month')
219
+ ]
220
+ };
221
+ onStartDateChange(event) {
222
+ if (dayjs(event.startDate).isValid()) {
223
+ this.isCustomDate = (m) => {
224
+ const isValidDate = m > dayjs() || m > dayjs(event.startDate.add(90, 'days'));
225
+ return isValidDate ? 'invalid-date' : false;
226
+ };
227
+ }
228
+ }
229
+ datechange(event) {
230
+ if (event && event.startDate && event.endDate) {
231
+ if (dayjs(event.startDate).isValid() && dayjs(event.endDate).isValid()) {
232
+ // Dates are valid, proceed with formatting
233
+ this.selectedDateRange.startDate = dayjs(event.startDate).utc().format('DD-MM-YYYY');
234
+ this.selectedDateRange.endDate = dayjs(event.endDate).utc().format('DD-MM-YYYY');
235
+ }
236
+ else {
237
+ // Dates are not valid, handle the scenario accordingly
238
+ console.error('Invalid dates provided:', event.startDate, event.endDate);
239
+ // If you want to fallback to stored filters when the dates are invalid, you can keep the existing logic
240
+ const storedFilters = JSON.parse(localStorage.getItem('dateRangeFilters') || '{}');
241
+ if (storedFilters.startDate && storedFilters.endDate) {
242
+ this.selectedDateRange.startDate = dayjs(storedFilters.startDate).format('DD-MM-YYYY');
243
+ this.selectedDateRange.endDate = dayjs(storedFilters.endDate).format('DD-MM-YYYY');
244
+ }
245
+ }
246
+ }
247
+ else {
248
+ // Event object or its properties are null, handle the scenario accordingly
249
+ console.error('Invalid event object:', event);
250
+ // Fallback to stored filters or any other handling logic as needed
251
+ }
252
+ this.selectedFilters.date = this.selectedDateRange;
253
+ // this.globalService.sendData(JSON.stringify(this.selectedFilters.date));
254
+ localStorage.setItem('dateRangeFilters', JSON.stringify(this.selectedDateRange));
255
+ // this.globalService.sendData(this.selectedDateRange);
256
+ }
257
+ onDateSelect(event) {
258
+ console.log('Selected date:', event);
259
+ // Handle the selected date here
59
260
  }
60
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1.LayoutService }], target: i0.ɵɵFactoryTarget.Component });
61
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", ngImport: i0, template: "<ng-container *ngIf=\"appToolbarFilterButton\">\r\n <!--begin::Filter menu-->\r\n <div class=\"m-0\">\r\n <!--begin::Menu toggle-->\r\n <a href=\"#\" class=\"btn btn-sm btn-flex fw-bold\" [ngClass]=\"daterangepickerButtonClass\" data-kt-menu-trigger=\"click\"\r\n data-kt-menu-placement=\"bottom-end\">\r\n <lib-keenicon name=\"filter\" class=\"fs-6 text-muted me-1\"></lib-keenicon>\r\n Filter\r\n </a>\r\n <!--end::Menu toggle-->\r\n\r\n <!-- <lib-dropdown-menu1></lib-dropdown-menu1> -->\r\n </div>\r\n <!--end::Filter menu-->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"appToolbarDaterangepickerButton\">\r\n <div data-kt-daterangepicker=\"true\" data-kt-daterangepicker-opens=\"left\"\r\n class=\"btn btn-sm fw-bold d-flex align-items-center px-4\" [ngClass]=\"daterangepickerButtonClass\">\r\n <!--begin::Display range-->\r\n <div class=\"text-gray-600 fw-bold\">\r\n Loading date range...\r\n </div>\r\n <!--end::Display range-->\r\n <lib-keenicon name=\"calendar-8\" class=\"fs-1 ms-2 me-0\"></lib-keenicon>\r\n </div>\r\n</ng-container>\r\n\r\n<!--begin::Secondary button-->\r\n<a href=\"javascript:;\" class=\"btn btn-sm btn-flex btn-light fw-bold\">\r\n Filter\r\n</a>\r\n<!--end::Secondary button-->\r\n\r\n<!--begin::Primary button--> \r\n<a href=\"javascript:;\" class=\"btn btn-sm fw-bold btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#kt_modal_create_app\">Create</a>\r\n<!--end::Primary button-->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.KeeniconComponent, selector: "lib-keenicon", inputs: ["name", "class", "type"] }] });
261
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, deps: [{ token: i1.LayoutService }, { token: i2.GlobalStateService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
262
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClassicComponent, selector: "lib-classic", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\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: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.DaterangepickerDirective, selector: "input[ngxDaterangepickerMd]", inputs: ["minDate", "maxDate", "autoApply", "alwaysShowCalendars", "showCustomRangeLabel", "linkedCalendars", "dateLimit", "singleDatePicker", "showWeekNumbers", "showISOWeekNumbers", "showDropdowns", "isInvalidDate", "isCustomDate", "isTooltipDate", "showClearButton", "customRangeDirection", "ranges", "opens", "drops", "firstMonthDayClass", "lastMonthDayClass", "emptyWeekRowClass", "emptyWeekColumnClass", "firstDayOfNextMonthClass", "lastDayOfPreviousMonthClass", "keepCalendarOpeningWithRange", "showRangeLabelOnInput", "showCancel", "lockStartDate", "timePicker", "timePicker24Hour", "timePickerIncrement", "timePickerSeconds", "closeOnAutoApply", "endKeyHolder", "startKey", "locale", "endKey"], outputs: ["change", "rangeClicked", "datesUpdated", "startDateChanged", "endDateChanged", "clearClicked"] }] });
62
263
  }
63
264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClassicComponent, decorators: [{
64
265
  type: Component,
65
- args: [{ selector: 'lib-classic', template: "<ng-container *ngIf=\"appToolbarFilterButton\">\r\n <!--begin::Filter menu-->\r\n <div class=\"m-0\">\r\n <!--begin::Menu toggle-->\r\n <a href=\"#\" class=\"btn btn-sm btn-flex fw-bold\" [ngClass]=\"daterangepickerButtonClass\" data-kt-menu-trigger=\"click\"\r\n data-kt-menu-placement=\"bottom-end\">\r\n <lib-keenicon name=\"filter\" class=\"fs-6 text-muted me-1\"></lib-keenicon>\r\n Filter\r\n </a>\r\n <!--end::Menu toggle-->\r\n\r\n <!-- <lib-dropdown-menu1></lib-dropdown-menu1> -->\r\n </div>\r\n <!--end::Filter menu-->\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"appToolbarDaterangepickerButton\">\r\n <div data-kt-daterangepicker=\"true\" data-kt-daterangepicker-opens=\"left\"\r\n class=\"btn btn-sm fw-bold d-flex align-items-center px-4\" [ngClass]=\"daterangepickerButtonClass\">\r\n <!--begin::Display range-->\r\n <div class=\"text-gray-600 fw-bold\">\r\n Loading date range...\r\n </div>\r\n <!--end::Display range-->\r\n <lib-keenicon name=\"calendar-8\" class=\"fs-1 ms-2 me-0\"></lib-keenicon>\r\n </div>\r\n</ng-container>\r\n\r\n<!--begin::Secondary button-->\r\n<a href=\"javascript:;\" class=\"btn btn-sm btn-flex btn-light fw-bold\">\r\n Filter\r\n</a>\r\n<!--end::Secondary button-->\r\n\r\n<!--begin::Primary button--> \r\n<a href=\"javascript:;\" class=\"btn btn-sm fw-bold btn-primary\" data-bs-toggle=\"modal\" data-bs-target=\"#kt_modal_create_app\">Create</a>\r\n<!--end::Primary button-->\r\n" }]
66
- }], ctorParameters: () => [{ type: i1.LayoutService }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9jbGFzc2ljL2NsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNwRSxNQUFNLE9BQU8sZ0JBQWdCO0lBaUJQO0lBaEJaLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBQ3pDLHVCQUF1QixDQUFVO0lBQ2pDLDRCQUE0QixHQUFXLEVBQUUsQ0FBQztJQUMxQywwQkFBMEIsR0FBVyxFQUFFLENBQUM7SUFDeEMsNEJBQTRCLEdBQVcsRUFBRSxDQUFDO0lBQzFDLHlCQUF5QixDQUFVO0lBQ25DLHNCQUFzQixDQUFVO0lBQ2hDLDhCQUE4QixHQUFXLEVBQUUsQ0FBQztJQUM1Qyw0QkFBNEIsR0FBVyxFQUFFLENBQUM7SUFDMUMsOEJBQThCLEdBQVcsRUFBRSxDQUFDO0lBQzVDLHNCQUFzQixDQUFVO0lBQ2hDLCtCQUErQixDQUFVO0lBQ3pDLG9CQUFvQixHQUFXLEVBQUUsQ0FBQztJQUNsQyxpQkFBaUIsR0FBVyxFQUFFLENBQUM7SUFDL0IsMEJBQTBCLEdBQVcsRUFBRSxDQUFDO0lBRXhDLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFBRyxDQUFDO0lBRTdDLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUI7YUFDM0MsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNoRCwyQkFBMkIsQ0FDakIsQ0FBQztRQUNiLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDckQsZ0NBQWdDLENBQ3ZCLENBQUM7UUFDWixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ25ELDhCQUE4QixDQUNyQixDQUFDO1FBQ1osSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNyRCxnQ0FBZ0MsQ0FDdkIsQ0FBQztRQUNaLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDbEQsNkJBQTZCLENBQ25CLENBQUM7UUFDYixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjtZQUNyRCxDQUFDLENBQUMsV0FBVztZQUNiLENBQUMsQ0FBQyxxREFBcUQsQ0FBQztRQUMxRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQy9DLHdCQUF3QixDQUNkLENBQUM7UUFDYixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3ZELGdDQUFnQyxDQUN2QixDQUFDO1FBQ1osSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUNyRCw4QkFBOEIsQ0FDckIsQ0FBQztRQUNaLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDdkQsZ0NBQWdDLENBQ3ZCLENBQUM7UUFDWixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQy9DLHdCQUF3QixDQUNkLENBQUM7UUFDYixJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQ3hELGlDQUFpQyxDQUN2QixDQUFDO1FBRWIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxzQkFBc0I7WUFDbEQsQ0FBQyxDQUFDLFdBQVc7WUFDYixDQUFDLENBQUMscURBQXFELENBQUM7UUFDMUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxzQkFBc0I7WUFDM0QsQ0FBQyxDQUFDLFdBQVc7WUFDYixDQUFDLENBQUMscURBQXFELENBQUM7SUFDNUQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzt1R0E3RVUsZ0JBQWdCOzJGQUFoQixnQkFBZ0IsbURDVDdCLHM5Q0FxQ0E7OzJGRDVCYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLW1ldHJvbmljcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jbGFzc2ljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY2xhc3NpYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2xhc3NpYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xhc3NpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIGFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uTGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIGFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uVXJsOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyUHJpbWFyeUJ1dHRvbk1vZGFsOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyU2Vjb25kYXJ5QnV0dG9uOiBib29sZWFuO1xyXG4gIGFwcFRvb2xiYXJGaXhlZERlc2t0b3A6IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhclNlY29uZGFyeUJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyU2Vjb25kYXJ5QnV0dG9uVXJsOiBzdHJpbmcgPSAnJztcclxuICBhcHBUb29sYmFyU2Vjb25kYXJ5QnV0dG9uTW9kYWw6IHN0cmluZyA9ICcnO1xyXG4gIGFwcFRvb2xiYXJGaWx0ZXJCdXR0b246IGJvb2xlYW47XHJcbiAgYXBwVG9vbGJhckRhdGVyYW5nZXBpY2tlckJ1dHRvbjogYm9vbGVhbjtcclxuICBzZWNvbmRhcnlCdXR0b25DbGFzczogc3RyaW5nID0gJyc7XHJcbiAgZmlsdGVyQnV0dG9uQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG4gIGRhdGVyYW5nZXBpY2tlckJ1dHRvbkNsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVQcm9wcygpO1xyXG4gICAgY29uc3Qgc3Vic2NyID0gdGhpcy5sYXlvdXQubGF5b3V0Q29uZmlnU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wcygpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChzdWJzY3IpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvcHMoKSB7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLnByaW1hcnlCdXR0b24nXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uTGFiZWwgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwLnRvb2xiYXIucHJpbWFyeUJ1dHRvbkxhYmVsJ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJQcmltYXJ5QnV0dG9uVXJsID0gdGhpcy5sYXlvdXQuZ2V0UHJvcChcclxuICAgICAgJ2FwcC50b29sYmFyLnByaW1hcnlCdXR0b25VcmwnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwVG9vbGJhclByaW1hcnlCdXR0b25Nb2RhbCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5wcmltYXJ5QnV0dG9uTW9kYWwnXHJcbiAgICApIGFzIHN0cmluZztcclxuICAgIHRoaXMuYXBwVG9vbGJhclNlY29uZGFyeUJ1dHRvbiA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHAudG9vbGJhci5zZWNvbmRhcnlCdXR0b24nXHJcbiAgICApIGFzIGJvb2xlYW47XHJcbiAgICB0aGlzLnNlY29uZGFyeUJ1dHRvbkNsYXNzID0gdGhpcy5hcHBUb29sYmFyRml4ZWREZXNrdG9wXHJcbiAgICAgID8gJ2J0bi1saWdodCdcclxuICAgICAgOiAnYmctYm9keSBidG4tY29sb3ItZ3JheS03MDAgYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5JztcclxuICAgIHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcCA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHBUb29sYmFyRml4ZWREZXNrdG9wJ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyU2Vjb25kYXJ5QnV0dG9uTGFiZWwgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwVG9vbGJhclNlY29uZGFyeUJ1dHRvbkxhYmVsJ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJTZWNvbmRhcnlCdXR0b25VcmwgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwVG9vbGJhclNlY29uZGFyeUJ1dHRvblVybCdcclxuICAgICkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5hcHBUb29sYmFyU2Vjb25kYXJ5QnV0dG9uTW9kYWwgPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwVG9vbGJhclNlY29uZGFyeUJ1dHRvbk1vZGFsJ1xyXG4gICAgKSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmFwcFRvb2xiYXJGaWx0ZXJCdXR0b24gPSB0aGlzLmxheW91dC5nZXRQcm9wKFxyXG4gICAgICAnYXBwVG9vbGJhckZpbHRlckJ1dHRvbidcclxuICAgICkgYXMgYm9vbGVhbjtcclxuICAgIHRoaXMuYXBwVG9vbGJhckRhdGVyYW5nZXBpY2tlckJ1dHRvbiA9IHRoaXMubGF5b3V0LmdldFByb3AoXHJcbiAgICAgICdhcHBUb29sYmFyRGF0ZXJhbmdlcGlja2VyQnV0dG9uJ1xyXG4gICAgKSBhcyBib29sZWFuO1xyXG5cclxuICAgIHRoaXMuZmlsdGVyQnV0dG9uQ2xhc3MgPSB0aGlzLmFwcFRvb2xiYXJGaXhlZERlc2t0b3BcclxuICAgICAgPyAnYnRuLWxpZ2h0J1xyXG4gICAgICA6ICdiZy1ib2R5IGJ0bi1jb2xvci1ncmF5LTYwMCBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnknO1xyXG4gICAgdGhpcy5kYXRlcmFuZ2VwaWNrZXJCdXR0b25DbGFzcyA9IHRoaXMuYXBwVG9vbGJhckZpeGVkRGVza3RvcFxyXG4gICAgICA/ICdidG4tbGlnaHQnXHJcbiAgICAgIDogJ2JnLWJvZHkgYnRuLWNvbG9yLWdyYXktNzAwIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSc7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwVG9vbGJhckZpbHRlckJ1dHRvblwiPlxyXG4gIDwhLS1iZWdpbjo6RmlsdGVyIG1lbnUtLT5cclxuICA8ZGl2IGNsYXNzPVwibS0wXCI+XHJcbiAgICA8IS0tYmVnaW46Ok1lbnUgdG9nZ2xlLS0+XHJcbiAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tZmxleCBmdy1ib2xkXCIgW25nQ2xhc3NdPVwiZGF0ZXJhbmdlcGlja2VyQnV0dG9uQ2xhc3NcIiBkYXRhLWt0LW1lbnUtdHJpZ2dlcj1cImNsaWNrXCJcclxuICAgICAgZGF0YS1rdC1tZW51LXBsYWNlbWVudD1cImJvdHRvbS1lbmRcIj5cclxuICAgICAgPGxpYi1rZWVuaWNvbiBuYW1lPVwiZmlsdGVyXCIgY2xhc3M9XCJmcy02IHRleHQtbXV0ZWQgbWUtMVwiPjwvbGliLWtlZW5pY29uPlxyXG4gICAgICBGaWx0ZXJcclxuICAgIDwvYT5cclxuICAgIDwhLS1lbmQ6Ok1lbnUgdG9nZ2xlLS0+XHJcblxyXG4gICAgPCEtLSA8bGliLWRyb3Bkb3duLW1lbnUxPjwvbGliLWRyb3Bkb3duLW1lbnUxPiAtLT5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpGaWx0ZXIgbWVudS0tPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBUb29sYmFyRGF0ZXJhbmdlcGlja2VyQnV0dG9uXCI+XHJcbiAgPGRpdiBkYXRhLWt0LWRhdGVyYW5nZXBpY2tlcj1cInRydWVcIiBkYXRhLWt0LWRhdGVyYW5nZXBpY2tlci1vcGVucz1cImxlZnRcIlxyXG4gICAgY2xhc3M9XCJidG4gYnRuLXNtIGZ3LWJvbGQgIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHgtNFwiIFtuZ0NsYXNzXT1cImRhdGVyYW5nZXBpY2tlckJ1dHRvbkNsYXNzXCI+XHJcbiAgICA8IS0tYmVnaW46OkRpc3BsYXkgcmFuZ2UtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktNjAwIGZ3LWJvbGRcIj5cclxuICAgICAgTG9hZGluZyBkYXRlIHJhbmdlLi4uXHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1lbmQ6OkRpc3BsYXkgcmFuZ2UtLT5cclxuICAgIDxsaWIta2Vlbmljb24gbmFtZT1cImNhbGVuZGFyLThcIiBjbGFzcz1cImZzLTEgbXMtMiBtZS0wXCI+PC9saWIta2Vlbmljb24+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPCEtLWJlZ2luOjpTZWNvbmRhcnkgYnV0dG9uLS0+XHJcbjxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWZsZXggYnRuLWxpZ2h0IGZ3LWJvbGRcIj5cclxuICBGaWx0ZXJcclxuPC9hPlxyXG48IS0tZW5kOjpTZWNvbmRhcnkgYnV0dG9uLS0+XHJcblxyXG48IS0tYmVnaW46OlByaW1hcnkgYnV0dG9uLS0+IFxyXG48YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgY2xhc3M9XCJidG4gYnRuLXNtIGZ3LWJvbGQgYnRuLXByaW1hcnlcIiBkYXRhLWJzLXRvZ2dsZT1cIm1vZGFsXCIgZGF0YS1icy10YXJnZXQ9XCIja3RfbW9kYWxfY3JlYXRlX2FwcFwiPkNyZWF0ZTwvYT5cclxuPCEtLWVuZDo6UHJpbWFyeSBidXR0b24tLT5cclxuIl19
266
+ args: [{ selector: 'lib-classic', template: "<div class=\"py-3 dropdown1 cursor-pointer\" *ngFor=\"let item of dataObject; let i = index\">\r\n <div class=\"dropdown form-select\" (click)=\"Dropdown('Clients',i,$event)\">\r\n <span class=\"\">{{ selectedValuesArray[i]?.length !== null && selectedValuesArray[i]?.length !== undefined ?\r\n selectedValuesArray[i]?.length + ' ' + 'Clients'.split(' ').pop() : 'Clients' }}</span>\r\n </div>\r\n <div *ngIf=\"item.isOpen\" class=\"dropdown-content position-absolute\">\r\n <div class=\"form-check d-flex align-items-center pt-3 px-5\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"Select All\" id=\"selectall{{i}}\"\r\n [checked]=\"selectedValuesArray[i]?.length === item.Issues.length\"\r\n (change)=\"toggleCheckbox('Select All', i)\">\r\n <label class=\"form-check-label px-3\" for=\"selectall{{i}}\">\r\n Select All\r\n </label>\r\n </div>\r\n\r\n <div class=\"border border-gray mt-3\"></div>\r\n <div class=\"mt-3 d-flex align-items-center mx-2\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3 mt-2\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\r\n <path\r\n d=\"M14 14.5L11.1 11.6M12.6667 7.83333C12.6667 10.7789 10.2789 13.1667 7.33333 13.1667C4.38781 13.1667 2 10.7789 2 7.83333C2 4.88781 4.38781 2.5 7.33333 2.5C10.2789 2.5 12.6667 4.88781 12.6667 7.83333Z\"\r\n stroke=\"#667085\" stroke-width=\"1.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" [(ngModel)]=\"searchValue\" (input)=\"searchData($event,i)\"\r\n class=\"form-control searchinput ps-14 py-2 mt-2\" placeholder=\"Search\" autocomplete=\"off\" />\r\n </div>\r\n <div *ngFor=\"let issue of item.Issues\" class=\"form-check d-flex align-items-center py-3 px-5\">\r\n <input class=\"form-check-input cursor-pointer\" type=\"checkbox\" [value]=\"issue.clientName\" id=\"option{{issue.clientId}}\"\r\n [checked]=\"selectedValuesArray[i]?.includes(issue.clientId)\" (change)=\"toggleCheckbox(issue.clientId,i)\">\r\n <label class=\"form-check-label px-3 cursor-pointer\" for=\"option{{issue.clientId}}\">\r\n {{ issue.clientName }}\r\n </label>\r\n </div>\r\n <div class=\"mt-5 d-flex justify-content-center\">\r\n <span class=\"form-check-label\" *ngIf=\"noFilter\"> No filters available</span>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-3\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path\r\n d=\"M13.3333 1.66663V4.99996M6.66667 1.66663V4.99996M2.5 8.33329H17.5M4.16667 3.33329H15.8333C16.7538 3.33329 17.5 4.07948 17.5 4.99996V16.6666C17.5 17.5871 16.7538 18.3333 15.8333 18.3333H4.16667C3.24619 18.3333 2.5 17.5871 2.5 16.6666V4.99996C2.5 4.07948 3.24619 3.33329 4.16667 3.33329Z\"\r\n stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd [drops]=\"'down'\"\r\n [opens]=\"'right'\" [ranges]=\"ranges\" [showCustomRangeLabel]=\"true\" [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\" [showCancel]=\"true\" autocomplete=\"off\" [(ngModel)]=\"selectedDateRange\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (datesUpdated)=\"datechange($event)\" name=\"daterange\" />\r\n</div>\r\n\r\n\r\n<!-- <input class=\"fx-date-range form-control ps-14\" type=\"text\" matInput ngxDaterangepickerMd \r\n [singleDatePicker]=\"true\"\r\n [drops]=\"'down'\"\r\n [opens]=\"'right'\"\r\n [alwaysShowCalendars]=\"false\"\r\n [keepCalendarOpeningWithRange]=\"true\"\r\n [showCancel]=\"true\"\r\n autocomplete=\"off\"\r\n [(ngModel)]=\"selectedDate\"\r\n [locale]=\"{ format: 'DD-MM-YYYY', firstDay: 1, monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] }\"\r\n (selected)=\"onDateSelect($event)\"\r\n name=\"daterange\" /> -->\r\n\r\n<div class=\"btn btn-primary\" (click)=\"Apply()\">Apply</div>", styles: [".dropdown1 .dropdown-title{color:var(--Gray-900, #101828);font-size:16px;font-weight:600;line-height:24px}.dropdown1 .dropdown{position:relative;display:inline-block}.dropdown1 .dropdown span{color:var(--Gray-700, #344054);font-size:14px;font-weight:600;line-height:20px}.dropdown1 .dropdown-content{z-index:1;padding:0;background-color:#fff;border-radius:8px;box-shadow:0 8px 16px #0003;height:250px;overflow:auto}.dropdown1 .dropdown-content label{color:var(--Gray-700, #344054);font-size:14px;font-weight:500;line-height:20px}.dropdown1 .dropdown-content a{color:#000;padding:12px 16px;text-decoration:none;display:block}.dropdown1 .dropdown button{padding:10px;font-size:16px;cursor:pointer}.dropdown1 input[type=checkbox]{width:16px!important;height:16px!important;margin:-3px 5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-300, #D0D5DD);box-shadow:none;font-size:.8em;text-align:center;line-height:1em;background:#fff}.dropdown1 input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF);background-color:var(--primary-50, #EAF8FF)}.dropdown1 input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.2em;padding-left:0;padding-top:9px;padding-right:4px}.daterangepicker{display:block!important;top:153.85px!important;left:900px!important;right:0}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;text-transform:capitalize}::ng-deep .applyBtn{display:none!important}:host::ng-deep .md-drppicker .btn{line-height:10px!important}:host::ng-deep .daterangepicker-input+.ngx-daterangepicker-material .applyBtn{display:none}:host::ng-deep .md-drppicker.drops-down-right.ltr.double.show-ranges.shown{top:65px!important;left:-470px!important;height:400px!important}:host::ng-deep .md-drppicker .btn{border-radius:8px!important;border:1px solid var(--Primary-600, #00A3FF)!important;background:var(--Primary-600, #00A3FF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--White, #FFF)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize}:host::ng-deep .md-drppicker .ranges ul li button{padding:12px 16px;width:160px;color:var(--Gray-700, #344054);font-size:14px;font-weight:400;line-height:20px;background:none;border:none;text-align:left;cursor:pointer}:host::ng-deep .md-drppicker td.active,:host::ng-deep .md-drppicker td.active:hover{background-color:#029cf4!important;border-radius:20px!important;color:var(--White, #FFF)!important;text-align:center!important;font-size:14px!important;font-weight:500!important;line-height:20px}:host::ng-deep .md-drppicker.ltr .ranges{float:left;margin-top:10px!important}:host::ng-deep .md-drppicker td.in-range{background:var(--Primary-50, #EAF8FF)}:host::ng-deep .md-drppicker .ranges ul li button.active{background:var(--Primary-50, #EAF8FF)!important;border-radius:8px!important;color:var(--Primary-700, #009BF3);font-size:14px!important;font-weight:500!important;line-height:20px!important}:host::ng-deep table th,:host::ng-deep table td{width:40px!important;height:40px!important;padding:10px 8px!important}:host::ng-deep .md-drppicker td.available.prev,:host::ng-deep .md-drppicker th.available.prev{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep .md-drppicker td.available.next,:host::ng-deep .md-drppicker th.available.next{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMy43IDYiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMuNyA2IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGQ9Ik0zLjcsMC43TDEuNCwzbDIuMywyLjNMMyw2TDAsM2wzLTNMMy43LDAuN3oiLz4NCjwvZz4NCjwvc3ZnPg0K)!important;background-repeat:no-repeat!important;background-size:.5em!important;background-position:center!important}:host::ng-deep table th{border-bottom:0px solid var(--Gray-200, #EAECF0)!important;background:transparent!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:16px!important;font-weight:500!important;line-height:24px}:host::ng-deep .md-drppicker td.available.invalid-date{text-decoration:line-through;pointer-events:none;color:#a9a9a9}:host::ng-deep .md-drppicker td.available.today:not(.invalid-date){text-decoration:unset;pointer-events:unset;color:unset}:host::ng-deep .md-drppicker .btn.btn-default{border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important;color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600!important;line-height:20px;text-transform:capitalize;margin-right:10px!important}\n"] }]
267
+ }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.GlobalStateService }, { type: i3.AuthService }], propDecorators: { onClick: [{
268
+ type: HostListener,
269
+ args: ['document:click', ['$event']]
270
+ }] } });
271
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NpYy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvdG9vbGJhci9jbGFzc2ljL2NsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvY2xhc3NpYy9jbGFzc2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUtsRixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ25DLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7OztBQUc3QyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7QUFNdEIsTUFBTSxPQUFPLGdCQUFnQjtJQWFQO0lBQThCO0lBQTBDO0lBWnBGLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRXpDLFVBQVUsR0FBUTtRQUNoQixFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRTtLQUN2QyxDQUFDO0lBRUYsWUFBWSxDQUE2QztJQUN6RCxVQUFVLEdBQU8sRUFBRSxDQUFDO0lBQ3BCLFFBQVEsR0FBVyxLQUFLLENBQUM7SUFDekIsV0FBVyxDQUFLO0lBQ2hCLGFBQWEsR0FBTSxFQUFFLENBQUM7SUFDdEIsYUFBYSxDQUFNO0lBQ25CLFlBQW9CLE1BQXFCLEVBQVMsYUFBaUMsRUFBUyxPQUFtQjtRQUEz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Q29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktbWV0cm9uaWNzJztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCAqIGFzIGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0ICdkYXlqcy9sb2NhbGUvZW4nO1xyXG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xyXG5pbXBvcnQgdGltZXpvbmUgZnJvbSAnZGF5anMvcGx1Z2luL3RpbWV6b25lJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAncHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL2dsb2JhbC1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdwcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuZGF5anMuZXh0ZW5kKHV0Yyk7XHJcbmRheWpzLmV4dGVuZCh0aW1lem9uZSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY2xhc3NpYycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NsYXNzaWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NsYXNzaWMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENsYXNzaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgZGF0YU9iamVjdDogYW55ID0gW1xyXG4gICAgeyBEZXNjcmlwdGlvbjogJ0NsaWVudHMnLCBJc3N1ZXM6IFtdIH1cclxuICBdO1xyXG4gIFxyXG4gIGlzQ3VzdG9tRGF0ZTogKG06IGRheWpzLkRheWpzKSA9PiBmYWxzZSB8IFwiaW52YWxpZC1kYXRlXCI7XHJcbiAgZHVtbXlBcnJheTogYW55ID1bXTtcclxuICBub0ZpbHRlcjogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgc2VhcmNoVmFsdWU6YW55O1xyXG4gIHJlc3BvbnNlQXJyYXk6IGFueT1bXTtcclxuICBnZXRDbGllbnRMaXN0OiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYXlvdXQ6IExheW91dFNlcnZpY2UscHJpdmF0ZSBnbG9iYWxTZXJ2aWNlOiBHbG9iYWxTdGF0ZVNlcnZpY2UscHJpdmF0ZSBzZXJ2aWNlOkF1dGhTZXJ2aWNlKSB7fVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUuZm9yRWFjaCgoc2IpID0+IHNiLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuICAvLyBASW5wdXQoKSBkYXRhT2JqZWN0OiBhbnlbXSA9IFtdO1xyXG4gIE9wZW5kcm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwZXJtaXNzaW9uID0gW1xyXG4gICAgeyBncm91cDogJ1N1cGVyIEFkbWluJywgZGVzY3JpcHRpb246ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgJyB9LFxyXG4gICAgeyBncm91cDogJ0FkbWluJywgZGVzY3JpcHRpb246ICdMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgJyB9LFxyXG4gICAgeyBncm91cDogJ1VzZXInLCBkZXNjcmlwdGlvbjogJ0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciAnIH0sXHJcbiAgXVxyXG5cclxuICBcclxuICBzaG93ZHJvcGRvd246IGFueTtcclxuICBzZWxlY3RlZFZhbHVlczogc3RyaW5nW10gPSBbXTtcclxuICBzZWxlY3RlZFZhbHVlc0FycmF5OiBhbnlbXSA9IFtdO1xyXG4gIHNlbGVjdGVkRGF0ZVJhbmdlOiBhbnkgPSB7fTtcclxuICBzZWxlY3RlZEZpbHRlcnM6IGFueSA9IHtcclxuICAgIHN0b3JlOiBudWxsLFxyXG4gICAgc3RvcmVzOiBbXSxcclxuICAgIGRhdGU6IG51bGwsXHJcblxyXG4gIH07XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0Q2xpZW50cygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgdGhpcy5nZXRDbGllbnRMaXN0ID0gcmVzPy5kYXRhPy5yZXN1bHRcclxuICAgICAgICB0aGlzLmRhdGFPYmplY3RbMF0uSXNzdWVzID0gdGhpcy5nZXRDbGllbnRMaXN0O1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgY29uc29sZS5sb2codGhpcy5kYXRhT2JqZWN0KVxyXG4gICAgdGhpcy5kdW1teUFycmF5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGFPYmplY3QpKVxyXG4gICAgdGhpcy5yZXNwb25zZUFycmF5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGFPYmplY3QpKVxyXG5cclxuICAgXHJcbiAgICAvLyB0aGlzLnVwZGF0ZVByb3BzKCk7XHJcbiAgICBjb25zdCBzdWJzY3IgPSB0aGlzLmxheW91dC5sYXlvdXRDb25maWdTdWJqZWN0XHJcbiAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAvLyB0aGlzLnVwZGF0ZVByb3BzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5wdXNoKHN1YnNjcik7XHJcbiAgICB0cnkge1xyXG4gICAgICAvLyBQYXJzZSBkYXRlcyBmcm9tIGxvY2FsU3RvcmFnZSBhbmQgZm9ybWF0IHRoZW1cclxuICAgICAgY29uc3QgaGVhZGVyRmlsdGVyczogYW55ID0gSlNPTi5wYXJzZShcclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGVyLWZpbHRlcnMnKSB8fCAne30nXHJcbiAgICAgICk7XHJcbiAgICBpZihoZWFkZXJGaWx0ZXJzLnN0b3Jlcyl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheSA9IFtoZWFkZXJGaWx0ZXJzLnN0b3Jlc107XHJcbiAgICB9XHJcbiAgICAgIGlmIChoZWFkZXJGaWx0ZXJzLmRhdGUpIHtcclxuICAgICAgdGhpcy5nbG9iYWxTZXJ2aWNlLmRhdGFSYW5nZVZhbHVlLm5leHQodGhpcy5zZWxlY3RlZEZpbHRlcnMpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLnN0YXJ0RGF0ZSA9ICBoZWFkZXJGaWx0ZXJzLmRhdGUuc3RhcnREYXRlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UuZW5kRGF0ZSA9ICBoZWFkZXJGaWx0ZXJzLmRhdGUuZW5kRGF0ZTtcclxuICAgIH1cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgZGF0ZXMgZnJvbSBsb2NhbFN0b3JhZ2U6JywgZXJyb3IpO1xyXG4gICAgICAvLyBIYW5kbGUgcGFyc2luZyBlcnJvciwgZS5nLiwgc2V0IGRlZmF1bHQgZGF0ZXNcclxuICAgICAgLy8gRXhhbXBsZTpcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSBkYXlqcygpLmZvcm1hdCgnTU0tREQtWVlZWScpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSBkYXlqcygpLmZvcm1hdCgnTU0tREQtWVlZWScpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrIChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3RcclxuICAgICAgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYoIXRhcmdldC5jbG9zZXN0KCcuZHJvcGRvd24xJykpIHtcclxuICAgICAgdGhpcy5PcGVuZHJvcGRvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmKCF0YXJnZXQuY2xvc2VzdCgnLmRyb3Bkb3duLWNvbnRlbnQnKSl7XHJcbiAgICAgIHRoaXMuZGF0YU9iamVjdC5mb3JFYWNoKChpdGVtOiBhbnksIGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5pc09wZW4gPSBmYWxzZTsgXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gbmdPbkluaXQoKSB7XHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmRhdGFPYmplY3QsJ29iaicpO1xyXG4gICAgXHJcbiAgLy8gfVxyXG5cclxuICBcclxuICBvcGVuZHJvcGRvd24oZTpNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zb2xlLmxvZyg2ODcpO1xyXG4gICAgXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5PcGVuZHJvcGRvd24gPSAhdGhpcy5PcGVuZHJvcGRvd247XHJcbiAgfVxyXG5cclxuICBEcm9wZG93bih2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyLGV2ZW50Ok1vdXNlRXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRhdGFPYmplY3QuZm9yRWFjaCgoaXRlbTogYW55LCBpOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGkgIT09IGluZGV4KSB7XHJcbiAgICAgICAgaXRlbS5pc09wZW4gPSBmYWxzZTsgLy8gQ2xvc2Ugb3RoZXIgZHJvcGRvd25zXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRhT2JqZWN0W2luZGV4XS5pc09wZW4gPSAhdGhpcy5kYXRhT2JqZWN0W2luZGV4XS5pc09wZW47XHJcblxyXG4gICAgLy8gaWYgKHRoaXMuZGF0YU9iamVjdFtpbmRleF0uaXNPcGVuKSB7XHJcbiAgICAvLyAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja091dHNpZGVEcm9wZG93bkNvbnRlbnQuYmluZCh0aGlzLCBpbmRleCkpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsaWNrT3V0c2lkZURyb3Bkb3duQ29udGVudC5iaW5kKHRoaXMsIGluZGV4KSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAvLyBjbGlja091dHNpZGVEcm9wZG93bkNvbnRlbnQoaW5kZXg6IG51bWJlciwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgLy8gICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSkge1xyXG4gIC8vICAgICB0aGlzLmRhdGFPYmplY3RbaW5kZXhdLmlzT3BlbiA9IGZhbHNlO1xyXG4gIC8vICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xpY2tPdXRzaWRlRHJvcGRvd25Db250ZW50LmJpbmQodGhpcywgaW5kZXgpKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbiAgc2VhcmNoRGF0YShldmVudDphbnksaTphbnkpe1xyXG4gICAgY29uc3QgZmlsdGVyZWRJc3N1ZXMgPSB0aGlzLmR1bW15QXJyYXlbaV0uSXNzdWVzLmZpbHRlcigoaXRlbTphbnkpID0+ICBuZXcgUmVnRXhwKGV2ZW50LnRhcmdldC52YWx1ZSwnaScpLnRlc3QoaXRlbS5jbGllbnRJZCkpXHJcbiAgICB0aGlzLmRhdGFPYmplY3RbaV0uSXNzdWVzID0gZmlsdGVyZWRJc3N1ZXM7XHJcbiAgICBpZihmaWx0ZXJlZElzc3Vlcy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLm5vRmlsdGVyID1mYWxzZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm5vRmlsdGVyID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIH1cclxuICB0b2dnbGVDaGVja2JveChpc3N1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XHJcblxyXG4gICAgY29uc3QgY3VycmVudElzc3VlcyA9IHRoaXMuZGF0YU9iamVjdFtpbmRleF0uSXNzdWVzO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlc0FycmF5W2luZGV4XSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF0gfHwgW107XHJcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF07IC8vIFJldHJpZXZlIHNlbGVjdGVkIHZhbHVlcyBhcnJheSBmb3IgdGhlIGN1cnJlbnQgZHJvcGRvd24gaW5kZXhcclxuXHJcbiAgICBpZiAoaXNzdWUgPT09ICdTZWxlY3QgQWxsJykge1xyXG4gICAgICBjb25zdCBjdXJyZW50SXNzdWVzID0gdGhpcy5kYXRhT2JqZWN0W2luZGV4XS5Jc3N1ZXMubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uY2xpZW50SWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSBjdXJyZW50SXNzdWVzLmxlbmd0aCkge1xyXG5cclxuICAgICAgICAvLyBJZiBhbGwgaXRlbXMgYXJlIGFscmVhZHkgc2VsZWN0ZWQsIGRlc2VsZWN0IGFsbFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF0gPSBbXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBPdGhlcndpc2UsIHNlbGVjdCBhbGwgaXRlbXNcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQXJyYXlbaW5kZXhdID0gWy4uLmN1cnJlbnRJc3N1ZXNdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMuaW5jbHVkZXMoaXNzdWUpKSB7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF0gPSBzZWxlY3RlZFZhbHVlcy5maWx0ZXIoKGl0ZW06IGFueSkgPT4gaXRlbSAhPT0gaXNzdWUpOyAvLyBEZXNlbGVjdCB0aGUgaW5kaXZpZHVhbCBpdGVtIGlmIGFscmVhZHkgc2VsZWN0ZWRcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQXJyYXlbaW5kZXhdLnB1c2goaXNzdWUpIC8vIFNlbGVjdCB0aGUgaW5kaXZpZHVhbCBpdGVtIGlmIG5vdCBhbHJlYWR5IHNlbGVjdGVkXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgXCJTZWxlY3QgQWxsXCIgY2hlY2tib3ggc3RhdHVzIGJhc2VkIG9uIHNlbGVjdGVkIHZhbHVlc1xyXG4gICAgY29uc3Qgc2VsZWN0QWxsSWQgPSBgc2VsZWN0YWxsJHtpbmRleH1gO1xyXG4gICAgY29uc3Qgc2VsZWN0QWxsRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlbGVjdEFsbElkKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKHNlbGVjdEFsbEVsZW1lbnQpIHtcclxuICAgICAgc2VsZWN0QWxsRWxlbWVudC5jaGVja2VkID0gc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSBjdXJyZW50SXNzdWVzLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgY2hlY2tib3hlcyBiYXNlZCBvbiBzZWxlY3RlZCB2YWx1ZXNcclxuICAgIGN1cnJlbnRJc3N1ZXMuZm9yRWFjaCgoaXRlbTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGlzQ2hlY2tlZCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF0uaW5jbHVkZXMoaXRlbSk7XHJcbiAgICAgIGNvbnN0IGNoZWNrYm94SWQgPSBgb3B0aW9uJHtpdGVtfWA7XHJcbiAgICAgIGNvbnN0IGNoZWNrYm94RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNoZWNrYm94SWQpIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICAgIGlmIChjaGVja2JveEVsZW1lbnQpIHtcclxuICAgICAgICBjaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGlzQ2hlY2tlZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgUmVzZXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQXJyYXkgPSBbXTtcclxuICAgIHRoaXMuT3BlbmRyb3Bkb3duID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBBcHBseSgpIHtcclxuICAgIHZhciBzZWxlY3RlZFZhbHVlOmFueSA9W11cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5zZWxlY3RlZFZhbHVlc0FycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkVmFsdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlc0FycmF5W2ldO1xyXG4gICAgICBjb25zdCBpc3N1ZXMgPSB0aGlzLmRhdGFPYmplY3RbaV0uSXNzdWVzO1xyXG5cclxuICAgICAgaWYgKHNlbGVjdGVkVmFsdWVzKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc0FycmF5W2ldID0gc2VsZWN0ZWRWYWx1ZXMubWFwKChzZWxlY3RlZElkOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGlzc3VlID0gaXNzdWVzLmZpbmQoKGlzc3VlSXRlbTogYW55KSA9PiBpc3N1ZUl0ZW0uY2xpZW50SWQgPT09IHNlbGVjdGVkSWQpO1xyXG4gICAgICAgICAgc2VsZWN0ZWRWYWx1ZS5wdXNoKGlzc3VlKTtcclxuICAgICAgICAgIHJldHVybiBpc3N1ZSA/IGlzc3VlIDogJyc7IC8vIEdldCB0aGUgdGV4dCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpZFxyXG4gICAgICAgICBcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5kYXRhUmFuZ2VWYWx1ZS5uZXh0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKVxyXG4gICAgdGhpcy5PcGVuZHJvcGRvd24gPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheS5mb3JFYWNoKChpdGVtOmFueSxpbmRleDphbnkpID0+IHtcclxuICAgICAgaXRlbSA9IGl0ZW0ubWFwKChlbGU6YW55KSA9PiBlbGUuY2xpZW50SWQpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQXJyYXlbaW5kZXhdID0gaXRlbVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVzcG9uc2VBcnJheS5mb3JFYWNoKChpdGVtOmFueSxpbmRleDphbnkpPT57XHJcbiAgICAgIGl0ZW0uSXNzdWVzID0gdGhpcy5zZWxlY3RlZFZhbHVlc0FycmF5W2luZGV4XSA/IHRoaXMuc2VsZWN0ZWRWYWx1ZXNBcnJheVtpbmRleF0gOltdXHJcbiAgIH0pXHJcbiAgLy8gIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLnN0b3Jlcz10aGlzLnJlc3BvbnNlQXJyYXlcclxuICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuc3RvcmVzPXRoaXMucmVzcG9uc2VBcnJheVswXS5Jc3N1ZXNcclxuICAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2U7XHJcbiAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdoZWFkZXItZmlsdGVycycsIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRGaWx0ZXJzKSk7XHJcbiAgfVxyXG5cclxuICByYW5nZXM6IGFueSA9IHtcclxuICAgICdUb2RheSc6IFtkYXlqcygpLCBkYXlqcygpXSxcclxuICAgICdZZXN0ZXJkYXknOiBbZGF5anMoKS5zdWJ0cmFjdCgxLCAnZGF5cycpLCBkYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJyldLFxyXG4gICAgJ1RoaXMgV2Vlayc6IFtkYXlqcygpLnN1YnRyYWN0KDYsICdkYXlzJyksIGRheWpzKCldLFxyXG4gICAgJ0xhc3QgV2Vlayc6IFtkYXlqcygpLnN1YnRyYWN0KDE0LCAnZGF5cycpLnN0YXJ0T2YoJ2RheXMnKSwgZGF5anMoKS5zdWJ0cmFjdCg4LCAnZGF5cycpLmVuZE9mKCdkYXlzJyldLFxyXG4gICAgJ1RoaXMgTW9udGgnOiBbZGF5anMoKS5zdGFydE9mKCdtb250aCcpLCBkYXlqcygpLmVuZE9mKCdtb250aCcpXSxcclxuICAgICdMYXN0IE1vbnRoJzogW1xyXG4gICAgICBkYXlqcygpLnN1YnRyYWN0KDEsICdtb250aCcpLnN0YXJ0T2YoJ21vbnRoJyksXHJcbiAgICAgIGRheWpzKCkuc3VidHJhY3QoMSwgJ21vbnRoJykuZW5kT2YoJ21vbnRoJylcclxuICAgIF1cclxuICB9O1xyXG5cclxuICBvblN0YXJ0RGF0ZUNoYW5nZShldmVudDphbnkpe1xyXG4gICAgaWYoZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkpe1xyXG4gICAgICB0aGlzLmlzQ3VzdG9tRGF0ZSA9IChtOiBkYXlqcy5EYXlqcykgPT4geyAgICAgICAgXHJcbiAgICAgIGNvbnN0IGlzVmFsaWREYXRlID0gbSA+IGRheWpzKCkgfHwgbSA+IGRheWpzKGV2ZW50LnN0YXJ0RGF0ZS5hZGQoOTAsICdkYXlzJykpIDtcclxuICAgICAgcmV0dXJuIGlzVmFsaWREYXRlID8gJ2ludmFsaWQtZGF0ZScgOiBmYWxzZTtcclxuICB9XHJcbn1cclxufVxyXG5cclxuZGF0ZWNoYW5nZShldmVudDogYW55KSB7XHJcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LnN0YXJ0RGF0ZSAmJiBldmVudC5lbmREYXRlKSB7XHJcbiAgICBpZiAoZGF5anMoZXZlbnQuc3RhcnREYXRlKS5pc1ZhbGlkKCkgJiYgZGF5anMoZXZlbnQuZW5kRGF0ZSkuaXNWYWxpZCgpKSB7XHJcbiAgICAgIC8vIERhdGVzIGFyZSB2YWxpZCwgcHJvY2VlZCB3aXRoIGZvcm1hdHRpbmdcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSBkYXlqcyhldmVudC5zdGFydERhdGUpLnV0YygpLmZvcm1hdCgnREQtTU0tWVlZWScpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVuZERhdGUgPSBkYXlqcyhldmVudC5lbmREYXRlKS51dGMoKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIERhdGVzIGFyZSBub3QgdmFsaWQsIGhhbmRsZSB0aGUgc2NlbmFyaW8gYWNjb3JkaW5nbHlcclxuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBkYXRlcyBwcm92aWRlZDonLCBldmVudC5zdGFydERhdGUsIGV2ZW50LmVuZERhdGUpO1xyXG4gICAgICAvLyBJZiB5b3Ugd2FudCB0byBmYWxsYmFjayB0byBzdG9yZWQgZmlsdGVycyB3aGVuIHRoZSBkYXRlcyBhcmUgaW52YWxpZCwgeW91IGNhbiBrZWVwIHRoZSBleGlzdGluZyBsb2dpY1xyXG4gICAgICBjb25zdCBzdG9yZWRGaWx0ZXJzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGF0ZVJhbmdlRmlsdGVycycpIHx8ICd7fScpO1xyXG4gICAgICBpZiAoc3RvcmVkRmlsdGVycy5zdGFydERhdGUgJiYgc3RvcmVkRmlsdGVycy5lbmREYXRlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5zdGFydERhdGUgPSBkYXlqcyhzdG9yZWRGaWx0ZXJzLnN0YXJ0RGF0ZSkuZm9ybWF0KCdERC1NTS1ZWVlZJyk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZS5lbmREYXRlID0gZGF5anMoc3RvcmVkRmlsdGVycy5lbmREYXRlKS5mb3JtYXQoJ0RELU1NLVlZWVknKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyBFdmVudCBvYmplY3Qgb3IgaXRzIHByb3BlcnRpZXMgYXJlIG51bGwsIGhhbmRsZSB0aGUgc2NlbmFyaW8gYWNjb3JkaW5nbHlcclxuICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgZXZlbnQgb2JqZWN0OicsIGV2ZW50KTtcclxuICAgIC8vIEZhbGxiYWNrIHRvIHN0b3JlZCBmaWx0ZXJzIG9yIGFueSBvdGhlciBoYW5kbGluZyBsb2dpYyBhcyBuZWVkZWRcclxuICB9XHJcbiAgdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGF0ZSA9dGhpcy5zZWxlY3RlZERhdGVSYW5nZVxyXG4gIC8vIHRoaXMuZ2xvYmFsU2VydmljZS5zZW5kRGF0YShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRmlsdGVycy5kYXRlKSk7XHJcbiAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2RhdGVSYW5nZUZpbHRlcnMnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlKSk7XHJcbiAgLy8gdGhpcy5nbG9iYWxTZXJ2aWNlLnNlbmREYXRhKHRoaXMuc2VsZWN0ZWREYXRlUmFuZ2UpO1xyXG59XHJcbm9uRGF0ZVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgY29uc29sZS5sb2coJ1NlbGVjdGVkIGRhdGU6JywgZXZlbnQpO1xyXG4gIC8vIEhhbmRsZSB0aGUgc2VsZWN0ZWQgZGF0ZSBoZXJlXHJcbn1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicHktMyBkcm9wZG93bjEgY3Vyc29yLXBvaW50ZXJcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhT2JqZWN0OyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gZm9ybS1zZWxlY3RcIiAoY2xpY2spPVwiRHJvcGRvd24oJ0NsaWVudHMnLGksJGV2ZW50KVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiXCI+e3sgc2VsZWN0ZWRWYWx1ZXNBcnJheVtpXT8ubGVuZ3RoICE9PSBudWxsICYmIHNlbGVjdGVkVmFsdWVzQXJyYXlbaV0/Lmxlbmd0aCAhPT0gdW5kZWZpbmVkID9cclxuICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXNBcnJheVtpXT8ubGVuZ3RoICsgJyAnICsgJ0NsaWVudHMnLnNwbGl0KCcgJykucG9wKCkgOiAnQ2xpZW50cycgfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJpdGVtLmlzT3BlblwiIGNsYXNzPVwiZHJvcGRvd24tY29udGVudCBwb3NpdGlvbi1hYnNvbHV0ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcHQtMyBweC01XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiB2YWx1ZT1cIlNlbGVjdCBBbGxcIiBpZD1cInNlbGVjdGFsbHt7aX19XCJcclxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGVkVmFsdWVzQXJyYXlbaV0/Lmxlbmd0aCA9PT0gaXRlbS5Jc3N1ZXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlQ2hlY2tib3goJ1NlbGVjdCBBbGwnLCBpKVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIHB4LTNcIiBmb3I9XCJzZWxlY3RhbGx7e2l9fVwiPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IEFsbFxyXG4gICAgICAgICAgICA8L2xhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmF5IG10LTNcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtMyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG14LTJcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTMgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE3XCIgdmlld0JveD1cIjAgMCAxNiAxN1wiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xNCAxNC41TDExLjEgMTEuNk0xMi42NjY3IDcuODMzMzNDMTIuNjY2NyAxMC43Nzg5IDEwLjI3ODkgMTMuMTY2NyA3LjMzMzMzIDEzLjE2NjdDNC4zODc4MSAxMy4xNjY3IDIgMTAuNzc4OSAyIDcuODMzMzNDMiA0Ljg4NzgxIDQuMzg3ODEgMi41IDcuMzMzMzMgMi41QzEwLjI3ODkgMi41IDEyLjY2NjcgNC44ODc4MSAxMi42NjY3IDcuODMzMzNaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCIgKGlucHV0KT1cInNlYXJjaERhdGEoJGV2ZW50LGkpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIHNlYXJjaGlucHV0IHBzLTE0IHB5LTIgIG10LTJcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXNzdWUgb2YgaXRlbS5Jc3N1ZXNcIiBjbGFzcz1cImZvcm0tY2hlY2sgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBweS0zIHB4LTVcIj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dCBjdXJzb3ItcG9pbnRlclwiIHR5cGU9XCJjaGVja2JveFwiIFt2YWx1ZV09XCJpc3N1ZS5jbGllbnROYW1lXCIgaWQ9XCJvcHRpb257e2lzc3VlLmNsaWVudElkfX1cIlxyXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0ZWRWYWx1ZXNBcnJheVtpXT8uaW5jbHVkZXMoaXNzdWUuY2xpZW50SWQpXCIgKGNoYW5nZSk9XCJ0b2dnbGVDaGVja2JveChpc3N1ZS5jbGllbnRJZCxpKVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsIHB4LTMgY3Vyc29yLXBvaW50ZXJcIiBmb3I9XCJvcHRpb257e2lzc3VlLmNsaWVudElkfX1cIj5cclxuICAgICAgICAgICAgICAgIHt7IGlzc3VlLmNsaWVudE5hbWUgfX1cclxuICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiAqbmdJZj1cIm5vRmlsdGVyXCI+IE5vIGZpbHRlcnMgYXZhaWxhYmxlPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgZD1cIk0xMy4zMzMzIDEuNjY2NjNWNC45OTk5Nk02LjY2NjY3IDEuNjY2NjNWNC45OTk5Nk0yLjUgOC4zMzMyOUgxNy41TTQuMTY2NjcgMy4zMzMyOUgxNS44MzMzQzE2Ljc1MzggMy4zMzMyOSAxNy41IDQuMDc5NDggMTcuNSA0Ljk5OTk2VjE2LjY2NjZDMTcuNSAxNy41ODcxIDE2Ljc1MzggMTguMzMzMyAxNS44MzMzIDE4LjMzMzNINC4xNjY2N0MzLjI0NjE5IDE4LjMzMzMgMi41IDE3LjU4NzEgMi41IDE2LjY2NjZWNC45OTk5NkMyLjUgNC4wNzk0OCAzLjI0NjE5IDMuMzMzMjkgNC4xNjY2NyAzLjMzMzI5WlwiXHJcbiAgICAgICAgICAgICAgICBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgW2Ryb3BzXT1cIidkb3duJ1wiXHJcbiAgICAgICAgW29wZW5zXT1cIidyaWdodCdcIiBbcmFuZ2VzXT1cInJhbmdlc1wiIFtzaG93Q3VzdG9tUmFuZ2VMYWJlbF09XCJ0cnVlXCIgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtrZWVwQ2FsZW5kYXJPcGVuaW5nV2l0aFJhbmdlXT1cInRydWVcIiBbc2hvd0NhbmNlbF09XCJ0cnVlXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXHJcbiAgICAgICAgW2xvY2FsZV09XCJ7IGZvcm1hdDogJ0RELU1NLVlZWVknLCBmaXJzdERheTogMSwgbW9udGhOYW1lczogWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10gfVwiXHJcbiAgICAgICAgKGRhdGVzVXBkYXRlZCk9XCJkYXRlY2hhbmdlKCRldmVudClcIiBuYW1lPVwiZGF0ZXJhbmdlXCIgLz5cclxuPC9kaXY+XHJcblxyXG5cclxuPCEtLSA8aW5wdXQgY2xhc3M9XCJmeC1kYXRlLXJhbmdlIGZvcm0tY29udHJvbCBwcy0xNFwiIHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgbmd4RGF0ZXJhbmdlcGlja2VyTWQgXHJcbiAgICBbc2luZ2xlRGF0ZVBpY2tlcl09XCJ0cnVlXCJcclxuICAgIFtkcm9wc109XCInZG93bidcIlxyXG4gICAgW29wZW5zXT1cIidyaWdodCdcIlxyXG4gICAgW2Fsd2F5c1Nob3dDYWxlbmRhcnNdPVwiZmFsc2VcIlxyXG4gICAgW2tlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2VdPVwidHJ1ZVwiXHJcbiAgICBbc2hvd0NhbmNlbF09XCJ0cnVlXCJcclxuICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0ZVwiXHJcbiAgICBbbG9jYWxlXT1cInsgZm9ybWF0OiAnREQtTU0tWVlZWScsIGZpcnN0RGF5OiAxLCBtb250aE5hbWVzOiBbJ0phbnVhcnknLCAnRmVicnVhcnknLCAnTWFyY2gnLCAnQXByaWwnLCAnTWF5JywgJ0p1bmUnLCAnSnVseScsICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXInXSB9XCJcclxuICAgIChzZWxlY3RlZCk9XCJvbkRhdGVTZWxlY3QoJGV2ZW50KVwiXHJcbiAgICBuYW1lPVwiZGF0ZXJhbmdlXCIgLz4gLS0+XHJcblxyXG48ZGl2IGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIkFwcGx5KClcIj5BcHBseTwvZGl2PiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../../../services/auth.service";
4
+ import * as i2 from "../../../../services/global-state.service";
5
+ import * as i3 from "../../../common/custom-select/custom-select.component";
6
+ export class ClientSettingsComponent {
7
+ auth;
8
+ gs;
9
+ cd;
10
+ clientList = [];
11
+ selectedClient;
12
+ constructor(auth, gs, cd) {
13
+ this.auth = auth;
14
+ this.gs = gs;
15
+ this.cd = cd;
16
+ this.auth.getClients().subscribe({
17
+ next: (e) => {
18
+ if (e) {
19
+ this.clientList = e.data.result;
20
+ this.selectedClient = this.clientList[0];
21
+ this.gs.selectedClient.next(this.selectedClient);
22
+ this.cd.detectChanges();
23
+ }
24
+ }
25
+ });
26
+ }
27
+ onClientSelect(event) {
28
+ this.selectedClient = event;
29
+ this.gs.selectedClient.next(this.selectedClient);
30
+ }
31
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, deps: [{ token: i1.AuthService }, { token: i2.GlobalStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
32
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ClientSettingsComponent, selector: "lib-client-settings", ngImport: i0, template: " <div class=\"wrapper\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'brandName'\" [disabled]=\"false\" [idField]=\"'_id'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n </div>\r\n", styles: [".wrapper{min-width:200px}\n"], dependencies: [{ kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }] });
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ClientSettingsComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'lib-client-settings', template: " <div class=\"wrapper\" >\r\n <lib-select [items]=\"clientList\" [multi]=\"false\" [searchField]=\"'brandName'\" [disabled]=\"false\" [idField]=\"'_id'\"\r\n (selected)=\"onClientSelect($event)\" [selectedValues]=\"[selectedClient]\"></lib-select>\r\n </div>\r\n", styles: [".wrapper{min-width:200px}\n"] }]
37
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.GlobalStateService }, { type: i0.ChangeDetectorRef }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC90b29sYmFyL2NsaWVudC1zZXR0aW5ncy9jbGllbnQtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L3Rvb2xiYXIvY2xpZW50LXNldHRpbmdzL2NsaWVudC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTN0QsTUFBTSxPQUFPLHVCQUF1QjtJQUtkO0lBQTBCO0lBQStCO0lBSDdFLFVBQVUsR0FBTyxFQUFFLENBQUE7SUFDbkIsY0FBYyxDQUFJO0lBRWxCLFlBQW9CLElBQWdCLEVBQVUsRUFBcUIsRUFBVSxFQUFvQjtRQUE3RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUMvRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUMvQixJQUFJLEVBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBRTtnQkFDUixJQUFHLENBQUMsRUFBQztvQkFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO29CQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7b0JBQ3hDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUE7b0JBQ2hELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUE7aUJBQ3hCO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBUztRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQTtRQUMzQixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ2xELENBQUM7dUdBckJVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLDJEQ1RwQyxnU0FJQTs7MkZES2EsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9nbG9iYWwtc3RhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jbGllbnQtc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jbGllbnQtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jbGllbnQtc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbGllbnRTZXR0aW5nc0NvbXBvbmVudCB7XHJcblxyXG4gIGNsaWVudExpc3Q6YW55ID0gW11cclxuICBzZWxlY3RlZENsaWVudDphbnlcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoOkF1dGhTZXJ2aWNlLCBwcml2YXRlIGdzOkdsb2JhbFN0YXRlU2VydmljZSwgcHJpdmF0ZSBjZDpDaGFuZ2VEZXRlY3RvclJlZil7XHJcbiAgICB0aGlzLmF1dGguZ2V0Q2xpZW50cygpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KGUpPT57XHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICB0aGlzLmNsaWVudExpc3QgPSBlLmRhdGEucmVzdWx0XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2xpZW50ID0gdGhpcy5jbGllbnRMaXN0WzBdXHJcbiAgICAgICAgICB0aGlzLmdzLnNlbGVjdGVkQ2xpZW50Lm5leHQodGhpcy5zZWxlY3RlZENsaWVudClcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgb25DbGllbnRTZWxlY3QoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuc2VsZWN0ZWRDbGllbnQgPSBldmVudFxyXG4gICAgdGhpcy5ncy5zZWxlY3RlZENsaWVudC5uZXh0KHRoaXMuc2VsZWN0ZWRDbGllbnQpXHJcbiAgfVxyXG5cclxufVxyXG4iLCIgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiA+XHJcbiAgICAgICAgPGxpYi1zZWxlY3QgW2l0ZW1zXT1cImNsaWVudExpc3RcIiBbbXVsdGldPVwiZmFsc2VcIiBbc2VhcmNoRmllbGRdPVwiJ2JyYW5kTmFtZSdcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBbaWRGaWVsZF09XCInX2lkJ1wiXHJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJvbkNsaWVudFNlbGVjdCgkZXZlbnQpXCIgW3NlbGVjdGVkVmFsdWVzXT1cIltzZWxlY3RlZENsaWVudF1cIj48L2xpYi1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuIl19