tango-app-ui-analyse-trax 3.9.2 → 3.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +37 -0
- package/ng-package.json +7 -0
- package/package.json +12 -25
- package/src/lib/components/action-centre/action-centre.component.html +607 -0
- package/src/lib/components/action-centre/action-centre.component.scss +185 -0
- package/src/lib/components/action-centre/action-centre.component.spec.ts +23 -0
- package/src/lib/components/action-centre/action-centre.component.ts +279 -0
- package/src/lib/components/activity-log/activity-log.component.html +84 -0
- package/src/lib/components/activity-log/activity-log.component.scss +33 -0
- package/src/lib/components/activity-log/activity-log.component.spec.ts +23 -0
- package/src/lib/components/activity-log/activity-log.component.ts +137 -0
- package/src/lib/components/activity-log-v2/activity-log-v2.component.html +189 -0
- package/src/lib/components/activity-log-v2/activity-log-v2.component.scss +162 -0
- package/src/lib/components/activity-log-v2/activity-log-v2.component.spec.ts +23 -0
- package/src/lib/components/activity-log-v2/activity-log-v2.component.ts +517 -0
- package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.html +19 -0
- package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.scss +148 -0
- package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.spec.ts +23 -0
- package/src/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.ts +141 -0
- package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.html +42 -0
- package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.scss +49 -0
- package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.spec.ts +23 -0
- package/src/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.ts +22 -0
- package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.html +724 -0
- package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.scss +217 -0
- package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.spec.ts +23 -0
- package/src/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.ts +122 -0
- package/src/lib/components/add-checklist/add-checklist.component.html +1459 -0
- package/src/lib/components/add-checklist/add-checklist.component.scss +1205 -0
- package/src/lib/components/add-checklist/add-checklist.component.spec.ts +23 -0
- package/src/lib/components/add-checklist/add-checklist.component.ts +2460 -0
- package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.html +207 -0
- package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.scss +213 -0
- package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.spec.ts +23 -0
- package/src/lib/components/add-checklist/checklist-popup/checklist-popup.component.ts +621 -0
- package/src/lib/components/add-checklist/counter/counter.component.html +43 -0
- package/src/lib/components/add-checklist/counter/counter.component.scss +49 -0
- package/src/lib/components/add-checklist/counter/counter.component.spec.ts +23 -0
- package/src/lib/components/add-checklist/counter/counter.component.ts +123 -0
- package/src/lib/components/add-multitask/add-multitask.component.html +705 -0
- package/src/lib/components/add-multitask/add-multitask.component.scss +296 -0
- package/src/lib/components/add-multitask/add-multitask.component.spec.ts +23 -0
- package/src/lib/components/add-multitask/add-multitask.component.ts +611 -0
- package/src/lib/components/add-multitask/ascending-validator.ts +13 -0
- package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.html +197 -0
- package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.scss +31 -0
- package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.spec.ts +23 -0
- package/src/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.ts +285 -0
- package/src/lib/components/add-multitask/create-task.data.ts +374 -0
- package/src/lib/components/add-multitask/create-task.interface.ts +177 -0
- package/src/lib/components/add-multitask/unique-string-validator.ts +13 -0
- package/src/lib/components/add-multitask/whitespace-validator.ts +11 -0
- package/src/lib/components/add-task/add-task.component.html +654 -0
- package/src/lib/components/add-task/add-task.component.scss +536 -0
- package/src/lib/components/add-task/add-task.component.spec.ts +23 -0
- package/src/lib/components/add-task/add-task.component.ts +569 -0
- package/src/lib/components/add-task/ascending-validator.ts +13 -0
- package/src/lib/components/add-task/create-task.data.ts +374 -0
- package/src/lib/components/add-task/create-task.interface.ts +192 -0
- package/src/lib/components/add-task/unique-string-validator.ts +13 -0
- package/src/lib/components/add-task/whitespace-validator.ts +11 -0
- package/src/lib/components/approval-popup/approval-popup.component.html +25 -0
- package/src/lib/components/approval-popup/approval-popup.component.scss +3 -0
- package/src/lib/components/approval-popup/approval-popup.component.spec.ts +23 -0
- package/src/lib/components/approval-popup/approval-popup.component.ts +26 -0
- package/src/lib/components/checklist/checklist.component.html +330 -0
- package/src/lib/components/checklist/checklist.component.scss +112 -0
- package/src/lib/components/checklist/checklist.component.spec.ts +23 -0
- package/src/lib/components/checklist/checklist.component.ts +344 -0
- package/src/lib/components/checklist-configure/assign/assign.component.html +665 -0
- package/src/lib/components/checklist-configure/assign/assign.component.scss +219 -0
- package/src/lib/components/checklist-configure/assign/assign.component.spec.ts +23 -0
- package/src/lib/components/checklist-configure/assign/assign.component.ts +932 -0
- package/src/lib/components/checklist-configure/checklist-configure.component.html +4340 -0
- package/src/lib/components/checklist-configure/checklist-configure.component.scss +2338 -0
- package/src/lib/components/checklist-configure/checklist-configure.component.spec.ts +23 -0
- package/src/lib/components/checklist-configure/checklist-configure.component.ts +4659 -0
- package/src/lib/components/checklistlayout/checklistlayout.component.html +30 -0
- package/src/lib/components/checklistlayout/checklistlayout.component.scss +15 -0
- package/src/lib/components/checklistlayout/checklistlayout.component.spec.ts +23 -0
- package/src/lib/components/checklistlayout/checklistlayout.component.ts +47 -0
- package/src/lib/components/chip-dropdown/chip-dropdown.component.html +36 -0
- package/src/lib/components/chip-dropdown/chip-dropdown.component.scss +97 -0
- package/src/lib/components/chip-dropdown/chip-dropdown.component.spec.ts +23 -0
- package/src/lib/components/chip-dropdown/chip-dropdown.component.ts +125 -0
- package/src/lib/components/create-task/create-task.component.html +2003 -0
- package/src/lib/components/create-task/create-task.component.scss +272 -0
- package/src/lib/components/create-task/create-task.component.spec.ts +23 -0
- package/src/lib/components/create-task/create-task.component.ts +614 -0
- package/src/lib/components/create-task/create-task.data.ts +372 -0
- package/src/lib/components/create-task/create-task.interface.ts +182 -0
- package/src/lib/components/create-task/validators/ascending-validator.ts +13 -0
- package/src/lib/components/create-task/validators/unique-string-validator.ts +13 -0
- package/src/lib/components/create-task/validators/whitespace-validator.ts +11 -0
- package/src/lib/components/custom-select/custom-select.component.html +44 -0
- package/src/lib/components/custom-select/custom-select.component.scss +144 -0
- package/src/lib/components/custom-select/custom-select.component.spec.ts +23 -0
- package/src/lib/components/custom-select/custom-select.component.ts +265 -0
- package/src/lib/components/dashboard/dashboard.component.html +1076 -0
- package/src/lib/components/dashboard/dashboard.component.scss +237 -0
- package/src/lib/components/dashboard/dashboard.component.spec.ts +23 -0
- package/src/lib/components/dashboard/dashboard.component.ts +539 -0
- package/src/lib/components/dashboard-info/dashboard-info.component.html +1420 -0
- package/src/lib/components/dashboard-info/dashboard-info.component.scss +409 -0
- package/src/lib/components/dashboard-info/dashboard-info.component.spec.ts +23 -0
- package/src/lib/components/dashboard-info/dashboard-info.component.ts +772 -0
- package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.html +110 -0
- package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.scss +260 -0
- package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.spec.ts +23 -0
- package/src/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.ts +143 -0
- package/src/lib/components/dashboard-layout/dashboard-layout.component.html +1 -0
- package/src/lib/components/dashboard-layout/dashboard-layout.component.scss +0 -0
- package/src/lib/components/dashboard-layout/dashboard-layout.component.spec.ts +23 -0
- package/src/lib/components/dashboard-layout/dashboard-layout.component.ts +10 -0
- package/src/lib/components/disabled-select/disabled-select.component.html +44 -0
- package/src/lib/components/disabled-select/disabled-select.component.scss +149 -0
- package/src/lib/components/disabled-select/disabled-select.component.spec.ts +23 -0
- package/src/lib/components/disabled-select/disabled-select.component.ts +146 -0
- package/src/lib/components/export-gallery/export-gallery.component.html +175 -0
- package/src/lib/components/export-gallery/export-gallery.component.scss +200 -0
- package/src/lib/components/export-gallery/export-gallery.component.spec.ts +23 -0
- package/src/lib/components/export-gallery/export-gallery.component.ts +263 -0
- package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.html +36 -0
- package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.scss +97 -0
- package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.ts +104 -0
- package/src/lib/components/eye-test-audit/custom-select/custom-select.component.html +44 -0
- package/src/lib/components/eye-test-audit/custom-select/custom-select.component.scss +144 -0
- package/src/lib/components/eye-test-audit/custom-select/custom-select.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/custom-select/custom-select.component.ts +265 -0
- package/src/lib/components/eye-test-audit/eye-test/eye-test.component.html +1804 -0
- package/src/lib/components/eye-test-audit/eye-test/eye-test.component.scss +806 -0
- package/src/lib/components/eye-test-audit/eye-test/eye-test.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/eye-test/eye-test.component.ts +1890 -0
- package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.html +25 -0
- package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.scss +0 -0
- package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.ts +20 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.ts +26 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.html +1 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.scss +0 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.ts +24 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.ts +44 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.html +490 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.scss +721 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.ts +1017 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.html +708 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.scss +247 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.ts +446 -0
- package/src/lib/components/eye-test-audit/group-select/group-select.component.html +44 -0
- package/src/lib/components/eye-test-audit/group-select/group-select.component.scss +144 -0
- package/src/lib/components/eye-test-audit/group-select/group-select.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/group-select/group-select.component.ts +147 -0
- package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.html +18 -0
- package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.scss +49 -0
- package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/reactive-select/reactive-select.component.ts +104 -0
- package/src/lib/components/eye-test-audit/select-drop/select-drop.component.html +44 -0
- package/src/lib/components/eye-test-audit/select-drop/select-drop.component.scss +144 -0
- package/src/lib/components/eye-test-audit/select-drop/select-drop.component.spec.ts +23 -0
- package/src/lib/components/eye-test-audit/select-drop/select-drop.component.ts +152 -0
- package/src/lib/components/eye-test-audit/services/eye-test-audit.service.spec.ts +16 -0
- package/src/lib/components/eye-test-audit/services/eye-test-audit.service.ts +190 -0
- package/src/lib/components/flag-layout/flag-layout.component.html +1 -0
- package/src/lib/components/flag-layout/flag-layout.component.scss +0 -0
- package/src/lib/components/flag-layout/flag-layout.component.spec.ts +23 -0
- package/src/lib/components/flag-layout/flag-layout.component.ts +10 -0
- package/src/lib/components/flags/flags.component.html +473 -0
- package/src/lib/components/flags/flags.component.scss +86 -0
- package/src/lib/components/flags/flags.component.spec.ts +23 -0
- package/src/lib/components/flags/flags.component.ts +280 -0
- package/{lib/components/flags/flags.interface.d.ts → src/lib/components/flags/flags.interface.ts} +73 -65
- package/src/lib/components/flags-info/flags-info.component.html +6012 -0
- package/src/lib/components/flags-info/flags-info.component.scss +278 -0
- package/src/lib/components/flags-info/flags-info.component.spec.ts +23 -0
- package/src/lib/components/flags-info/flags-info.component.ts +490 -0
- package/src/lib/components/flags-info/flags-info.interface.ts +441 -0
- package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.html +1 -0
- package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.scss +4 -0
- package/src/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.ts +78 -0
- package/src/lib/components/flags-new/flags-new.component.html +904 -0
- package/src/lib/components/flags-new/flags-new.component.scss +121 -0
- package/src/lib/components/flags-new/flags-new.component.spec.ts +23 -0
- package/src/lib/components/flags-new/flags-new.component.ts +357 -0
- package/{lib/components/flags-new/flags-new.interface.d.ts → src/lib/components/flags-new/flags-new.interface.ts} +90 -81
- package/src/lib/components/gallery/gallery.component.html +3660 -0
- package/src/lib/components/gallery/gallery.component.scss +930 -0
- package/src/lib/components/gallery/gallery.component.ts +3527 -0
- package/src/lib/components/group-select/group-select.component.html +44 -0
- package/src/lib/components/group-select/group-select.component.scss +144 -0
- package/src/lib/components/group-select/group-select.component.spec.ts +23 -0
- package/src/lib/components/group-select/group-select.component.ts +145 -0
- package/src/lib/components/image-popup/image-popup.component.html +11 -0
- package/src/lib/components/image-popup/image-popup.component.scss +5 -0
- package/src/lib/components/image-popup/image-popup.component.ts +18 -0
- package/src/lib/components/lib/custom-select/custom-select.component.html +42 -0
- package/src/lib/components/lib/custom-select/custom-select.component.scss +131 -0
- package/src/lib/components/lib/custom-select/custom-select.component.spec.ts +23 -0
- package/src/lib/components/lib/custom-select/custom-select.component.ts +151 -0
- package/src/lib/components/manage-task/manage-task.component.html +265 -0
- package/src/lib/components/manage-task/manage-task.component.scss +69 -0
- package/src/lib/components/manage-task/manage-task.component.spec.ts +23 -0
- package/src/lib/components/manage-task/manage-task.component.ts +267 -0
- package/src/lib/components/managechecklist/managechecklist.component.html +176 -0
- package/src/lib/components/managechecklist/managechecklist.component.scss +43 -0
- package/src/lib/components/managechecklist/managechecklist.component.spec.ts +23 -0
- package/src/lib/components/managechecklist/managechecklist.component.ts +176 -0
- package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.html +46 -0
- package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.scss +181 -0
- package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.spec.ts +23 -0
- package/src/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.ts +221 -0
- package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.html +36 -0
- package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.scss +89 -0
- package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.spec.ts +23 -0
- package/src/lib/components/multi-date-datepicker/multi-date-datepicker.component.ts +118 -0
- package/src/lib/components/orders/orders.component.html +203 -0
- package/src/lib/components/orders/orders.component.scss +180 -0
- package/src/lib/components/orders/orders.component.spec.ts +25 -0
- package/src/lib/components/orders/orders.component.ts +197 -0
- package/src/lib/components/pagination/pagination.component.html +28 -0
- package/src/lib/components/pagination/pagination.component.scss +6 -0
- package/src/lib/components/pagination/pagination.component.spec.ts +23 -0
- package/src/lib/components/pagination/pagination.component.ts +54 -0
- package/src/lib/components/reactive-select/reactive-select.component.html +18 -0
- package/src/lib/components/reactive-select/reactive-select.component.scss +48 -0
- package/src/lib/components/reactive-select/reactive-select.component.spec.ts +23 -0
- package/src/lib/components/reactive-select/reactive-select.component.ts +104 -0
- package/src/lib/components/reports/date-picker/date-picker.component.html +54 -0
- package/src/lib/components/reports/date-picker/date-picker.component.scss +156 -0
- package/src/lib/components/reports/date-picker/date-picker.component.spec.ts +23 -0
- package/src/lib/components/reports/date-picker/date-picker.component.ts +60 -0
- package/src/lib/components/reports/reports.component.html +225 -0
- package/src/lib/components/reports/reports.component.scss +69 -0
- package/src/lib/components/reports/reports.component.spec.ts +23 -0
- package/src/lib/components/reports/reports.component.ts +334 -0
- package/{lib/components/reports/reports.interface.d.ts → src/lib/components/reports/reports.interface.ts} +50 -46
- package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.html +1 -0
- package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.scss +15 -0
- package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.spec.ts +23 -0
- package/src/lib/components/tango-analyse-trax/tango-analyse-trax.component.ts +31 -0
- package/src/lib/components/task/task.component.html +322 -0
- package/src/lib/components/task/task.component.scss +169 -0
- package/src/lib/components/task/task.component.spec.ts +23 -0
- package/src/lib/components/task/task.component.ts +340 -0
- package/src/lib/components/task-configure/task-configure.component.html +737 -0
- package/src/lib/components/task-configure/task-configure.component.scss +569 -0
- package/src/lib/components/task-configure/task-configure.component.spec.ts +23 -0
- package/src/lib/components/task-configure/task-configure.component.ts +1603 -0
- package/src/lib/components/task-configure/task-configure.interface.ts +138 -0
- package/src/lib/components/task-info/task-info.component.html +390 -0
- package/src/lib/components/task-info/task-info.component.scss +56 -0
- package/src/lib/components/task-info/task-info.component.spec.ts +23 -0
- package/src/lib/components/task-info/task-info.component.ts +400 -0
- package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.html +141 -0
- package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.scss +460 -0
- package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.spec.ts +23 -0
- package/src/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.ts +202 -0
- package/src/lib/components/task-layout/task-layout.component.html +1 -0
- package/src/lib/components/task-layout/task-layout.component.scss +0 -0
- package/src/lib/components/task-layout/task-layout.component.spec.ts +23 -0
- package/src/lib/components/task-layout/task-layout.component.ts +10 -0
- package/src/lib/components/task-logs/task-logs.component.html +97 -0
- package/src/lib/components/task-logs/task-logs.component.scss +301 -0
- package/src/lib/components/task-logs/task-logs.component.spec.ts +23 -0
- package/src/lib/components/task-logs/task-logs.component.ts +80 -0
- package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.html +84 -0
- package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.scss +229 -0
- package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.spec.ts +23 -0
- package/src/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.ts +111 -0
- package/src/lib/components/trax-store/trax-store.component.html +78 -0
- package/src/lib/components/trax-store/trax-store.component.scss +134 -0
- package/src/lib/components/trax-store/trax-store.component.spec.ts +23 -0
- package/src/lib/components/trax-store/trax-store.component.ts +172 -0
- package/src/lib/components/traxpopup/traxpopup.component.html +130 -0
- package/src/lib/components/traxpopup/traxpopup.component.scss +225 -0
- package/src/lib/components/traxpopup/traxpopup.component.spec.ts +23 -0
- package/src/lib/components/traxpopup/traxpopup.component.ts +71 -0
- package/src/lib/services/trax.service.spec.ts +16 -0
- package/src/lib/services/trax.service.ts +789 -0
- package/src/lib/tango-analyse-trax-routing.module.ts +151 -0
- package/src/lib/tango-analyse-trax.module.ts +140 -0
- package/{public-api.d.ts → src/public-api.ts} +6 -2
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/lib/components/action-centre/action-centre.component.mjs +0 -288
- package/esm2022/lib/components/activity-log/activity-log.component.mjs +0 -150
- package/esm2022/lib/components/activity-log-v2/activity-log-v2.component.mjs +0 -502
- package/esm2022/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.mjs +0 -114
- package/esm2022/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.mjs +0 -24
- package/esm2022/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.mjs +0 -126
- package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +0 -2352
- package/esm2022/lib/components/add-checklist/checklist-popup/checklist-popup.component.mjs +0 -612
- package/esm2022/lib/components/add-checklist/counter/counter.component.mjs +0 -138
- package/esm2022/lib/components/add-multitask/add-multitask.component.mjs +0 -604
- package/esm2022/lib/components/add-multitask/ascending-validator.mjs +0 -11
- package/esm2022/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.mjs +0 -297
- package/esm2022/lib/components/add-multitask/create-task.data.mjs +0 -372
- package/esm2022/lib/components/add-multitask/create-task.interface.mjs +0 -2
- package/esm2022/lib/components/add-multitask/unique-string-validator.mjs +0 -10
- package/esm2022/lib/components/add-multitask/whitespace-validator.mjs +0 -10
- package/esm2022/lib/components/add-task/add-task.component.mjs +0 -561
- package/esm2022/lib/components/add-task/ascending-validator.mjs +0 -11
- package/esm2022/lib/components/add-task/create-task.data.mjs +0 -372
- package/esm2022/lib/components/add-task/create-task.interface.mjs +0 -2
- package/esm2022/lib/components/add-task/unique-string-validator.mjs +0 -10
- package/esm2022/lib/components/add-task/whitespace-validator.mjs +0 -10
- package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +0 -30
- package/esm2022/lib/components/checklist/checklist.component.mjs +0 -327
- package/esm2022/lib/components/checklist-configure/assign/assign.component.mjs +0 -912
- package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +0 -4161
- package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +0 -44
- package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +0 -120
- package/esm2022/lib/components/create-task/create-task.component.mjs +0 -585
- package/esm2022/lib/components/create-task/create-task.data.mjs +0 -372
- package/esm2022/lib/components/create-task/create-task.interface.mjs +0 -2
- package/esm2022/lib/components/create-task/validators/ascending-validator.mjs +0 -11
- package/esm2022/lib/components/create-task/validators/unique-string-validator.mjs +0 -10
- package/esm2022/lib/components/create-task/validators/whitespace-validator.mjs +0 -10
- package/esm2022/lib/components/custom-select/custom-select.component.mjs +0 -240
- package/esm2022/lib/components/dashboard/dashboard.component.mjs +0 -532
- package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +0 -741
- package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +0 -155
- package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +0 -12
- package/esm2022/lib/components/disabled-select/disabled-select.component.mjs +0 -158
- package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +0 -266
- package/esm2022/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.mjs +0 -105
- package/esm2022/lib/components/eye-test-audit/custom-select/custom-select.component.mjs +0 -240
- package/esm2022/lib/components/eye-test-audit/eye-test/eye-test.component.mjs +0 -1733
- package/esm2022/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.mjs +0 -24
- package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.mjs +0 -34
- package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.mjs +0 -27
- package/esm2022/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.mjs +0 -71
- package/esm2022/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.mjs +0 -823
- package/esm2022/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.mjs +0 -412
- package/esm2022/lib/components/eye-test-audit/group-select/group-select.component.mjs +0 -157
- package/esm2022/lib/components/eye-test-audit/reactive-select/reactive-select.component.mjs +0 -105
- package/esm2022/lib/components/eye-test-audit/select-drop/select-drop.component.mjs +0 -162
- package/esm2022/lib/components/eye-test-audit/services/eye-test-audit.service.mjs +0 -166
- package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +0 -12
- package/esm2022/lib/components/flags/flags.component.mjs +0 -263
- package/esm2022/lib/components/flags/flags.interface.mjs +0 -2
- package/esm2022/lib/components/flags-info/flags-info.component.mjs +0 -452
- package/esm2022/lib/components/flags-info/flags-info.interface.mjs +0 -2
- package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +0 -71
- package/esm2022/lib/components/flags-new/flags-new.component.mjs +0 -335
- package/esm2022/lib/components/flags-new/flags-new.interface.mjs +0 -2
- package/esm2022/lib/components/gallery/gallery.component.mjs +0 -3402
- package/esm2022/lib/components/group-select/group-select.component.mjs +0 -155
- package/esm2022/lib/components/image-popup/image-popup.component.mjs +0 -25
- package/esm2022/lib/components/lib/custom-select/custom-select.component.mjs +0 -158
- package/esm2022/lib/components/manage-task/manage-task.component.mjs +0 -264
- package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +0 -186
- package/esm2022/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.mjs +0 -229
- package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +0 -124
- package/esm2022/lib/components/orders/orders.component.mjs +0 -171
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -62
- package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +0 -108
- package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +0 -60
- package/esm2022/lib/components/reports/reports.component.mjs +0 -300
- package/esm2022/lib/components/reports/reports.interface.mjs +0 -2
- package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +0 -32
- package/esm2022/lib/components/task/task.component.mjs +0 -341
- package/esm2022/lib/components/task-configure/task-configure.component.mjs +0 -1532
- package/esm2022/lib/components/task-configure/task-configure.interface.mjs +0 -2
- package/esm2022/lib/components/task-info/task-info.component.mjs +0 -375
- package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +0 -208
- package/esm2022/lib/components/task-layout/task-layout.component.mjs +0 -12
- package/esm2022/lib/components/task-logs/task-logs.component.mjs +0 -104
- package/esm2022/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.mjs +0 -107
- package/esm2022/lib/components/trax-store/trax-store.component.mjs +0 -179
- package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +0 -70
- package/esm2022/lib/services/trax.service.mjs +0 -559
- package/esm2022/lib/tango-analyse-trax-routing.module.mjs +0 -153
- package/esm2022/lib/tango-analyse-trax.module.mjs +0 -221
- package/esm2022/public-api.mjs +0 -6
- package/esm2022/tango-app-ui-analyse-trax.mjs +0 -5
- package/fesm2022/tango-app-ui-analyse-trax.mjs +0 -28896
- package/fesm2022/tango-app-ui-analyse-trax.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/action-centre/action-centre.component.d.ts +0 -68
- package/lib/components/activity-log/activity-log.component.d.ts +0 -39
- package/lib/components/activity-log-v2/activity-log-v2.component.d.ts +0 -78
- package/lib/components/activity-log-v2/log-view-popup/date-range-picker/date-range-picker.component.d.ts +0 -24
- package/lib/components/activity-log-v2/log-view-popup/store-user-dropdown/store-user-dropdown.component.d.ts +0 -9
- package/lib/components/activity-log-v2/log-view-popup/view-action/view-action.component.d.ts +0 -34
- package/lib/components/add-checklist/add-checklist.component.d.ts +0 -121
- package/lib/components/add-checklist/checklist-popup/checklist-popup.component.d.ts +0 -45
- package/lib/components/add-checklist/counter/counter.component.d.ts +0 -29
- package/lib/components/add-multitask/add-multitask.component.d.ts +0 -102
- package/lib/components/add-multitask/ascending-validator.d.ts +0 -2
- package/lib/components/add-multitask/bulkcreationmodel/bulkcreationmodel.component.d.ts +0 -45
- package/lib/components/add-multitask/create-task.data.d.ts +0 -293
- package/lib/components/add-multitask/create-task.interface.d.ts +0 -159
- package/lib/components/add-multitask/unique-string-validator.d.ts +0 -2
- package/lib/components/add-multitask/whitespace-validator.d.ts +0 -2
- package/lib/components/add-task/add-task.component.d.ts +0 -89
- package/lib/components/add-task/ascending-validator.d.ts +0 -2
- package/lib/components/add-task/create-task.data.d.ts +0 -293
- package/lib/components/add-task/create-task.interface.d.ts +0 -161
- package/lib/components/add-task/unique-string-validator.d.ts +0 -2
- package/lib/components/add-task/whitespace-validator.d.ts +0 -2
- package/lib/components/approval-popup/approval-popup.component.d.ts +0 -14
- package/lib/components/checklist/checklist.component.d.ts +0 -40
- package/lib/components/checklist-configure/assign/assign.component.d.ts +0 -105
- package/lib/components/checklist-configure/checklist-configure.component.d.ts +0 -325
- package/lib/components/checklistlayout/checklistlayout.component.d.ts +0 -15
- package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +0 -28
- package/lib/components/create-task/create-task.component.d.ts +0 -76
- package/lib/components/create-task/create-task.data.d.ts +0 -293
- package/lib/components/create-task/create-task.interface.d.ts +0 -163
- package/lib/components/create-task/validators/ascending-validator.d.ts +0 -2
- package/lib/components/create-task/validators/unique-string-validator.d.ts +0 -2
- package/lib/components/create-task/validators/whitespace-validator.d.ts +0 -2
- package/lib/components/custom-select/custom-select.component.d.ts +0 -35
- package/lib/components/dashboard/dashboard.component.d.ts +0 -80
- package/lib/components/dashboard-info/dashboard-info.component.d.ts +0 -117
- package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +0 -41
- package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +0 -5
- package/lib/components/disabled-select/disabled-select.component.d.ts +0 -34
- package/lib/components/export-gallery/export-gallery.component.d.ts +0 -44
- package/lib/components/eye-test-audit/chip-dropdown/chip-dropdown.component.d.ts +0 -26
- package/lib/components/eye-test-audit/custom-select/custom-select.component.d.ts +0 -35
- package/lib/components/eye-test-audit/eye-test/eye-test.component.d.ts +0 -218
- package/lib/components/eye-test-audit/eye-test/send-alert/send-alert.component.d.ts +0 -12
- package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit-routing.module.d.ts +0 -7
- package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.component.d.ts +0 -11
- package/lib/components/eye-test-audit/eye-test-audit/eye-test-audit.module.d.ts +0 -21
- package/lib/components/eye-test-audit/eye-test-audit/settings-audit/settings-audit.component.d.ts +0 -129
- package/lib/components/eye-test-audit/eye-test-audit/start-audit/start-audit.component.d.ts +0 -86
- package/lib/components/eye-test-audit/group-select/group-select.component.d.ts +0 -33
- package/lib/components/eye-test-audit/reactive-select/reactive-select.component.d.ts +0 -32
- package/lib/components/eye-test-audit/select-drop/select-drop.component.d.ts +0 -33
- package/lib/components/eye-test-audit/services/eye-test-audit.service.d.ts +0 -47
- package/lib/components/flag-layout/flag-layout.component.d.ts +0 -5
- package/lib/components/flags/flags.component.d.ts +0 -52
- package/lib/components/flags-info/flags-info.component.d.ts +0 -73
- package/lib/components/flags-info/flags-info.interface.d.ts +0 -430
- package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +0 -13
- package/lib/components/flags-new/flags-new.component.d.ts +0 -60
- package/lib/components/gallery/gallery.component.d.ts +0 -261
- package/lib/components/group-select/group-select.component.d.ts +0 -33
- package/lib/components/image-popup/image-popup.component.d.ts +0 -11
- package/lib/components/lib/custom-select/custom-select.component.d.ts +0 -33
- package/lib/components/manage-task/manage-task.component.d.ts +0 -47
- package/lib/components/managechecklist/managechecklist.component.d.ts +0 -33
- package/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.d.ts +0 -40
- package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +0 -27
- package/lib/components/orders/orders.component.d.ts +0 -38
- package/lib/components/pagination/pagination.component.d.ts +0 -16
- package/lib/components/reactive-select/reactive-select.component.d.ts +0 -32
- package/lib/components/reports/date-picker/date-picker.component.d.ts +0 -23
- package/lib/components/reports/reports.component.d.ts +0 -55
- package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +0 -14
- package/lib/components/task/task.component.d.ts +0 -70
- package/lib/components/task-configure/task-configure.component.d.ts +0 -142
- package/lib/components/task-configure/task-configure.interface.d.ts +0 -128
- package/lib/components/task-info/task-info.component.d.ts +0 -76
- package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +0 -61
- package/lib/components/task-layout/task-layout.component.d.ts +0 -5
- package/lib/components/task-logs/task-logs.component.d.ts +0 -27
- package/lib/components/trax-run-ai-popup/trax-run-ai-popup.component.d.ts +0 -26
- package/lib/components/trax-store/trax-store.component.d.ts +0 -45
- package/lib/components/traxpopup/traxpopup.component.d.ts +0 -24
- package/lib/services/trax.service.d.ts +0 -175
- package/lib/tango-analyse-trax-routing.module.d.ts +0 -7
- package/lib/tango-analyse-trax.module.d.ts +0 -68
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
4
|
-
import * as i2 from "@angular/platform-browser";
|
|
5
|
-
import * as i3 from "tango-app-ui-shared";
|
|
6
|
-
import * as i4 from "../../services/trax.service";
|
|
7
|
-
import * as i5 from "@angular/common";
|
|
8
|
-
import * as i6 from "@angular/forms";
|
|
9
|
-
export class TraxRunAIPopupComponent {
|
|
10
|
-
dialogRef;
|
|
11
|
-
sanitizer;
|
|
12
|
-
toast;
|
|
13
|
-
sopService;
|
|
14
|
-
requestText = "";
|
|
15
|
-
next = true;
|
|
16
|
-
runAIFeatures = [
|
|
17
|
-
{ featureName: "Matched/Not Matched", lableName: "detectionStatus" },
|
|
18
|
-
{ featureName: "Count", lableName: "No of Employee" },
|
|
19
|
-
{ featureName: "Character Extraction", lableName: "GST Number" },
|
|
20
|
-
{ featureName: "Others", lableName: "" },
|
|
21
|
-
];
|
|
22
|
-
selectedFeatures = [];
|
|
23
|
-
data;
|
|
24
|
-
constructor(dialogRef, sanitizer, toast, sopService) {
|
|
25
|
-
this.dialogRef = dialogRef;
|
|
26
|
-
this.sanitizer = sanitizer;
|
|
27
|
-
this.toast = toast;
|
|
28
|
-
this.sopService = sopService;
|
|
29
|
-
}
|
|
30
|
-
ngOnInit() {
|
|
31
|
-
this.sopService.getClientrunAIFeatues(this.data.clientId).subscribe((res) => {
|
|
32
|
-
if (res && res.code == 200 && res.data.length) {
|
|
33
|
-
this.runAIFeatures = res.data.map((ele) => { return { featureName: ele.featureName, lableName: ele.lableName }; });
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
if (this.data?.user) {
|
|
37
|
-
this.data.user.forEach((item) => {
|
|
38
|
-
item.invite = true;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
this.data.images = JSON.parse(JSON.stringify(this.data.images));
|
|
42
|
-
this.next = this.data.images.length ? true : false;
|
|
43
|
-
this.selectedFeatures = this.data.runAIFeatures;
|
|
44
|
-
}
|
|
45
|
-
closepopup() {
|
|
46
|
-
this.dialogRef.close('cancel');
|
|
47
|
-
}
|
|
48
|
-
confirmpopup() {
|
|
49
|
-
let errors = [];
|
|
50
|
-
if (!this.selectedFeatures.length) {
|
|
51
|
-
this.toast.getErrorToast('Please select a Features');
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
this.selectedFeatures.forEach((ele) => {
|
|
55
|
-
ele.lableName = ele?.lableName.trim();
|
|
56
|
-
if (!ele?.lableName.length) {
|
|
57
|
-
errors.push(`${ele.featureName}`);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
if (errors.length) {
|
|
61
|
-
this.toast.getErrorToast(`${errors.toString()} feature label is missing`);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
let confirmData = {
|
|
65
|
-
images: this.data.images,
|
|
66
|
-
runAIFeatures: this.selectedFeatures,
|
|
67
|
-
runAIDescription: this.data.runAIDescription,
|
|
68
|
-
};
|
|
69
|
-
this.dialogRef.close(confirmData);
|
|
70
|
-
}
|
|
71
|
-
checkRunAI() {
|
|
72
|
-
if (this.data?.images?.length) {
|
|
73
|
-
let enableRunAI = this.data?.images?.find((ele) => ele.runAI);
|
|
74
|
-
return enableRunAI ? false : true;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
onStoreSelect(selectedItems) {
|
|
78
|
-
this.selectedFeatures = selectedItems.map((item) => {
|
|
79
|
-
// Find the full feature object from runAIFeatures to get the lableName
|
|
80
|
-
const fullFeature = this.runAIFeatures.find((f) => f.featureName === item.featureName);
|
|
81
|
-
return {
|
|
82
|
-
...item,
|
|
83
|
-
lableName: fullFeature?.lableName,
|
|
84
|
-
customLabel: "", // Initialize custom label
|
|
85
|
-
};
|
|
86
|
-
});
|
|
87
|
-
console.log(this.selectedFeatures, 'features');
|
|
88
|
-
}
|
|
89
|
-
onInputChange(value) {
|
|
90
|
-
// Remove leading/trailing spaces
|
|
91
|
-
let cleanValue = value.trim();
|
|
92
|
-
// Block <script> or suspicious tags
|
|
93
|
-
cleanValue = cleanValue.replace(/<script.*?>.*?<\/script>/gi, '');
|
|
94
|
-
// (Optional) remove all angle brackets to block any HTML
|
|
95
|
-
cleanValue = cleanValue.replace(/<.*?>/g, '');
|
|
96
|
-
this.data.runAIDescription = cleanValue;
|
|
97
|
-
}
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxRunAIPopupComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.DomSanitizer }, { token: i3.ToastService }, { token: i4.TraxService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TraxRunAIPopupComponent, selector: "lib-trax-run-ai-popup", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"text-start p-9 h-auto scroll-y my-2\">\r\n <div [innerHTML]=\"data.imagesrc\"></div>\r\n <div class=\"customtitle mt-4\">\r\n {{data.title}}\r\n </div>\r\n <div class=\"content mt-4\" [innerHtml]=\"data.content\">\r\n </div>\r\n <div class=\"error mt-5 p-5 pt-0 h-auto mh-200px overflow-scroll\" *ngIf=\"data?.error\">\r\n <div class=\"mt-5\" *ngFor=\"let error of data?.error;let i =index\">\r\n <span>{{i + 1}}.) {{error}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-4\">\r\n {{data.subtitle}}\r\n </div>\r\n\r\n <div *ngIf=\"next\" >\r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Question</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"Question\" type=\"text\" value=\"{{data.questionName}}\" disabled>\r\n </div>\r\n \r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Select the reference images to process</label><br>\r\n <div class=\"row\">\r\n <div class=\"col-md-4 position-relative\" *ngFor=\"let img of data.images\"> <!-- -->\r\n <div class=\"pb-4 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <!-- Checkbox in top-right --> <!--[(ngModel)]=\"img.selected\"-->\r\n <input type=\"checkbox\" \r\n class=\"position-absolute absolute form-check-input\"\r\n [(ngModel)]=\"img.runAI\" />\r\n \r\n <!-- Image -->\r\n <img src=\"{{data.environment}}{{img.imageURL}}\" alt=\"\" class=\"w-100 mb-2 rounded border\" width=\"90%\" height=\"100px\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!next\">\r\n <!-- <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">What\u2019s the ouput you looking for</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"Select Option\" type=\"text\">\r\n </div> -->\r\n <div class=\"mt-5\">\r\n <div class=\"select-wrapper\">\r\n <div class=\"placeholder-overlay\"> What\u2019s the ouput you looking for </div>\r\n <lib-select [items]=\"runAIFeatures\" [disabled]=\"false\" [multi]=\"true\"\r\n [searchField]=\"'featureName'\" [idField]=\"'featureName'\" (selected)=\"onStoreSelect($event)\"\r\n [selectedValues]=\"selectedFeatures\"></lib-select>\r\n </div>\r\n </div>\r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Specify your request</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" [(ngModel)]=\"data.runAIDescription\" (ngModelChange)=\"onInputChange($event)\" placeholder=\"\" type=\"text\">\r\n </div>\r\n \r\n <div class=\"mt-5\" *ngFor=\"let feature of selectedFeatures; let i = index\">\r\n <ng-container *ngIf=\"feature.lableName !== 'detectionStatus'\">\r\n <label for=\"label-{{i}}\" class=\"label\">\r\n @if(feature.featureName === 'Others') {\r\n Label if any\r\n }@else {\r\n Label for {{feature.featureName || feature.lableName}}\r\n }\r\n </label><br>\r\n <input class=\"inputlabel\" id=\"label-{{i}}\" \r\n placeholder=\"{{feature?.lableName}}\" \r\n type=\"text\" [(ngModel)]=\"feature.lableName\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" *ngIf=\"!next\"\r\n (click)=\"confirmpopup()\">Request</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" *ngIf=\"next\"\r\n (click)=\"next = false\" [disabled]=\"checkRunAI()\">Next</button>\r\n </div>\r\n</div>\r\n", styles: [".Overlay{top:0;left:0;width:100%;height:100%;z-index:200!important;position:fixed;background:#58575799}input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.form-check.form-check-solid .form-check-input:checked{background-color:var(--primary-50, #EAF8FF)!important}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.min-width-popup{min-width:47%!important}.content{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;padding:0!important;font-style:normal;font-weight:400}.label{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input{font-size:16px;color:var(--gray-900, #101828)}.inputlabel{width:100%;margin-top:5px;padding:10px 14px;border-radius:8px;border:1px solid var(--gray-300, #D0D5DD);background:var(--white, #FFF);box-shadow:0 1px 2px #1018280d}.inputlabel:focus{outline:1px solid var(--gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important;border:#F9FAFB!important;outline:1px solid var(--primary-300, #6BCAFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important;color:#101828}.popup{position:absolute;top:50%;left:50%;opacity:1;transform:translate(-50%,-50%);background:var(--white, #FFF);border-radius:12px!important;border-radius:12px;box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;padding:30px;width:400px;height:fit-content}.btn-outline{border:1px solid lightgrey;padding:calc(.75rem + 1px) calc(1.5rem + 1px)}.fs-18px{font-size:18px;color:var(--black, #000);font-family:inter}.fw-600{font-weight:600!important}::ng-deep .mat-dialog-container{box-shadow:none;background:#fff;color:#000000de}.symbol-label{color:var(--primary-600, #00A3FF);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.invitemain{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.invitesub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.subtitle{color:var(--Black, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.customtitle{color:var(--gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.addScroll{height:300px;overflow-y:scroll}.storesubtitle{word-break:break-all;padding-top:.5em}::ng-deep .mat-dialog-container{display:block;padding:24px;border-radius:12px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.error{color:var(--Error-700, #B42318);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;border-radius:8px;border:1px solid var(--Error-300, #FDA29B);background:var(--Error-25, #FFFBFA)}.absolute{right:2px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CustomSelectComponent, selector: "lib-select", inputs: ["items", "searchField", "multi", "idField", "selectedValues", "disabled", "label"], outputs: ["selected"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
100
|
-
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxRunAIPopupComponent, decorators: [{
|
|
102
|
-
type: Component,
|
|
103
|
-
args: [{ selector: "lib-trax-run-ai-popup", template: "<div class=\"text-start p-9 h-auto scroll-y my-2\">\r\n <div [innerHTML]=\"data.imagesrc\"></div>\r\n <div class=\"customtitle mt-4\">\r\n {{data.title}}\r\n </div>\r\n <div class=\"content mt-4\" [innerHtml]=\"data.content\">\r\n </div>\r\n <div class=\"error mt-5 p-5 pt-0 h-auto mh-200px overflow-scroll\" *ngIf=\"data?.error\">\r\n <div class=\"mt-5\" *ngFor=\"let error of data?.error;let i =index\">\r\n <span>{{i + 1}}.) {{error}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-4\">\r\n {{data.subtitle}}\r\n </div>\r\n\r\n <div *ngIf=\"next\" >\r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Question</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"Question\" type=\"text\" value=\"{{data.questionName}}\" disabled>\r\n </div>\r\n \r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Select the reference images to process</label><br>\r\n <div class=\"row\">\r\n <div class=\"col-md-4 position-relative\" *ngFor=\"let img of data.images\"> <!-- -->\r\n <div class=\"pb-4 img-border border border-1 h-100 rounded-3 position-relative\">\r\n <!-- Checkbox in top-right --> <!--[(ngModel)]=\"img.selected\"-->\r\n <input type=\"checkbox\" \r\n class=\"position-absolute absolute form-check-input\"\r\n [(ngModel)]=\"img.runAI\" />\r\n \r\n <!-- Image -->\r\n <img src=\"{{data.environment}}{{img.imageURL}}\" alt=\"\" class=\"w-100 mb-2 rounded border\" width=\"90%\" height=\"100px\"/>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!next\">\r\n <!-- <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">What\u2019s the ouput you looking for</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"Select Option\" type=\"text\">\r\n </div> -->\r\n <div class=\"mt-5\">\r\n <div class=\"select-wrapper\">\r\n <div class=\"placeholder-overlay\"> What\u2019s the ouput you looking for </div>\r\n <lib-select [items]=\"runAIFeatures\" [disabled]=\"false\" [multi]=\"true\"\r\n [searchField]=\"'featureName'\" [idField]=\"'featureName'\" (selected)=\"onStoreSelect($event)\"\r\n [selectedValues]=\"selectedFeatures\"></lib-select>\r\n </div>\r\n </div>\r\n <div class=\"mt-5\">\r\n <label for=\"inputmodel\" class=\"label\">Specify your request</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" [(ngModel)]=\"data.runAIDescription\" (ngModelChange)=\"onInputChange($event)\" placeholder=\"\" type=\"text\">\r\n </div>\r\n \r\n <div class=\"mt-5\" *ngFor=\"let feature of selectedFeatures; let i = index\">\r\n <ng-container *ngIf=\"feature.lableName !== 'detectionStatus'\">\r\n <label for=\"label-{{i}}\" class=\"label\">\r\n @if(feature.featureName === 'Others') {\r\n Label if any\r\n }@else {\r\n Label for {{feature.featureName || feature.lableName}}\r\n }\r\n </label><br>\r\n <input class=\"inputlabel\" id=\"label-{{i}}\" \r\n placeholder=\"{{feature?.lableName}}\" \r\n type=\"text\" [(ngModel)]=\"feature.lableName\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" *ngIf=\"!next\"\r\n (click)=\"confirmpopup()\">Request</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" *ngIf=\"next\"\r\n (click)=\"next = false\" [disabled]=\"checkRunAI()\">Next</button>\r\n </div>\r\n</div>\r\n", styles: [".Overlay{top:0;left:0;width:100%;height:100%;z-index:200!important;position:fixed;background:#58575799}input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.form-check.form-check-solid .form-check-input:checked{background-color:var(--primary-50, #EAF8FF)!important}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.min-width-popup{min-width:47%!important}.content{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;padding:0!important;font-style:normal;font-weight:400}.label{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input{font-size:16px;color:var(--gray-900, #101828)}.inputlabel{width:100%;margin-top:5px;padding:10px 14px;border-radius:8px;border:1px solid var(--gray-300, #D0D5DD);background:var(--white, #FFF);box-shadow:0 1px 2px #1018280d}.inputlabel:focus{outline:1px solid var(--gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important;border:#F9FAFB!important;outline:1px solid var(--primary-300, #6BCAFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important;color:#101828}.popup{position:absolute;top:50%;left:50%;opacity:1;transform:translate(-50%,-50%);background:var(--white, #FFF);border-radius:12px!important;border-radius:12px;box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;padding:30px;width:400px;height:fit-content}.btn-outline{border:1px solid lightgrey;padding:calc(.75rem + 1px) calc(1.5rem + 1px)}.fs-18px{font-size:18px;color:var(--black, #000);font-family:inter}.fw-600{font-weight:600!important}::ng-deep .mat-dialog-container{box-shadow:none;background:#fff;color:#000000de}.symbol-label{color:var(--primary-600, #00A3FF);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.invitemain{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.invitesub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.subtitle{color:var(--Black, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.customtitle{color:var(--gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.addScroll{height:300px;overflow-y:scroll}.storesubtitle{word-break:break-all;padding-top:.5em}::ng-deep .mat-dialog-container{display:block;padding:24px;border-radius:12px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.error{color:var(--Error-700, #B42318);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;border-radius:8px;border:1px solid var(--Error-300, #FDA29B);background:var(--Error-25, #FFFBFA)}.absolute{right:2px}\n"] }]
|
|
104
|
-
}], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.DomSanitizer }, { type: i3.ToastService }, { type: i4.TraxService }], propDecorators: { data: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheC1ydW4tYWktcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvY29tcG9uZW50cy90cmF4LXJ1bi1haS1wb3B1cC90cmF4LXJ1bi1haS1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL3RyYXgtcnVuLWFpLXBvcHVwL3RyYXgtcnVuLWFpLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVd6RCxNQUFNLE9BQU8sdUJBQXVCO0lBWXpCO0lBQ0M7SUFDQTtJQUNBO0lBZFYsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUN6QixJQUFJLEdBQVksSUFBSSxDQUFDO0lBQ3JCLGFBQWEsR0FBUTtRQUNuQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUU7UUFDcEUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtRQUNyRCxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFO1FBQ2hFLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0tBQ3pDLENBQUM7SUFDRixnQkFBZ0IsR0FBVSxFQUFFLENBQUM7SUFDcEIsSUFBSSxDQUFNO0lBQ25CLFlBQ1MsU0FBeUIsRUFDeEIsU0FBdUIsRUFDdkIsS0FBa0IsRUFDbEIsVUFBc0I7UUFIdkIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFhO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDN0IsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDOUUsSUFBRyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxHQUFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsR0FBRyxDQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsR0FBRyxDQUFDLFNBQVMsRUFBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLENBQUE7YUFDL0c7UUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksTUFBTSxHQUFPLEVBQUUsQ0FBQztRQUNwQixJQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3JELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxHQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFO2dCQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7YUFDbkM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUMxRSxPQUFPO1NBQ1I7UUFDRCxJQUFJLFdBQVcsR0FBRztZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1NBQzdDLENBQUM7UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQzdCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25FLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsYUFBb0I7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqRCx1RUFBdUU7WUFDdkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3pDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQy9DLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsSUFBSTtnQkFDUCxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVM7Z0JBQ2pDLFdBQVcsRUFBRSxFQUFFLEVBQUUsMEJBQTBCO2FBQzVDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixpQ0FBaUM7UUFDakMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTlCLG9DQUFvQztRQUNwQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVsRSx5REFBeUQ7UUFDekQsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0lBQzFDLENBQUM7d0dBL0ZVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHVGQ1pwQyxveUlBb0ZBOzs0RkR4RWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1QjttS0FjeEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXJyYXkgfSBmcm9tICdAYW1jaGFydHMvYW1jaGFydHM1JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IFRyYXhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJheC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImxpYi10cmF4LXJ1bi1haS1wb3B1cFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdHJheC1ydW4tYWktcG9wdXAuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3RyYXgtcnVuLWFpLXBvcHVwLmNvbXBvbmVudC5zY3NzXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmF4UnVuQUlQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVxdWVzdFRleHQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgbmV4dDogYm9vbGVhbiA9IHRydWU7XHJcbiAgcnVuQUlGZWF0dXJlczogYW55ID0gW1xyXG4gICAgeyBmZWF0dXJlTmFtZTogXCJNYXRjaGVkL05vdCBNYXRjaGVkXCIsIGxhYmxlTmFtZTogXCJkZXRlY3Rpb25TdGF0dXNcIiB9LFxyXG4gICAgeyBmZWF0dXJlTmFtZTogXCJDb3VudFwiLCBsYWJsZU5hbWU6IFwiTm8gb2YgRW1wbG95ZWVcIiB9LFxyXG4gICAgeyBmZWF0dXJlTmFtZTogXCJDaGFyYWN0ZXIgRXh0cmFjdGlvblwiLCBsYWJsZU5hbWU6IFwiR1NUIE51bWJlclwiIH0sXHJcbiAgICB7IGZlYXR1cmVOYW1lOiBcIk90aGVyc1wiLCBsYWJsZU5hbWU6IFwiXCIgfSxcclxuICBdO1xyXG4gIHNlbGVjdGVkRmVhdHVyZXM6IGFueVtdID0gW107XHJcbiAgQElucHV0KCkgZGF0YTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTmdiQWN0aXZlTW9kYWwsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSB0b2FzdDpUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNvcFNlcnZpY2U6VHJheFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3BTZXJ2aWNlLmdldENsaWVudHJ1bkFJRmVhdHVlcyh0aGlzLmRhdGEuY2xpZW50SWQpLnN1YnNjcmliZSgocmVzOmFueSkgPT4ge1xyXG4gICAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMucnVuQUlGZWF0dXJlcyA9IHJlcy5kYXRhLm1hcCgoZWxlOmFueSkgPT4ge3JldHVybiB7ZmVhdHVyZU5hbWU6ZWxlLmZlYXR1cmVOYW1lLGxhYmxlTmFtZTplbGUubGFibGVOYW1lfX0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBpZiAodGhpcy5kYXRhPy51c2VyKSB7XHJcbiAgICAgIHRoaXMuZGF0YS51c2VyLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGl0ZW0uaW52aXRlID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGEuaW1hZ2VzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEuaW1hZ2VzKSlcclxuICAgIHRoaXMubmV4dCA9IHRoaXMuZGF0YS5pbWFnZXMubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB0aGlzLnNlbGVjdGVkRmVhdHVyZXMgPSB0aGlzLmRhdGEucnVuQUlGZWF0dXJlcztcclxuICB9XHJcblxyXG4gIGNsb3NlcG9wdXAoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnY2FuY2VsJyk7XHJcbiAgfVxyXG5cclxuICBjb25maXJtcG9wdXAoKSB7XHJcbiAgICBsZXQgZXJyb3JzOmFueSA9IFtdO1xyXG4gICAgaWYoIXRoaXMuc2VsZWN0ZWRGZWF0dXJlcy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoJ1BsZWFzZSBzZWxlY3QgYSBGZWF0dXJlcycpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRmVhdHVyZXMuZm9yRWFjaCgoZWxlKSA9PiB7XHJcbiAgICAgIGVsZS5sYWJsZU5hbWUgPSBlbGU/LmxhYmxlTmFtZS50cmltKCk7XHJcbiAgICAgIGlmICghZWxlPy5sYWJsZU5hbWUubGVuZ3RoKSB7XHJcbiAgICAgICAgZXJyb3JzLnB1c2goYCR7ZWxlLmZlYXR1cmVOYW1lfWApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKGVycm9ycy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KGAke2Vycm9ycy50b1N0cmluZygpfSBmZWF0dXJlIGxhYmVsIGlzIG1pc3NpbmdgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGNvbmZpcm1EYXRhID0ge1xyXG4gICAgICBpbWFnZXM6IHRoaXMuZGF0YS5pbWFnZXMsXHJcbiAgICAgIHJ1bkFJRmVhdHVyZXM6IHRoaXMuc2VsZWN0ZWRGZWF0dXJlcyxcclxuICAgICAgcnVuQUlEZXNjcmlwdGlvbjogdGhpcy5kYXRhLnJ1bkFJRGVzY3JpcHRpb24sXHJcbiAgICB9O1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoY29uZmlybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tSdW5BSSgpIHtcclxuICAgIGlmICh0aGlzLmRhdGE/LmltYWdlcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBlbmFibGVSdW5BSSA9IHRoaXMuZGF0YT8uaW1hZ2VzPy5maW5kKChlbGU6IGFueSkgPT4gZWxlLnJ1bkFJKTtcclxuICAgICAgcmV0dXJuIGVuYWJsZVJ1bkFJID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdG9yZVNlbGVjdChzZWxlY3RlZEl0ZW1zOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZlYXR1cmVzID0gc2VsZWN0ZWRJdGVtcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgLy8gRmluZCB0aGUgZnVsbCBmZWF0dXJlIG9iamVjdCBmcm9tIHJ1bkFJRmVhdHVyZXMgdG8gZ2V0IHRoZSBsYWJsZU5hbWVcclxuICAgICAgY29uc3QgZnVsbEZlYXR1cmUgPSB0aGlzLnJ1bkFJRmVhdHVyZXMuZmluZChcclxuICAgICAgICAoZjogYW55KSA9PiBmLmZlYXR1cmVOYW1lID09PSBpdGVtLmZlYXR1cmVOYW1lXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICBsYWJsZU5hbWU6IGZ1bGxGZWF0dXJlPy5sYWJsZU5hbWUsXHJcbiAgICAgICAgY3VzdG9tTGFiZWw6IFwiXCIsIC8vIEluaXRpYWxpemUgY3VzdG9tIGxhYmVsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRGZWF0dXJlcywnZmVhdHVyZXMnKVxyXG4gIH1cclxuXHJcbiAgb25JbnB1dENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAvLyBSZW1vdmUgbGVhZGluZy90cmFpbGluZyBzcGFjZXNcclxuICAgIGxldCBjbGVhblZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG5cclxuICAgIC8vIEJsb2NrIDxzY3JpcHQ+IG9yIHN1c3BpY2lvdXMgdGFnc1xyXG4gICAgY2xlYW5WYWx1ZSA9IGNsZWFuVmFsdWUucmVwbGFjZSgvPHNjcmlwdC4qPz4uKj88XFwvc2NyaXB0Pi9naSwgJycpO1xyXG5cclxuICAgIC8vIChPcHRpb25hbCkgcmVtb3ZlIGFsbCBhbmdsZSBicmFja2V0cyB0byBibG9jayBhbnkgSFRNTFxyXG4gICAgY2xlYW5WYWx1ZSA9IGNsZWFuVmFsdWUucmVwbGFjZSgvPC4qPz4vZywgJycpO1xyXG5cclxuICAgIHRoaXMuZGF0YS5ydW5BSURlc2NyaXB0aW9uID0gY2xlYW5WYWx1ZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iLCI8ZGl2IGNsYXNzPVwidGV4dC1zdGFydCBwLTkgaC1hdXRvIHNjcm9sbC15IG15LTJcIj5cclxuICAgIDxkaXYgW2lubmVySFRNTF09XCJkYXRhLmltYWdlc3JjXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tdGl0bGUgIG10LTRcIj5cclxuICAgICAgICB7e2RhdGEudGl0bGV9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudCBtdC00XCIgW2lubmVySHRtbF09XCJkYXRhLmNvbnRlbnRcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVycm9yIG10LTUgcC01IHB0LTAgaC1hdXRvIG1oLTIwMHB4IG92ZXJmbG93LXNjcm9sbFwiICpuZ0lmPVwiZGF0YT8uZXJyb3JcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiICpuZ0Zvcj1cImxldCBlcnJvciBvZiBkYXRhPy5lcnJvcjtsZXQgaSA9aW5kZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4+e3tpICsgMX19LiYjNDE7IHt7ZXJyb3J9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlIHN0b3Jlc3VidGl0bGUgbWItNFwiPlxyXG4gICAgICAgIHt7ZGF0YS5zdWJ0aXRsZX19XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwibmV4dFwiID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5wdXRtb2RlbFwiIGNsYXNzPVwibGFiZWxcIj5RdWVzdGlvbjwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dGxhYmVsXCIgaWQ9XCJpbnB1dG1vZGVsXCIgcGxhY2Vob2xkZXI9XCJRdWVzdGlvblwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJ7e2RhdGEucXVlc3Rpb25OYW1lfX1cIiBkaXNhYmxlZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC01XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dG1vZGVsXCIgY2xhc3M9XCJsYWJlbFwiPlNlbGVjdCB0aGUgcmVmZXJlbmNlIGltYWdlcyB0byBwcm9jZXNzPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBwb3NpdGlvbi1yZWxhdGl2ZVwiICpuZ0Zvcj1cImxldCBpbWcgb2YgZGF0YS5pbWFnZXNcIj4gPCEtLSAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItNCBpbWctYm9yZGVyIGJvcmRlciBib3JkZXItMSBoLTEwMCByb3VuZGVkLTMgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBDaGVja2JveCBpbiB0b3AtcmlnaHQgLS0+IDwhLS1bKG5nTW9kZWwpXT1cImltZy5zZWxlY3RlZFwiLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgYWJzb2x1dGUgZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImltZy5ydW5BSVwiIC8+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBJbWFnZSAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJ7e2RhdGEuZW52aXJvbm1lbnR9fXt7aW1nLmltYWdlVVJMfX1cIiBhbHQ9XCJcIiBjbGFzcz1cInctMTAwIG1iLTIgcm91bmRlZCBib3JkZXJcIiB3aWR0aD1cIjkwJVwiIGhlaWdodD1cIjEwMHB4XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIiFuZXh0XCI+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaW5wdXRtb2RlbFwiIGNsYXNzPVwibGFiZWxcIj5XaGF04oCZcyB0aGUgb3VwdXQgeW91IGxvb2tpbmcgZm9yPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0bGFiZWxcIiBpZD1cImlucHV0bW9kZWxcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBPcHRpb25cIiB0eXBlPVwidGV4dFwiPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFjZWhvbGRlci1vdmVybGF5XCI+IFdoYXTigJlzIHRoZSBvdXB1dCB5b3UgbG9va2luZyBmb3IgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bGliLXNlbGVjdCBbaXRlbXNdPVwicnVuQUlGZWF0dXJlc1wiIFtkaXNhYmxlZF09XCJmYWxzZVwiIFttdWx0aV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRmllbGRdPVwiJ2ZlYXR1cmVOYW1lJ1wiIFtpZEZpZWxkXT1cIidmZWF0dXJlTmFtZSdcIiAoc2VsZWN0ZWQpPVwib25TdG9yZVNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZXNdPVwic2VsZWN0ZWRGZWF0dXJlc1wiPjwvbGliLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTVcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlucHV0bW9kZWxcIiBjbGFzcz1cImxhYmVsXCI+U3BlY2lmeSB5b3VyIHJlcXVlc3Q8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiaW5wdXRsYWJlbFwiIGlkPVwiaW5wdXRtb2RlbFwiIFsobmdNb2RlbCldPVwiZGF0YS5ydW5BSURlc2NyaXB0aW9uXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCIgcGxhY2Vob2xkZXI9XCJcIiB0eXBlPVwidGV4dFwiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTVcIiAqbmdGb3I9XCJsZXQgZmVhdHVyZSBvZiBzZWxlY3RlZEZlYXR1cmVzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWF0dXJlLmxhYmxlTmFtZSAhPT0gJ2RldGVjdGlvblN0YXR1cydcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYWJlbC17e2l9fVwiIGNsYXNzPVwibGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYoZmVhdHVyZS5mZWF0dXJlTmFtZSA9PT0gJ090aGVycycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwgaWYgYW55XHJcbiAgICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgTGFiZWwgZm9yIHt7ZmVhdHVyZS5mZWF0dXJlTmFtZSB8fCBmZWF0dXJlLmxhYmxlTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dGxhYmVsXCIgaWQ9XCJsYWJlbC17e2l9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3tmZWF0dXJlPy5sYWJsZU5hbWV9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJmZWF0dXJlLmxhYmxlTmFtZVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2Vwb3B1cCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmUgYWN0aXZlIGJ0bi1hY3RpdmUtcHJpbWFyeVwiICpuZ0lmPVwiIW5leHRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY29uZmlybXBvcHVwKClcIj5SZXF1ZXN0PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmUgYWN0aXZlIGJ0bi1hY3RpdmUtcHJpbWFyeVwiICpuZ0lmPVwibmV4dFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuZXh0ID0gZmFsc2VcIiBbZGlzYWJsZWRdPVwiY2hlY2tSdW5BSSgpXCI+TmV4dDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/trax.service";
|
|
5
|
-
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
6
|
-
import * as i3 from "tango-app-ui-shared";
|
|
7
|
-
import * as i4 from "tango-app-ui-global";
|
|
8
|
-
import * as i5 from "@angular/common";
|
|
9
|
-
import * as i6 from "@angular/forms";
|
|
10
|
-
export class TraxStoreComponent {
|
|
11
|
-
changedetector;
|
|
12
|
-
SopService;
|
|
13
|
-
dialogRef;
|
|
14
|
-
toast;
|
|
15
|
-
gs;
|
|
16
|
-
Activemodel;
|
|
17
|
-
data;
|
|
18
|
-
client;
|
|
19
|
-
storeList = [];
|
|
20
|
-
store;
|
|
21
|
-
selectedStore = {};
|
|
22
|
-
showDropDown = false;
|
|
23
|
-
searchStore;
|
|
24
|
-
multiSelectSettings = {
|
|
25
|
-
idField: 'id',
|
|
26
|
-
textField: 'name',
|
|
27
|
-
itemsShowLimit: 1,
|
|
28
|
-
allowSearchFilter: true,
|
|
29
|
-
singleSelection: true
|
|
30
|
-
};
|
|
31
|
-
userName = '';
|
|
32
|
-
userEmail = '';
|
|
33
|
-
city = '';
|
|
34
|
-
detach = new Subject();
|
|
35
|
-
destroy$ = new Subject();
|
|
36
|
-
clickOutside(event) {
|
|
37
|
-
const clickedInside = event.target.closest(".dropdown-close");
|
|
38
|
-
if (!clickedInside) {
|
|
39
|
-
this.closeDropDown();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
constructor(changedetector, SopService, dialogRef, toast, gs, Activemodel) {
|
|
43
|
-
this.changedetector = changedetector;
|
|
44
|
-
this.SopService = SopService;
|
|
45
|
-
this.dialogRef = dialogRef;
|
|
46
|
-
this.toast = toast;
|
|
47
|
-
this.gs = gs;
|
|
48
|
-
this.Activemodel = Activemodel;
|
|
49
|
-
}
|
|
50
|
-
ngAfterViewInit() {
|
|
51
|
-
let data = {
|
|
52
|
-
"clientId": [this.client],
|
|
53
|
-
"offset": 1,
|
|
54
|
-
"limit": 10000,
|
|
55
|
-
"sortColumName": "storeId",
|
|
56
|
-
"sortBy": -1,
|
|
57
|
-
"searchValue": "",
|
|
58
|
-
"export": false,
|
|
59
|
-
"status": [
|
|
60
|
-
"Live",
|
|
61
|
-
"onboarded",
|
|
62
|
-
"deployed",
|
|
63
|
-
"paired",
|
|
64
|
-
"installationfailed",
|
|
65
|
-
"Infra Issue"
|
|
66
|
-
]
|
|
67
|
-
};
|
|
68
|
-
this.SopService.getStoreList(data).subscribe((res) => {
|
|
69
|
-
if (res && res.code == 200 && res.data.result.length) {
|
|
70
|
-
let stores = [];
|
|
71
|
-
res.data.result.forEach((item) => {
|
|
72
|
-
stores.push({
|
|
73
|
-
name: item.storeName,
|
|
74
|
-
city: item.city
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
this.storeList = this.store = stores;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.storeList = [];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
ngOnInit() {
|
|
85
|
-
let storageDetails = JSON.parse(localStorage.getItem('header-filters') || '{}');
|
|
86
|
-
if (!storageDetails?.client) {
|
|
87
|
-
storageDetails = JSON.parse(localStorage.getItem('client-details') || '{}');
|
|
88
|
-
storageDetails.client = storageDetails.clientId;
|
|
89
|
-
}
|
|
90
|
-
if (storageDetails?.client) {
|
|
91
|
-
this.client = storageDetails.client;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
toggleDropDown() {
|
|
95
|
-
this.showDropDown = true;
|
|
96
|
-
}
|
|
97
|
-
selectStore(event) {
|
|
98
|
-
}
|
|
99
|
-
filterSearch() {
|
|
100
|
-
if (this.searchStore.trim().length) {
|
|
101
|
-
let store = this.searchStore.split(',');
|
|
102
|
-
if (store.length > 1) {
|
|
103
|
-
store = store.map((item) => item.trim().toLowerCase());
|
|
104
|
-
this.storeList = this.store.filter((item) => store.includes(item.name.toLowerCase()));
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.storeList = this.store.filter((item) => item.name.toLowerCase().includes(this.searchStore.trim().toLowerCase()));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
this.storeList = [...this.store];
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
updateSelectedStore(index) {
|
|
115
|
-
this.selectedStore = this.storeList[index];
|
|
116
|
-
this.closeDropDown();
|
|
117
|
-
}
|
|
118
|
-
closeDropDown() {
|
|
119
|
-
this.showDropDown = false;
|
|
120
|
-
}
|
|
121
|
-
updatedStore() {
|
|
122
|
-
if (!this.selectedStore.name && this.data?.coverage === 'store') {
|
|
123
|
-
this.toast.getErrorToast('Please Select a Store');
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
if (!this.userName.trim()) {
|
|
127
|
-
this.toast.getErrorToast('User Name is Required');
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
if (!this.userEmail.trim()) {
|
|
131
|
-
this.toast.getErrorToast('User Email is Required');
|
|
132
|
-
return false;
|
|
133
|
-
}
|
|
134
|
-
if (!this.userEmail.match(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/)) {
|
|
135
|
-
this.toast.getErrorToast('Invalid Email Format');
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
// if(!this.selectedStore?.city.trim()) {
|
|
139
|
-
// this.toast.getErrorToast('City is Required');
|
|
140
|
-
// return false;
|
|
141
|
-
// }
|
|
142
|
-
if (this.data?.coverage === 'store') {
|
|
143
|
-
let userData = [{
|
|
144
|
-
storeName: this.selectedStore?.name,
|
|
145
|
-
userName: this?.userName?.trim(),
|
|
146
|
-
userEmail: this?.userEmail?.toLowerCase()?.trim(),
|
|
147
|
-
userPhone: '',
|
|
148
|
-
checkFlag: true,
|
|
149
|
-
city: this.selectedStore?.city || ''
|
|
150
|
-
}];
|
|
151
|
-
this.dialogRef.close(userData);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
let userData = [{
|
|
155
|
-
// storeName: this.selectedStore?.name,
|
|
156
|
-
userName: this?.userName?.trim(),
|
|
157
|
-
userEmail: this?.userEmail?.toLowerCase()?.trim(),
|
|
158
|
-
userPhone: '',
|
|
159
|
-
checkFlag: true,
|
|
160
|
-
city: this.selectedStore?.city || ''
|
|
161
|
-
}];
|
|
162
|
-
this.dialogRef.close(userData);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxStoreComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TraxService }, { token: i2.NgbActiveModal }, { token: i3.ToastService }, { token: i4.GlobalStateService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TraxStoreComponent, selector: "lib-trax-store", inputs: { data: "data", client: "client" }, host: { listeners: { "document:click": "clickOutside($event)" } }, ngImport: i0, template: "<div class=\"storePopupcontent p-5\">\r\n <div class=\"mb-4\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path d=\"M28 21V35M21 28H35\" stroke=\"#009BF3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <span class=\"popuptitle\">Assign Single <span *ngIf=\"data?.coverage ==='store'\" >Store</span><span *ngIf=\"data?.coverage ==='user'\" >User</span></span>\r\n <p class=\"popupsubtitle mt-3\">Finish configuring your <span *ngIf=\"data?.coverage ==='store'\">store</span> <span *ngIf=\"data?.coverage ==='user'\">user</span> by providing the details below.</p>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"pt-3 position-relative\" (clickOutside)=\"closeDropDown()\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Select Store</label>\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"d-flex align-items-center position-relative w-100\">\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=\"M2.68015 5.8038L2.6269 5.88697C2.06886 6.87402 2.66469 8.12144 3.7363 8.26454C3.83339 8.27641 3.92373 8.28269 4.012 8.28269C4.59015 8.28269 5.10132 8.03467 5.45759 7.64794L6.01093 7.04732L6.56238 7.64967C6.91432 8.03409 7.42433 8.28269 8.00639 8.28269C8.58583 8.28269 9.09877 8.03374 9.45039 7.64967L10.0036 7.04543L10.5568 7.64967C10.9084 8.03374 11.4213 8.28269 12.0008 8.28269C12.5802 8.28269 13.0932 8.03374 13.4448 7.64967L13.998 7.04543L14.5511 7.64967C14.9028 8.03374 15.4157 8.28269 15.9952 8.28269C16.0805 8.28269 16.1736 8.2764 16.27 8.26464C17.3652 8.11532 17.963 6.80105 17.3243 5.8043C17.3242 5.80425 17.3242 5.80419 17.3242 5.80413L15.566 3.06272L15.566 3.06272L15.5651 3.06125C15.5499 3.03742 15.5124 3.01186 15.4652 3.01186H4.53581C4.48866 3.01186 4.45117 3.03742 4.43597 3.06125L4.43535 3.06222L2.68015 5.8038ZM15.6516 10.7371V13.869V14.619H14.9016H5.09943H4.34943V13.869V10.7375C4.2392 10.7457 4.12768 10.75 4.01507 10.75C3.97276 10.75 3.93074 10.7493 3.889 10.7481V13.869V15.8035C3.889 16.4469 4.4229 16.9881 5.09943 16.9881H14.9016C15.5781 16.9881 16.112 16.4469 16.112 15.8035V13.869V10.7483C16.0722 10.7494 16.0322 10.75 15.9921 10.75C15.8777 10.75 15.7641 10.7456 15.6516 10.7371Z\"\r\n stroke=\"#667085\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" class=\"form-control dropdown-input ps-14\" [ngModel]=\"selectedStore?.name\"\r\n (click)=\"toggleDropDown()\" readonly placeholder=\"Select Store...\" />\r\n </div>\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu w-100\" *ngIf=\"showDropDown\">\r\n <input type=\"text\" class=\"form-control mb-2 dropdown-search mx-3 formSeach\"\r\n placeholder=\"Search Store...\" [(ngModel)]=\"searchStore\" (ngModelChange)=\"filterSearch()\" />\r\n <div [class]=\"storeList?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n <div class=\"dropdown-item form-check custom-dropdown-item\"\r\n *ngFor=\"let store of storeList;let i= index\" (click)=\"updateSelectedStore(i)\">\r\n <label class=\"\" [for]=\"store.name\">\r\n {{ store.name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"storetext mt-2\">Store that I\u2019m looking for isn\u2019t available,<a class=\"text-primary\"\r\n href=\"/manage/stores/addition-method\"><u>Onboard Stores</u></a></div>\r\n\r\n <div class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Assign To</label>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px fw-bold inputname\" placeholder=\"User Name\"\r\n [(ngModel)]=\"userName\">\r\n </div>\r\n\r\n <div class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Assignee Mail ID</label>\r\n <div class=\"d-flex align-items-center position-relatives w-100\">\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=\"M18.3334 4.99999C18.3334 4.08333 17.5834 3.33333 16.6667 3.33333H3.33341C2.41675 3.33333 1.66675 4.08333 1.66675 4.99999M18.3334 4.99999V15C18.3334 15.9167 17.5834 16.6667 16.6667 16.6667H3.33341C2.41675 16.6667 1.66675 15.9167 1.66675 15V4.99999M18.3334 4.99999L10.0001 10.8333L1.66675 4.99999\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px ps-14 fw-bold inputname\"\r\n placeholder=\"User Email\" [(ngModel)]=\"userEmail\" (input)=\"userEmail = userEmail.toLowerCase()\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">City</label>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px fw-bold inputname\" placeholder=\"City\"\r\n [(ngModel)]=\"this.selectedStore.city\">\r\n </div>\r\n <div class=\"mt-6 d-flex align-items-center justify-content-end\">\r\n <button class=\"btn btn-md btn-outline w-auto me-2\" (click)=\"Activemodel.close()\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-md btn-primary w-auto ms-2\" (click)=\"updatedStore()\">\r\n Assign\r\n </button>\r\n </div>\r\n</div>", styles: [".storePopupcontent{font-family:Inter;align-items:left}.storePopupcontent .popuptitle{color:var(--gray-900, #101828);font-size:18px;font-weight:600;line-height:20px}.storePopupcontent .popupsubtitle{color:var(--gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.storePopupcontent .btn-outline{border:1px solid lightgrey}.storePopupcontent button{width:45%}.storePopupcontent .inputname{width:100%;border:none;color:#000000de;height:45px;font-size:14px!important;padding:10px 16px;border-radius:4px;outline:1px solid #D0D5DD}.label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}::ng-deep .storePopupcontent input{display:flex!important;align-items:center!important;gap:8px!important;align-self:stretch!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}.btn-primary{line-height:18px!important}.position-relative{position:relative}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
167
|
-
}
|
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxStoreComponent, decorators: [{
|
|
169
|
-
type: Component,
|
|
170
|
-
args: [{ selector: 'lib-trax-store', template: "<div class=\"storePopupcontent p-5\">\r\n <div class=\"mb-4\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#DAF1FF\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#EAF8FF\" stroke-width=\"8\" />\r\n <path d=\"M28 21V35M21 28H35\" stroke=\"#009BF3\" stroke-width=\"2\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </div>\r\n <span class=\"popuptitle\">Assign Single <span *ngIf=\"data?.coverage ==='store'\" >Store</span><span *ngIf=\"data?.coverage ==='user'\" >User</span></span>\r\n <p class=\"popupsubtitle mt-3\">Finish configuring your <span *ngIf=\"data?.coverage ==='store'\">store</span> <span *ngIf=\"data?.coverage ==='user'\">user</span> by providing the details below.</p>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"pt-3 position-relative\" (clickOutside)=\"closeDropDown()\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Select Store</label>\r\n <div class=\"dropdown-close\">\r\n <div class=\"w-100\">\r\n <div class=\"d-flex align-items-center position-relative w-100\">\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=\"M2.68015 5.8038L2.6269 5.88697C2.06886 6.87402 2.66469 8.12144 3.7363 8.26454C3.83339 8.27641 3.92373 8.28269 4.012 8.28269C4.59015 8.28269 5.10132 8.03467 5.45759 7.64794L6.01093 7.04732L6.56238 7.64967C6.91432 8.03409 7.42433 8.28269 8.00639 8.28269C8.58583 8.28269 9.09877 8.03374 9.45039 7.64967L10.0036 7.04543L10.5568 7.64967C10.9084 8.03374 11.4213 8.28269 12.0008 8.28269C12.5802 8.28269 13.0932 8.03374 13.4448 7.64967L13.998 7.04543L14.5511 7.64967C14.9028 8.03374 15.4157 8.28269 15.9952 8.28269C16.0805 8.28269 16.1736 8.2764 16.27 8.26464C17.3652 8.11532 17.963 6.80105 17.3243 5.8043C17.3242 5.80425 17.3242 5.80419 17.3242 5.80413L15.566 3.06272L15.566 3.06272L15.5651 3.06125C15.5499 3.03742 15.5124 3.01186 15.4652 3.01186H4.53581C4.48866 3.01186 4.45117 3.03742 4.43597 3.06125L4.43535 3.06222L2.68015 5.8038ZM15.6516 10.7371V13.869V14.619H14.9016H5.09943H4.34943V13.869V10.7375C4.2392 10.7457 4.12768 10.75 4.01507 10.75C3.97276 10.75 3.93074 10.7493 3.889 10.7481V13.869V15.8035C3.889 16.4469 4.4229 16.9881 5.09943 16.9881H14.9016C15.5781 16.9881 16.112 16.4469 16.112 15.8035V13.869V10.7483C16.0722 10.7494 16.0322 10.75 15.9921 10.75C15.8777 10.75 15.7641 10.7456 15.6516 10.7371Z\"\r\n stroke=\"#667085\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" class=\"form-control dropdown-input ps-14\" [ngModel]=\"selectedStore?.name\"\r\n (click)=\"toggleDropDown()\" readonly placeholder=\"Select Store...\" />\r\n </div>\r\n </div>\r\n <div class=\"dropdown-menu custom-dropdown-menu w-100\" *ngIf=\"showDropDown\">\r\n <input type=\"text\" class=\"form-control mb-2 dropdown-search mx-3 formSeach\"\r\n placeholder=\"Search Store...\" [(ngModel)]=\"searchStore\" (ngModelChange)=\"filterSearch()\" />\r\n <div [class]=\"storeList?.length > 5 ? 'h-200px overflow-auto' : 'h-auto'\">\r\n <div class=\"dropdown-item form-check custom-dropdown-item\"\r\n *ngFor=\"let store of storeList;let i= index\" (click)=\"updateSelectedStore(i)\">\r\n <label class=\"\" [for]=\"store.name\">\r\n {{ store.name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"storetext mt-2\">Store that I\u2019m looking for isn\u2019t available,<a class=\"text-primary\"\r\n href=\"/manage/stores/addition-method\"><u>Onboard Stores</u></a></div>\r\n\r\n <div class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Assign To</label>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px fw-bold inputname\" placeholder=\"User Name\"\r\n [(ngModel)]=\"userName\">\r\n </div>\r\n\r\n <div class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">Assignee Mail ID</label>\r\n <div class=\"d-flex align-items-center position-relatives w-100\">\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=\"M18.3334 4.99999C18.3334 4.08333 17.5834 3.33333 16.6667 3.33333H3.33341C2.41675 3.33333 1.66675 4.08333 1.66675 4.99999M18.3334 4.99999V15C18.3334 15.9167 17.5834 16.6667 16.6667 16.6667H3.33341C2.41675 16.6667 1.66675 15.9167 1.66675 15V4.99999M18.3334 4.99999L10.0001 10.8333L1.66675 4.99999\"\r\n stroke=\"#667085\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px ps-14 fw-bold inputname\"\r\n placeholder=\"User Email\" [(ngModel)]=\"userEmail\" (input)=\"userEmail = userEmail.toLowerCase()\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"data?.coverage ==='store'\" class=\"pt-5\">\r\n <label for=\"inputmodel\" class=\"label pb-2\">City</label>\r\n <input type=\"text\" class=\"form-control form-control-solid w-430px fw-bold inputname\" placeholder=\"City\"\r\n [(ngModel)]=\"this.selectedStore.city\">\r\n </div>\r\n <div class=\"mt-6 d-flex align-items-center justify-content-end\">\r\n <button class=\"btn btn-md btn-outline w-auto me-2\" (click)=\"Activemodel.close()\">\r\n Cancel\r\n </button>\r\n <button class=\"btn btn-md btn-primary w-auto ms-2\" (click)=\"updatedStore()\">\r\n Assign\r\n </button>\r\n </div>\r\n</div>", styles: [".storePopupcontent{font-family:Inter;align-items:left}.storePopupcontent .popuptitle{color:var(--gray-900, #101828);font-size:18px;font-weight:600;line-height:20px}.storePopupcontent .popupsubtitle{color:var(--gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.storePopupcontent .btn-outline{border:1px solid lightgrey}.storePopupcontent button{width:45%}.storePopupcontent .inputname{width:100%;border:none;color:#000000de;height:45px;font-size:14px!important;padding:10px 16px;border-radius:4px;outline:1px solid #D0D5DD}.label{color:var(--Gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}::ng-deep .storePopupcontent input{display:flex!important;align-items:center!important;gap:8px!important;align-self:stretch!important;border-radius:8px!important;border:1px solid var(--Gray-300, #D0D5DD)!important;background:var(--White, #FFF)!important;box-shadow:0 1px 2px #1018280d!important}.btn-primary{line-height:18px!important}.position-relative{position:relative}.form-control{color:var(--Gray-700, #344054)!important;font-size:14px!important;font-weight:600;line-height:20px;width:100%;box-sizing:border-box}.dropdown-menu{position:absolute;top:100%;left:0;right:0;border:1px solid #ccc;background-color:#fff;z-index:1000;display:block;box-sizing:border-box}.dropdown-item{padding:8px 12px}.dropdown-item:hover{background-color:#f1f1f1}.dropdown-item input[type=checkbox]{margin-right:10px}.custom-dropdown-menu{border-radius:4px;box-shadow:0 1px 2px #1018280d}.custom-dropdown-item{display:flex;align-items:center}.custom-dropdown-item input{margin-left:10px}.btn-resize{font-size:13px!important;height:29px!important;line-height:11px!important;padding:3px!important}.formSeach{width:95%}.storetext{color:var(--Gray-500, #667085);font-size:14px;font-weight:500;line-height:20px}\n"] }]
|
|
171
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TraxService }, { type: i2.NgbActiveModal }, { type: i3.ToastService }, { type: i4.GlobalStateService }, { type: i2.NgbActiveModal }], propDecorators: { data: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], client: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], clickOutside: [{
|
|
176
|
-
type: HostListener,
|
|
177
|
-
args: ["document:click", ["$event"]]
|
|
178
|
-
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheC1zdG9yZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL3RyYXgtc3RvcmUvdHJheC1zdG9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL3RyYXgtc3RvcmUvdHJheC1zdG9yZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSXpHLE9BQU8sRUFBQyxPQUFPLEVBQVksTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUXhDLE1BQU0sT0FBTyxrQkFBa0I7SUFnQ1Q7SUFBeUM7SUFBK0I7SUFBaUM7SUFBMkI7SUFBNkI7SUEvQjVLLElBQUksQ0FBSztJQUNULE1BQU0sQ0FBSztJQUNwQixTQUFTLEdBQU8sRUFBRSxDQUFDO0lBQ25CLEtBQUssQ0FBSTtJQUNULGFBQWEsR0FBTyxFQUFFLENBQUM7SUFDdkIsWUFBWSxHQUFVLEtBQUssQ0FBQztJQUM1QixXQUFXLENBQUs7SUFDaEIsbUJBQW1CLEdBQUc7UUFDbEIsT0FBTyxFQUFFLElBQUk7UUFDYixTQUFTLEVBQUUsTUFBTTtRQUNqQixjQUFjLEVBQUUsQ0FBQztRQUNqQixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGVBQWUsRUFBRSxJQUFJO0tBQ3hCLENBQUM7SUFDRixRQUFRLEdBQVUsRUFBRSxDQUFBO0lBQ3BCLFNBQVMsR0FBVSxFQUFFLENBQUE7SUFDckIsSUFBSSxHQUFRLEVBQUUsQ0FBQTtJQUNOLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2QsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFJMUMs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QzthQUFNO1lBQ0wsSUFBSSxRQUFRLEdBQUcsQ0FBQztvQkFDZCx1Q0FBdUM7b0JBQ3ZDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtvQkFDaEMsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFO29CQUNqRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRTtpQkFDcEMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEM7SUFFSCxDQUFDO3dHQTdKVSxrQkFBa0I7NEZBQWxCLGtCQUFrQixxS0NaL0IsazJNQTZFTTs7NEZEakVPLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7c09BS2pCLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBcUJOLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQge1N1YmplY3QsIHRha2VVbnRpbH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFRyYXhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJheC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXRyYXgtc3RvcmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmF4LXN0b3JlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdHJheC1zdG9yZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYXhTdG9yZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBASW5wdXQoKSBjbGllbnQ6YW55O1xyXG4gIHN0b3JlTGlzdDphbnkgPSBbXTtcclxuICBzdG9yZTpbXTtcclxuICBzZWxlY3RlZFN0b3JlOmFueSA9IHt9O1xyXG4gIHNob3dEcm9wRG93bjpib29sZWFuPSBmYWxzZTtcclxuICBzZWFyY2hTdG9yZTphbnk7XHJcbiAgbXVsdGlTZWxlY3RTZXR0aW5ncyA9IHtcclxuICAgICAgaWRGaWVsZDogJ2lkJyxcclxuICAgICAgdGV4dEZpZWxkOiAnbmFtZScsXHJcbiAgICAgIGl0ZW1zU2hvd0xpbWl0OiAxLFxyXG4gICAgICBhbGxvd1NlYXJjaEZpbHRlcjogdHJ1ZSxcclxuICAgICAgc2luZ2xlU2VsZWN0aW9uXHQ6dHJ1ZVxyXG4gIH07XHJcbiAgdXNlck5hbWU6c3RyaW5nID0gJydcclxuICB1c2VyRW1haWw6c3RyaW5nID0gJydcclxuICBjaXR5OnN0cmluZz0nJ1xyXG4gIHByaXZhdGUgZGV0YWNoID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXHJcbiAgY2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcclxuICAgICAgXCIuZHJvcGRvd24tY2xvc2VcIlxyXG4gICAgKTtcclxuICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICB0aGlzLmNsb3NlRHJvcERvd24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlZGV0ZWN0b3I6Q2hhbmdlRGV0ZWN0b3JSZWYscHJpdmF0ZSBTb3BTZXJ2aWNlOlRyYXhTZXJ2aWNlLHByaXZhdGUgZGlhbG9nUmVmOk5nYkFjdGl2ZU1vZGFsLHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlLHByaXZhdGUgZ3M6R2xvYmFsU3RhdGVTZXJ2aWNlLHB1YmxpYyBBY3RpdmVtb2RlbDogTmdiQWN0aXZlTW9kYWwpIHsgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgIFwiY2xpZW50SWRcIjogW3RoaXMuY2xpZW50XSxcclxuICAgIFwib2Zmc2V0XCI6IDEsXHJcbiAgICBcImxpbWl0XCI6IDEwMDAwLFxyXG4gICAgXCJzb3J0Q29sdW1OYW1lXCI6IFwic3RvcmVJZFwiLFxyXG4gICAgXCJzb3J0QnlcIjogLTEsXHJcbiAgICBcInNlYXJjaFZhbHVlXCI6IFwiXCIsXHJcbiAgICBcImV4cG9ydFwiOiBmYWxzZSxcclxuICAgIFwic3RhdHVzXCI6IFtcclxuICAgICAgICBcIkxpdmVcIixcclxuICAgICAgICBcIm9uYm9hcmRlZFwiLFxyXG4gICAgICAgIFwiZGVwbG95ZWRcIixcclxuICAgICAgICBcInBhaXJlZFwiLFxyXG4gICAgICAgIFwiaW5zdGFsbGF0aW9uZmFpbGVkXCIsXHJcbiAgICAgICAgXCJJbmZyYSBJc3N1ZVwiXHJcbiAgICBdXHJcbiAgIH1cclxuICAgdGhpcy5Tb3BTZXJ2aWNlLmdldFN0b3JlTGlzdChkYXRhKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICBpZihyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLnJlc3VsdC5sZW5ndGgpIHtcclxuICAgICAgbGV0IHN0b3JlczphbnkgPSBbXTtcclxuICAgICAgcmVzLmRhdGEucmVzdWx0LmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgICAgc3RvcmVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTppdGVtLnN0b3JlTmFtZSxcclxuICAgICAgICAgIGNpdHk6aXRlbS5jaXR5XHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICAgdGhpcy5zdG9yZUxpc3QgPSB0aGlzLnN0b3JlID0gIHN0b3JlcztcclxuICAgICAgXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbXTtcclxuICAgIH1cclxuICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGxldCBzdG9yYWdlRGV0YWlscyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlYWRlci1maWx0ZXJzJykgfHwgJ3t9Jyk7XHJcbiAgICBpZighc3RvcmFnZURldGFpbHM/LmNsaWVudCkge1xyXG4gICAgICBzdG9yYWdlRGV0YWlscyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NsaWVudC1kZXRhaWxzJykgfHwgJ3t9Jyk7XHJcbiAgICAgIHN0b3JhZ2VEZXRhaWxzLmNsaWVudCA9IHN0b3JhZ2VEZXRhaWxzLmNsaWVudElkO1xyXG4gICAgfVxyXG4gICAgaWYoc3RvcmFnZURldGFpbHM/LmNsaWVudCkge1xyXG4gICAgICB0aGlzLmNsaWVudD0gc3RvcmFnZURldGFpbHMuY2xpZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRHJvcERvd24oKSB7XHJcbiAgICB0aGlzLnNob3dEcm9wRG93biA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RTdG9yZShldmVudDphbnkpIHtcclxuXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJTZWFyY2goKSB7XHJcbiAgICBpZih0aGlzLnNlYXJjaFN0b3JlLnRyaW0oKS5sZW5ndGgpIHtcclxuICAgICAgbGV0IHN0b3JlID0gdGhpcy5zZWFyY2hTdG9yZS5zcGxpdCgnLCcpO1xyXG4gICAgICBpZihzdG9yZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgc3RvcmUgPSBzdG9yZS5tYXAoKGl0ZW06YW55KSA9PiBpdGVtLnRyaW0oKS50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICAgIHRoaXMuc3RvcmVMaXN0ID0gdGhpcy5zdG9yZS5maWx0ZXIoKGl0ZW06YW55KSA9PiBzdG9yZS5pbmNsdWRlcyhpdGVtLm5hbWUudG9Mb3dlckNhc2UoKSkpXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZUxpc3QgPSB0aGlzLnN0b3JlLmZpbHRlcigoaXRlbTphbnkpID0+IGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoU3RvcmUudHJpbSgpLnRvTG93ZXJDYXNlKCkpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZUxpc3QgPSBbLi4udGhpcy5zdG9yZV1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZVNlbGVjdGVkU3RvcmUoaW5kZXg6bnVtYmVyKXtcclxuICAgIHRoaXMuc2VsZWN0ZWRTdG9yZSA9IHRoaXMuc3RvcmVMaXN0W2luZGV4XTtcclxuICAgIHRoaXMuY2xvc2VEcm9wRG93bigpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VEcm9wRG93bigpIHtcclxuICAgIHRoaXMuc2hvd0Ryb3BEb3duID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVkU3RvcmUoKSB7XHJcbiAgICAgIGlmKCF0aGlzLnNlbGVjdGVkU3RvcmUubmFtZSAmJiB0aGlzLmRhdGE/LmNvdmVyYWdlID09PSdzdG9yZScpIHtcclxuICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KCdQbGVhc2UgU2VsZWN0IGEgU3RvcmUnKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYoIXRoaXMudXNlck5hbWUudHJpbSgpKSB7XHJcbiAgICAgIHRoaXMudG9hc3QuZ2V0RXJyb3JUb2FzdCgnVXNlciBOYW1lIGlzIFJlcXVpcmVkJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmKCF0aGlzLnVzZXJFbWFpbC50cmltKCkpIHtcclxuICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KCdVc2VyIEVtYWlsIGlzIFJlcXVpcmVkJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmKCF0aGlzLnVzZXJFbWFpbC5tYXRjaCgvXlthLXpBLVowLTkuXy1dK0BbYS16QS1aMC05Li1dK1xcLlthLXpBLVpdezIsNn0kLykpIHtcclxuICAgICAgdGhpcy50b2FzdC5nZXRFcnJvclRvYXN0KCdJbnZhbGlkIEVtYWlsIEZvcm1hdCcpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICAvLyBpZighdGhpcy5zZWxlY3RlZFN0b3JlPy5jaXR5LnRyaW0oKSkge1xyXG4gICAgLy8gICB0aGlzLnRvYXN0LmdldEVycm9yVG9hc3QoJ0NpdHkgaXMgUmVxdWlyZWQnKTtcclxuICAgIC8vICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgLy8gfVxyXG4gICAgaWYgKHRoaXMuZGF0YT8uY292ZXJhZ2UgPT09ICdzdG9yZScpIHtcclxuICAgICAgbGV0IHVzZXJEYXRhID0gW3tcclxuICAgICAgICBzdG9yZU5hbWU6IHRoaXMuc2VsZWN0ZWRTdG9yZT8ubmFtZSxcclxuICAgICAgICB1c2VyTmFtZTogdGhpcz8udXNlck5hbWU/LnRyaW0oKSxcclxuICAgICAgICB1c2VyRW1haWw6IHRoaXM/LnVzZXJFbWFpbD8udG9Mb3dlckNhc2UoKT8udHJpbSgpLFxyXG4gICAgICAgIHVzZXJQaG9uZTogJycsXHJcbiAgICAgICAgY2hlY2tGbGFnOiB0cnVlLFxyXG4gICAgICAgIGNpdHk6dGhpcy5zZWxlY3RlZFN0b3JlPy5jaXR5IHx8ICcnXHJcbiAgICAgIH1dXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHVzZXJEYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1c2VyRGF0YSA9IFt7XHJcbiAgICAgICAgLy8gc3RvcmVOYW1lOiB0aGlzLnNlbGVjdGVkU3RvcmU/Lm5hbWUsXHJcbiAgICAgICAgdXNlck5hbWU6IHRoaXM/LnVzZXJOYW1lPy50cmltKCksXHJcbiAgICAgICAgdXNlckVtYWlsOiB0aGlzPy51c2VyRW1haWw/LnRvTG93ZXJDYXNlKCk/LnRyaW0oKSxcclxuICAgICAgICB1c2VyUGhvbmU6ICcnLFxyXG4gICAgICAgIGNoZWNrRmxhZzogdHJ1ZSxcclxuICAgICAgICBjaXR5OnRoaXMuc2VsZWN0ZWRTdG9yZT8uY2l0eSB8fCAnJ1xyXG4gICAgICB9XVxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1c2VyRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInN0b3JlUG9wdXBjb250ZW50IHAtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTRcIj5cclxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0RBRjFGRlwiIC8+XHJcbiAgICAgICAgICAgIDxyZWN0IHg9XCI0XCIgeT1cIjRcIiB3aWR0aD1cIjQ4XCIgaGVpZ2h0PVwiNDhcIiByeD1cIjI0XCIgc3Ryb2tlPVwiI0VBRjhGRlwiIHN0cm9rZS13aWR0aD1cIjhcIiAvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTI4IDIxVjM1TTIxIDI4SDM1XCIgc3Ryb2tlPVwiIzAwOUJGM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJwb3B1cHRpdGxlXCI+QXNzaWduIFNpbmdsZSA8c3BhbiAqbmdJZj1cImRhdGE/LmNvdmVyYWdlID09PSdzdG9yZSdcIiA+U3RvcmU8L3NwYW4+PHNwYW4gKm5nSWY9XCJkYXRhPy5jb3ZlcmFnZSA9PT0ndXNlcidcIiA+VXNlcjwvc3Bhbj48L3NwYW4+XHJcbiAgICA8cCBjbGFzcz1cInBvcHVwc3VidGl0bGUgbXQtM1wiPkZpbmlzaCBjb25maWd1cmluZyB5b3VyIDxzcGFuICpuZ0lmPVwiZGF0YT8uY292ZXJhZ2UgPT09J3N0b3JlJ1wiPnN0b3JlPC9zcGFuPiA8c3BhbiAqbmdJZj1cImRhdGE/LmNvdmVyYWdlID09PSd1c2VyJ1wiPnVzZXI8L3NwYW4+IGJ5IHByb3ZpZGluZyB0aGUgZGV0YWlscyBiZWxvdy48L3A+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YT8uY292ZXJhZ2UgPT09J3N0b3JlJ1wiIGNsYXNzPVwicHQtMyBwb3NpdGlvbi1yZWxhdGl2ZVwiIChjbGlja091dHNpZGUpPVwiY2xvc2VEcm9wRG93bigpXCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImlucHV0bW9kZWxcIiBjbGFzcz1cImxhYmVsIHBiLTJcIj5TZWxlY3QgU3RvcmU8L2xhYmVsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jbG9zZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDBcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMi42ODAxNSA1LjgwMzhMMi42MjY5IDUuODg2OTdDMi4wNjg4NiA2Ljg3NDAyIDIuNjY0NjkgOC4xMjE0NCAzLjczNjMgOC4yNjQ1NEMzLjgzMzM5IDguMjc2NDEgMy45MjM3MyA4LjI4MjY5IDQuMDEyIDguMjgyNjlDNC41OTAxNSA4LjI4MjY5IDUuMTAxMzIgOC4wMzQ2NyA1LjQ1NzU5IDcuNjQ3OTRMNi4wMTA5MyA3LjA0NzMyTDYuNTYyMzggNy42NDk2N0M2LjkxNDMyIDguMDM0MDkgNy40MjQzMyA4LjI4MjY5IDguMDA2MzkgOC4yODI2OUM4LjU4NTgzIDguMjgyNjkgOS4wOTg3NyA4LjAzMzc0IDkuNDUwMzkgNy42NDk2N0wxMC4wMDM2IDcuMDQ1NDNMMTAuNTU2OCA3LjY0OTY3QzEwLjkwODQgOC4wMzM3NCAxMS40MjEzIDguMjgyNjkgMTIuMDAwOCA4LjI4MjY5QzEyLjU4MDIgOC4yODI2OSAxMy4wOTMyIDguMDMzNzQgMTMuNDQ0OCA3LjY0OTY3TDEzLjk5OCA3LjA0NTQzTDE0LjU1MTEgNy42NDk2N0MxNC45MDI4IDguMDMzNzQgMTUuNDE1NyA4LjI4MjY5IDE1Ljk5NTIgOC4yODI2OUMxNi4wODA1IDguMjgyNjkgMTYuMTczNiA4LjI3NjQgMTYuMjcgOC4yNjQ2NEMxNy4zNjUyIDguMTE1MzIgMTcuOTYzIDYuODAxMDUgMTcuMzI0MyA1LjgwNDNDMTcuMzI0MiA1LjgwNDI1IDE3LjMyNDIgNS44MDQxOSAxNy4zMjQyIDUuODA0MTNMMTUuNTY2IDMuMDYyNzJMMTUuNTY2IDMuMDYyNzJMMTUuNTY1MSAzLjA2MTI1QzE1LjU0OTkgMy4wMzc0MiAxNS41MTI0IDMuMDExODYgMTUuNDY1MiAzLjAxMTg2SDQuNTM1ODFDNC40ODg2NiAzLjAxMTg2IDQuNDUxMTcgMy4wMzc0MiA0LjQzNTk3IDMuMDYxMjVMNC40MzUzNSAzLjA2MjIyTDIuNjgwMTUgNS44MDM4Wk0xNS42NTE2IDEwLjczNzFWMTMuODY5VjE0LjYxOUgxNC45MDE2SDUuMDk5NDNINC4zNDk0M1YxMy44NjlWMTAuNzM3NUM0LjIzOTIgMTAuNzQ1NyA0LjEyNzY4IDEwLjc1IDQuMDE1MDcgMTAuNzVDMy45NzI3NiAxMC43NSAzLjkzMDc0IDEwLjc0OTMgMy44ODkgMTAuNzQ4MVYxMy44NjlWMTUuODAzNUMzLjg4OSAxNi40NDY5IDQuNDIyOSAxNi45ODgxIDUuMDk5NDMgMTYuOTg4MUgxNC45MDE2QzE1LjU3ODEgMTYuOTg4MSAxNi4xMTIgMTYuNDQ2OSAxNi4xMTIgMTUuODAzNVYxMy44NjlWMTAuNzQ4M0MxNi4wNzIyIDEwLjc0OTQgMTYuMDMyMiAxMC43NSAxNS45OTIxIDEwLjc1QzE1Ljg3NzcgMTAuNzUgMTUuNzY0MSAxMC43NDU2IDE1LjY1MTYgMTAuNzM3MVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZHJvcGRvd24taW5wdXQgcHMtMTRcIiBbbmdNb2RlbF09XCJzZWxlY3RlZFN0b3JlPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURyb3BEb3duKClcIiByZWFkb25seSBwbGFjZWhvbGRlcj1cIlNlbGVjdCBTdG9yZS4uLlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51IGN1c3RvbS1kcm9wZG93bi1tZW51IHctMTAwXCIgKm5nSWY9XCJzaG93RHJvcERvd25cIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIG1iLTIgZHJvcGRvd24tc2VhcmNoIG14LTMgZm9ybVNlYWNoXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBTdG9yZS4uLlwiIFsobmdNb2RlbCldPVwic2VhcmNoU3RvcmVcIiAobmdNb2RlbENoYW5nZSk9XCJmaWx0ZXJTZWFyY2goKVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzc109XCJzdG9yZUxpc3Q/Lmxlbmd0aCA+IDUgPyAnaC0yMDBweCBvdmVyZmxvdy1hdXRvJyA6ICdoLWF1dG8nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gZm9ybS1jaGVjayBjdXN0b20tZHJvcGRvd24taXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdG9yZSBvZiBzdG9yZUxpc3Q7bGV0IGk9IGluZGV4XCIgKGNsaWNrKT1cInVwZGF0ZVNlbGVjdGVkU3RvcmUoaSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiXCIgW2Zvcl09XCJzdG9yZS5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdG9yZS5uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhPy5jb3ZlcmFnZSA9PT0nc3RvcmUnXCIgY2xhc3M9XCJzdG9yZXRleHQgbXQtMlwiPlN0b3JlIHRoYXQgSeKAmW0gbG9va2luZyBmb3IgaXNu4oCZdCBhdmFpbGFibGUsPGEgY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIlxyXG4gICAgICAgICAgICBocmVmPVwiL21hbmFnZS9zdG9yZXMvYWRkaXRpb24tbWV0aG9kXCI+PHU+T25ib2FyZCBTdG9yZXM8L3U+PC9hPjwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJwdC01XCI+XHJcbiAgICAgICAgPGxhYmVsIGZvcj1cImlucHV0bW9kZWxcIiBjbGFzcz1cImxhYmVsIHBiLTJcIj5Bc3NpZ24gVG88L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zb2xpZCB3LTQzMHB4IGZ3LWJvbGQgaW5wdXRuYW1lXCIgcGxhY2Vob2xkZXI9XCJVc2VyIE5hbWVcIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInVzZXJOYW1lXCI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicHQtNVwiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJpbnB1dG1vZGVsXCIgY2xhc3M9XCJsYWJlbCBwYi0yXCI+QXNzaWduZWUgTWFpbCBJRDwvbGFiZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmVzIHctMTAwXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTE4LjMzMzQgNC45OTk5OUMxOC4zMzM0IDQuMDgzMzMgMTcuNTgzNCAzLjMzMzMzIDE2LjY2NjcgMy4zMzMzM0gzLjMzMzQxQzIuNDE2NzUgMy4zMzMzMyAxLjY2Njc1IDQuMDgzMzMgMS42NjY3NSA0Ljk5OTk5TTE4LjMzMzQgNC45OTk5OVYxNUMxOC4zMzM0IDE1LjkxNjcgMTcuNTgzNCAxNi42NjY3IDE2LjY2NjcgMTYuNjY2N0gzLjMzMzQxQzIuNDE2NzUgMTYuNjY2NyAxLjY2Njc1IDE1LjkxNjcgMS42NjY3NSAxNVY0Ljk5OTk5TTE4LjMzMzQgNC45OTk5OUwxMC4wMDAxIDEwLjgzMzNMMS42NjY3NSA0Ljk5OTk5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNvbGlkIHctNDMwcHggcHMtMTQgZnctYm9sZCBpbnB1dG5hbWVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJVc2VyIEVtYWlsXCIgWyhuZ01vZGVsKV09XCJ1c2VyRW1haWxcIiAoaW5wdXQpPVwidXNlckVtYWlsID0gdXNlckVtYWlsLnRvTG93ZXJDYXNlKClcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGE/LmNvdmVyYWdlID09PSdzdG9yZSdcIiBjbGFzcz1cInB0LTVcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwiaW5wdXRtb2RlbFwiIGNsYXNzPVwibGFiZWwgcGItMlwiPkNpdHk8L2xhYmVsPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zb2xpZCB3LTQzMHB4IGZ3LWJvbGQgaW5wdXRuYW1lXCIgcGxhY2Vob2xkZXI9XCJDaXR5XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0aGlzLnNlbGVjdGVkU3RvcmUuY2l0eVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXQtNiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1tZCBidG4tb3V0bGluZSB3LWF1dG8gbWUtMlwiIChjbGljayk9XCJBY3RpdmVtb2RlbC5jbG9zZSgpXCI+XHJcbiAgICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW1kIGJ0bi1wcmltYXJ5IHctYXV0byBtcy0yXCIgKGNsaWNrKT1cInVwZGF0ZWRTdG9yZSgpXCI+XHJcbiAgICAgICAgICAgIEFzc2lnblxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|