@tuki-io/tuki-widgets 0.0.70 → 0.0.71
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 +20 -0
- package/di2mt/index.d.ts +5 -0
- package/{projects/tuki/widgets/di2mt/public-api.ts → di2mt/public-api.d.ts} +12 -26
- 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/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 +7 -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/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +48 -0
- package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +12 -0
- package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +12 -0
- package/{projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts → di2mt/widgets/site-upgrade/types/user-upgrade.d.ts} +14 -15
- 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} +56 -58
- 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} +16 -18
- package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +49 -0
- package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +12 -0
- package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +14 -0
- package/esm2020/di2mt/api/api.endpoints.mjs +21 -0
- package/esm2020/di2mt/public-api.mjs +23 -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/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/site-upgrade-data-table/site-upgrade-data-table.component.mjs +182 -0
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +40 -0
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +43 -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 +197 -0
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +40 -0
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +58 -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 +122 -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 +1469 -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 +1994 -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 +1460 -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 +1973 -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 -47
- 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 +45 -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 -140
- package/projects/tuki/widgets/README.md +0 -24
- package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +0 -20
- 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 -76
- 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 -52
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +0 -28
- 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 -14
- 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/site-upgrade-data-table/site-upgrade-data-table.component.html +0 -92
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +0 -187
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +0 -205
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +0 -24
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +0 -45
- 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 -131
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +0 -275
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +0 -218
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +0 -24
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +0 -73
- 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 -6
- 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 -137
- 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 -63
- 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 -37
- 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/di2mt → src}/assets/icons/already_upgraded.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/check2_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/check_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/expand_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/issue_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/menu_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/ready_to_upgrade.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/search_icon.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/site.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/user.png +0 -0
- /package/{projects/tuki/widgets/di2mt → src}/assets/icons/warning_icon.png +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/user-device-manage/src/device-associated-line/device-associated-line.component.mjs
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { RecordingOptions } from '../classes/device';
|
|
3
|
+
import { RECORDING_MEDIA_SOURCE, STATIC_OPTIONS } from '../app.constants';
|
|
4
|
+
import { UtilsService } from '../services/utils.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../services/user.service";
|
|
7
|
+
import * as i2 from "../services/api.service";
|
|
8
|
+
import * as i3 from "../services/site-settings.service";
|
|
9
|
+
import * as i4 from "../services/line.service";
|
|
10
|
+
import * as i5 from "../services/device.service";
|
|
11
|
+
import * as i6 from "@angular/material/dialog";
|
|
12
|
+
import * as i7 from "../services/validation.service";
|
|
13
|
+
import * as i8 from "@angular/common";
|
|
14
|
+
import * as i9 from "@angular/forms";
|
|
15
|
+
import * as i10 from "@angular/material/form-field";
|
|
16
|
+
import * as i11 from "@angular/material/input";
|
|
17
|
+
import * as i12 from "@angular/material/autocomplete";
|
|
18
|
+
import * as i13 from "@angular/material/core";
|
|
19
|
+
import * as i14 from "@angular/material/select";
|
|
20
|
+
import * as i15 from "@angular/material/slide-toggle";
|
|
21
|
+
import * as i16 from "../lazy-loading-select/lazy-loading-select.component";
|
|
22
|
+
import * as i17 from "./device-associated-line-details-box/device-associated-line-details-box.component";
|
|
23
|
+
export class DeviceAssociatedLineComponent {
|
|
24
|
+
get form() {
|
|
25
|
+
return this.userService?.user?.devices[this.deviceIndex] && this.userService?.user?.devices[this.deviceIndex].lineAssociations[this.lineIndex].form;
|
|
26
|
+
}
|
|
27
|
+
get lineAssociation() {
|
|
28
|
+
return this.userService?.user?.devices[this.deviceIndex].lineAssociations[this.lineIndex];
|
|
29
|
+
}
|
|
30
|
+
get originLineAssociation() {
|
|
31
|
+
return this.userService?.originUser?.devices[this.deviceIndex].lineAssociations[this.lineIndex];
|
|
32
|
+
}
|
|
33
|
+
get user() {
|
|
34
|
+
return this.userService.user;
|
|
35
|
+
}
|
|
36
|
+
constructor(userService, apiService, siteSettingsService, lineService, deviceService, dialog, validationService) {
|
|
37
|
+
this.userService = userService;
|
|
38
|
+
this.apiService = apiService;
|
|
39
|
+
this.siteSettingsService = siteSettingsService;
|
|
40
|
+
this.lineService = lineService;
|
|
41
|
+
this.deviceService = deviceService;
|
|
42
|
+
this.dialog = dialog;
|
|
43
|
+
this.validationService = validationService;
|
|
44
|
+
this.updatedLineAssociationEvent = new EventEmitter();
|
|
45
|
+
this.onChange = new EventEmitter();
|
|
46
|
+
this.recordingOptions = RecordingOptions;
|
|
47
|
+
this.recordingMediaSources = RECORDING_MEDIA_SOURCE;
|
|
48
|
+
this.staticOptions = STATIC_OPTIONS;
|
|
49
|
+
this.subscriptions = [];
|
|
50
|
+
}
|
|
51
|
+
ngOnInit() {
|
|
52
|
+
this.getData();
|
|
53
|
+
this.lineService.onSaveLineAssociationEvent
|
|
54
|
+
.subscribe(() => {
|
|
55
|
+
this.updateLine(this.lineAssociation);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
if (this.subscriptions?.length) {
|
|
60
|
+
this.subscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
onChangeField(token) {
|
|
64
|
+
if (!token) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.userService.user.devices[this.deviceIndex].lineAssociations[this.lineIndex][token] = this.form?.get(token)?.value;
|
|
68
|
+
this.setHasChangesToLine();
|
|
69
|
+
this.onChange.emit();
|
|
70
|
+
}
|
|
71
|
+
onAutocomplete(token) {
|
|
72
|
+
const value = this.form?.get(token)?.value;
|
|
73
|
+
this.filteredMonitorCssList = UtilsService.filterOptions(this.monitorCssList, value);
|
|
74
|
+
}
|
|
75
|
+
recordingOptionChanged(token) {
|
|
76
|
+
const value = this.form.get(token)?.value;
|
|
77
|
+
this.onChangeField(token);
|
|
78
|
+
if (value === RecordingOptions.auto_enabled || value === RecordingOptions.selective_enabled) {
|
|
79
|
+
if (!this.form?.get('recordingProfile')?.touched) {
|
|
80
|
+
this.form.get('recordingProfile')?.markAsTouched();
|
|
81
|
+
}
|
|
82
|
+
this.form.get('recordingProfile')?.enable();
|
|
83
|
+
this.form.get('recordingMediaSource')?.enable();
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.form.get('recordingProfile')?.disable();
|
|
87
|
+
this.form.get('recordingProfile')?.setValue('');
|
|
88
|
+
this.onChangeField('recordingProfile');
|
|
89
|
+
/* if (!this.authService.hasRole('SUPER_USER')) {
|
|
90
|
+
recordingMediaSource.disable();
|
|
91
|
+
recordingMediaSource.setValue(this.recordingMediaSources[0]);
|
|
92
|
+
this.changeField('recordingMediaSource');
|
|
93
|
+
}*/
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
getRule() {
|
|
97
|
+
// @ts-ignore
|
|
98
|
+
if (this.form.get('e164Mask')?.errors && this.form.get('e164Mask')?.errors['e164MaskRule']) {
|
|
99
|
+
// @ts-ignore
|
|
100
|
+
return this.form.get('e164Mask')?.errors['e164MaskRule']['rule'];
|
|
101
|
+
}
|
|
102
|
+
return '';
|
|
103
|
+
}
|
|
104
|
+
toggleEditMode() {
|
|
105
|
+
this.userService.user.toggleEditMode();
|
|
106
|
+
}
|
|
107
|
+
isSavingDisabled() {
|
|
108
|
+
return !this.userService.hasUnsavedChanges() || this.userService.hasExistedUserId;
|
|
109
|
+
}
|
|
110
|
+
onChangeExtension(value) {
|
|
111
|
+
if (this.lineAssociation && this.lineAssociation.directoryNumber) {
|
|
112
|
+
this.userService.user.devices[0].lineAssociations[0].directoryNumber.directoryNumber = value;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
onLineRemove() {
|
|
116
|
+
}
|
|
117
|
+
getData() {
|
|
118
|
+
this.dataPending = true;
|
|
119
|
+
const subscription = this.siteSettingsService.getMonitorCss(this.siteId)
|
|
120
|
+
.subscribe((res) => {
|
|
121
|
+
this.monitorCssList = res?.length ? res.slice() : [];
|
|
122
|
+
this.filteredMonitorCssList = res?.length ? res.slice() : [];
|
|
123
|
+
});
|
|
124
|
+
this.subscriptions.push(subscription);
|
|
125
|
+
}
|
|
126
|
+
updateLine(line) {
|
|
127
|
+
const body = this.lineService.getLineAssociationBody(this.originLineAssociation, this.lineAssociation);
|
|
128
|
+
console.log('update line', body);
|
|
129
|
+
this.deviceService.dataPending = true;
|
|
130
|
+
this.deviceService.putDeviceFields(this.siteId, this.deviceName, this.userService.user.token, body)
|
|
131
|
+
.subscribe(() => {
|
|
132
|
+
this.userService.persistUserCache()
|
|
133
|
+
.subscribe(() => {
|
|
134
|
+
this.userService.fetchUserToken(this.siteId, this.userService.user.userid, this.validationService)
|
|
135
|
+
.subscribe(() => {
|
|
136
|
+
this.updatedLineAssociationEvent.emit();
|
|
137
|
+
this.deviceService.dataPending = false;
|
|
138
|
+
}, () => this.deviceService.dataPending = false);
|
|
139
|
+
}, () => this.deviceService.dataPending = true);
|
|
140
|
+
}, () => this.deviceService.dataPending = true);
|
|
141
|
+
}
|
|
142
|
+
deleteLine(line) {
|
|
143
|
+
this.lineService.deleteLine(this.siteId, line.linePkid, this.userService.user.token)
|
|
144
|
+
.subscribe(() => {
|
|
145
|
+
this.userService.persistUserCache()
|
|
146
|
+
.subscribe(() => {
|
|
147
|
+
this.userService.fetchUserToken(this.siteId, this.userService.user.userid, this.validationService)
|
|
148
|
+
.subscribe(() => {
|
|
149
|
+
this.updatedLineAssociationEvent.emit();
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
setHasChangesToLine() {
|
|
155
|
+
if (this.lineAssociation) {
|
|
156
|
+
this.userService.user.devices[this.deviceIndex].lineAssociations[this.lineIndex].hasChanges = !this.lineAssociation.fullEqual(this.originLineAssociation);
|
|
157
|
+
this.userService.user.devices[this.deviceIndex].lineAssociationsHasChanges = !this.lineAssociation.fullEqual(this.originLineAssociation);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
DeviceAssociatedLineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceAssociatedLineComponent, deps: [{ token: i1.UserService }, { token: i2.APIService }, { token: i3.SiteSettingsService }, { token: i4.LineService }, { token: i5.DeviceService }, { token: i6.MatDialog }, { token: i7.ValidationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
162
|
+
DeviceAssociatedLineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceAssociatedLineComponent, selector: "app-device-associated-line", inputs: { lineIndex: "lineIndex", deviceIndex: "deviceIndex", deviceName: "deviceName", siteId: "siteId" }, outputs: { updatedLineAssociationEvent: "updatedLineAssociationEvent", onChange: "onChange" }, ngImport: i0, template: "<div id=\"device-associated-line\" *ngIf=\"lineAssociation && form\" [formGroup]=\"form\">\n <ng-container class=\"line-details__container\">\n <app-line-details-block [title]=\"'Line setting on the device'\">\n <div class=\"form-group\">\n <label>Display Caller ID</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"text\" name=\"displayLabel\" formControlName=\"displayLabel\"\n (input)=\"onChangeField('displayLabel')\">\n <mat-error *ngIf=\"form.get('displayLabel')?.hasError('maxlength')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n This field can\u2019t have more than 30 characters\n </mat-error>\n <mat-error *ngIf=\"form.get('displayLabel')?.hasError('pattern')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Invalid symbols are used\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Text Label</label>\n <mat-form-field appearance=\"outline\">\n <input formControlName=\"textLabel\" name=\"textLabel\"\n matInput (input)=\"onChangeField('textLabel')\">\n <mat-error *ngIf=\"form.get('textLabel')?.hasError('maxlength')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n This field can\u2019t have more than 30 characters\n </mat-error>\n <mat-error *ngIf=\"form.get('textLabel')?.hasError('pattern')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Invalid symbols are used\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>External Phone Number Mask</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"text\" name=\"e164Mask\" formControlName=\"e164Mask\"\n (input)=\"onChangeField('e164Mask')\">\n <mat-error *ngIf=\"form.get('e164Mask')?.hasError('e164MaskRule')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n e164Mask does not match the rule {{getRule()}}\n </mat-error>\n </mat-form-field>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Multiple Call/Call Waiting Settings'\">\n <div class=\"form-group\">\n <label>Max Calls</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"number\" name=\"maxNumberOfCalls\" formControlName=\"maxNumberOfCalls\"\n (input)=\"onChangeField('maxNumberOfCalls')\">\n <mat-error *ngIf=\"form.get('maxNumberOfCalls')?.hasError('max')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Value is too big\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Busy Trigger</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"number\" name=\"busyTrigger\" formControlName=\"busyTrigger\"\n (input)=\"onChangeField('busyTrigger')\">\n <mat-error *ngIf=\"form.get('busyTrigger')?.hasError('max')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Value can't be bigger than Max Calls\n </mat-error>\n </mat-form-field>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Call Recording'\">\n <div class=\"form-group\">\n <label>Recording Option</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n (selectionChange)=\"recordingOptionChanged('recordingOption')\"\n formControlName=\"recordingOption\"\n [id]=\"'associatedLineRecordingOptionField'\">\n <mat-option [value]=recordingOptions.disabled>Call Recording Disabled</mat-option>\n <mat-option [value]=recordingOptions.auto_enabled>Automatic Call Recording Enabled</mat-option>\n <mat-option [value]=recordingOptions.selective_enabled>Selective Call Recording Enabled</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Recording Media Source</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n (selectionChange)=\"onChangeField('recordingMediaSource')\" formControlName=\"recordingMediaSource\"\n [id]=\"'associatedLineRecordingMediaSourceField'\">\n <mat-option *ngFor=\"let source of recordingMediaSources\" [value]=\"source\">{{source}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Recording Profile</label>\n <app-lazy-loading-select\n [siteId]=\"siteId\"\n [controlName]=\"'recordingProfile'\"\n [form]=\"form\"\n (changeField)=\"onChangeField('recordingProfile')\"\n [optionsToken]=\"'recordingProfile'\"></app-lazy-loading-select>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Additional line settings on the device'\">\n <div class=\"form-group\">\n <label>Visual Message Waiting Indicator Policy</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"visualMWI\"\n (selectionChange)=\"onChangeField('visualMWI')\">\n <mat-option\n *ngFor=\"let option of staticOptions.VISUAL_MWI\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Ring Setting (Phone Idle)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"ringSetting_idle\"\n (selectionChange)=\"onChangeField('ringSetting_idle')\">\n <mat-option *ngFor=\"let option of staticOptions.RING_SETTING_IDLE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Call Pickup Audio Alert Setting (Phone Idle)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select name=\"pickupAAS_idle\"\n formControlName=\"pickupAAS_idle\"\n (selectionChange)=\"onChangeField('pickupAAS_idle')\">\n <mat-option *ngFor=\"let option of staticOptions.CALL_PICKUP_GROUP_AUDIO_SETTING_PHONE_IDLE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Monitoring Calling Search Space</label>\n <mat-form-field appearance=\"outline\">\n <input\n [matAutocomplete]=\"auto\"\n matInput\n (input)=\"onAutocomplete('monitorCSS')\"\n formControlName=\"monitorCSS\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onChangeField('monitorCSS')\">\n <mat-option *ngFor=\"let option of filteredMonitorCssList\" [value]=\"option\" >\n {{option}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Audible Message Waiting Indicator Policy</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"audibleMWI\"\n (selectionChange)=\"onChangeField('audibleMWI')\">\n <mat-option *ngFor=\"let option of staticOptions.DEFAULT_ON_OFF\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Ring Setting (Phone Active)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"ringSetting_active\"\n (selectionChange)=\"onChangeField('ringSetting_active')\">\n <mat-option *ngFor=\"let option of staticOptions.RING_SETTING_ACTIVE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Call Pickup Audio Alert Setting (Phone Active)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"pickupAAS_active\"\n (selectionChange)=\"onChangeField('pickupAAS_active')\">\n <mat-option\n *ngFor=\"let option of staticOptions.CALL_PICKUP_GROUP_AUDIO_SETTING_PHONE_ACTIVE\"\n [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Log Missed Calls</label>\n <mat-slide-toggle name=\"logMissedCalls\" formControlName=\"logMissedCall\"></mat-slide-toggle>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Forwardred call information display'\">\n <div class=\"form-group\">\n <label>Caller Name</label>\n <mat-slide-toggle name=\"callerName\" formControlName=\"callerName\" (change)=\"onChangeField('callerName')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Redirected Number</label>\n <mat-slide-toggle name=\"redirectedNumber\" formControlName=\"redirectedNumber\" (change)=\"onChangeField('redirectedNumber')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Caller Number</label>\n <mat-slide-toggle name=\"callerNumber\" formControlName=\"callerNumber\" (change)=\"onChangeField('callerNumber')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Dialed Number</label>\n <mat-slide-toggle name=\"dialedNumber\" formControlName=\"dialedNumber\" (change)=\"onChangeField('dialedNumber')\"></mat-slide-toggle>\n </div>\n </app-line-details-block>\n </ng-container>\n\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}table{border-collapse:collapse;border-spacing:0}.line-row{background:#ececec;cursor:pointer;width:100%;padding:5px;box-sizing:border-box}.line-row.disabled-line-row{cursor:default;color:silver}.user-details-box__info{grid-template-columns:100%}.form-holder__blocks{margin-top:1rem}.user-box-block{padding:1rem 0;gap:4rem;display:flex}.user-box-block-item__title{margin-bottom:.5rem}.user-box-block-item__tag{font-size:14px;color:#6d6d6d}#device-associated-line{background-color:#fff;padding:1rem;position:relative;border-left:3px solid #737480}.form-group{display:flex;align-items:center}.form-group__separator,.form-group__separator_2px{width:100%;height:1px;background-color:#cccccc80;margin:1rem 0}.form-group__separator_2px{height:2px}.form-group label{width:200px;max-width:200px;font-size:14px;color:#666}.form-group input{width:300px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#009dff!important}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#fff!important}.form-group .mat-form-field{max-width:300px}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.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: i9.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i10.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { 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.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i15.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i16.LazyLoadingSelectComponent, selector: "app-lazy-loading-select", inputs: ["siteId", "form", "standalone", "placeholder", "controlName", "optionsToken", "appearance", "errorCode", "errorText", "default", "id"], outputs: ["changeField"] }, { kind: "component", type: i17.DeviceAssociatedLineDetailsBoxComponent, selector: "app-line-details-block", inputs: ["title"] }] });
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceAssociatedLineComponent, decorators: [{
|
|
164
|
+
type: Component,
|
|
165
|
+
args: [{ selector: 'app-device-associated-line', template: "<div id=\"device-associated-line\" *ngIf=\"lineAssociation && form\" [formGroup]=\"form\">\n <ng-container class=\"line-details__container\">\n <app-line-details-block [title]=\"'Line setting on the device'\">\n <div class=\"form-group\">\n <label>Display Caller ID</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"text\" name=\"displayLabel\" formControlName=\"displayLabel\"\n (input)=\"onChangeField('displayLabel')\">\n <mat-error *ngIf=\"form.get('displayLabel')?.hasError('maxlength')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n This field can\u2019t have more than 30 characters\n </mat-error>\n <mat-error *ngIf=\"form.get('displayLabel')?.hasError('pattern')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Invalid symbols are used\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Text Label</label>\n <mat-form-field appearance=\"outline\">\n <input formControlName=\"textLabel\" name=\"textLabel\"\n matInput (input)=\"onChangeField('textLabel')\">\n <mat-error *ngIf=\"form.get('textLabel')?.hasError('maxlength')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n This field can\u2019t have more than 30 characters\n </mat-error>\n <mat-error *ngIf=\"form.get('textLabel')?.hasError('pattern')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Invalid symbols are used\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>External Phone Number Mask</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"text\" name=\"e164Mask\" formControlName=\"e164Mask\"\n (input)=\"onChangeField('e164Mask')\">\n <mat-error *ngIf=\"form.get('e164Mask')?.hasError('e164MaskRule')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n e164Mask does not match the rule {{getRule()}}\n </mat-error>\n </mat-form-field>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Multiple Call/Call Waiting Settings'\">\n <div class=\"form-group\">\n <label>Max Calls</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"number\" name=\"maxNumberOfCalls\" formControlName=\"maxNumberOfCalls\"\n (input)=\"onChangeField('maxNumberOfCalls')\">\n <mat-error *ngIf=\"form.get('maxNumberOfCalls')?.hasError('max')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Value is too big\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Busy Trigger</label>\n <mat-form-field appearance=\"outline\">\n <input matInput type=\"number\" name=\"busyTrigger\" formControlName=\"busyTrigger\"\n (input)=\"onChangeField('busyTrigger')\">\n <mat-error *ngIf=\"form.get('busyTrigger')?.hasError('max')\">\n <i class=\"fa fa-exclamation-triangle\"></i>\n Value can't be bigger than Max Calls\n </mat-error>\n </mat-form-field>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Call Recording'\">\n <div class=\"form-group\">\n <label>Recording Option</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n (selectionChange)=\"recordingOptionChanged('recordingOption')\"\n formControlName=\"recordingOption\"\n [id]=\"'associatedLineRecordingOptionField'\">\n <mat-option [value]=recordingOptions.disabled>Call Recording Disabled</mat-option>\n <mat-option [value]=recordingOptions.auto_enabled>Automatic Call Recording Enabled</mat-option>\n <mat-option [value]=recordingOptions.selective_enabled>Selective Call Recording Enabled</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Recording Media Source</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n (selectionChange)=\"onChangeField('recordingMediaSource')\" formControlName=\"recordingMediaSource\"\n [id]=\"'associatedLineRecordingMediaSourceField'\">\n <mat-option *ngFor=\"let source of recordingMediaSources\" [value]=\"source\">{{source}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Recording Profile</label>\n <app-lazy-loading-select\n [siteId]=\"siteId\"\n [controlName]=\"'recordingProfile'\"\n [form]=\"form\"\n (changeField)=\"onChangeField('recordingProfile')\"\n [optionsToken]=\"'recordingProfile'\"></app-lazy-loading-select>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Additional line settings on the device'\">\n <div class=\"form-group\">\n <label>Visual Message Waiting Indicator Policy</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"visualMWI\"\n (selectionChange)=\"onChangeField('visualMWI')\">\n <mat-option\n *ngFor=\"let option of staticOptions.VISUAL_MWI\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Ring Setting (Phone Idle)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"ringSetting_idle\"\n (selectionChange)=\"onChangeField('ringSetting_idle')\">\n <mat-option *ngFor=\"let option of staticOptions.RING_SETTING_IDLE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Call Pickup Audio Alert Setting (Phone Idle)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select name=\"pickupAAS_idle\"\n formControlName=\"pickupAAS_idle\"\n (selectionChange)=\"onChangeField('pickupAAS_idle')\">\n <mat-option *ngFor=\"let option of staticOptions.CALL_PICKUP_GROUP_AUDIO_SETTING_PHONE_IDLE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Monitoring Calling Search Space</label>\n <mat-form-field appearance=\"outline\">\n <input\n [matAutocomplete]=\"auto\"\n matInput\n (input)=\"onAutocomplete('monitorCSS')\"\n formControlName=\"monitorCSS\">\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onChangeField('monitorCSS')\">\n <mat-option *ngFor=\"let option of filteredMonitorCssList\" [value]=\"option\" >\n {{option}}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Audible Message Waiting Indicator Policy</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"audibleMWI\"\n (selectionChange)=\"onChangeField('audibleMWI')\">\n <mat-option *ngFor=\"let option of staticOptions.DEFAULT_ON_OFF\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Ring Setting (Phone Active)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"ringSetting_active\"\n (selectionChange)=\"onChangeField('ringSetting_active')\">\n <mat-option *ngFor=\"let option of staticOptions.RING_SETTING_ACTIVE\" [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Call Pickup Audio Alert Setting (Phone Active)</label>\n <mat-form-field appearance=\"outline\">\n <mat-select\n formControlName=\"pickupAAS_active\"\n (selectionChange)=\"onChangeField('pickupAAS_active')\">\n <mat-option\n *ngFor=\"let option of staticOptions.CALL_PICKUP_GROUP_AUDIO_SETTING_PHONE_ACTIVE\"\n [value]=\"option\">\n {{option}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Log Missed Calls</label>\n <mat-slide-toggle name=\"logMissedCalls\" formControlName=\"logMissedCall\"></mat-slide-toggle>\n </div>\n </app-line-details-block>\n <div class=\"form-group__separator_2px\"></div>\n <app-line-details-block [title]=\"'Forwardred call information display'\">\n <div class=\"form-group\">\n <label>Caller Name</label>\n <mat-slide-toggle name=\"callerName\" formControlName=\"callerName\" (change)=\"onChangeField('callerName')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Redirected Number</label>\n <mat-slide-toggle name=\"redirectedNumber\" formControlName=\"redirectedNumber\" (change)=\"onChangeField('redirectedNumber')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Caller Number</label>\n <mat-slide-toggle name=\"callerNumber\" formControlName=\"callerNumber\" (change)=\"onChangeField('callerNumber')\"></mat-slide-toggle>\n </div>\n <div class=\"form-group__separator\"></div>\n <div class=\"form-group\">\n <label>Dialed Number</label>\n <mat-slide-toggle name=\"dialedNumber\" formControlName=\"dialedNumber\" (change)=\"onChangeField('dialedNumber')\"></mat-slide-toggle>\n </div>\n </app-line-details-block>\n </ng-container>\n\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}::ng-deep .mat-progress-spinner{position:absolute!important;top:40%;left:45%}table{border-collapse:collapse;border-spacing:0}.line-row{background:#ececec;cursor:pointer;width:100%;padding:5px;box-sizing:border-box}.line-row.disabled-line-row{cursor:default;color:silver}.user-details-box__info{grid-template-columns:100%}.form-holder__blocks{margin-top:1rem}.user-box-block{padding:1rem 0;gap:4rem;display:flex}.user-box-block-item__title{margin-bottom:.5rem}.user-box-block-item__tag{font-size:14px;color:#6d6d6d}#device-associated-line{background-color:#fff;padding:1rem;position:relative;border-left:3px solid #737480}.form-group{display:flex;align-items:center}.form-group__separator,.form-group__separator_2px{width:100%;height:1px;background-color:#cccccc80;margin:1rem 0}.form-group__separator_2px{height:2px}.form-group label{width:200px;max-width:200px;font-size:14px;color:#666}.form-group input{width:300px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#009dff!important}.mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#fff!important}.form-group .mat-form-field{max-width:300px}\n"] }]
|
|
166
|
+
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.APIService }, { type: i3.SiteSettingsService }, { type: i4.LineService }, { type: i5.DeviceService }, { type: i6.MatDialog }, { type: i7.ValidationService }]; }, propDecorators: { lineIndex: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], deviceIndex: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], deviceName: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], siteId: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], updatedLineAssociationEvent: [{
|
|
175
|
+
type: Output
|
|
176
|
+
}], onChange: [{
|
|
177
|
+
type: Output
|
|
178
|
+
}] } });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWFzc29jaWF0ZWQtbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1kZXZpY2UtbWFuYWdlL3NyYy9kZXZpY2UtYXNzb2NpYXRlZC1saW5lL2RldmljZS1hc3NvY2lhdGVkLWxpbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWFzc29jaWF0ZWQtbGluZS9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU8xRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLDZCQUE2QjtJQWV4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RKLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMs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LFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0ksMkJBQTJCO3NCQUFwQyxNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaW1wbGlmaWVkVXNlciB9IGZyb20gJy4uL2NsYXNzZXMvc2ltcGxpZmllZC11c2VyJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbic7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSZWNvcmRpbmdPcHRpb25zIH0gZnJvbSAnLi4vY2xhc3Nlcy9kZXZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSRUNPUkRJTkdfTUVESUFfU09VUkNFLCBTVEFUSUNfT1BUSU9OUyB9IGZyb20gJy4uL2FwcC5jb25zdGFudHMnO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNpdGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zaXRlLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9saW5lLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV2aWNlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RldmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZGV2aWNlLWFzc29jaWF0ZWQtbGluZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtYXNzb2NpYXRlZC1saW5lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGV2aWNlLWFzc29jaWF0ZWQtbGluZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VBc3NvY2lhdGVkTGluZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgbGluZUluZGV4ITogbnVtYmVyO1xuICBASW5wdXQoKSBkZXZpY2VJbmRleCE6IG51bWJlcjtcbiAgQElucHV0KCkgZGV2aWNlTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgc2l0ZUlkITogbnVtYmVyO1xuICBAT3V0cHV0KCkgdXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgZGF0YVBlbmRpbmchOiBib29sZWFuO1xuICByZWNvcmRpbmdPcHRpb25zID0gUmVjb3JkaW5nT3B0aW9ucztcbiAgcmVjb3JkaW5nTWVkaWFTb3VyY2VzOiBzdHJpbmdbXSA9IFJFQ09SRElOR19NRURJQV9TT1VSQ0U7XG4gIHN0YXRpY09wdGlvbnMgPSBTVEFUSUNfT1BUSU9OUztcbiAgbW9uaXRvckNzc0xpc3Q6IGFueTtcbiAgZmlsdGVyZWRNb25pdG9yQ3NzTGlzdDogYW55O1xuICBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+XG5cbiAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZT8udXNlcj8uZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XSAmJiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5kZXZpY2VzW3RoaXMuZGV2aWNlSW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNbdGhpcy5saW5lSW5kZXhdLmZvcm07XG4gIH1cblxuICBnZXQgbGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/LnVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0ubGluZUFzc29jaWF0aW9uc1t0aGlzLmxpbmVJbmRleF07XG4gIH1cblxuICBnZXQgb3JpZ2luTGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2U/Lm9yaWdpblVzZXI/LmRldmljZXNbdGhpcy5kZXZpY2VJbmRleF0ubGluZUFzc29jaWF0aW9uc1t0aGlzLmxpbmVJbmRleF07XG4gIH1cblxuICBnZXQgdXNlcigpOiBTaW1wbGlmaWVkVXNlciB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcbiAgfVxuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaXRlU2V0dGluZ3NTZXJ2aWNlOiBTaXRlU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGluZVNlcnZpY2U6IExpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgdmFsaWRhdGlvblNlcnZpY2U6IFZhbGlkYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5nZXREYXRhKCk7XG4gICAgdGhpcy5saW5lU2VydmljZS5vblNhdmVMaW5lQXNzb2NpYXRpb25FdmVudFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTGluZSh0aGlzLmxpbmVBc3NvY2lhdGlvbik7XG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZUZpZWxkKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XSBhcyBhbnkpW3Rva2VuXSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5zZXRIYXNDaGFuZ2VzVG9MaW5lKCk7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KCk7XG5cbiAgfVxuXG4gIG9uQXV0b2NvbXBsZXRlKHRva2VuOiBzdHJpbmcpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybT8uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5maWx0ZXJlZE1vbml0b3JDc3NMaXN0ID0gVXRpbHNTZXJ2aWNlLmZpbHRlck9wdGlvbnModGhpcy5tb25pdG9yQ3NzTGlzdCwgdmFsdWUpO1xuICB9XG5cbiAgcmVjb3JkaW5nT3B0aW9uQ2hhbmdlZCh0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmZvcm0uZ2V0KHRva2VuKT8udmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZUZpZWxkKHRva2VuKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gUmVjb3JkaW5nT3B0aW9ucy5hdXRvX2VuYWJsZWQgfHwgdmFsdWUgPT09IFJlY29yZGluZ09wdGlvbnMuc2VsZWN0aXZlX2VuYWJsZWQpIHtcbiAgICAgIGlmICghdGhpcy5mb3JtPy5nZXQoJ3JlY29yZGluZ1Byb2ZpbGUnKT8udG91Y2hlZCkge1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdQcm9maWxlJyk/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZm9ybS5nZXQoJ3JlY29yZGluZ1Byb2ZpbGUnKT8uZW5hYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdNZWRpYVNvdXJjZScpPy5lbmFibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLmdldCgncmVjb3JkaW5nUHJvZmlsZScpPy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCdyZWNvcmRpbmdQcm9maWxlJyk/LnNldFZhbHVlKCcnKTtcbiAgICAgIHRoaXMub25DaGFuZ2VGaWVsZCgncmVjb3JkaW5nUHJvZmlsZScpO1xuXG4gICAgICAvKiBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaGFzUm9sZSgnU1VQRVJfVVNFUicpKSB7XG4gICAgICAgICByZWNvcmRpbmdNZWRpYVNvdXJjZS5kaXNhYmxlKCk7XG4gICAgICAgICByZWNvcmRpbmdNZWRpYVNvdXJjZS5zZXRWYWx1ZSh0aGlzLnJlY29yZGluZ01lZGlhU291cmNlc1swXSk7XG4gICAgICAgICB0aGlzLmNoYW5nZUZpZWxkKCdyZWNvcmRpbmdNZWRpYVNvdXJjZScpO1xuICAgICAgIH0qL1xuICAgIH1cbiAgfVxuXG4gIGdldFJ1bGUoKTogc3RyaW5nIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHRoaXMuZm9ybS5nZXQoJ2UxNjRNYXNrJyk/LmVycm9ycyAmJiB0aGlzLmZvcm0uZ2V0KCdlMTY0TWFzaycpPy5lcnJvcnNbJ2UxNjRNYXNrUnVsZSddKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnZTE2NE1hc2snKT8uZXJyb3JzWydlMTY0TWFza1J1bGUnXVsncnVsZSddXG4gICAgfVxuICAgIHJldHVybiAnJztcblxuICB9XG5cbiAgdG9nZ2xlRWRpdE1vZGUoKSB7XG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnRvZ2dsZUVkaXRNb2RlKCk7XG4gIH1cblxuICBpc1NhdmluZ0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy51c2VyU2VydmljZS5oYXNVbnNhdmVkQ2hhbmdlcygpIHx8IHRoaXMudXNlclNlcnZpY2UuaGFzRXhpc3RlZFVzZXJJZDtcbiAgfVxuXG4gIG9uQ2hhbmdlRXh0ZW5zaW9uKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5saW5lQXNzb2NpYXRpb24gJiYgdGhpcy5saW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbkxpbmVSZW1vdmUoKTogdm9pZCB7XG5cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGF0YSgpIHtcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnNpdGVTZXR0aW5nc1NlcnZpY2UuZ2V0TW9uaXRvckNzcyh0aGlzLnNpdGVJZClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubW9uaXRvckNzc0xpc3QgPSByZXM/Lmxlbmd0aCA/IHJlcy5zbGljZSgpIDogW107XG4gICAgICAgIHRoaXMuZmlsdGVyZWRNb25pdG9yQ3NzTGlzdCA9IHJlcz8ubGVuZ3RoID8gcmVzLnNsaWNlKCkgOiBbXTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGluZShsaW5lOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UpOiB2b2lkIHtcbiAgICBjb25zdCBib2R5ID0gdGhpcy5saW5lU2VydmljZS5nZXRMaW5lQXNzb2NpYXRpb25Cb2R5KHRoaXMub3JpZ2luTGluZUFzc29jaWF0aW9uLCB0aGlzLmxpbmVBc3NvY2lhdGlvbik7XG4gICAgY29uc29sZS5sb2coJ3VwZGF0ZSBsaW5lJywgYm9keSk7XG4gICAgdGhpcy5kZXZpY2VTZXJ2aWNlLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRldmljZVNlcnZpY2UucHV0RGV2aWNlRmllbGRzKHRoaXMuc2l0ZUlkLCB0aGlzLmRldmljZU5hbWUsIHRoaXMudXNlclNlcnZpY2UudXNlci50b2tlbiwgYm9keSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnBlcnNpc3RVc2VyQ2FjaGUoKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5mZXRjaFVzZXJUb2tlbih0aGlzLnNpdGVJZCwgdGhpcy51c2VyU2VydmljZS51c2VyLnVzZXJpZCwgdGhpcy52YWxpZGF0aW9uU2VydmljZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVkTGluZUFzc29jaWF0aW9uRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICB9LCAoKSA9PiB0aGlzLmRldmljZVNlcnZpY2UuZGF0YVBlbmRpbmcgPSBmYWxzZSk7XG4gICAgICAgICAgfSwgKCkgPT4gdGhpcy5kZXZpY2VTZXJ2aWNlLmRhdGFQZW5kaW5nID0gdHJ1ZSlcbiAgICAgIH0sICgpID0+IHRoaXMuZGV2aWNlU2VydmljZS5kYXRhUGVuZGluZyA9IHRydWUpXG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUxpbmUobGluZTogTGluZUFzc29jaWF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5saW5lU2VydmljZS5kZWxldGVMaW5lKHRoaXMuc2l0ZUlkLCBsaW5lLmxpbmVQa2lkLCB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIudG9rZW4pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy51c2VyU2VydmljZS5wZXJzaXN0VXNlckNhY2hlKClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuZmV0Y2hVc2VyVG9rZW4odGhpcy5zaXRlSWQsIHRoaXMudXNlclNlcnZpY2UudXNlci51c2VyaWQsIHRoaXMudmFsaWRhdGlvblNlcnZpY2UpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlZExpbmVBc3NvY2lhdGlvbkV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHNldEhhc0NoYW5nZXNUb0xpbmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGluZUFzc29jaWF0aW9uKSB7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zW3RoaXMubGluZUluZGV4XS5oYXNDaGFuZ2VzID0gIXRoaXMubGluZUFzc29jaWF0aW9uLmZ1bGxFcXVhbCh0aGlzLm9yaWdpbkxpbmVBc3NvY2lhdGlvbik7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIuZGV2aWNlc1t0aGlzLmRldmljZUluZGV4XS5saW5lQXNzb2NpYXRpb25zSGFzQ2hhbmdlcyA9ICF0aGlzLmxpbmVBc3NvY2lhdGlvbi5mdWxsRXF1YWwodGhpcy5vcmlnaW5MaW5lQXNzb2NpYXRpb24pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBpZD1cImRldmljZS1hc3NvY2lhdGVkLWxpbmVcIiAqbmdJZj1cImxpbmVBc3NvY2lhdGlvbiAmJiBmb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gIDxuZy1jb250YWluZXIgY2xhc3M9XCJsaW5lLWRldGFpbHNfX2NvbnRhaW5lclwiPlxuICAgICAgPGFwcC1saW5lLWRldGFpbHMtYmxvY2sgW3RpdGxlXT1cIidMaW5lIHNldHRpbmcgb24gdGhlIGRldmljZSdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+RGlzcGxheSBDYWxsZXIgSUQ8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cImRpc3BsYXlMYWJlbFwiIGZvcm1Db250cm9sTmFtZT1cImRpc3BsYXlMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2Rpc3BsYXlMYWJlbCcpXCI+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ2Rpc3BsYXlMYWJlbCcpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgICAgICAgICAgVGhpcyBmaWVsZCBjYW7igJl0IGhhdmUgbW9yZSB0aGFuIDMwIGNoYXJhY3RlcnNcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdkaXNwbGF5TGFiZWwnKT8uaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxuICAgICAgICAgICAgICBJbnZhbGlkIHN5bWJvbHMgYXJlIHVzZWRcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPlRleHQgTGFiZWw8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInRleHRMYWJlbFwiIG5hbWU9XCJ0ZXh0TGFiZWxcIlxuICAgICAgICAgICAgICAgICAgIG1hdElucHV0IChpbnB1dCk9XCJvbkNoYW5nZUZpZWxkKCd0ZXh0TGFiZWwnKVwiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd0ZXh0TGFiZWwnKT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XG4gICAgICAgICAgICAgIFRoaXMgZmllbGQgY2Fu4oCZdCBoYXZlIG1vcmUgdGhhbiAzMCBjaGFyYWN0ZXJzXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgndGV4dExhYmVsJyk/Lmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZVwiPjwvaT5cbiAgICAgICAgICAgICAgSW52YWxpZCBzeW1ib2xzIGFyZSB1c2VkXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5FeHRlcm5hbCBQaG9uZSBOdW1iZXIgTWFzazwvbGFiZWw+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwiZTE2NE1hc2tcIiBmb3JtQ29udHJvbE5hbWU9XCJlMTY0TWFza1wiXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2UxNjRNYXNrJylcIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnZTE2NE1hc2snKT8uaGFzRXJyb3IoJ2UxNjRNYXNrUnVsZScpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XG4gICAgICAgICAgICAgIGUxNjRNYXNrIGRvZXMgbm90IG1hdGNoIHRoZSBydWxlIHt7Z2V0UnVsZSgpfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvcl8ycHhcIj48L2Rpdj5cbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInTXVsdGlwbGUgQ2FsbC9DYWxsIFdhaXRpbmcgU2V0dGluZ3MnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPk1heCBDYWxsczwvbGFiZWw+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG5hbWU9XCJtYXhOdW1iZXJPZkNhbGxzXCIgZm9ybUNvbnRyb2xOYW1lPVwibWF4TnVtYmVyT2ZDYWxsc1wiXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ21heE51bWJlck9mQ2FsbHMnKVwiPlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdtYXhOdW1iZXJPZkNhbGxzJyk/Lmhhc0Vycm9yKCdtYXgnKVwiPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCI+PC9pPlxuICAgICAgICAgICAgICBWYWx1ZSBpcyB0b28gYmlnXG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5CdXN5IFRyaWdnZXI8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBuYW1lPVwiYnVzeVRyaWdnZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJidXN5VHJpZ2dlclwiXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlRmllbGQoJ2J1c3lUcmlnZ2VyJylcIj5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnYnVzeVRyaWdnZXInKT8uaGFzRXJyb3IoJ21heCcpXCI+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIj48L2k+XG4gICAgICAgICAgICAgIFZhbHVlIGNhbid0IGJlIGJpZ2dlciB0aGFuIE1heCBDYWxsc1xuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FwcC1saW5lLWRldGFpbHMtYmxvY2s+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXzJweFwiPjwvZGl2PlxuICAgICAgPGFwcC1saW5lLWRldGFpbHMtYmxvY2sgW3RpdGxlXT1cIidDYWxsIFJlY29yZGluZydcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+UmVjb3JkaW5nIE9wdGlvbjwvbGFiZWw+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInJlY29yZGluZ09wdGlvbkNoYW5nZWQoJ3JlY29yZGluZ09wdGlvbicpXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmVjb3JkaW5nT3B0aW9uXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidhc3NvY2lhdGVkTGluZVJlY29yZGluZ09wdGlvbkZpZWxkJ1wiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPXJlY29yZGluZ09wdGlvbnMuZGlzYWJsZWQ+Q2FsbCBSZWNvcmRpbmcgRGlzYWJsZWQ8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09cmVjb3JkaW5nT3B0aW9ucy5hdXRvX2VuYWJsZWQ+QXV0b21hdGljIENhbGwgUmVjb3JkaW5nIEVuYWJsZWQ8L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09cmVjb3JkaW5nT3B0aW9ucy5zZWxlY3RpdmVfZW5hYmxlZD5TZWxlY3RpdmUgQ2FsbCBSZWNvcmRpbmcgRW5hYmxlZDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5SZWNvcmRpbmcgTWVkaWEgU291cmNlPC9sYWJlbD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmVjb3JkaW5nTWVkaWFTb3VyY2UnKVwiIGZvcm1Db250cm9sTmFtZT1cInJlY29yZGluZ01lZGlhU291cmNlXCJcbiAgICAgICAgICAgICAgW2lkXT1cIidhc3NvY2lhdGVkTGluZVJlY29yZGluZ01lZGlhU291cmNlRmllbGQnXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzb3VyY2Ugb2YgcmVjb3JkaW5nTWVkaWFTb3VyY2VzXCIgW3ZhbHVlXT1cInNvdXJjZVwiPnt7c291cmNlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+UmVjb3JkaW5nIFByb2ZpbGU8L2xhYmVsPlxuICAgICAgICAgIDxhcHAtbGF6eS1sb2FkaW5nLXNlbGVjdFxuICAgICAgICAgICAgW3NpdGVJZF09XCJzaXRlSWRcIlxuICAgICAgICAgICAgW2NvbnRyb2xOYW1lXT1cIidyZWNvcmRpbmdQcm9maWxlJ1wiXG4gICAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgICAgICAgIChjaGFuZ2VGaWVsZCk9XCJvbkNoYW5nZUZpZWxkKCdyZWNvcmRpbmdQcm9maWxlJylcIlxuICAgICAgICAgICAgW29wdGlvbnNUb2tlbl09XCIncmVjb3JkaW5nUHJvZmlsZSdcIj48L2FwcC1sYXp5LWxvYWRpbmctc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXBwLWxpbmUtZGV0YWlscy1ibG9jaz5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JfMnB4XCI+PC9kaXY+XG4gICAgICA8YXBwLWxpbmUtZGV0YWlscy1ibG9jayBbdGl0bGVdPVwiJ0FkZGl0aW9uYWwgbGluZSBzZXR0aW5ncyBvbiB0aGUgZGV2aWNlJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5WaXN1YWwgTWVzc2FnZSBXYWl0aW5nIEluZGljYXRvciBQb2xpY3k8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmlzdWFsTVdJXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCd2aXN1YWxNV0knKVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5WSVNVQUxfTVdJXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPlJpbmcgU2V0dGluZyAoUGhvbmUgSWRsZSk8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmluZ1NldHRpbmdfaWRsZVwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmluZ1NldHRpbmdfaWRsZScpXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5SSU5HX1NFVFRJTkdfSURMRVwiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5DYWxsIFBpY2t1cCBBdWRpbyBBbGVydCBTZXR0aW5nIChQaG9uZSBJZGxlKTwvbGFiZWw+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBuYW1lPVwicGlja3VwQUFTX2lkbGVcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwaWNrdXBBQVNfaWRsZVwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncGlja3VwQUFTX2lkbGUnKVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuQ0FMTF9QSUNLVVBfR1JPVVBfQVVESU9fU0VUVElOR19QSE9ORV9JRExFXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPk1vbml0b3JpbmcgQ2FsbGluZyBTZWFyY2ggU3BhY2U8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgIChpbnB1dCk9XCJvbkF1dG9jb21wbGV0ZSgnbW9uaXRvckNTUycpXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibW9uaXRvckNTU1wiPlxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25DaGFuZ2VGaWVsZCgnbW9uaXRvckNTUycpXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkTW9uaXRvckNzc0xpc3RcIiBbdmFsdWVdPVwib3B0aW9uXCIgPlxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPkF1ZGlibGUgTWVzc2FnZSBXYWl0aW5nIEluZGljYXRvciBQb2xpY3k8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXVkaWJsZU1XSVwiXG4gICAgICAgICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnYXVkaWJsZU1XSScpXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5ERUZBVUxUX09OX09GRlwiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5SaW5nIFNldHRpbmcgKFBob25lIEFjdGl2ZSk8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwicmluZ1NldHRpbmdfYWN0aXZlXCJcbiAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdyaW5nU2V0dGluZ19hY3RpdmUnKVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHN0YXRpY09wdGlvbnMuUklOR19TRVRUSU5HX0FDVElWRVwiIFt2YWx1ZV09XCJvcHRpb25cIj5cbiAgICAgICAgICAgICAgICB7e29wdGlvbn19XG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5DYWxsIFBpY2t1cCBBdWRpbyBBbGVydCBTZXR0aW5nIChQaG9uZSBBY3RpdmUpPC9sYWJlbD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBpY2t1cEFBU19hY3RpdmVcIlxuICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ3BpY2t1cEFBU19hY3RpdmUnKVwiPlxuICAgICAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc3RhdGljT3B0aW9ucy5DQUxMX1BJQ0tVUF9HUk9VUF9BVURJT19TRVRUSU5HX1BIT05FX0FDVElWRVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgIHt7b3B0aW9ufX1cbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cF9fc2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPkxvZyBNaXNzZWQgQ2FsbHM8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIG5hbWU9XCJsb2dNaXNzZWRDYWxsc1wiIGZvcm1Db250cm9sTmFtZT1cImxvZ01pc3NlZENhbGxcIj48L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvcl8ycHhcIj48L2Rpdj5cbiAgICAgIDxhcHAtbGluZS1kZXRhaWxzLWJsb2NrIFt0aXRsZV09XCInRm9yd2FyZHJlZCBjYWxsIGluZm9ybWF0aW9uIGRpc3BsYXknXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgICAgICAgPGxhYmVsPkNhbGxlciBOYW1lPC9sYWJlbD5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBuYW1lPVwiY2FsbGVyTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cImNhbGxlck5hbWVcIiAoY2hhbmdlKT1cIm9uQ2hhbmdlRmllbGQoJ2NhbGxlck5hbWUnKVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+UmVkaXJlY3RlZCBOdW1iZXI8L2xhYmVsPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIG5hbWU9XCJyZWRpcmVjdGVkTnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVkaXJlY3RlZE51bWJlclwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgncmVkaXJlY3RlZE51bWJlcicpXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBfX3NlcGFyYXRvclwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICAgIDxsYWJlbD5DYWxsZXIgTnVtYmVyPC9sYWJlbD5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBuYW1lPVwiY2FsbGVyTnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FsbGVyTnVtYmVyXCIgKGNoYW5nZSk9XCJvbkNoYW5nZUZpZWxkKCdjYWxsZXJOdW1iZXInKVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwX19zZXBhcmF0b3JcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICA8bGFiZWw+RGlhbGVkIE51bWJlcjwvbGFiZWw+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgbmFtZT1cImRpYWxlZE51bWJlclwiIGZvcm1Db250cm9sTmFtZT1cImRpYWxlZE51bWJlclwiIChjaGFuZ2UpPVwib25DaGFuZ2VGaWVsZCgnZGlhbGVkTnVtYmVyJylcIj48L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hcHAtbGluZS1kZXRhaWxzLWJsb2NrPlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/slide-toggle";
|
|
5
|
+
export class DeviceListComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.onDeviceSelect = new EventEmitter();
|
|
8
|
+
console.log('devices list');
|
|
9
|
+
}
|
|
10
|
+
selectDevice(device) {
|
|
11
|
+
this.onDeviceSelect.emit(device);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
DeviceListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
DeviceListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DeviceListComponent, selector: "app-device-list", inputs: { devices: "devices" }, outputs: { onDeviceSelect: "onDeviceSelect" }, ngImport: i0, template: "<div class=\"webex-list device-list-container\">\n <div class=\"webex-list-header\">\n <div class=\"webex-list-header__hr\">Name</div>\n <div class=\"webex-list-header__hr\">Type</div>\n <div class=\"webex-list-header__hr\">Line</div>\n <div class=\"webex-list-header__hr\">Device description</div>\n <div class=\"webex-list-header__hr\">Plar service</div>\n </div>\n <ng-container *ngFor=\"let device of devices\">\n <div class=\"device-item\" (click)=\"selectDevice(device)\">\n <div class=\"device-item__td\">{{ device.name }}</div>\n <div class=\"device-item__td\">{{ device.deviceType }}</div>\n <div class=\"device-item__td\">\n <span class=\"device-associated-line\" *ngFor=\"let line of device.lineAssociations\">{{line.directoryNumber?.directoryNumber}} | </span>\n </div>\n <div class=\"device-item__td\">{{ device.description }}</div>\n <div class=\"device-item__td\">\n <mat-slide-toggle class=\"device-slide-toggle\" [disabled]=\"true\" [checked]=\"device.plarService\"></mat-slide-toggle>\n </div>\n <div class=\"device-item__actions-menu\" style=\"text-align: right;\">\n <div class=\"device-item__more\">\n<!-- <mat-icon>more_vert</mat-icon>-->\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".info-holder{display:flex;gap:16px;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;margin:0 0 30px}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{padding:10px;margin:10px;gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:500}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .icon-separator{height:5px;width:5px;background-color:#000000b3;border-radius:50%}.info-holder .is-active{display:flex;gap:8px;align-items:center}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070;margin:0 5px 0 0}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.webex-list{padding:2.5rem}.webex-list-header{display:flex;align-items:center;padding:1rem}.webex-list-header__hr{width:100%;font-size:12px}.device-item{position:relative;display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-bottom:1px solid #b0b0b0;padding:.8rem;z-index:10;transition:background-color .3s;cursor:pointer}.device-item__td{width:100%}.device-item__actions-menu{position:absolute;margin:0 1rem;right:0}.device-item__more{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#b0b0b0;border-radius:50%;padding:.5rem;transition:background-color .3s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DeviceListComponent, decorators: [{
|
|
17
|
+
type: Component,
|
|
18
|
+
args: [{ selector: 'app-device-list', template: "<div class=\"webex-list device-list-container\">\n <div class=\"webex-list-header\">\n <div class=\"webex-list-header__hr\">Name</div>\n <div class=\"webex-list-header__hr\">Type</div>\n <div class=\"webex-list-header__hr\">Line</div>\n <div class=\"webex-list-header__hr\">Device description</div>\n <div class=\"webex-list-header__hr\">Plar service</div>\n </div>\n <ng-container *ngFor=\"let device of devices\">\n <div class=\"device-item\" (click)=\"selectDevice(device)\">\n <div class=\"device-item__td\">{{ device.name }}</div>\n <div class=\"device-item__td\">{{ device.deviceType }}</div>\n <div class=\"device-item__td\">\n <span class=\"device-associated-line\" *ngFor=\"let line of device.lineAssociations\">{{line.directoryNumber?.directoryNumber}} | </span>\n </div>\n <div class=\"device-item__td\">{{ device.description }}</div>\n <div class=\"device-item__td\">\n <mat-slide-toggle class=\"device-slide-toggle\" [disabled]=\"true\" [checked]=\"device.plarService\"></mat-slide-toggle>\n </div>\n <div class=\"device-item__actions-menu\" style=\"text-align: right;\">\n <div class=\"device-item__more\">\n<!-- <mat-icon>more_vert</mat-icon>-->\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n", styles: [".info-holder{display:flex;gap:16px;align-items:center;font-family:Inter,sans-serif;height:102px;width:100%;background:white;margin:0 0 30px}.info-holder__user-image img{width:40px;border-radius:120px;margin:20px 0 0}.info-holder__user-information{padding:10px;margin:10px;gap:10px;display:flex;flex-direction:column}.info-holder__user-name{font-size:20px;font-weight:500}.info-holder__user-breadcrumbs{display:flex;gap:8px;font-weight:400;font-size:14px;color:#000000b3;align-items:center}.info-holder .icon-separator{height:5px;width:5px;background-color:#000000b3;border-radius:50%}.info-holder .is-active{display:flex;gap:8px;align-items:center}.icon-user-status{width:.5rem;height:.5rem;border-radius:50%;background-color:#707070;margin:0 5px 0 0}.icon-user-status.icon-user-status-active{background-color:#1d805f;display:inline-block}.webex-list{padding:2.5rem}.webex-list-header{display:flex;align-items:center;padding:1rem}.webex-list-header__hr{width:100%;font-size:12px}.device-item{position:relative;display:flex;align-items:center;justify-content:space-between;background-color:#fff;border-bottom:1px solid #b0b0b0;padding:.8rem;z-index:10;transition:background-color .3s;cursor:pointer}.device-item__td{width:100%}.device-item__actions-menu{position:absolute;margin:0 1rem;right:0}.device-item__more{display:flex;align-items:center;justify-content:center;cursor:pointer;color:#b0b0b0;border-radius:50%;padding:.5rem;transition:background-color .3s ease-in-out}\n"] }]
|
|
19
|
+
}], ctorParameters: function () { return []; }, propDecorators: { devices: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], onDeviceSelect: [{
|
|
22
|
+
type: Output
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWxpc3QvZGV2aWNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItZGV2aWNlLW1hbmFnZS9zcmMvZGV2aWNlLWxpc3QvZGV2aWNlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF2RSxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCO1FBRkEsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFOUIsQ0FBQztJQUdELFlBQVksQ0FBQyxNQUFjO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7O2lIQWJVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLHNJQ1JoQyw0eUNBMkJBOzRGRG5CYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQUtsQixPQUFPO3NCQUFmLEtBQUs7Z0JBRU4sY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERldmljZSB9IGZyb20gJy4uL2NsYXNzZXMvZGV2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWRldmljZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RldmljZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGV2aWNlLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZGV2aWNlcyE6IERldmljZVtdO1xuICBAT3V0cHV0KClcbiAgb25EZXZpY2VTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERldmljZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zb2xlLmxvZygnZGV2aWNlcyBsaXN0Jyk7XG5cbiAgfVxuXG5cbiAgc2VsZWN0RGV2aWNlKGRldmljZTogRGV2aWNlKTogdm9pZCB7XG4gICAgdGhpcy5vbkRldmljZVNlbGVjdC5lbWl0KGRldmljZSk7XG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwid2ViZXgtbGlzdCBkZXZpY2UtbGlzdC1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cIndlYmV4LWxpc3QtaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIndlYmV4LWxpc3QtaGVhZGVyX19oclwiPk5hbWU8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ViZXgtbGlzdC1oZWFkZXJfX2hyXCI+VHlwZTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3ZWJleC1saXN0LWhlYWRlcl9faHJcIj5MaW5lPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndlYmV4LWxpc3QtaGVhZGVyX19oclwiPkRldmljZSBkZXNjcmlwdGlvbjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3ZWJleC1saXN0LWhlYWRlcl9faHJcIj5QbGFyIHNlcnZpY2U8L2Rpdj5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRldmljZSBvZiBkZXZpY2VzXCI+XG4gICAgPGRpdiBjbGFzcz1cImRldmljZS1pdGVtXCIgKGNsaWNrKT1cInNlbGVjdERldmljZShkZXZpY2UpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLWl0ZW1fX3RkXCI+e3sgZGV2aWNlLm5hbWUgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXZpY2UtaXRlbV9fdGRcIj57eyBkZXZpY2UuZGV2aWNlVHlwZSB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRldmljZS1pdGVtX190ZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRldmljZS1hc3NvY2lhdGVkLWxpbmVcIiAqbmdGb3I9XCJsZXQgbGluZSBvZiBkZXZpY2UubGluZUFzc29jaWF0aW9uc1wiPnt7bGluZS5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlcn19IHwgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLWl0ZW1fX3RkXCI+e3sgZGV2aWNlLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLWl0ZW1fX3RkXCI+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwiZGV2aWNlLXNsaWRlLXRvZ2dsZVwiIFtkaXNhYmxlZF09XCJ0cnVlXCIgW2NoZWNrZWRdPVwiZGV2aWNlLnBsYXJTZXJ2aWNlXCI+PC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV2aWNlLWl0ZW1fX2FjdGlvbnMtbWVudVwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXZpY2UtaXRlbV9fbW9yZVwiPlxuPCEtLSAgICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj4tLT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|