@tuki-io/tuki-widgets 0.0.76 → 0.0.77
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/README.md +9 -10
- package/di2mt/api/api.endpoints.d.ts +26 -0
- package/di2mt/index.d.ts +5 -0
- package/{projects/tuki/widgets/di2mt/public-api.ts → di2mt/public-api.d.ts} +0 -14
- package/di2mt/shared/components/card/card.component.d.ts +6 -0
- package/di2mt/shared/components/chart-card/chart-card.component.d.ts +22 -0
- package/di2mt/shared/components/stat-card/stat-card.component.d.ts +14 -0
- package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +7 -0
- package/di2mt/shared/components/summary-card/summary-card.component.d.ts +9 -0
- package/di2mt/shared/components/table-filters/table-filters.component.d.ts +14 -0
- package/di2mt/shared/constants/app.constants.d.ts +74 -0
- package/di2mt/shared/material.module.d.ts +15 -0
- package/di2mt/shared/services/api.service.d.ts +20 -0
- package/di2mt/shared/shared.module.d.ts +16 -0
- package/di2mt/shared/types/constants.d.ts +8 -0
- package/di2mt/shared/types/data-table.d.ts +5 -0
- package/di2mt/shared/types/table/filter.d.ts +16 -0
- package/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.d.ts +13 -0
- package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +62 -0
- package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +15 -0
- package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +34 -0
- package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +21 -0
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +19 -0
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +19 -0
- package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +18 -0
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +19 -0
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +19 -0
- package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +15 -0
- package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +18 -0
- package/{projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts → di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts} +18 -20
- package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +15 -0
- package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +17 -0
- package/{projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts → di2mt/widgets/user-upgrade/types/user-upgrade.d.ts} +1 -3
- package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +71 -0
- package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +16 -0
- package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +25 -0
- package/esm2020/di2mt/api/api.endpoints.mjs +27 -0
- package/esm2020/di2mt/public-api.mjs +24 -0
- package/esm2020/di2mt/shared/components/card/card.component.mjs +13 -0
- package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +62 -0
- package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +47 -0
- package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +17 -0
- package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +36 -0
- package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +37 -0
- package/esm2020/di2mt/shared/constants/app.constants.mjs +95 -0
- package/esm2020/di2mt/shared/material.module.mjs +76 -0
- package/esm2020/di2mt/shared/services/api.service.mjs +86 -0
- package/esm2020/di2mt/shared/shared.module.mjs +61 -0
- package/esm2020/di2mt/shared/types/constants.mjs +12 -0
- package/esm2020/di2mt/shared/types/data-table.mjs +2 -0
- package/esm2020/di2mt/shared/types/table/filter.mjs +2 -0
- package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +5 -0
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +44 -0
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +317 -0
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +53 -0
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +78 -0
- package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +3 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +64 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +64 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +68 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +45 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +45 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +64 -0
- package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +74 -0
- package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +2 -0
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +59 -0
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +82 -0
- package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +3 -0
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +272 -0
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +59 -0
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +50 -0
- package/esm2020/lib/widgets.component.mjs +22 -0
- package/esm2020/lib/widgets.module.mjs +21 -0
- package/esm2020/lib/widgets.service.mjs +14 -0
- package/esm2020/public-api.mjs +7 -0
- package/esm2020/tuki-io-tuki-widgets.mjs +5 -0
- package/esm2020/user-device-manage/public-api.mjs +9 -0
- package/esm2020/user-device-manage/src/app.constants.mjs +95 -0
- package/esm2020/user-device-manage/src/classes/device.mjs +85 -0
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +2 -0
- package/esm2020/user-device-manage/src/classes/line-association.mjs +121 -0
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +10 -0
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +27 -0
- package/esm2020/user-device-manage/src/classes/line.mjs +18 -0
- package/esm2020/user-device-manage/src/classes/notification.mjs +32 -0
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +7 -0
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +111 -0
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +21 -0
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +32 -0
- package/esm2020/user-device-manage/src/classes/types.mjs +24 -0
- package/esm2020/user-device-manage/src/common-functions.mjs +19 -0
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +34 -0
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +31 -0
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +16 -0
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +64 -0
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +179 -0
- package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +24 -0
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +335 -0
- package/esm2020/user-device-manage/src/environments/environment.mjs +11 -0
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +36 -0
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -0
- package/esm2020/user-device-manage/src/material.module.mjs +192 -0
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +35 -0
- package/esm2020/user-device-manage/src/services/api.service.mjs +79 -0
- package/esm2020/user-device-manage/src/services/device.service.mjs +83 -0
- package/esm2020/user-device-manage/src/services/dns.service.mjs +104 -0
- package/esm2020/user-device-manage/src/services/line.service.mjs +76 -0
- package/esm2020/user-device-manage/src/services/notification.service.mjs +62 -0
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +25 -0
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +70 -0
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +197 -0
- package/esm2020/user-device-manage/src/services/user.service.mjs +243 -0
- package/esm2020/user-device-manage/src/services/utils.service.mjs +87 -0
- package/esm2020/user-device-manage/src/services/validation.service.mjs +760 -0
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +107 -0
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +5 -0
- package/esm2020/user-manage/public-api.mjs +7 -0
- package/esm2020/user-manage/src/app.constants.mjs +50 -0
- package/esm2020/user-manage/src/classes/device.mjs +37 -0
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +2 -0
- package/esm2020/user-manage/src/classes/line-association.mjs +110 -0
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +10 -0
- package/esm2020/user-manage/src/classes/line-directory.mjs +27 -0
- package/esm2020/user-manage/src/classes/line.mjs +18 -0
- package/esm2020/user-manage/src/classes/notification.mjs +32 -0
- package/esm2020/user-manage/src/classes/pagination.mjs +8 -0
- package/esm2020/user-manage/src/classes/recording-options.mjs +7 -0
- package/esm2020/user-manage/src/classes/simplified-user.mjs +109 -0
- package/esm2020/user-manage/src/classes/table-data.mjs +2 -0
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +32 -0
- package/esm2020/user-manage/src/classes/user-list.mjs +10 -0
- package/esm2020/user-manage/src/common-functions.mjs +19 -0
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +24 -0
- package/esm2020/user-manage/src/environments/environment.mjs +11 -0
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +36 -0
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -0
- package/esm2020/user-manage/src/material.module.mjs +188 -0
- package/esm2020/user-manage/src/notifications/notification.component.mjs +35 -0
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +25 -0
- package/esm2020/user-manage/src/services/api.service.mjs +79 -0
- package/esm2020/user-manage/src/services/dns.service.mjs +110 -0
- package/esm2020/user-manage/src/services/line.service.mjs +34 -0
- package/esm2020/user-manage/src/services/notification.service.mjs +62 -0
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +25 -0
- package/esm2020/user-manage/src/services/site-settings.service.mjs +36 -0
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +197 -0
- package/esm2020/user-manage/src/services/user.service.mjs +207 -0
- package/esm2020/user-manage/src/services/users-search.service.mjs +50 -0
- package/esm2020/user-manage/src/services/utils.service.mjs +73 -0
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +65 -0
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +78 -0
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +20 -0
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +208 -0
- package/esm2020/user-manage/src/user-manage.module.mjs +99 -0
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +43 -0
- package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +5 -0
- package/esm2020/users-list/public-api.mjs +9 -0
- package/esm2020/users-list/src/app.constants.mjs +54 -0
- package/esm2020/users-list/src/classes/app-location.mjs +32 -0
- package/esm2020/users-list/src/classes/device.mjs +7 -0
- package/esm2020/users-list/src/classes/line.mjs +18 -0
- package/esm2020/users-list/src/classes/move-user.mjs +178 -0
- package/esm2020/users-list/src/classes/notification.mjs +31 -0
- package/esm2020/users-list/src/classes/pagination.mjs +8 -0
- package/esm2020/users-list/src/classes/simlified-user.mjs +50 -0
- package/esm2020/users-list/src/classes/table-data.mjs +2 -0
- package/esm2020/users-list/src/classes/user-list.mjs +14 -0
- package/esm2020/users-list/src/material.module.mjs +209 -0
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +38 -0
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +23 -0
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +189 -0
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +38 -0
- package/esm2020/users-list/src/services/api-webex.service.mjs +18 -0
- package/esm2020/users-list/src/services/api.service.mjs +78 -0
- package/esm2020/users-list/src/services/dns.service.mjs +120 -0
- package/esm2020/users-list/src/services/events-communication.service.mjs +14 -0
- package/esm2020/users-list/src/services/move-user.service.mjs +53 -0
- package/esm2020/users-list/src/services/notification.service.mjs +62 -0
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -0
- package/esm2020/users-list/src/services/site-settings.service.mjs +27 -0
- package/esm2020/users-list/src/services/user.service.mjs +142 -0
- package/esm2020/users-list/src/services/users-search.service.mjs +124 -0
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +34 -0
- package/esm2020/users-list/src/users-list.component.mjs +287 -0
- package/esm2020/users-list/src/users-list.module.mjs +92 -0
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/users-list/src/utils/common-functions.mjs +32 -0
- package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +43 -0
- package/esm2020/users-list/src/utils/utils.service.mjs +73 -0
- package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +5 -0
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +1874 -0
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +3402 -0
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +2124 -0
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1996 -0
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets.mjs +63 -0
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +1865 -0
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +3364 -0
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +2107 -0
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1975 -0
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets.mjs +63 -0
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/widgets.component.d.ts +8 -0
- package/lib/widgets.module.d.ts +7 -0
- package/lib/widgets.service.d.ts +6 -0
- package/package.json +65 -48
- package/{projects/tuki/widgets/src/public-api.ts → public-api.d.ts} +0 -4
- package/user-device-manage/index.d.ts +5 -0
- package/user-device-manage/src/app.constants.d.ts +74 -0
- package/user-device-manage/src/classes/device.d.ts +233 -0
- package/user-device-manage/src/classes/line-association-interface.d.ts +45 -0
- package/user-device-manage/src/classes/line-association.d.ts +62 -0
- package/user-device-manage/src/classes/line-call-info-display.d.ts +11 -0
- package/user-device-manage/src/classes/line-directory.d.ts +15 -0
- package/user-device-manage/src/classes/line.d.ts +140 -0
- package/user-device-manage/src/classes/notification.d.ts +18 -0
- package/user-device-manage/src/classes/recording-options.d.ts +5 -0
- package/user-device-manage/src/classes/simplified-user.d.ts +52 -0
- package/user-device-manage/src/classes/site-defaults.d.ts +146 -0
- package/user-device-manage/src/classes/translation-pattern.d.ts +19 -0
- package/user-device-manage/src/classes/types.d.ts +19 -0
- package/user-device-manage/src/common-functions.d.ts +1 -0
- package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +20 -0
- package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +15 -0
- package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +7 -0
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +24 -0
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +89 -0
- package/user-device-manage/src/device-list/device-list.component.d.ts +11 -0
- package/user-device-manage/src/device-manage-widget.component.d.ts +71 -0
- package/user-device-manage/src/environments/environment.d.ts +9 -0
- package/user-device-manage/src/interseptors/auth.interceptor.d.ts +9 -0
- package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -0
- package/user-device-manage/src/material.module.d.ts +29 -0
- package/user-device-manage/src/notifications/notification.component.d.ts +19 -0
- package/user-device-manage/src/services/api.service.d.ts +20 -0
- package/user-device-manage/src/services/device.service.d.ts +21 -0
- package/user-device-manage/src/services/dns.service.d.ts +14 -0
- package/user-device-manage/src/services/line.service.d.ts +33 -0
- package/user-device-manage/src/services/notification.service.d.ts +18 -0
- package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
- package/user-device-manage/src/services/site-settings.service.d.ts +25 -0
- package/user-device-manage/src/services/sorting-utils.service.d.ts +26 -0
- package/user-device-manage/src/services/user.service.d.ts +51 -0
- package/user-device-manage/src/services/utils.service.d.ts +10 -0
- package/user-device-manage/src/services/validation.service.d.ts +165 -0
- package/user-device-manage/src/user-device-manage.module.d.ts +22 -0
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +6 -0
- package/user-manage/index.d.ts +5 -0
- package/user-manage/src/app.constants.d.ts +29 -0
- package/user-manage/src/classes/device.d.ts +203 -0
- package/user-manage/src/classes/line-association-interface.d.ts +40 -0
- package/user-manage/src/classes/line-association.d.ts +55 -0
- package/user-manage/src/classes/line-call-info-display.d.ts +11 -0
- package/user-manage/src/classes/line-directory.d.ts +16 -0
- package/user-manage/src/classes/line.d.ts +140 -0
- package/user-manage/src/classes/notification.d.ts +18 -0
- package/user-manage/src/classes/pagination.d.ts +13 -0
- package/user-manage/src/classes/recording-options.d.ts +5 -0
- package/user-manage/src/classes/simplified-user.d.ts +50 -0
- package/user-manage/src/classes/table-data.d.ts +5 -0
- package/user-manage/src/classes/translation-pattern.d.ts +18 -0
- package/user-manage/src/classes/user-list.d.ts +34 -0
- package/user-manage/src/common-functions.d.ts +1 -0
- package/user-manage/src/device-list/device-list.component.d.ts +11 -0
- package/user-manage/src/environments/environment.d.ts +9 -0
- package/user-manage/src/interseptors/auth.interceptor.d.ts +9 -0
- package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -0
- package/user-manage/src/material.module.d.ts +28 -0
- package/user-manage/src/notifications/notification.component.d.ts +19 -0
- package/user-manage/src/removeKynFromIBM.service.d.ts +8 -0
- package/user-manage/src/services/api.service.d.ts +21 -0
- package/user-manage/src/services/dns.service.d.ts +14 -0
- package/user-manage/src/services/line.service.d.ts +17 -0
- package/user-manage/src/services/notification.service.d.ts +18 -0
- package/user-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
- package/user-manage/src/services/site-settings.service.d.ts +9 -0
- package/user-manage/src/services/sorting-utils.service.d.ts +26 -0
- package/user-manage/src/services/user.service.d.ts +43 -0
- package/user-manage/src/services/users-search.service.d.ts +25 -0
- package/user-manage/src/services/utils.service.d.ts +9 -0
- package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +24 -0
- package/user-manage/src/user-calling/user-calling.component.d.ts +30 -0
- package/user-manage/src/user-info/user-info.component.d.ts +9 -0
- package/user-manage/src/user-manage-widget.component.d.ts +44 -0
- package/user-manage/src/user-manage.module.d.ts +21 -0
- package/user-manage/src/utils/app-loader/app-loader.d.ts +6 -0
- package/user-manage/src/utils/pagination/pagination.component.d.ts +18 -0
- package/users-list/index.d.ts +5 -0
- package/users-list/src/app.constants.d.ts +36 -0
- package/users-list/src/classes/app-location.d.ts +17 -0
- package/users-list/src/classes/device.d.ts +224 -0
- package/users-list/src/classes/line.d.ts +140 -0
- package/users-list/src/classes/move-user.d.ts +85 -0
- package/users-list/src/classes/notification.d.ts +18 -0
- package/users-list/src/classes/pagination.d.ts +13 -0
- package/users-list/src/classes/simlified-user.d.ts +25 -0
- package/users-list/src/classes/table-data.d.ts +5 -0
- package/users-list/src/classes/user-list.d.ts +36 -0
- package/users-list/src/material.module.d.ts +31 -0
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +21 -0
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +12 -0
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +55 -0
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +17 -0
- package/users-list/src/services/api-webex.service.d.ts +8 -0
- package/users-list/src/services/api.service.d.ts +21 -0
- package/users-list/src/services/dns.service.d.ts +18 -0
- package/users-list/src/services/events-communication.service.d.ts +8 -0
- package/users-list/src/services/move-user.service.d.ts +17 -0
- package/users-list/src/services/notification.service.d.ts +18 -0
- package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -0
- package/users-list/src/services/site-settings.service.d.ts +11 -0
- package/users-list/src/services/user.service.d.ts +35 -0
- package/users-list/src/services/users-search.service.d.ts +34 -0
- package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +20 -0
- package/users-list/src/users-list.component.d.ts +60 -0
- package/users-list/src/users-list.module.d.ts +18 -0
- package/users-list/src/utils/app-loader/app-loader.d.ts +6 -0
- package/users-list/src/utils/common-functions.d.ts +2 -0
- package/users-list/src/utils/pagination/pagination.component.d.ts +18 -0
- package/users-list/src/utils/utils.service.d.ts +9 -0
- package/.editorconfig +0 -16
- package/.hintrc +0 -14
- package/.vscode/extensions.json +0 -4
- package/.vscode/launch.json +0 -20
- package/.vscode/tasks.json +0 -42
- package/angular.json +0 -141
- package/projects/tuki/widgets/README.md +0 -24
- package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +0 -26
- package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/details_d_icon.svg +0 -3
- package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/ng-package.json +0 -7
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +0 -11
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +0 -48
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +0 -10
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +0 -15
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +0 -38
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +0 -71
- package/projects/tuki/widgets/di2mt/shared/components/index.ts +0 -6
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +0 -57
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +0 -74
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +0 -44
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +0 -28
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +0 -55
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +0 -11
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +0 -12
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +0 -79
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +0 -27
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +0 -28
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +0 -244
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +0 -28
- package/projects/tuki/widgets/di2mt/shared/constants/app.constants.ts +0 -96
- package/projects/tuki/widgets/di2mt/shared/material.module.ts +0 -36
- package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +0 -92
- package/projects/tuki/widgets/di2mt/shared/shared.module.ts +0 -38
- package/projects/tuki/widgets/di2mt/shared/types/constants.ts +0 -15
- package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +0 -5
- package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +0 -14
- package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +0 -13
- package/projects/tuki/widgets/di2mt/styles/variables.scss +0 -92
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.html +0 -3
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.scss +0 -37
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.ts +0 -40
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +0 -158
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +0 -430
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +0 -362
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +0 -33
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +0 -102
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts +0 -22
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +0 -52
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +0 -53
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +0 -67
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +0 -7
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +0 -45
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +0 -7
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +0 -45
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +0 -59
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +0 -70
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +0 -42
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +0 -95
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +0 -186
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +0 -345
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +0 -313
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +0 -34
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +0 -79
- package/projects/tuki/widgets/karma.conf.js +0 -44
- package/projects/tuki/widgets/ng-package.json +0 -10
- package/projects/tuki/widgets/package.json +0 -13
- package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +0 -23
- package/projects/tuki/widgets/src/lib/widgets.component.ts +0 -20
- package/projects/tuki/widgets/src/lib/widgets.module.ts +0 -16
- package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +0 -16
- package/projects/tuki/widgets/src/lib/widgets.service.ts +0 -9
- package/projects/tuki/widgets/src/test.ts +0 -27
- package/projects/tuki/widgets/styles.scss +0 -572
- package/projects/tuki/widgets/tsconfig.lib.json +0 -36
- package/projects/tuki/widgets/tsconfig.lib.prod.json +0 -10
- package/projects/tuki/widgets/tsconfig.spec.json +0 -17
- package/projects/tuki/widgets/user-device-manage/ng-package.json +0 -7
- package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +0 -96
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +0 -5
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +0 -5
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +0 -3
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +0 -5
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +0 -1
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
- package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +0 -292
- package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +0 -50
- package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +0 -177
- package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +0 -21
- package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +0 -41
- package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +0 -144
- package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +0 -40
- package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +0 -6
- package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +0 -169
- package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +0 -167
- package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +0 -50
- package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +0 -19
- package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +0 -225
- package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +0 -8
- package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +0 -16
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +0 -14
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +0 -80
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +0 -35
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +0 -21
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +0 -97
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +0 -28
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +0 -6
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +0 -20
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +0 -13
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +0 -6
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +0 -4
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +0 -63
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +0 -241
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +0 -500
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +0 -194
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +0 -27
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +0 -131
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +0 -25
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +0 -209
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +0 -502
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +0 -354
- package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +0 -9
- package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +0 -10
- package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +0 -35
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -50
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -8
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -81
- package/projects/tuki/widgets/user-device-manage/src/material.module.ts +0 -87
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +0 -33
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +0 -84
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +0 -46
- package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +0 -25
- package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +0 -87
- package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +0 -17
- package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +0 -95
- package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +0 -111
- package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +0 -89
- package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +0 -68
- package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +0 -25
- package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +0 -82
- package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +0 -203
- package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +0 -283
- package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +0 -87
- package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +0 -829
- package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +0 -90
- package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +0 -231
- package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +0 -32
- package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +0 -110
- package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +0 -30
- package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +0 -73
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +0 -6
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +0 -11
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +0 -13
- package/projects/tuki/widgets/user-manage/ng-package.json +0 -7
- package/projects/tuki/widgets/user-manage/src/app.constants.ts +0 -50
- package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +0 -5
- package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +0 -5
- package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +0 -5
- package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
- package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +0 -1
- package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
- package/projects/tuki/widgets/user-manage/src/classes/device.ts +0 -232
- package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +0 -43
- package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +0 -161
- package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +0 -21
- package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +0 -42
- package/projects/tuki/widgets/user-manage/src/classes/line.ts +0 -144
- package/projects/tuki/widgets/user-manage/src/classes/notification.ts +0 -39
- package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +0 -18
- package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +0 -6
- package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +0 -165
- package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +0 -6
- package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +0 -49
- package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +0 -225
- package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +0 -42
- package/projects/tuki/widgets/user-manage/src/classes/user.ts +0 -8
- package/projects/tuki/widgets/user-manage/src/common-functions.ts +0 -16
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +0 -27
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +0 -131
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +0 -25
- package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +0 -9
- package/projects/tuki/widgets/user-manage/src/environments/environment.ts +0 -10
- package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +0 -35
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -50
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -8
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -81
- package/projects/tuki/widgets/user-manage/src/material.module.ts +0 -85
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +0 -33
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +0 -84
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +0 -46
- package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +0 -25
- package/projects/tuki/widgets/user-manage/src/services/api.service.ts +0 -90
- package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +0 -116
- package/projects/tuki/widgets/user-manage/src/services/line.service.ts +0 -31
- package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +0 -68
- package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +0 -25
- package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +0 -35
- package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +0 -203
- package/projects/tuki/widgets/user-manage/src/services/user.service.ts +0 -242
- package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +0 -59
- package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +0 -71
- package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +0 -90
- package/projects/tuki/widgets/user-manage/src/styles/form.scss +0 -231
- package/projects/tuki/widgets/user-manage/src/styles/icons.scss +0 -32
- package/projects/tuki/widgets/user-manage/src/styles/styles.scss +0 -110
- package/projects/tuki/widgets/user-manage/src/styles/tables.scss +0 -30
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +0 -10
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +0 -429
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +0 -63
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +0 -32
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +0 -444
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +0 -89
- package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +0 -68
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +0 -29
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +0 -64
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +0 -19
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +0 -290
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +0 -463
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +0 -212
- package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +0 -63
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +0 -6
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +0 -11
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +0 -13
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +0 -26
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +0 -41
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +0 -41
- package/projects/tuki/widgets/users-list/ng-package.json +0 -7
- package/projects/tuki/widgets/users-list/src/app.constants.ts +0 -54
- package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +0 -3
- package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +0 -1
- package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +0 -14
- package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +0 -3
- package/projects/tuki/widgets/users-list/src/classes/app-location.ts +0 -36
- package/projects/tuki/widgets/users-list/src/classes/device.ts +0 -225
- package/projects/tuki/widgets/users-list/src/classes/line.ts +0 -144
- package/projects/tuki/widgets/users-list/src/classes/move-user.ts +0 -225
- package/projects/tuki/widgets/users-list/src/classes/notification.ts +0 -38
- package/projects/tuki/widgets/users-list/src/classes/pagination.ts +0 -18
- package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +0 -74
- package/projects/tuki/widgets/users-list/src/classes/table-data.ts +0 -6
- package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +0 -225
- package/projects/tuki/widgets/users-list/src/classes/user-list.ts +0 -47
- package/projects/tuki/widgets/users-list/src/classes/user.ts +0 -8
- package/projects/tuki/widgets/users-list/src/material.module.ts +0 -94
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +0 -37
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +0 -129
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +0 -46
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +0 -31
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +0 -20
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +0 -26
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +0 -222
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +0 -239
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +0 -206
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +0 -12
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +0 -41
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +0 -36
- package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +0 -14
- package/projects/tuki/widgets/users-list/src/services/api.service.ts +0 -90
- package/projects/tuki/widgets/users-list/src/services/dns.service.ts +0 -128
- package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +0 -11
- package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +0 -59
- package/projects/tuki/widgets/users-list/src/services/notification.service.ts +0 -68
- package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +0 -25
- package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +0 -26
- package/projects/tuki/widgets/users-list/src/services/user.service.ts +0 -159
- package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +0 -139
- package/projects/tuki/widgets/users-list/src/styles/styles.scss +0 -572
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +0 -15
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +0 -103
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +0 -35
- package/projects/tuki/widgets/users-list/src/users-list.component.css +0 -4
- package/projects/tuki/widgets/users-list/src/users-list.component.css.map +0 -1
- package/projects/tuki/widgets/users-list/src/users-list.component.html +0 -86
- package/projects/tuki/widgets/users-list/src/users-list.component.scss +0 -572
- package/projects/tuki/widgets/users-list/src/users-list.component.ts +0 -312
- package/projects/tuki/widgets/users-list/src/users-list.module.ts +0 -63
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +0 -11
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +0 -1
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +0 -6
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +0 -11
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +0 -13
- package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +0 -32
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +0 -33
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +0 -84
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +0 -46
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +0 -45
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +0 -1
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +0 -26
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +0 -41
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +0 -41
- package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +0 -71
- package/projects/widgets-playground/src/app/app.component.html +0 -109
- package/projects/widgets-playground/src/app/app.component.scss +0 -15
- package/projects/widgets-playground/src/app/app.component.spec.ts +0 -31
- package/projects/widgets-playground/src/app/app.component.ts +0 -31
- package/projects/widgets-playground/src/app/app.module.ts +0 -43
- package/projects/widgets-playground/src/assets/.gitkeep +0 -0
- package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
- package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
- package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/site.png +0 -0
- package/projects/widgets-playground/src/assets/icons/user.png +0 -0
- package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
- package/projects/widgets-playground/src/favicon.ico +0 -0
- package/projects/widgets-playground/src/index.html +0 -13
- package/projects/widgets-playground/src/main.ts +0 -7
- package/projects/widgets-playground/src/styles.scss +0 -23
- package/projects/widgets-playground/tsconfig.app.json +0 -14
- package/projects/widgets-playground/tsconfig.spec.json +0 -14
- package/proxy.conf.js +0 -23
- package/tsconfig.json +0 -46
- /package/{projects/tuki/widgets/di2mt → di2mt}/README.md +0 -0
- /package/{projects/tuki/widgets/user-device-manage/public-api.ts → user-device-manage/public-api.d.ts} +0 -0
- /package/{projects/tuki/widgets/user-manage/public-api.ts → user-manage/public-api.d.ts} +0 -0
- /package/{projects/tuki/widgets/users-list/public-api.ts → users-list/public-api.d.ts} +0 -0
package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { filterOptions } from '../../utils/common-functions';
|
|
3
|
+
import { MigrationData, PrepareMigrationBody, PrepareMigrationData } from '../../classes/move-user';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/dns.service";
|
|
6
|
+
import * as i2 from "../../services/user.service";
|
|
7
|
+
import * as i3 from "../../services/site-settings.service";
|
|
8
|
+
import * as i4 from "../../services/notification.service";
|
|
9
|
+
import * as i5 from "../../services/move-user.service";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
import * as i7 from "@angular/forms";
|
|
12
|
+
import * as i8 from "@angular/material/button";
|
|
13
|
+
import * as i9 from "@angular/material/progress-spinner";
|
|
14
|
+
import * as i10 from "@angular/material/form-field";
|
|
15
|
+
import * as i11 from "@angular/material/input";
|
|
16
|
+
import * as i12 from "@angular/material/autocomplete";
|
|
17
|
+
import * as i13 from "@angular/material/core";
|
|
18
|
+
import * as i14 from "@angular/material/stepper";
|
|
19
|
+
import * as i15 from "@angular/material/checkbox";
|
|
20
|
+
import * as i16 from "@angular/material/radio";
|
|
21
|
+
import * as i17 from "../../utils/app-loader/app-loader";
|
|
22
|
+
import * as i18 from "./device-move-user-tab/devices-move-user-wizard-tab.component";
|
|
23
|
+
// for test only
|
|
24
|
+
const LOCATION = 'Y2lzY29zcGFyazovL3VzL0xPQ0FUSU9OLzE2YjY0NjljLTBjZmQtNDJjMS1iOWJjLTUyN2FlZTNhN2RlOQ';
|
|
25
|
+
export class MoveUserStepperComponent {
|
|
26
|
+
get moveUserPending() {
|
|
27
|
+
return this.userService.moveUserPending;
|
|
28
|
+
}
|
|
29
|
+
get currentNumber() {
|
|
30
|
+
if (this.user?.devices?.length && this.user.devices[0]?.lineAssociations && this.user.devices[0].lineAssociations[0]) {
|
|
31
|
+
return this.user.devices[0].lineAssociations[0].directoryNumber.directoryNumber;
|
|
32
|
+
}
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
get locations() {
|
|
36
|
+
return this.siteSettingsService.locations;
|
|
37
|
+
}
|
|
38
|
+
get prepareMigrationData() {
|
|
39
|
+
return this.moveUserService.prepareMigrationData;
|
|
40
|
+
}
|
|
41
|
+
constructor(dnsService, userService, siteSettingsService, notificationService, moveUserService) {
|
|
42
|
+
this.dnsService = dnsService;
|
|
43
|
+
this.userService = userService;
|
|
44
|
+
this.siteSettingsService = siteSettingsService;
|
|
45
|
+
this.notificationService = notificationService;
|
|
46
|
+
this.moveUserService = moveUserService;
|
|
47
|
+
this.done = new EventEmitter();
|
|
48
|
+
this.runMoveUser = new EventEmitter();
|
|
49
|
+
this.cancel = new EventEmitter();
|
|
50
|
+
this.isLinear = false;
|
|
51
|
+
this.phoneNumberPending = false;
|
|
52
|
+
this.filteredLocations = [];
|
|
53
|
+
this.dataPending = false;
|
|
54
|
+
}
|
|
55
|
+
ngOnInit() {
|
|
56
|
+
this.moveUserService.prepareMigrationData = new PrepareMigrationData();
|
|
57
|
+
this.getData();
|
|
58
|
+
}
|
|
59
|
+
displayLocation(location) {
|
|
60
|
+
return location?.name || '';
|
|
61
|
+
}
|
|
62
|
+
onLocationAutocomplete(event) {
|
|
63
|
+
const value = event.target.value;
|
|
64
|
+
if (this.locations?.length) {
|
|
65
|
+
this.filteredLocations = filterOptions(this.locations, value || '', '', 'name');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
onNumberAutocomplete() {
|
|
69
|
+
if (this.dnsService.phoneNumbers?.length) {
|
|
70
|
+
this.filteredPhoneNumbers = filterOptions(this.dnsService.phoneNumbers, this.prepareMigrationData.newPhoneNumber);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
onMoveUser(stepper) {
|
|
74
|
+
this.stepper = stepper;
|
|
75
|
+
this.runMoveUser.emit();
|
|
76
|
+
}
|
|
77
|
+
onStepChange(event) {
|
|
78
|
+
}
|
|
79
|
+
selectPhoneNumberMigrationType(event) {
|
|
80
|
+
if (event.value && event.value === '2') {
|
|
81
|
+
this.getPhoneNumbers();
|
|
82
|
+
}
|
|
83
|
+
this.moveUserService.prepareMigrationData.removePhoneNumber = event.value && event.value === '3';
|
|
84
|
+
}
|
|
85
|
+
selectExtensionMigrationType(event) {
|
|
86
|
+
this.moveUserService.prepareMigrationData.removeExtension = event.value && event.value === '3';
|
|
87
|
+
}
|
|
88
|
+
onPhoneNumberChange(event) {
|
|
89
|
+
console.log('new phone number = ', this.prepareMigrationData.newPhoneNumber);
|
|
90
|
+
}
|
|
91
|
+
onLocationChange(event) {
|
|
92
|
+
this.moveUserService.prepareMigrationData.newLocation = event.option.value;
|
|
93
|
+
this.moveUserService.resetMigrationDataForNewLocation();
|
|
94
|
+
if (this.prepareMigrationData.moveType.phoneNumber === '2') {
|
|
95
|
+
this.getPhoneNumbers();
|
|
96
|
+
}
|
|
97
|
+
this.getPrepareUserData();
|
|
98
|
+
}
|
|
99
|
+
onExtensionChange(event) {
|
|
100
|
+
console.log('new newExtension = ', this.prepareMigrationData.newExtension);
|
|
101
|
+
}
|
|
102
|
+
getPhoneNumbers() {
|
|
103
|
+
if (!this.prepareMigrationData.newLocation?.id) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this.phoneNumberPending = true;
|
|
107
|
+
this.dnsService.fetchPhoneNumbers(this.customerId, this.prepareMigrationData.newLocation.id)
|
|
108
|
+
.subscribe(() => {
|
|
109
|
+
this.phoneNumberPending = false;
|
|
110
|
+
this.filteredPhoneNumbers = this.dnsService.phoneNumbers.slice();
|
|
111
|
+
}, () => this.phoneNumberPending = false);
|
|
112
|
+
}
|
|
113
|
+
isNextFromSelectLocationDisabled() {
|
|
114
|
+
if (!this.prepareMigrationData?.newLocation?.id || !this.prepareMigrationData.entityId) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
if (this.prepareMigrationData.moveType.phoneNumber === '2' && !this.prepareMigrationData.newPhoneNumber) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
if (this.prepareMigrationData.moveType.extension === '2' && !this.prepareMigrationData.newExtension) {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
goNextStep(stepper) {
|
|
126
|
+
}
|
|
127
|
+
startMigration() {
|
|
128
|
+
const migrationData = new MigrationData(this.prepareMigrationData);
|
|
129
|
+
this.dataPending = true;
|
|
130
|
+
this.moveUserService.startMigration(migrationData)
|
|
131
|
+
.subscribe((result) => {
|
|
132
|
+
this.dataPending = false;
|
|
133
|
+
if (this.nextAfterMoveBtn?._elementRef?.nativeElement) {
|
|
134
|
+
this.nextAfterMoveBtn._elementRef.nativeElement.click();
|
|
135
|
+
}
|
|
136
|
+
}, () => {
|
|
137
|
+
this.dataPending = false;
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
getData() {
|
|
141
|
+
if (!this.user) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
this.dataPending = true;
|
|
145
|
+
this.siteSettingsService.getLocations(this.customerId)
|
|
146
|
+
.subscribe(() => {
|
|
147
|
+
if (this.locations?.length) {
|
|
148
|
+
this.filteredLocations = this.locations.slice();
|
|
149
|
+
}
|
|
150
|
+
this.dataPending = false;
|
|
151
|
+
}, () => this.dataPending = false);
|
|
152
|
+
}
|
|
153
|
+
getPrepareUserData() {
|
|
154
|
+
if (this.prepareMigrationData?.newLocation?.id) {
|
|
155
|
+
this.moveUserService.setOriginPrepareMigrationData();
|
|
156
|
+
const prepareMigrationBody = new PrepareMigrationBody(this.user, this.customerId, this.prepareMigrationData.newLocation.id);
|
|
157
|
+
this.moveUserService.prepareMigrationData.pending = true;
|
|
158
|
+
this.moveUserService.fetchPrepareMigrationData(prepareMigrationBody)
|
|
159
|
+
.subscribe(() => {
|
|
160
|
+
}, () => {
|
|
161
|
+
this.moveUserService.prepareMigrationData.pending = false;
|
|
162
|
+
this.notificationService.error('Move user attempt is failed');
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
resetMoveTypePhoneNUmber() {
|
|
167
|
+
this.dnsService.phoneNumbers = [];
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
MoveUserStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserStepperComponent, deps: [{ token: i1.DnsService }, { token: i2.UserService }, { token: i3.SiteSettingsService }, { token: i4.NotificationService }, { token: i5.MoveUserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
171
|
+
MoveUserStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserStepperComponent, selector: "app-move-user-stepper", inputs: { user: "user", customerId: "customerId" }, outputs: { done: "done", runMoveUser: "runMoveUser", cancel: "cancel" }, viewQueries: [{ propertyName: "nextAfterMoveBtn", first: true, predicate: ["nextAfterMoveBtn"], descendants: true }], ngImport: i0, template: "<app-loader *ngIf=\"prepareMigrationData.pending || moveUserPending || dataPending\"></app-loader>\r\n<div id=\"move-user-stepper\">\r\n <mat-stepper *ngIf=\"prepareMigrationData?.moveType\" [linear]=\"isLinear\" labelPosition=\"bottom\" #stepper>\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: Select location</div>\r\n <!-- <form>-->\r\n <ng-template matStepLabel>Select location</ng-template>\r\n <form>\r\n <div class=\"move-user-tab-content-box\">\r\n <mat-label class=\"mat-label\">Select a new location</mat-label>\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select location\" [matAutocomplete]=\"auto\" matInput\r\n (input)=\"onLocationAutocomplete($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayLocation\"\r\n (optionSelected)=\"onLocationChange($event)\">\r\n <mat-option *ngFor=\"let location of filteredLocations\" [value]=\"location\">\r\n {{ location.name }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!dataPending && !locations.length\" class=\"mat-error\">\r\n Locations are not available\r\n </div>\r\n\r\n <ng-container *ngIf=\"prepareMigrationData?.newLocation?.id\">\r\n <mat-label class=\"mat-label\">Phone number</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypePhoneNumber\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.phoneNumber\" name=\"phoneNumber\"\r\n (change)=\"selectPhoneNumberMigrationType($event)\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current number\r\n {{ prepareMigrationData.primaryPhoneNumber || currentNumber }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\"\r\n [disabled]=\"!prepareMigrationData.newLocation?.id\">\r\n Select a new number\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.phoneNumber === '2'\" class=\"select-container\">\r\n <mat-progress-spinner *ngIf=\"phoneNumberPending\" class=\"field-spinner\" mode=\"indeterminate\"\r\n [diameter]=\"30\"></mat-progress-spinner>\r\n\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select number\" [(ngModel)]=\"prepareMigrationData.newPhoneNumber\"\r\n [matAutocomplete]=\"autoPh\" matInput name=\"newPhoneNumber\"\r\n (input)=\"onNumberAutocomplete()\"/>\r\n <mat-autocomplete #autoPh=\"matAutocomplete\" (optionSelected)=\"onPhoneNumberChange($event)\">\r\n <mat-option *ngFor=\"let number of filteredPhoneNumbers\" [value]=\"number\">\r\n {{ number }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!phoneNumberPending && !dnsService.phoneNumbers?.length\" class=\"mat-error\">\r\n Phone numbers are not available for this location\r\n </div>\r\n </div>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removeExtension\">\r\n Remove number\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-label class=\"mat-label\">Extension</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypeExtension\"\r\n (change)=\"selectExtensionMigrationType($event)\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.extension\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current extension {{ prepareMigrationData.primaryExtension }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\">\r\n Select a new extension\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.extension === '2'\" class=\"input-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n name=\"newExtension\"\r\n (change)=\"onExtensionChange($event)\"\r\n [(ngModel)]=\"prepareMigrationData.newExtension\"\r\n [placeholder]=\"'Enter extension'\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removePhoneNumber\">Remove extension\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </ng-container>\r\n </div>\r\n </form>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext\r\n [disabled]=\"isNextFromSelectLocationDisabled()\" (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" (click)=\"cancel.emit()\">Cancel</button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 2: Device eligibility check</div>\r\n <ng-template matStepLabel>Device eligibility check</ng-template>\r\n <div class=\"move-user-tab-content-box\">\r\n <app-devices-move-user-tab></app-devices-move-user-tab>\r\n </div>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 3: Validation</div>\r\n <ng-template matStepLabel>Validation</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Validation</mat-label>\r\n <div *ngIf=\"!prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationSuccess\">\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationFailed\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <button #nextAfterMoveBtn mat-button class=\"invisible-next-btn\" matStepperNext\r\n (click)=\"goNextStep(stepper)\"></button>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\"\r\n [disabled]=\"prepareMigrationData.errors.length > 0 || !prepareMigrationData.isConfirm\"\r\n (click)=\"startMigration()\">\r\n Move\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step>\r\n <div class=\"step-title\">Step 4: Result</div>\r\n <ng-template matStepLabel>Result</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Moving user has been successfully initiated!</mat-label>\r\n <p class=\"validation-text\">\r\n The user will be moved to the new location {{prepareMigrationData.newLocation?.name}}\r\n <br/>\r\n For the progress of move, please visit the\r\n <a class=\"form-link\" href=\"#\">user details</a>.\r\n </p>\r\n </div>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-done\" (click)=\"done.emit(true)\">\r\n Done\r\n </button>\r\n </div>\r\n </mat-step>\r\n </mat-stepper>\r\n</div>\r\n\r\n<ng-template #validationSuccess>\r\n <p class=\"validation-text\">\r\n Validation has completed successfully. The user can be moved to the\r\n new location. Please be aware of the potential impact of the changes\r\n below.\r\n </p>\r\n <mat-label class=\"mat-label\">Expected changes</mat-label>\r\n <ul>\r\n <li>Cisco 6941 device (SEP987987987987) will not be migrated</li>\r\n <li>\r\n The user will be removed from the Call Pickup Group:\r\n 1675090334-Paris_pickup\r\n </li>\r\n <li>\r\n If Webex App is currently in use, the user will to sign in again to\r\n update the service.\r\n </li>\r\n </ul>\r\n <form>\r\n <mat-checkbox class=\"checkbox\" name=\"isConfirm\" [(ngModel)]=\"prepareMigrationData.isConfirm\"\r\n color=\"primary\">\r\n I confirm that I understand these conditions. I acknowledge the\r\n changes.\r\n </mat-checkbox>\r\n </form>\r\n\r\n</ng-template>\r\n\r\n<ng-template #validationFailed>\r\n <p class=\"validation-text\">\r\n Validation is failed. User migration is not available\r\n </p>\r\n <ul>\r\n <li *ngFor=\"let error of prepareMigrationData.errors\">{{ error }}</li>\r\n </ul>\r\n</ng-template>\r\n", styles: [".mat-stepper-horizontal{height:-moz-fit-content;height:fit-content;max-height:750px;margin:0 auto;width:70%;background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}.mat-stepper-horizontal .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}.mat-stepper-horizontal .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}.mat-stepper-horizontal .mat-step-icon-state-number{background-color:#fff}.mat-stepper-horizontal .mat-step-icon-state-edit,.mat-stepper-horizontal .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}.mat-stepper-horizontal .mat-step-icon-content{display:none}.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}.mat-stepper-horizontal .mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header:after,.mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}::ng-deep .mat-form-field-infix{padding:0!important;width:100%}::ng-deep .mat-form-field-appearance-outline .mat-input-element{height:35px;width:100%;line-height:35px;margin:5px 0 0}::ng-deep .mat-form-field{width:350px}::ng-deep .mat-step-header[aria-labelledby=disabled_af]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-icon,::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-label{cursor:not-allowed;opacity:.6}.mat-mdc-form-field{margin-top:16px}.mat-label{font-size:16px;font-weight:600;margin:1rem 0}.step-title{font-size:28px;font-weight:700;margin:.5rem 0 1.5rem 2rem}.validation-text{margin-top:.5rem;margin-bottom:2rem}ul{padding:.5rem 2rem;margin-top:.5rem;margin-bottom:2rem}.devices-move-user-box{background-color:#fff;padding:2.5rem;padding:1rem 2.5rem;min-height:350px;border-radius:.5rem}.user-select-location-box{background-color:#fff;padding:2.5rem;height:350px;border-radius:.5rem}.form-link{text-decoration:none;color:#007bff}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:.5rem 0}.select{width:350px;padding:.5rem;margin:.5rem 0;border:1px solid #a0a0a0;border-radius:.5rem}.step-actions{display:flex;flex-flow:row-reverse;margin-top:2rem;gap:1rem}.webex-btn{border:1px solid black;border-radius:1rem;cursor:pointer;gap:1rem}.btn-next{background-color:#000;color:#fff}.btn-cancel,.btn-done{background-color:#fff;color:#000}.select-container{position:relative;width:100%;max-width:300px}.select-container .mat-progress-spinner{position:absolute;left:45%;top:35px}.invisible-next-btn{height:1px;width:1px}.mat-error{margin:0 0 15px}mat-label{display:block}.btn-next{min-width:80px}.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important}.move-user-tab-content-box{background-color:#fff;min-height:350px;border-radius:.5rem;box-sizing:border-box;padding:25px}.input-container{display:flex;flex-direction:column;gap:1rem}.input-container input{height:-moz-fit-content!important;height:fit-content!important}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i12.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i13.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i14.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { kind: "directive", type: i14.MatStepLabel, selector: "[matStepLabel]" }, { kind: "component", type: i14.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition", "headerPosition", "animationDuration"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { kind: "directive", type: i14.MatStepperNext, selector: "button[matStepperNext]", inputs: ["type"] }, { kind: "directive", type: i14.MatStepperPrevious, selector: "button[matStepperPrevious]", inputs: ["type"] }, { kind: "component", type: i15.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i16.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i16.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i17.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i18.DevicesMoveUserWizardTabComponent, selector: "app-devices-move-user-tab" }], encapsulation: i0.ViewEncapsulation.None });
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserStepperComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{ selector: 'app-move-user-stepper', encapsulation: ViewEncapsulation.None, template: "<app-loader *ngIf=\"prepareMigrationData.pending || moveUserPending || dataPending\"></app-loader>\r\n<div id=\"move-user-stepper\">\r\n <mat-stepper *ngIf=\"prepareMigrationData?.moveType\" [linear]=\"isLinear\" labelPosition=\"bottom\" #stepper>\r\n <mat-step>\r\n <div class=\"step-title\">Step 1: Select location</div>\r\n <!-- <form>-->\r\n <ng-template matStepLabel>Select location</ng-template>\r\n <form>\r\n <div class=\"move-user-tab-content-box\">\r\n <mat-label class=\"mat-label\">Select a new location</mat-label>\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select location\" [matAutocomplete]=\"auto\" matInput\r\n (input)=\"onLocationAutocomplete($event)\"/>\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayLocation\"\r\n (optionSelected)=\"onLocationChange($event)\">\r\n <mat-option *ngFor=\"let location of filteredLocations\" [value]=\"location\">\r\n {{ location.name }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!dataPending && !locations.length\" class=\"mat-error\">\r\n Locations are not available\r\n </div>\r\n\r\n <ng-container *ngIf=\"prepareMigrationData?.newLocation?.id\">\r\n <mat-label class=\"mat-label\">Phone number</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypePhoneNumber\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.phoneNumber\" name=\"phoneNumber\"\r\n (change)=\"selectPhoneNumberMigrationType($event)\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current number\r\n {{ prepareMigrationData.primaryPhoneNumber || currentNumber }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\"\r\n [disabled]=\"!prepareMigrationData.newLocation?.id\">\r\n Select a new number\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.phoneNumber === '2'\" class=\"select-container\">\r\n <mat-progress-spinner *ngIf=\"phoneNumberPending\" class=\"field-spinner\" mode=\"indeterminate\"\r\n [diameter]=\"30\"></mat-progress-spinner>\r\n\r\n <mat-form-field class=\"app-autocomplete-input\" appearance=\"outline\">\r\n <input placeholder=\"Select number\" [(ngModel)]=\"prepareMigrationData.newPhoneNumber\"\r\n [matAutocomplete]=\"autoPh\" matInput name=\"newPhoneNumber\"\r\n (input)=\"onNumberAutocomplete()\"/>\r\n <mat-autocomplete #autoPh=\"matAutocomplete\" (optionSelected)=\"onPhoneNumberChange($event)\">\r\n <mat-option *ngFor=\"let number of filteredPhoneNumbers\" [value]=\"number\">\r\n {{ number }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n <div *ngIf=\"!phoneNumberPending && !dnsService.phoneNumbers?.length\" class=\"mat-error\">\r\n Phone numbers are not available for this location\r\n </div>\r\n </div>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removeExtension\">\r\n Remove number\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <mat-label class=\"mat-label\">Extension</mat-label>\r\n <mat-radio-group class=\"radio-group\" name=\"moveTypeExtension\"\r\n (change)=\"selectExtensionMigrationType($event)\"\r\n [(ngModel)]=\"prepareMigrationData.moveType.extension\">\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"1\"\r\n color=\"primary\">\r\n Keep current extension {{ prepareMigrationData.primaryExtension }}\r\n </mat-radio-button>\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"2\"\r\n color=\"primary\">\r\n Select a new extension\r\n </mat-radio-button>\r\n\r\n <div *ngIf=\"prepareMigrationData.moveType.extension === '2'\" class=\"input-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n type=\"text\"\r\n name=\"newExtension\"\r\n (change)=\"onExtensionChange($event)\"\r\n [(ngModel)]=\"prepareMigrationData.newExtension\"\r\n [placeholder]=\"'Enter extension'\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <mat-radio-button\r\n class=\"radio-button\"\r\n value=\"3\"\r\n color=\"primary\"\r\n [disabled]=\"prepareMigrationData.removePhoneNumber\">Remove extension\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </ng-container>\r\n </div>\r\n </form>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext\r\n [disabled]=\"isNextFromSelectLocationDisabled()\" (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" (click)=\"cancel.emit()\">Cancel</button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 2: Device eligibility check</div>\r\n <ng-template matStepLabel>Device eligibility check</ng-template>\r\n <div class=\"move-user-tab-content-box\">\r\n <app-devices-move-user-tab></app-devices-move-user-tab>\r\n </div>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\" matStepperNext (click)=\"goNextStep(stepper)\">\r\n Next\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step [aria-labelledby]=\"'disabled_af'\">\r\n <div class=\"step-title\">Step 3: Validation</div>\r\n <ng-template matStepLabel>Validation</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Validation</mat-label>\r\n <div *ngIf=\"!prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationSuccess\">\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"prepareMigrationData.errors?.length\">\r\n <ng-container *ngTemplateOutlet=\"validationFailed\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <button #nextAfterMoveBtn mat-button class=\"invisible-next-btn\" matStepperNext\r\n (click)=\"goNextStep(stepper)\"></button>\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-next\"\r\n [disabled]=\"prepareMigrationData.errors.length > 0 || !prepareMigrationData.isConfirm\"\r\n (click)=\"startMigration()\">\r\n Move\r\n </button>\r\n <button mat-button class=\"webex-btn btn-cancel\" matStepperPrevious>\r\n Previous\r\n </button>\r\n </div>\r\n </mat-step>\r\n <mat-step>\r\n <div class=\"step-title\">Step 4: Result</div>\r\n <ng-template matStepLabel>Result</ng-template>\r\n\r\n <div class=\"devices-move-user-box\">\r\n <mat-label class=\"mat-label\">Moving user has been successfully initiated!</mat-label>\r\n <p class=\"validation-text\">\r\n The user will be moved to the new location {{prepareMigrationData.newLocation?.name}}\r\n <br/>\r\n For the progress of move, please visit the\r\n <a class=\"form-link\" href=\"#\">user details</a>.\r\n </p>\r\n </div>\r\n\r\n <div class=\"step-actions\">\r\n <button mat-button class=\"webex-btn btn-done\" (click)=\"done.emit(true)\">\r\n Done\r\n </button>\r\n </div>\r\n </mat-step>\r\n </mat-stepper>\r\n</div>\r\n\r\n<ng-template #validationSuccess>\r\n <p class=\"validation-text\">\r\n Validation has completed successfully. The user can be moved to the\r\n new location. Please be aware of the potential impact of the changes\r\n below.\r\n </p>\r\n <mat-label class=\"mat-label\">Expected changes</mat-label>\r\n <ul>\r\n <li>Cisco 6941 device (SEP987987987987) will not be migrated</li>\r\n <li>\r\n The user will be removed from the Call Pickup Group:\r\n 1675090334-Paris_pickup\r\n </li>\r\n <li>\r\n If Webex App is currently in use, the user will to sign in again to\r\n update the service.\r\n </li>\r\n </ul>\r\n <form>\r\n <mat-checkbox class=\"checkbox\" name=\"isConfirm\" [(ngModel)]=\"prepareMigrationData.isConfirm\"\r\n color=\"primary\">\r\n I confirm that I understand these conditions. I acknowledge the\r\n changes.\r\n </mat-checkbox>\r\n </form>\r\n\r\n</ng-template>\r\n\r\n<ng-template #validationFailed>\r\n <p class=\"validation-text\">\r\n Validation is failed. User migration is not available\r\n </p>\r\n <ul>\r\n <li *ngFor=\"let error of prepareMigrationData.errors\">{{ error }}</li>\r\n </ul>\r\n</ng-template>\r\n", styles: [".mat-stepper-horizontal{height:-moz-fit-content;height:fit-content;max-height:750px;margin:0 auto;width:70%;background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container{margin:0 auto;width:800px}.mat-stepper-horizontal .mat-step-icon{width:28px;height:28px;border:3px solid hsl(0,0%,50.2%)}.mat-stepper-horizontal .mat-step-icon-selected{background-color:#c6c6c6!important;border-color:#19487d}.mat-stepper-horizontal .mat-step-icon-state-number{background-color:#fff}.mat-stepper-horizontal .mat-step-icon-state-edit,.mat-stepper-horizontal .mat-step-header .mat-step-icon-state-done{background-color:#1170cf;border-color:#1170cf}.mat-stepper-horizontal .mat-step-icon-content{display:none}.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):before,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):before,.mat-stepper-horizontal .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child):after,.mat-stepper-horizontal [dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child):after{border-top-width:3px!important}.mat-stepper-horizontal .mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header:after,.mat-stepper-horizontal .mat-stepper-horizontal-line{border-top-color:#1170cf!important;border-top-width:3px!important;border-top-style:solid!important}.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-stepper-horizontal-line,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:before,.mat-stepper-horizontal .mat-horizontal-stepper-header[aria-selected=true]~.mat-horizontal-stepper-header:after{border-top-width:3px!important;background-color:#7b7b7b!important;border-top-color:#7b7b7b!important}::ng-deep .mat-form-field-infix{padding:0!important;width:100%}::ng-deep .mat-form-field-appearance-outline .mat-input-element{height:35px;width:100%;line-height:35px;margin:5px 0 0}::ng-deep .mat-form-field{width:350px}::ng-deep .mat-step-header[aria-labelledby=disabled_af]{pointer-events:none!important;cursor:not-allowed}::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-icon,::ng-deep .mat-step-header[aria-labelledby=disabled_af] .mat-step-label{cursor:not-allowed;opacity:.6}.mat-mdc-form-field{margin-top:16px}.mat-label{font-size:16px;font-weight:600;margin:1rem 0}.step-title{font-size:28px;font-weight:700;margin:.5rem 0 1.5rem 2rem}.validation-text{margin-top:.5rem;margin-bottom:2rem}ul{padding:.5rem 2rem;margin-top:.5rem;margin-bottom:2rem}.devices-move-user-box{background-color:#fff;padding:2.5rem;padding:1rem 2.5rem;min-height:350px;border-radius:.5rem}.user-select-location-box{background-color:#fff;padding:2.5rem;height:350px;border-radius:.5rem}.form-link{text-decoration:none;color:#007bff}.radio-group{display:flex;flex-direction:column;margin:15px 0;align-items:flex-start}.radio-button{margin:.5rem 0}.select{width:350px;padding:.5rem;margin:.5rem 0;border:1px solid #a0a0a0;border-radius:.5rem}.step-actions{display:flex;flex-flow:row-reverse;margin-top:2rem;gap:1rem}.webex-btn{border:1px solid black;border-radius:1rem;cursor:pointer;gap:1rem}.btn-next{background-color:#000;color:#fff}.btn-cancel,.btn-done{background-color:#fff;color:#000}.select-container{position:relative;width:100%;max-width:300px}.select-container .mat-progress-spinner{position:absolute;left:45%;top:35px}.invisible-next-btn{height:1px;width:1px}.mat-error{margin:0 0 15px}mat-label{display:block}.btn-next{min-width:80px}.mat-button-disabled{background-color:#bbb;color:#fff;border:1px solid grey;cursor:default!important}.move-user-tab-content-box{background-color:#fff;min-height:350px;border-radius:.5rem;box-sizing:border-box;padding:25px}.input-container{display:flex;flex-direction:column;gap:1rem}.input-container input{height:-moz-fit-content!important;height:fit-content!important}\n"] }]
|
|
175
|
+
}], ctorParameters: function () { return [{ type: i1.DnsService }, { type: i2.UserService }, { type: i3.SiteSettingsService }, { type: i4.NotificationService }, { type: i5.MoveUserService }]; }, propDecorators: { nextAfterMoveBtn: [{
|
|
176
|
+
type: ViewChild,
|
|
177
|
+
args: ['nextAfterMoveBtn']
|
|
178
|
+
}], done: [{
|
|
179
|
+
type: Output
|
|
180
|
+
}], user: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], customerId: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], runMoveUser: [{
|
|
185
|
+
type: Output
|
|
186
|
+
}], cancel: [{
|
|
187
|
+
type: Output
|
|
188
|
+
}] } });
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS11c2VyLXN0ZXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXJzLWxpc3Qvc3JjL21vdmUtdXNlci13aXphcmQvbW92ZS11c2VyLXN0ZXBwZXIvbW92ZS11c2VyLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXJzLWxpc3Qvc3JjL21vdmUtdXNlci13aXphcmQvbW92ZS11c2VyLXN0ZXBwZXIvbW92ZS11c2VyLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPN0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJcEcsZ0JBQWdCO0FBQ2hCLE1BQU0sUUFBUSxHQUFHLG9GQUFvRixDQUFDO0FBUXRHLE1BQU0sT0FBTyx3QkFBd0I7SUFtQm5DLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FB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QUFPLEdBQUcsS0FBSyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUVILENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O3NIQXRMVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixnVENyQnJDLGc4VEE4TkE7NEZEek1hLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7Nk5BR04sZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFFN0IsSUFBSTtzQkFESCxNQUFNO2dCQUdQLElBQUk7c0JBREgsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sV0FBVztzQkFEVixNQUFNO2dCQUdQLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG5zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRTdGVwcGVyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXJcIjtcclxuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBMb2NhdGlvbiB9IGZyb20gJy4uLy4uL2NsYXNzZXMvYXBwLWxvY2F0aW9uJztcclxuaW1wb3J0IHsgU2l0ZVNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpdGUtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlck9wdGlvbnMgfSBmcm9tICcuLi8uLi91dGlscy9jb21tb24tZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTWlncmF0aW9uRGF0YSwgUHJlcGFyZU1pZ3JhdGlvbkJvZHksIFByZXBhcmVNaWdyYXRpb25EYXRhIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9tb3ZlLXVzZXInO1xyXG5pbXBvcnQgeyBNb3ZlVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb3ZlLXVzZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG4vLyBmb3IgdGVzdCBvbmx5XHJcbmNvbnN0IExPQ0FUSU9OID0gJ1kybHpZMjl6Y0dGeWF6b3ZMM1Z6TDB4UFEwRlVTVTlPTHpFMllqWTBOamxqTFRCalptUXROREpqTVMxaU9XSmpMVFV5TjJGbFpUTmhOMlJsT1EnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtbW92ZS11c2VyLXN0ZXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tb3ZlLXVzZXItc3RlcHBlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbW92ZS11c2VyLXN0ZXBwZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb3ZlVXNlclN0ZXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ25leHRBZnRlck1vdmVCdG4nKSBuZXh0QWZ0ZXJNb3ZlQnRuOiBhbnk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZG9uZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKVxyXG4gIHVzZXI6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGN1c3RvbWVySWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpXHJcbiAgcnVuTW92ZVVzZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGlzTGluZWFyID0gZmFsc2U7XHJcbiAgcGhvbmVOdW1iZXJQZW5kaW5nID0gZmFsc2U7XHJcbiAgc3RlcHBlciE6IE1hdFN0ZXBwZXI7XHJcbiAgZmlsdGVyZWRMb2NhdGlvbnM6IEFwcExvY2F0aW9uW10gPSBbXTtcclxuICBmaWx0ZXJlZFBob25lTnVtYmVyczogYW55O1xyXG4gIGRhdGFQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gIGdldCBtb3ZlVXNlclBlbmRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5tb3ZlVXNlclBlbmRpbmc7XHJcbiAgfVxyXG5cclxuICBnZXQgY3VycmVudE51bWJlcigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMudXNlcj8uZGV2aWNlcz8ubGVuZ3RoICYmIHRoaXMudXNlci5kZXZpY2VzWzBdPy5saW5lQXNzb2NpYXRpb25zICYmIHRoaXMudXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF0pIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF0uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCBsb2NhdGlvbnMoKTogQXBwTG9jYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaXRlU2V0dGluZ3NTZXJ2aWNlLmxvY2F0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBwcmVwYXJlTWlncmF0aW9uRGF0YSgpOiBQcmVwYXJlTWlncmF0aW9uRGF0YSB7XHJcbiAgICByZXR1cm4gdGhpcy5tb3ZlVXNlclNlcnZpY2UucHJlcGFyZU1pZ3JhdGlvbkRhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkbnNTZXJ2aWNlOiBEbnNTZXJ2aWNlLFxyXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHB1YmxpYyBzaXRlU2V0dGluZ3NTZXJ2aWNlOiBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIG1vdmVVc2VyU2VydmljZTogTW92ZVVzZXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubW92ZVVzZXJTZXJ2aWNlLnByZXBhcmVNaWdyYXRpb25EYXRhID0gbmV3IFByZXBhcmVNaWdyYXRpb25EYXRhKCk7XHJcbiAgICB0aGlzLmdldERhdGEoKTtcclxuICB9XHJcblxyXG4gIGRpc3BsYXlMb2NhdGlvbihsb2NhdGlvbj86IEFwcExvY2F0aW9uKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhdGlvbj8ubmFtZSB8fCAnJztcclxuICB9XHJcblxyXG4gIG9uTG9jYXRpb25BdXRvY29tcGxldGUoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLmxvY2F0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRMb2NhdGlvbnMgPSBmaWx0ZXJPcHRpb25zKHRoaXMubG9jYXRpb25zLCB2YWx1ZSB8fCAnJywgJycsICduYW1lJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk51bWJlckF1dG9jb21wbGV0ZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRuc1NlcnZpY2UucGhvbmVOdW1iZXJzPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZFBob25lTnVtYmVycyA9IGZpbHRlck9wdGlvbnModGhpcy5kbnNTZXJ2aWNlLnBob25lTnVtYmVycywgdGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YS5uZXdQaG9uZU51bWJlcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1vdmVVc2VyKHN0ZXBwZXI6IE1hdFN0ZXBwZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RlcHBlciA9IHN0ZXBwZXI7XHJcbiAgICB0aGlzLnJ1bk1vdmVVc2VyLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3RlcENoYW5nZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RQaG9uZU51bWJlck1pZ3JhdGlvblR5cGUoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LnZhbHVlICYmIGV2ZW50LnZhbHVlID09PSAnMicpIHtcclxuICAgICAgdGhpcy5nZXRQaG9uZU51bWJlcnMoKTtcclxuICAgIH1cclxuICAgIHRoaXMubW92ZVVzZXJTZXJ2aWNlLnByZXBhcmVNaWdyYXRpb25EYXRhLnJlbW92ZVBob25lTnVtYmVyID0gZXZlbnQudmFsdWUgJiYgZXZlbnQudmFsdWUgPT09ICczJztcclxuICB9XHJcblxyXG4gIHNlbGVjdEV4dGVuc2lvbk1pZ3JhdGlvblR5cGUoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5tb3ZlVXNlclNlcnZpY2UucHJlcGFyZU1pZ3JhdGlvbkRhdGEucmVtb3ZlRXh0ZW5zaW9uID0gZXZlbnQudmFsdWUgJiYgZXZlbnQudmFsdWUgPT09ICczJztcclxuICB9XHJcblxyXG4gIG9uUGhvbmVOdW1iZXJDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ25ldyBwaG9uZSBudW1iZXIgPSAnLCB0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld1Bob25lTnVtYmVyKTtcclxuICB9XHJcblxyXG4gIG9uTG9jYXRpb25DaGFuZ2UoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMubW92ZVVzZXJTZXJ2aWNlLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld0xvY2F0aW9uID0gZXZlbnQub3B0aW9uLnZhbHVlO1xyXG4gICAgdGhpcy5tb3ZlVXNlclNlcnZpY2UucmVzZXRNaWdyYXRpb25EYXRhRm9yTmV3TG9jYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YS5tb3ZlVHlwZS5waG9uZU51bWJlciA9PT0gJzInKSB7XHJcbiAgICAgIHRoaXMuZ2V0UGhvbmVOdW1iZXJzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFByZXBhcmVVc2VyRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgb25FeHRlbnNpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ25ldyBuZXdFeHRlbnNpb24gPSAnLCB0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld0V4dGVuc2lvbik7XHJcbiAgfVxyXG5cclxuICBnZXRQaG9uZU51bWJlcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3TG9jYXRpb24/LmlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucGhvbmVOdW1iZXJQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZG5zU2VydmljZS5mZXRjaFBob25lTnVtYmVycyh0aGlzLmN1c3RvbWVySWQsIHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3TG9jYXRpb24uaWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXJQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZFBob25lTnVtYmVycyA9IHRoaXMuZG5zU2VydmljZS5waG9uZU51bWJlcnMuc2xpY2UoKTtcclxuICAgICAgfSwgKCkgPT4gdGhpcy5waG9uZU51bWJlclBlbmRpbmcgPSBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBpc05leHRGcm9tU2VsZWN0TG9jYXRpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YT8ubmV3TG9jYXRpb24/LmlkIHx8ICF0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLmVudGl0eUlkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEubW92ZVR5cGUucGhvbmVOdW1iZXIgPT09ICcyJyAmJiAhdGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YS5uZXdQaG9uZU51bWJlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm1vdmVUeXBlLmV4dGVuc2lvbiA9PT0gJzInICYmICF0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld0V4dGVuc2lvbikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGdvTmV4dFN0ZXAoc3RlcHBlcjogTWF0U3RlcHBlcikge1xyXG5cclxuICB9XHJcblxyXG4gIHN0YXJ0TWlncmF0aW9uKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWlncmF0aW9uRGF0YSA9IG5ldyBNaWdyYXRpb25EYXRhKHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEpO1xyXG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLm1vdmVVc2VyU2VydmljZS5zdGFydE1pZ3JhdGlvbihtaWdyYXRpb25EYXRhKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5uZXh0QWZ0ZXJNb3ZlQnRuPy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgdGhpcy5uZXh0QWZ0ZXJNb3ZlQnRuLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnVzZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuZ2V0TG9jYXRpb25zKHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9jYXRpb25zPy5sZW5ndGgpIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyZWRMb2NhdGlvbnMgPSB0aGlzLmxvY2F0aW9ucy5zbGljZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sICgpID0+IHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UHJlcGFyZVVzZXJEYXRhKCkge1xyXG4gICAgaWYgKHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGE/Lm5ld0xvY2F0aW9uPy5pZCkge1xyXG4gICAgICB0aGlzLm1vdmVVc2VyU2VydmljZS5zZXRPcmlnaW5QcmVwYXJlTWlncmF0aW9uRGF0YSgpO1xyXG4gICAgICBjb25zdCBwcmVwYXJlTWlncmF0aW9uQm9keSA9IG5ldyBQcmVwYXJlTWlncmF0aW9uQm9keSh0aGlzLnVzZXIsIHRoaXMuY3VzdG9tZXJJZCwgdGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YS5uZXdMb2NhdGlvbi5pZCk7XHJcbiAgICAgIHRoaXMubW92ZVVzZXJTZXJ2aWNlLnByZXBhcmVNaWdyYXRpb25EYXRhLnBlbmRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLm1vdmVVc2VyU2VydmljZS5mZXRjaFByZXBhcmVNaWdyYXRpb25EYXRhKHByZXBhcmVNaWdyYXRpb25Cb2R5KVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cclxuICAgICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1vdmVVc2VyU2VydmljZS5wcmVwYXJlTWlncmF0aW9uRGF0YS5wZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoJ01vdmUgdXNlciBhdHRlbXB0IGlzIGZhaWxlZCcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRNb3ZlVHlwZVBob25lTlVtYmVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kbnNTZXJ2aWNlLnBob25lTnVtYmVycyA9IFtdO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGFwcC1sb2FkZXIgKm5nSWY9XCJwcmVwYXJlTWlncmF0aW9uRGF0YS5wZW5kaW5nIHx8IG1vdmVVc2VyUGVuZGluZyB8fCBkYXRhUGVuZGluZ1wiPjwvYXBwLWxvYWRlcj5cclxuPGRpdiBpZD1cIm1vdmUtdXNlci1zdGVwcGVyXCI+XHJcbiAgPG1hdC1zdGVwcGVyICpuZ0lmPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGE/Lm1vdmVUeXBlXCIgW2xpbmVhcl09XCJpc0xpbmVhclwiIGxhYmVsUG9zaXRpb249XCJib3R0b21cIiAjc3RlcHBlcj5cclxuICAgIDxtYXQtc3RlcD5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGVcIj5TdGVwIDE6IFNlbGVjdCBsb2NhdGlvbjwvZGl2PlxyXG4gICAgICA8IS0tICAgICAgPGZvcm0+LS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+U2VsZWN0IGxvY2F0aW9uPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPGZvcm0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vdmUtdXNlci10YWItY29udGVudC1ib3hcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJtYXQtbGFiZWxcIj5TZWxlY3QgYSBuZXcgbG9jYXRpb248L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwcC1hdXRvY29tcGxldGUtaW5wdXRcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgcGxhY2Vob2xkZXI9XCJTZWxlY3QgbG9jYXRpb25cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uTG9jYXRpb25BdXRvY29tcGxldGUoJGV2ZW50KVwiLz5cclxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUxvY2F0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uTG9jYXRpb25DaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBmaWx0ZXJlZExvY2F0aW9uc1wiIFt2YWx1ZV09XCJsb2NhdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3sgbG9jYXRpb24ubmFtZSB9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGF0YVBlbmRpbmcgJiYgIWxvY2F0aW9ucy5sZW5ndGhcIiBjbGFzcz1cIm1hdC1lcnJvclwiPlxyXG4gICAgICAgICAgICBMb2NhdGlvbnMgYXJlIG5vdCBhdmFpbGFibGVcclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcmVwYXJlTWlncmF0aW9uRGF0YT8ubmV3TG9jYXRpb24/LmlkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJtYXQtbGFiZWxcIj5QaG9uZSBudW1iZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cInJhZGlvLWdyb3VwXCIgbmFtZT1cIm1vdmVUeXBlUGhvbmVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEubW92ZVR5cGUucGhvbmVOdW1iZXJcIiBuYW1lPVwicGhvbmVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2VsZWN0UGhvbmVOdW1iZXJNaWdyYXRpb25UeXBlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgdmFsdWU9XCIxXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgS2VlcCBjdXJyZW50IG51bWJlclxyXG4gICAgICAgICAgICAgICAge3sgcHJlcGFyZU1pZ3JhdGlvbkRhdGEucHJpbWFyeVBob25lTnVtYmVyIHx8IGN1cnJlbnROdW1iZXIgfX1cclxuICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwiMlwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwcmVwYXJlTWlncmF0aW9uRGF0YS5uZXdMb2NhdGlvbj8uaWRcIj5cclxuICAgICAgICAgICAgICAgIFNlbGVjdCBhIG5ldyBudW1iZXJcclxuICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcmVwYXJlTWlncmF0aW9uRGF0YS5tb3ZlVHlwZS5waG9uZU51bWJlciA9PT0gJzInXCIgY2xhc3M9XCJzZWxlY3QtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgKm5nSWY9XCJwaG9uZU51bWJlclBlbmRpbmdcIiBjbGFzcz1cImZpZWxkLXNwaW5uZXJcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjMwXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcHAtYXV0b2NvbXBsZXRlLWlucHV0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IHBsYWNlaG9sZGVyPVwiU2VsZWN0IG51bWJlclwiIFsobmdNb2RlbCldPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3UGhvbmVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvUGhcIiBtYXRJbnB1dCBuYW1lPVwibmV3UGhvbmVOdW1iZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uTnVtYmVyQXV0b2NvbXBsZXRlKClcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvUGg9XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwib25QaG9uZU51bWJlckNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG51bWJlciBvZiBmaWx0ZXJlZFBob25lTnVtYmVyc1wiIFt2YWx1ZV09XCJudW1iZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG51bWJlciB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcGhvbmVOdW1iZXJQZW5kaW5nICYmICFkbnNTZXJ2aWNlLnBob25lTnVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJtYXQtZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgUGhvbmUgbnVtYmVycyBhcmUgbm90IGF2YWlsYWJsZSBmb3IgdGhpcyBsb2NhdGlvblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXBhcmVNaWdyYXRpb25EYXRhLnJlbW92ZUV4dGVuc2lvblwiPlxyXG4gICAgICAgICAgICAgICAgUmVtb3ZlIG51bWJlclxyXG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcblxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwibWF0LWxhYmVsXCI+RXh0ZW5zaW9uPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXAgY2xhc3M9XCJyYWRpby1ncm91cFwiIG5hbWU9XCJtb3ZlVHlwZUV4dGVuc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RFeHRlbnNpb25NaWdyYXRpb25UeXBlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEubW92ZVR5cGUuZXh0ZW5zaW9uXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwiMVwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgIEtlZXAgY3VycmVudCBleHRlbnNpb24ge3sgcHJlcGFyZU1pZ3JhdGlvbkRhdGEucHJpbWFyeUV4dGVuc2lvbiB9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJyYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgdmFsdWU9XCIyXCJcclxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IGEgbmV3IGV4dGVuc2lvblxyXG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByZXBhcmVNaWdyYXRpb25EYXRhLm1vdmVUeXBlLmV4dGVuc2lvbiA9PT0gJzInXCIgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwibmV3RXh0ZW5zaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uRXh0ZW5zaW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3RXh0ZW5zaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0VudGVyIGV4dGVuc2lvbidcIlxyXG4gICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwicmFkaW8tYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIHZhbHVlPVwiM1wiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInByZXBhcmVNaWdyYXRpb25EYXRhLnJlbW92ZVBob25lTnVtYmVyXCI+UmVtb3ZlIGV4dGVuc2lvblxyXG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtYWN0aW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIndlYmV4LWJ0biBidG4tbmV4dFwiIG1hdFN0ZXBwZXJOZXh0XHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNOZXh0RnJvbVNlbGVjdExvY2F0aW9uRGlzYWJsZWQoKVwiIChjbGljayk9XCJnb05leHRTdGVwKHN0ZXBwZXIpXCI+XHJcbiAgICAgICAgICBOZXh0XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwid2ViZXgtYnRuIGJ0bi1jYW5jZWxcIiAoY2xpY2spPVwiY2FuY2VsLmVtaXQoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXN0ZXA+XHJcbiAgICA8bWF0LXN0ZXAgW2FyaWEtbGFiZWxsZWRieV09XCInZGlzYWJsZWRfYWYnXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRpdGxlXCI+U3RlcCAyOiBEZXZpY2UgZWxpZ2liaWxpdHkgY2hlY2s8L2Rpdj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5EZXZpY2UgZWxpZ2liaWxpdHkgY2hlY2s8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW92ZS11c2VyLXRhYi1jb250ZW50LWJveFwiPlxyXG4gICAgICAgIDxhcHAtZGV2aWNlcy1tb3ZlLXVzZXItdGFiPjwvYXBwLWRldmljZXMtbW92ZS11c2VyLXRhYj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLWFjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJ3ZWJleC1idG4gYnRuLW5leHRcIiBtYXRTdGVwcGVyTmV4dCAoY2xpY2spPVwiZ29OZXh0U3RlcChzdGVwcGVyKVwiPlxyXG4gICAgICAgICAgTmV4dFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIndlYmV4LWJ0biBidG4tY2FuY2VsXCIgbWF0U3RlcHBlclByZXZpb3VzPlxyXG4gICAgICAgICAgUHJldmlvdXNcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1zdGVwPlxyXG4gICAgPG1hdC1zdGVwIFthcmlhLWxhYmVsbGVkYnldPVwiJ2Rpc2FibGVkX2FmJ1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlN0ZXAgMzogVmFsaWRhdGlvbjwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgbWF0U3RlcExhYmVsPlZhbGlkYXRpb248L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImRldmljZXMtbW92ZS11c2VyLWJveFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJtYXQtbGFiZWxcIj5WYWxpZGF0aW9uPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFwcmVwYXJlTWlncmF0aW9uRGF0YS5lcnJvcnM/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbGlkYXRpb25TdWNjZXNzXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEuZXJyb3JzPy5sZW5ndGhcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWxpZGF0aW9uRmFpbGVkXCI+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gI25leHRBZnRlck1vdmVCdG4gbWF0LWJ1dHRvbiBjbGFzcz1cImludmlzaWJsZS1uZXh0LWJ0blwiIG1hdFN0ZXBwZXJOZXh0XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImdvTmV4dFN0ZXAoc3RlcHBlcilcIj48L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtYWN0aW9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIndlYmV4LWJ0biBidG4tbmV4dFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJlcGFyZU1pZ3JhdGlvbkRhdGEuZXJyb3JzLmxlbmd0aCA+IDAgfHwgIXByZXBhcmVNaWdyYXRpb25EYXRhLmlzQ29uZmlybVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RhcnRNaWdyYXRpb24oKVwiPlxyXG4gICAgICAgICAgTW92ZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cIndlYmV4LWJ0biBidG4tY2FuY2VsXCIgbWF0U3RlcHBlclByZXZpb3VzPlxyXG4gICAgICAgICAgUHJldmlvdXNcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1zdGVwPlxyXG4gICAgPG1hdC1zdGVwPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RlcC10aXRsZVwiPlN0ZXAgNDogUmVzdWx0PC9kaXY+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+UmVzdWx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkZXZpY2VzLW1vdmUtdXNlci1ib3hcIj5cclxuICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwibWF0LWxhYmVsXCI+TW92aW5nIHVzZXIgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluaXRpYXRlZCE8L21hdC1sYWJlbD5cclxuICAgICAgICA8cCBjbGFzcz1cInZhbGlkYXRpb24tdGV4dFwiPlxyXG4gICAgICAgICAgVGhlIHVzZXIgd2lsbCBiZSBtb3ZlZCB0byB0aGUgbmV3IGxvY2F0aW9uIHt7cHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3TG9jYXRpb24/Lm5hbWV9fVxyXG4gICAgICAgICAgPGJyLz5cclxuICAgICAgICAgIEZvciB0aGUgcHJvZ3Jlc3Mgb2YgbW92ZSwgcGxlYXNlIHZpc2l0IHRoZVxyXG4gICAgICAgICAgPGEgY2xhc3M9XCJmb3JtLWxpbmtcIiBocmVmPVwiI1wiPnVzZXIgZGV0YWlsczwvYT4uXHJcbiAgICAgICAgPC9wPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLWFjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJ3ZWJleC1idG4gYnRuLWRvbmVcIiAoY2xpY2spPVwiZG9uZS5lbWl0KHRydWUpXCI+XHJcbiAgICAgICAgICBEb25lXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtc3RlcD5cclxuICA8L21hdC1zdGVwcGVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdmFsaWRhdGlvblN1Y2Nlc3M+XHJcbiAgPHAgY2xhc3M9XCJ2YWxpZGF0aW9uLXRleHRcIj5cclxuICAgIFZhbGlkYXRpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuIFRoZSB1c2VyIGNhbiBiZSBtb3ZlZCB0byB0aGVcclxuICAgIG5ldyBsb2NhdGlvbi4gUGxlYXNlIGJlIGF3YXJlIG9mIHRoZSBwb3RlbnRpYWwgaW1wYWN0IG9mIHRoZSBjaGFuZ2VzXHJcbiAgICBiZWxvdy5cclxuICA8L3A+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cIm1hdC1sYWJlbFwiPkV4cGVjdGVkIGNoYW5nZXM8L21hdC1sYWJlbD5cclxuICA8dWw+XHJcbiAgICA8bGk+Q2lzY28gNjk0MSBkZXZpY2UgKFNFUDk4Nzk4Nzk4Nzk4Nykgd2lsbCBub3QgYmUgbWlncmF0ZWQ8L2xpPlxyXG4gICAgPGxpPlxyXG4gICAgICBUaGUgdXNlciB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgQ2FsbCBQaWNrdXAgR3JvdXA6XHJcbiAgICAgIDE2NzUwOTAzMzQtUGFyaXNfcGlja3VwXHJcbiAgICA8L2xpPlxyXG4gICAgPGxpPlxyXG4gICAgICBJZiBXZWJleCBBcHAgaXMgY3VycmVudGx5IGluIHVzZSwgdGhlIHVzZXIgd2lsbCB0byBzaWduIGluIGFnYWluIHRvXHJcbiAgICAgIHVwZGF0ZSB0aGUgc2VydmljZS5cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuICA8Zm9ybT5cclxuICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJjaGVja2JveFwiIG5hbWU9XCJpc0NvbmZpcm1cIiBbKG5nTW9kZWwpXT1cInByZXBhcmVNaWdyYXRpb25EYXRhLmlzQ29uZmlybVwiXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICBJIGNvbmZpcm0gdGhhdCBJIHVuZGVyc3RhbmQgdGhlc2UgY29uZGl0aW9ucy4gSSBhY2tub3dsZWRnZSB0aGVcclxuICAgICAgY2hhbmdlcy5cclxuICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gIDwvZm9ybT5cclxuXHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3ZhbGlkYXRpb25GYWlsZWQ+XHJcbiAgPHAgY2xhc3M9XCJ2YWxpZGF0aW9uLXRleHRcIj5cclxuICAgIFZhbGlkYXRpb24gaXMgZmFpbGVkLiBVc2VyIG1pZ3JhdGlvbiBpcyBub3QgYXZhaWxhYmxlXHJcbiAgPC9wPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgcHJlcGFyZU1pZ3JhdGlvbkRhdGEuZXJyb3JzXCI+e3sgZXJyb3IgfX08L2xpPlxyXG4gIDwvdWw+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../services/dns.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "../utils/app-loader/app-loader";
|
|
6
|
+
import * as i4 from "./move-user-stepper/move-user-stepper.component";
|
|
7
|
+
export class MoveUserWizardComponent {
|
|
8
|
+
constructor(dnsService) {
|
|
9
|
+
this.dnsService = dnsService;
|
|
10
|
+
this.closeMoveUserWizard = new EventEmitter();
|
|
11
|
+
this.done = new EventEmitter();
|
|
12
|
+
this.runMoveUser = new EventEmitter();
|
|
13
|
+
this.dataPending = false;
|
|
14
|
+
}
|
|
15
|
+
onClose() {
|
|
16
|
+
this.closeMoveUserWizard.emit();
|
|
17
|
+
}
|
|
18
|
+
onRunMoveUser() {
|
|
19
|
+
this.runMoveUser.emit();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
MoveUserWizardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, deps: [{ token: i1.DnsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
MoveUserWizardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MoveUserWizardComponent, selector: "app-move-user-wizard", inputs: { user: "user", customerId: "customerId" }, outputs: { closeMoveUserWizard: "closeMoveUserWizard", done: "done", runMoveUser: "runMoveUser" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div class=\"move-user-stepper-container\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">Move User {{user.userid}}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon icon-white-close\" (click)=\"onClose()\"></span>\r\n </div>\r\n </header>\r\n <app-move-user-stepper *ngIf=\"user\" [customerId]=\"customerId\"\r\n [user]=\"user\" (cancel)=\"onClose()\" (done)=\"done.emit()\"\r\n (runMoveUser)=\"onRunMoveUser()\"></app-move-user-stepper>\r\n</div>\r\n", styles: [".move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.icon-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M12.0005 13.0538L6.92737 18.1269C6.78892 18.2654 6.61489 18.3362 6.40527 18.3394C6.19567 18.3426 6.01844 18.2718 5.87357 18.1269C5.72869 17.982 5.65625 17.8064 5.65625 17.6C5.65625 17.3936 5.72869 17.218 5.87357 17.0731L10.9466 12L5.87357 6.92689C5.73511 6.78844 5.66427 6.6144 5.66107 6.40479C5.65786 6.19519 5.72869 6.01795 5.87357 5.87309C6.01844 5.7282 6.19407 5.65576 6.40047 5.65576C6.60687 5.65576 6.78251 5.7282 6.92737 5.87309L12.0005 10.9462L17.0736 5.87309C17.212 5.73462 17.3861 5.66379 17.5957 5.66059C17.8053 5.65737 17.9825 5.7282 18.1274 5.87309C18.2723 6.01795 18.3447 6.19359 18.3447 6.39999C18.3447 6.60639 18.2723 6.78202 18.1274 6.92689L13.0543 12L18.1274 17.0731C18.2658 17.2115 18.3367 17.3856 18.3399 17.5952C18.3431 17.8048 18.2723 17.982 18.1274 18.1269C17.9825 18.2718 17.8069 18.3442 17.6005 18.3442C17.3941 18.3442 17.2184 18.2718 17.0736 18.1269L12.0005 13.0538Z%22 fill%3D%22%23333333%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.icon-white-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i4.MoveUserStepperComponent, selector: "app-move-user-stepper", inputs: ["user", "customerId"], outputs: ["done", "runMoveUser", "cancel"] }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserWizardComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'app-move-user-wizard', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div class=\"move-user-stepper-container\">\r\n <header class=\"move-user-header\">\r\n <div class=\"move-user-header__title\">Move User {{user.userid}}</div>\r\n <div class=\"move-user-header__close\">\r\n <span class=\"app-icon icon-white-close\" (click)=\"onClose()\"></span>\r\n </div>\r\n </header>\r\n <app-move-user-stepper *ngIf=\"user\" [customerId]=\"customerId\"\r\n [user]=\"user\" (cancel)=\"onClose()\" (done)=\"done.emit()\"\r\n (runMoveUser)=\"onRunMoveUser()\"></app-move-user-stepper>\r\n</div>\r\n", styles: [".move-user-header{background-color:#1170cf;height:45px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:18px;font-weight:500}.move-user-header__close{cursor:pointer}.move-user-header__close i{font-size:25px;font-weight:100}.app-icon{height:20px;width:20px;display:inline-block;cursor:pointer;background-repeat:no-repeat;background-position:center}.icon-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M12.0005 13.0538L6.92737 18.1269C6.78892 18.2654 6.61489 18.3362 6.40527 18.3394C6.19567 18.3426 6.01844 18.2718 5.87357 18.1269C5.72869 17.982 5.65625 17.8064 5.65625 17.6C5.65625 17.3936 5.72869 17.218 5.87357 17.0731L10.9466 12L5.87357 6.92689C5.73511 6.78844 5.66427 6.6144 5.66107 6.40479C5.65786 6.19519 5.72869 6.01795 5.87357 5.87309C6.01844 5.7282 6.19407 5.65576 6.40047 5.65576C6.60687 5.65576 6.78251 5.7282 6.92737 5.87309L12.0005 10.9462L17.0736 5.87309C17.212 5.73462 17.3861 5.66379 17.5957 5.66059C17.8053 5.65737 17.9825 5.7282 18.1274 5.87309C18.2723 6.01795 18.3447 6.19359 18.3447 6.39999C18.3447 6.60639 18.2723 6.78202 18.1274 6.92689L13.0543 12L18.1274 17.0731C18.2658 17.2115 18.3367 17.3856 18.3399 17.5952C18.3431 17.8048 18.2723 17.982 18.1274 18.1269C17.9825 18.2718 17.8069 18.3442 17.6005 18.3442C17.3941 18.3442 17.2184 18.2718 17.0736 18.1269L12.0005 13.0538Z%22 fill%3D%22%23333333%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.icon-white-close{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M13.0606 11.9998L19.2803 5.78001C19.35 5.71038 19.4052 5.6277 19.4429 5.53672C19.4806 5.44573 19.5 5.34822 19.5 5.24974C19.5 5.15126 19.4806 5.05374 19.4429 4.96276C19.4052 4.87177 19.3499 4.7891 19.2803 4.71947C19.2107 4.64983 19.128 4.5946 19.037 4.55691C18.946 4.51923 18.8485 4.49983 18.75 4.49983C18.6515 4.49984 18.554 4.51924 18.463 4.55692C18.3721 4.59461 18.2894 4.64985 18.2198 4.71949L12 10.9392L5.78026 4.71949C5.71077 4.64921 5.62807 4.59335 5.53691 4.55514C5.44576 4.51692 5.34795 4.49711 5.24911 4.49683C5.15027 4.49655 5.05235 4.51581 4.96098 4.55351C4.86961 4.59121 4.78659 4.64659 4.7167 4.71648C4.64681 4.78638 4.59143 4.8694 4.55374 4.96077C4.51605 5.05214 4.49679 5.15006 4.49707 5.2489C4.49736 5.34774 4.51718 5.44555 4.5554 5.5367C4.59361 5.62786 4.64947 5.71055 4.71976 5.78004L10.9395 11.9998L4.71976 18.2195C4.65013 18.2892 4.59489 18.3718 4.5572 18.4628C4.51951 18.5538 4.50011 18.6513 4.50011 18.7498C4.50011 18.8483 4.51951 18.9458 4.5572 19.0368C4.59488 19.1278 4.65012 19.2105 4.71976 19.2801C4.7894 19.3497 4.87207 19.405 4.96305 19.4427C5.05403 19.4803 5.15155 19.4997 5.25003 19.4997C5.34851 19.4997 5.44603 19.4803 5.53701 19.4427C5.628 19.405 5.71067 19.3497 5.78031 19.2801L12.0001 13.0603L18.2198 19.2801C18.3604 19.4207 18.5512 19.4997 18.7501 19.4997C18.949 19.4997 19.1397 19.4207 19.2804 19.2801C19.421 19.1395 19.5 18.9487 19.5 18.7498C19.5 18.5509 19.421 18.3602 19.2804 18.2195L13.0606 11.9998Z%22 fill%3D%22white%22 fill-opacity%3D%220.95%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}\n"] }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i1.DnsService }]; }, propDecorators: { user: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], customerId: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], closeMoveUserWizard: [{
|
|
32
|
+
type: Output
|
|
33
|
+
}], done: [{
|
|
34
|
+
type: Output
|
|
35
|
+
}], runMoveUser: [{
|
|
36
|
+
type: Output
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS11c2VyLXdpemFyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvbW92ZS11c2VyLXdpemFyZC9tb3ZlLXVzZXItd2l6YXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2Vycy1saXN0L3NyYy9tb3ZlLXVzZXItd2l6YXJkL21vdmUtdXNlci13aXphcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyx1QkFBdUI7SUFhaEMsWUFDUyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBUmpDLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBTWxCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOztxSEF6QlEsdUJBQXVCO3lHQUF2Qix1QkFBdUIsbU5DVHBDLG9wQkFZQTs0RkRIYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksc0JBQXNCO2lHQU1sQyxJQUFJO3NCQURILEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLG1CQUFtQjtzQkFEbEIsTUFBTTtnQkFHUCxJQUFJO3NCQURILE1BQU07Z0JBR1AsV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZG5zLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtbW92ZS11c2VyLXdpemFyZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbW92ZS11c2VyLXdpemFyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9tb3ZlLXVzZXItd2l6YXJkLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE1vdmVVc2VyV2l6YXJkQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIHVzZXI6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGN1c3RvbWVySWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpXHJcbiAgY2xvc2VNb3ZlVXNlcldpemFyZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KClcclxuICBkb25lID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHJ1bk1vdmVVc2VyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRhdGFQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgIHB1YmxpYyBkbnNTZXJ2aWNlOiBEbnNTZXJ2aWNlXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgdGhpcy5jbG9zZU1vdmVVc2VyV2l6YXJkLmVtaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJ1bk1vdmVVc2VyKCk6IHZvaWQge1xyXG4gICAgICB0aGlzLnJ1bk1vdmVVc2VyLmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8YXBwLWxvYWRlciAqbmdJZj1cImRhdGFQZW5kaW5nXCI+PC9hcHAtbG9hZGVyPlxyXG48ZGl2IGNsYXNzPVwibW92ZS11c2VyLXN0ZXBwZXItY29udGFpbmVyXCI+XHJcbiAgICA8aGVhZGVyIGNsYXNzPVwibW92ZS11c2VyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb3ZlLXVzZXItaGVhZGVyX190aXRsZVwiPk1vdmUgVXNlciB7e3VzZXIudXNlcmlkfX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW92ZS11c2VyLWhlYWRlcl9fY2xvc2VcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLWljb24gaWNvbi13aGl0ZS1jbG9zZVwiIChjbGljayk9XCJvbkNsb3NlKClcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2hlYWRlcj5cclxuICAgIDxhcHAtbW92ZS11c2VyLXN0ZXBwZXIgKm5nSWY9XCJ1c2VyXCIgW2N1c3RvbWVySWRdPVwiY3VzdG9tZXJJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VyXT1cInVzZXJcIiAoY2FuY2VsKT1cIm9uQ2xvc2UoKVwiIChkb25lKT1cImRvbmUuZW1pdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJ1bk1vdmVVc2VyKT1cIm9uUnVuTW92ZVVzZXIoKVwiPjwvYXBwLW1vdmUtdXNlci1zdGVwcGVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { APIService } from './api.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class ApiWebexService extends APIService {
|
|
6
|
+
constructor(httpClient) {
|
|
7
|
+
super(httpClient);
|
|
8
|
+
//this.apiUrl = window.location.protocol + "//"+ window.location.hostname + environment.apiAuthUrl;
|
|
9
|
+
this.apiUrl = 'https://webex.car-west.net/webex';
|
|
10
|
+
// this.apiUrl = 'https://staging.tuki.io/webex';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
ApiWebexService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
ApiWebexService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ApiWebexService, decorators: [{
|
|
16
|
+
type: Injectable
|
|
17
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXdlYmV4LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvYXBpLXdlYmV4LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUM3QyxZQUFZLFVBQXNCO1FBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQixtR0FBbUc7UUFDbkcsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQ0FBa0MsQ0FBQztRQUNqRCxpREFBaUQ7SUFDbkQsQ0FBQzs7NkdBTlUsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBcGlXZWJleFNlcnZpY2UgZXh0ZW5kcyBBUElTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcihodHRwQ2xpZW50KTtcclxuICAgIC8vdGhpcy5hcGlVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyBcIi8vXCIrIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArIGVudmlyb25tZW50LmFwaUF1dGhVcmw7XHJcbiAgICB0aGlzLmFwaVVybCA9ICdodHRwczovL3dlYmV4LmNhci13ZXN0Lm5ldC93ZWJleCc7XHJcbiAgICAvLyB0aGlzLmFwaVVybCA9ICdodHRwczovL3N0YWdpbmcudHVraS5pby93ZWJleCc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class APIService {
|
|
6
|
+
constructor(httpClient) {
|
|
7
|
+
this.httpClient = httpClient;
|
|
8
|
+
this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
|
|
9
|
+
}
|
|
10
|
+
fetch(url, params = {}, cache) {
|
|
11
|
+
const headers = this.getHeaders(cache);
|
|
12
|
+
return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
|
|
13
|
+
}
|
|
14
|
+
post(url, body, params = {}) {
|
|
15
|
+
body = body || null;
|
|
16
|
+
const headers = this.getHeaders();
|
|
17
|
+
return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
|
|
18
|
+
}
|
|
19
|
+
// use when response extended data is necessary:
|
|
20
|
+
postExtended(url, body = null, params = {}, headers = {}) {
|
|
21
|
+
headers = headers || this.getHeaders();
|
|
22
|
+
return this.httpClient.post(this.apiUrl + url, body, {
|
|
23
|
+
headers,
|
|
24
|
+
observe: 'response',
|
|
25
|
+
params: this.prepareEncodedParams(params)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
put(url, body = null, params = {}) {
|
|
29
|
+
const headers = this.getHeaders();
|
|
30
|
+
return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
|
|
31
|
+
}
|
|
32
|
+
delete(url, params = {}) {
|
|
33
|
+
const headers = this.getHeaders();
|
|
34
|
+
return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
|
|
35
|
+
}
|
|
36
|
+
fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
|
|
37
|
+
const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
|
|
38
|
+
const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
|
|
39
|
+
return this.fetch(url, params, cache);
|
|
40
|
+
}
|
|
41
|
+
prepareEncodedParams(params) {
|
|
42
|
+
const result = {};
|
|
43
|
+
if (!params) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
for (const key of Object.keys(params)) {
|
|
47
|
+
if (params[key]) {
|
|
48
|
+
const stringParam = params[key].toString();
|
|
49
|
+
result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
getHeaders(cache) {
|
|
55
|
+
let headers = new HttpHeaders();
|
|
56
|
+
if (cache) {
|
|
57
|
+
headers = headers.append('_Cache', 'true ');
|
|
58
|
+
}
|
|
59
|
+
const token = this.token || this.getParameterByName('token');
|
|
60
|
+
headers = headers.append('Authorization', 'Bearer ' + token);
|
|
61
|
+
return headers;
|
|
62
|
+
}
|
|
63
|
+
getParameterByName(name, url = window.location.href) {
|
|
64
|
+
name = name.replace(/[\[\]]/g, '\\$&');
|
|
65
|
+
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
|
66
|
+
if (!results)
|
|
67
|
+
return null;
|
|
68
|
+
if (!results[2])
|
|
69
|
+
return '';
|
|
70
|
+
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
+
APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
|
|
76
|
+
type: Injectable
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU8vRCxNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFKaEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFNN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxLQUFlO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFF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QUssRUFBRTtZQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQzlELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEVBQ3pELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMzQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7d0dBL0VVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVGFibGVEYXRhSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy90YWJsZS1kYXRhJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBUElTZXJ2aWNlIHtcclxuXHJcbiAgYXBpVXJsID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArICcvZGNwJztcclxuXHJcbiAgcHVibGljIHRva2VuOiBhbnk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcclxuICApIHtcclxuICB9XHJcblxyXG4gIGZldGNoKHVybDogc3RyaW5nLCBwYXJhbXMgPSB7fSwgY2FjaGU/OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGNhY2hlKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KHRoaXMuYXBpVXJsICsgdXJsLCB7cGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnN9KTtcclxuICB9XHJcblxyXG4gIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zID0ge30pOiBhbnkge1xyXG4gICAgYm9keSA9IGJvZHkgfHwgbnVsbDtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwge3BhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICAvLyB1c2Ugd2hlbiByZXNwb25zZSBleHRlbmRlZCBkYXRhIGlzIG5lY2Vzc2FyeTpcclxuICBwb3N0RXh0ZW5kZWQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9KSB7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycyB8fCB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdXQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKX0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHVybDogc3RyaW5nLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodGhpcy5hcGlVcmwgKyB1cmwsIHtoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKX0pO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hQYWdpbmF0aW9uKHVybDogc3RyaW5nLCBwYWdlU2l6ZTogbnVtYmVyLCBwYWdlTnVtYmVyOiBudW1iZXIsIGFkZGl0aW9uYWxQYXJhbXMgPSB7fSwgY2FjaGU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxUYWJsZURhdGFJbnRlcmZhY2U+IHtcclxuICAgIGNvbnN0IGNvcHlBZGRpdGlvbmFsUGFyYW1zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhZGRpdGlvbmFsUGFyYW1zKSk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKGNvcHlBZGRpdGlvbmFsUGFyYW1zLCB7c2l6ZTogcGFnZVNpemUudG9TdHJpbmcoKSwgcGFnZTogcGFnZU51bWJlci50b1N0cmluZygpfSk7XHJcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh1cmwsIHBhcmFtcywgY2FjaGUpIGFzIE9ic2VydmFibGU8VGFibGVEYXRhSW50ZXJmYWNlPjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zOiBhbnkpIHtcclxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XHJcblxyXG4gICAgaWYgKCFwYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xyXG4gICAgICBpZiAocGFyYW1zW2tleV0pIHtcclxuICAgICAgICBjb25zdCBzdHJpbmdQYXJhbSA9IHBhcmFtc1trZXldLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgcmVzdWx0W2tleV0gPSBzdHJpbmdQYXJhbS5pbmNsdWRlcygnKycpID8gZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ1BhcmFtKSA6IHN0cmluZ1BhcmFtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNhY2hlPzogYm9vbGVhbik6IEh0dHBIZWFkZXJzIHtcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCdfQ2FjaGUnLCAndHJ1ZSAnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbiB8fCB0aGlzLmdldFBhcmFtZXRlckJ5TmFtZSgndG9rZW4nKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJysgdG9rZW4pO1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhcmFtZXRlckJ5TmFtZShuYW1lOiBhbnksIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmKSB7XHJcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXFxdXS9nLCAnXFxcXCQmJyk7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKCdbPyZdJyArIG5hbWUgKyAnKD0oW14mI10qKXwmfCN8JCknKSxcclxuICAgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcclxuICAgIGlmICghcmVzdWx0cykgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoIXJlc3VsdHNbMl0pIHJldHVybiAnJztcclxuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1syXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|