@tuki-io/tuki-widgets 0.0.43 → 0.0.45
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/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 +49 -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 +50 -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/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 +13 -0
- package/esm2020/users-list/src/material.module.mjs +209 -0
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +111 -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/notification.service.mjs +62 -0
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -0
- package/esm2020/users-list/src/services/user.service.mjs +142 -0
- package/esm2020/users-list/src/services/users-search.service.mjs +120 -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 +80 -0
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/users-list/src/utils/common-functions.mjs +19 -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-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 +2123 -0
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1563 -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-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 +2106 -0
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1550 -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 +57 -46
- 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 +32 -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/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/move-user-stepper.component.d.ts +31 -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/notification.service.d.ts +18 -0
- package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -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 +16 -0
- package/users-list/src/utils/app-loader/app-loader.d.ts +6 -0
- package/users-list/src/utils/common-functions.d.ts +1 -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/.vscode/extensions.json +0 -4
- package/.vscode/launch.json +0 -20
- package/.vscode/tasks.json +0 -42
- package/angular.json +0 -41
- package/projects/tuki/widgets/README.md +0 -24
- package/projects/tuki/widgets/karma.conf.js +0 -44
- package/projects/tuki/widgets/ng-package.json +0 -7
- 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 -58
- 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 -50
- 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/device.ts +0 -225
- package/projects/tuki/widgets/users-list/src/classes/line.ts +0 -144
- 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/move-user-stepper.component.html +0 -95
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +0 -182
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +0 -110
- 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/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/user.service.ts +0 -159
- package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +0 -135
- 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 -85
- 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 -51
- 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 -16
- 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/tsconfig.json +0 -46
- /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
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
3
|
+
import { UserListConfirmDialogComponent } from './user-list-confirm-dialog/user-list-confirm-dialog.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./services/user.service";
|
|
6
|
+
import * as i2 from "./services/api.service";
|
|
7
|
+
import * as i3 from "./services/api-webex.service";
|
|
8
|
+
import * as i4 from "./services/notification.service";
|
|
9
|
+
import * as i5 from "./services/users-search.service";
|
|
10
|
+
import * as i6 from "@angular/material/dialog";
|
|
11
|
+
import * as i7 from "@angular/common";
|
|
12
|
+
import * as i8 from "@angular/material/button";
|
|
13
|
+
import * as i9 from "@angular/material/progress-spinner";
|
|
14
|
+
import * as i10 from "@angular/material/table";
|
|
15
|
+
import * as i11 from "@angular/material/menu";
|
|
16
|
+
import * as i12 from "./utils/pagination/pagination.component";
|
|
17
|
+
import * as i13 from "./utils/app-loader/app-loader";
|
|
18
|
+
import * as i14 from "./move-user-wizard/move-user-wizard.component";
|
|
19
|
+
const DISPLAYED_COLS = ['user-icon', 'name', 'email', 'status', 'role', 'actions'];
|
|
20
|
+
const LOCAL_STORAGE = {
|
|
21
|
+
USER_IN_MIGRATION: 'userIdInMigration'
|
|
22
|
+
};
|
|
23
|
+
export class UsersListComponent {
|
|
24
|
+
get form() {
|
|
25
|
+
return this.userService?.user?.form;
|
|
26
|
+
}
|
|
27
|
+
constructor(userService, apiService, apiWebexService, notifications, usersSearchService, dialog) {
|
|
28
|
+
this.userService = userService;
|
|
29
|
+
this.apiService = apiService;
|
|
30
|
+
this.apiWebexService = apiWebexService;
|
|
31
|
+
this.notifications = notifications;
|
|
32
|
+
this.usersSearchService = usersSearchService;
|
|
33
|
+
this.dialog = dialog;
|
|
34
|
+
this.openUser = new EventEmitter();
|
|
35
|
+
this.userMoved = new EventEmitter();
|
|
36
|
+
this.switchToWizard = new EventEmitter();
|
|
37
|
+
this.displayedColumns = DISPLAYED_COLS;
|
|
38
|
+
this.showMoveUserWizard = false;
|
|
39
|
+
this.moveUserPending = false;
|
|
40
|
+
this.subscriptions = [];
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.usersSearchService.setDefaultValues();
|
|
44
|
+
this.usersSearchService.customerId = this.customerId;
|
|
45
|
+
this.usersSearchService.siteId = this.siteId;
|
|
46
|
+
this.apiService.token = this.token;
|
|
47
|
+
this.apiWebexService.token = this.token;
|
|
48
|
+
this.apiService.apiUrl = this.host + '/dcp';
|
|
49
|
+
this.apiWebexService.apiUrl = this.host + '/webex';
|
|
50
|
+
this.getMigratedUsers();
|
|
51
|
+
const subscription = this.usersSearchService.foundUsers$
|
|
52
|
+
.subscribe((users) => {
|
|
53
|
+
this.initializeDataSource(users);
|
|
54
|
+
});
|
|
55
|
+
this.subscriptions.push(subscription);
|
|
56
|
+
console.log('users list paris 7773');
|
|
57
|
+
}
|
|
58
|
+
ngOnDestroy() {
|
|
59
|
+
if (this.subscriptions?.length) {
|
|
60
|
+
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
pageNumberChangeEvent(perPageNumber) {
|
|
64
|
+
this.usersSearchService.pageSize = perPageNumber;
|
|
65
|
+
this.usersSearchService.pageIndex = 0;
|
|
66
|
+
this.runSearch();
|
|
67
|
+
}
|
|
68
|
+
closeMoveUserWizard(afterUserMove) {
|
|
69
|
+
this.moveUser = null;
|
|
70
|
+
this.moveUserIndex = null;
|
|
71
|
+
localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
|
|
72
|
+
this.showMoveUserWizard = false;
|
|
73
|
+
this.switchToWizard.emit(false);
|
|
74
|
+
if (afterUserMove) {
|
|
75
|
+
this.getMigratedUsers();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
pageEvent(event) {
|
|
79
|
+
this.usersSearchService.pageSize = event.pageSize;
|
|
80
|
+
this.usersSearchService.pageIndex = event.pageIndex;
|
|
81
|
+
this.runSearch();
|
|
82
|
+
}
|
|
83
|
+
onUserClick(user) {
|
|
84
|
+
this.openUser.emit(user);
|
|
85
|
+
}
|
|
86
|
+
moveUserToMT(user, index) {
|
|
87
|
+
if (user && user.siteId && user.userid) {
|
|
88
|
+
this.moveUserPending = true;
|
|
89
|
+
this.moveInProgressUserId = user.userid;
|
|
90
|
+
this.setStatusToUser(index, 'In Progress');
|
|
91
|
+
localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
|
|
92
|
+
const subscription = this.userService.moveUserToMT(this.customerId, user)
|
|
93
|
+
.subscribe(() => {
|
|
94
|
+
this.moveUser = null;
|
|
95
|
+
this.moveUserIndex = null;
|
|
96
|
+
this.getMigratedUsers();
|
|
97
|
+
}, () => {
|
|
98
|
+
this.removeUserInMigrationProgress();
|
|
99
|
+
this.setStatusToUser(index, 'Migration Error');
|
|
100
|
+
});
|
|
101
|
+
this.subscriptions.push(subscription);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
moveUserToDI(user, index) {
|
|
105
|
+
if (user && user.siteId && user.webexUUID) {
|
|
106
|
+
this.moveUserPending = true;
|
|
107
|
+
this.moveInProgressUserId = user.userid;
|
|
108
|
+
this.users[index].status = 'In Progress';
|
|
109
|
+
localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, user.userid);
|
|
110
|
+
const subscription = this.userService.moveUserToDI(this.customerId, user)
|
|
111
|
+
.subscribe(() => {
|
|
112
|
+
this.removeUserInMigrationProgress();
|
|
113
|
+
this.setStatusToUser(index, 'Active');
|
|
114
|
+
this.users[index].webexUUID = '';
|
|
115
|
+
if (this.usersSearchService.migratedUsers && this.usersSearchService.migratedUsers.length) {
|
|
116
|
+
this.usersSearchService.migratedUsers = this.usersSearchService.migratedUsers.filter((migratedUser) => migratedUser.userid !== user.email);
|
|
117
|
+
}
|
|
118
|
+
}, () => {
|
|
119
|
+
this.removeUserInMigrationProgress();
|
|
120
|
+
this.setStatusToUser(index, 'Migration Error');
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
removeUserInMigrationProgress() {
|
|
125
|
+
localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
|
|
126
|
+
this.moveInProgressUserId = '';
|
|
127
|
+
this.moveUserPending = false;
|
|
128
|
+
}
|
|
129
|
+
setStatusToUser(index, status) {
|
|
130
|
+
if (this.users && this.users[index]) {
|
|
131
|
+
this.users[index].status = status;
|
|
132
|
+
if (status === 'Migrated') {
|
|
133
|
+
this.users[index].roleName = '';
|
|
134
|
+
this.users[index].isMigrated = true;
|
|
135
|
+
this.users[index].status = status;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.users[index].roleName = 'Dedicated Instance Calling user';
|
|
139
|
+
this.users[index].isMigrated = false;
|
|
140
|
+
this.users[index].status = status;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
this.dataSource = new MatTableDataSource(this.users);
|
|
144
|
+
}
|
|
145
|
+
initializeDataSource(users) {
|
|
146
|
+
if (users?.length) {
|
|
147
|
+
// this.setRandomUserRole(users);
|
|
148
|
+
this.users = users;
|
|
149
|
+
this.setUserMigrationProgress();
|
|
150
|
+
this.usersSearchService.setMigratedPropToUsers(this.users);
|
|
151
|
+
this.dataSource = new MatTableDataSource(users);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
setUserRole() {
|
|
155
|
+
if (this.users?.length) {
|
|
156
|
+
this.users.forEach(user => {
|
|
157
|
+
if (!user.isMigrated) {
|
|
158
|
+
user.roleName = 'Dedicated Instance Calling user';
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
setRandomUserRole(users) {
|
|
164
|
+
const max = Math.round(this.usersSearchService.pageSize - this.usersSearchService.pageSize / 4);
|
|
165
|
+
const min = Math.round(this.usersSearchService.pageSize / 2);
|
|
166
|
+
const randomAmount = Math.round(Math.random() * (max - min) + min);
|
|
167
|
+
const indexes = this.getArrayOfRandomUserIndexes(randomAmount);
|
|
168
|
+
indexes.forEach(index => {
|
|
169
|
+
if (users[index]) {
|
|
170
|
+
users[index].roleName = 'Dedicated Instance Calling user';
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
getArrayOfRandomUserIndexes(randomAmount) {
|
|
175
|
+
const indexes = [];
|
|
176
|
+
while (randomAmount > 0) {
|
|
177
|
+
const index = Math.round(Math.random() * (this.usersSearchService.pageSize - 1));
|
|
178
|
+
indexes.push(index);
|
|
179
|
+
randomAmount--;
|
|
180
|
+
}
|
|
181
|
+
return indexes;
|
|
182
|
+
}
|
|
183
|
+
runSearch() {
|
|
184
|
+
this.dataPending = true;
|
|
185
|
+
this.usersSearchService.quickRegularUsersSearch()
|
|
186
|
+
.subscribe(() => {
|
|
187
|
+
this.dataPending = false;
|
|
188
|
+
}, () => {
|
|
189
|
+
this.dataPending = false;
|
|
190
|
+
this.notifications.error('The data can not be received');
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
setUserMigrationProgress() {
|
|
194
|
+
const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
|
|
195
|
+
if (userIdInMigration) {
|
|
196
|
+
const index = this.users.findIndex(user => user.userid === userIdInMigration);
|
|
197
|
+
this.moveInProgressUserId = index > -1 ? this.users[index].userid : '';
|
|
198
|
+
this.moveUserPending = index > -1;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
getMigratedUsers() {
|
|
202
|
+
this.dataPending = true;
|
|
203
|
+
const searchParams = {
|
|
204
|
+
customerid: this.customerId,
|
|
205
|
+
siteid: this.siteId,
|
|
206
|
+
'cloud-only': 'true'
|
|
207
|
+
};
|
|
208
|
+
// this.usersSearchService.quickWebexUsersSearch(searchParams, true, MAX_INTEGER)
|
|
209
|
+
this.usersSearchService.getMigratedUsers(this.customerId)
|
|
210
|
+
// this.usersSearchService.getMigratedWebexUsers(this.customerId)
|
|
211
|
+
.subscribe(() => {
|
|
212
|
+
const userIdInMigration = localStorage.getItem(LOCAL_STORAGE.USER_IN_MIGRATION);
|
|
213
|
+
if (userIdInMigration && this.usersSearchService.migratedUsers.filter((migratedUser) => migratedUser.userid === userIdInMigration)) {
|
|
214
|
+
localStorage.removeItem(LOCAL_STORAGE.USER_IN_MIGRATION);
|
|
215
|
+
}
|
|
216
|
+
this.runSearch();
|
|
217
|
+
}, () => {
|
|
218
|
+
this.dataPending = false;
|
|
219
|
+
this.notifications.error('The data can not be received');
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
onMoveUser(user, index, type) {
|
|
223
|
+
const dialogRef = this.dialog.open(UserListConfirmDialogComponent, {
|
|
224
|
+
data: {
|
|
225
|
+
title: `Move user ${user.userid} to ${type}?`,
|
|
226
|
+
message: `<p>By moving out of Dedicated Instance, you may need to reassign directory numbers and lose calling services.</p>
|
|
227
|
+
<p>Are you sure you want to continue?</p>`,
|
|
228
|
+
confirmButtonText: 'Yes, continue'
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
dialogRef.beforeClosed().subscribe((result) => {
|
|
232
|
+
if (result) {
|
|
233
|
+
switch (type) {
|
|
234
|
+
case 'QuickMove':
|
|
235
|
+
this.moveUserToMT(user, index);
|
|
236
|
+
break;
|
|
237
|
+
case 'MT':
|
|
238
|
+
this.moveUser = user;
|
|
239
|
+
this.moveUserIndex = index;
|
|
240
|
+
this.showMoveUserWizard = true;
|
|
241
|
+
this.switchToWizard.emit(true);
|
|
242
|
+
break;
|
|
243
|
+
case 'DI':
|
|
244
|
+
this.moveUserToDI(user, index);
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
runMoveUserToMT() {
|
|
251
|
+
if (this.moveUser && this.moveUser.siteId && this.moveUser.userid) {
|
|
252
|
+
this.userService.moveUserPending = true;
|
|
253
|
+
this.moveInProgressUserId = this.moveUser.userid;
|
|
254
|
+
this.setStatusToUser(this.moveUserIndex, 'In Progress');
|
|
255
|
+
localStorage.setItem(LOCAL_STORAGE.USER_IN_MIGRATION, this.moveUser.userid);
|
|
256
|
+
}
|
|
257
|
+
const subscription = this.userService.moveUserToMT(this.customerId, this.moveUser)
|
|
258
|
+
.subscribe(() => {
|
|
259
|
+
this.userService.userMoved$.next(true);
|
|
260
|
+
}, () => {
|
|
261
|
+
this.removeUserInMigrationProgress();
|
|
262
|
+
this.setStatusToUser(this.moveUserIndex, 'Migration Error');
|
|
263
|
+
});
|
|
264
|
+
this.subscriptions.push(subscription);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
UsersListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, deps: [{ token: i1.UserService }, { token: i2.APIService }, { token: i3.ApiWebexService }, { token: i4.NotificationService }, { token: i5.UsersSearchService }, { token: i6.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
268
|
+
UsersListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UsersListComponent, selector: "app-users-list", inputs: { token: "token", customerId: "customerId", siteId: "siteId", host: "host" }, outputs: { openUser: "openUser", userMoved: "userMoved", switchToWizard: "switchToWizard" }, ngImport: i0, template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <app-pagination\r\n [pagination]=\"usersSearchService.getPagination()\"\r\n [showPageSizeOptions]=\"true\"\r\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\r\n (pageEmitter)=\"pageEvent($event)\">\r\n </app-pagination>\r\n <table class=\"webex-table\" mat-table *ngIf=\"users?.length\" #table [dataSource]=\"dataSource\">\r\n\r\n <ng-container matColumnDef=\"user-icon\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"name\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">First / Last Name</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\"> {{ user.firstName }} {{ user.lastName }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\r\n <td class=\"user-site\" [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">\r\n {{ user.email }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Status</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-user-status icon-user-status-active\"></span>{{user.status}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user, let i = index\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\">\r\n <mat-progress-spinner class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"user.status === 'In Progress'\"></mat-progress-spinner>\r\n <button *ngIf=\"!(moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid)\"\r\n class=\"button-action-dot\" mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <div class=\"icon-actions-dots\">\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n </div>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\r\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\r\n <button *ngIf=\"!user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'QuickMove')\">Quick Move User T\u05DD MT</button>\r\n <button *ngIf=\"!user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'MT')\">Move User to MT</button>\r\n <button *ngIf=\"user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'DI')\">Revert User to UCM/DI</button>\r\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\r\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"role\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Administrator Role</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">{{ user.roleName || '' }}</td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n\r\n<app-move-user-wizard *ngIf=\"showMoveUserWizard\" [user]=\"moveUser\" (done)=\"closeMoveUserWizard(true)\"\r\n [customerId]=\"customerId\" (runMoveUser)=\"runMoveUserToMT()\"\r\n (closeMoveUserWizard)=\"closeMoveUserWizard(false)\"></app-move-user-wizard>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";table.mat-table{border-spacing:0;width:100%}::ng-deep .mat-paginator{background:none}.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}.mat-select{height:100%;line-height:35px}.mat-form-field-wrapper{padding-bottom:0!important}.mat-form-field{padding:0;max-width:300px}.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-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.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:#009fdb!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.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:#000;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){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;line-height:35px!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-wrapper,.mat-form-field-flex{height:30px!important}.mat-form-field-appearance-outline .mat-form-field-outline,.mat-form-field-outline .mat-form-field-outline-thick{height:35px!important}.mat-select{line-height:20px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:14px 12px 10px;border-top:0;max-width:300px}.mat-tab-group{font-family:Inter,sans-serif}.mat-tab-label{font-weight:500!important;font-size:14px!important;height:auto!important;min-width:auto!important;padding:0!important}.mat-ink-bar{background-color:#000000e6!important;height:3px!important}.mat-form-field-wrapper{padding-bottom:0}.mat-form-field{max-width:300px}table{border-collapse:collapse;border-spacing:0}.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-paginator{background:transparent!important}::ng-deep .mat-paginator-container{min-height:30px!important}::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}::ng-deep .pagination{font-size:13px;color:#0000008a}::ng-deep .per-page-block{display:flex;line-height:42px!important}::ng-deep .item_per_page{line-height:42px!important}::ng-deep .select-page-size{line-height:42px!important}::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i9.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.PaginationComponent, selector: "app-pagination", inputs: ["pagination", "showPageSizeOptions", "showRefreshButton", "lengthPending"], outputs: ["pageEmitter", "pageNumberChangeEmitter"] }, { kind: "component", type: i13.AppLoaderComponent, selector: "app-loader" }, { kind: "component", type: i14.MoveUserWizardComponent, selector: "app-move-user-wizard", inputs: ["user", "customerId"], outputs: ["closeMoveUserWizard", "done", "runMoveUser"] }] });
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListComponent, decorators: [{
|
|
270
|
+
type: Component,
|
|
271
|
+
args: [{ selector: 'app-users-list', template: "<app-loader *ngIf=\"dataPending\"></app-loader>\r\n<div *ngIf=\"!showMoveUserWizard\" id=\"users-list\">\r\n <app-pagination\r\n [pagination]=\"usersSearchService.getPagination()\"\r\n [showPageSizeOptions]=\"true\"\r\n (pageNumberChangeEmitter)=\"pageNumberChangeEvent($event)\"\r\n (pageEmitter)=\"pageEvent($event)\">\r\n </app-pagination>\r\n <table class=\"webex-table\" mat-table *ngIf=\"users?.length\" #table [dataSource]=\"dataSource\">\r\n\r\n <ng-container matColumnDef=\"user-icon\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-webex-box\"><span class=\"icon-webex icon-webex-user\"></span></span>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"name\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">First / Last Name</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\"> {{ user.firstName }} {{ user.lastName }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"email\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Email</th>\r\n <td class=\"user-site\" [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">\r\n {{ user.email }}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"status\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Status</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\"\r\n (click)=\"onUserClick(user)\">\r\n <span class=\"icon-user-status icon-user-status-active\"></span>{{user.status}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\"></th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user, let i = index\"\r\n [ngClass]=\"{'disabled-user-row': moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid}\">\r\n <mat-progress-spinner class=\"field-spinner\"\r\n [diameter]=\"20\"\r\n mode=\"indeterminate\"\r\n *ngIf=\"user.status === 'In Progress'\"></mat-progress-spinner>\r\n <button *ngIf=\"!(moveUserPending && moveInProgressUserId && moveInProgressUserId === user?.userid)\"\r\n class=\"button-action-dot\" mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <div class=\"icon-actions-dots\">\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n <span class=\"icon-dot\">.</span>\r\n </div>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button mat-menu-item [disabled]=\"true\">Resend Invitation</button>\r\n <button mat-menu-item [disabled]=\"true\">Reset Password</button>\r\n <button *ngIf=\"!user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'QuickMove')\">Quick Move User T\u05DD MT</button>\r\n <button *ngIf=\"!user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'MT')\">Move User to MT</button>\r\n <button *ngIf=\"user.isMigrated\" mat-menu-item (click)=\"onMoveUser(user, i, 'DI')\">Revert User to UCM/DI</button>\r\n <button mat-menu-item [disabled]=\"true\">Deactivate User</button>\r\n <button mat-menu-item [disabled]=\"true\">Delete User</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"role\">\r\n <th mat-header-cell *matHeaderCellDef class=\"webex-table-th\">Administrator Role</th>\r\n <td class=\"user-site\" mat-cell *matCellDef=\"let user\" (click)=\"onUserClick(user)\">{{ user.roleName || '' }}</td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n</div>\r\n\r\n<app-move-user-wizard *ngIf=\"showMoveUserWizard\" [user]=\"moveUser\" (done)=\"closeMoveUserWizard(true)\"\r\n [customerId]=\"customerId\" (runMoveUser)=\"runMoveUserToMT()\"\r\n (closeMoveUserWizard)=\"closeMoveUserWizard(false)\"></app-move-user-wizard>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";table.mat-table{border-spacing:0;width:100%}::ng-deep .mat-paginator{background:none}.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}.mat-select{height:100%;line-height:35px}.mat-form-field-wrapper{padding-bottom:0!important}.mat-form-field{padding:0;max-width:300px}.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-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.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:#009fdb!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.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:#000;font-size:14px}.webex-table tr:hover td:not(.disabled-user-row){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;line-height:35px!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-wrapper,.mat-form-field-flex{height:30px!important}.mat-form-field-appearance-outline .mat-form-field-outline,.mat-form-field-outline .mat-form-field-outline-thick{height:35px!important}.mat-select{line-height:20px!important}.mat-form-field-appearance-outline .mat-form-field-infix{padding:14px 12px 10px;border-top:0;max-width:300px}.mat-tab-group{font-family:Inter,sans-serif}.mat-tab-label{font-weight:500!important;font-size:14px!important;height:auto!important;min-width:auto!important;padding:0!important}.mat-ink-bar{background-color:#000000e6!important;height:3px!important}.mat-form-field-wrapper{padding-bottom:0}.mat-form-field{max-width:300px}table{border-collapse:collapse;border-spacing:0}.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-paginator{background:transparent!important}::ng-deep .mat-paginator-container{min-height:30px!important}::ng-deep .mat-paginator-range-label{margin:0 10px 0 24px!important;font-size:15px!important}::ng-deep .pagination{font-size:13px;color:#0000008a}::ng-deep .per-page-block{display:flex;line-height:42px!important}::ng-deep .item_per_page{line-height:42px!important}::ng-deep .select-page-size{line-height:42px!important}::ng-deep mat-progress-spinner.page-spinner{position:fixed;margin:auto;inset:0}::ng-deep mat-progress-spinner.field-spinner{position:relative;margin:-20px auto auto}::ng-deep mat-progress-spinner.tab-spinner{position:relative;margin:0 auto auto}.icon-dot{display:block;color:#4f4f4f;font-size:16px;line-height:5px}.button-action-dot:hover{background:#dfdfdf}.button-action-dot{padding:0 5px 5px;border-radius:.25rem}\n"] }]
|
|
272
|
+
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.APIService }, { type: i3.ApiWebexService }, { type: i4.NotificationService }, { type: i5.UsersSearchService }, { type: i6.MatDialog }]; }, propDecorators: { token: [{
|
|
273
|
+
type: Input
|
|
274
|
+
}], customerId: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], siteId: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], openUser: [{
|
|
279
|
+
type: Output
|
|
280
|
+
}], userMoved: [{
|
|
281
|
+
type: Output
|
|
282
|
+
}], switchToWizard: [{
|
|
283
|
+
type: Output
|
|
284
|
+
}], host: [{
|
|
285
|
+
type: Input
|
|
286
|
+
}] } });
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXNlcnMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXNlcnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVExRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUs3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQUUvRyxNQUFNLGNBQWMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbkYsTUFBTSxhQUFhLEdBQUc7SUFDcEIsaUJBQWlCLEVBQUUsbUJBQW1CO0NBQ3ZDLENBQUM7QUFPRixNQUFNLE9BQU8sa0JBQWtCO0lBb0I3QixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQsWUFDUyxXQUF3QixFQUN2QixVQUFzQixFQUN0QixlQUFnQyxFQUNoQyxhQUFrQyxFQUNuQyxrQkFBc0MsRUFDckMsTUFBaUI7UUFMbEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FB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RCxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdFO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQy9FLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Z0hBM1JVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLHlPQ3pCL0IsKzVKQXFGQTs0RkQ1RGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvUEFLakIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNFLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvYXBpLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVXNlcnNTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2Vycy1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IExpc3RVc2VyIH0gZnJvbSAnLi9jbGFzc2VzL3VzZXItbGlzdCc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgQXBpV2ViZXhTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGktd2ViZXguc2VydmljZSc7XHJcbmltcG9ydCB7IE1BWF9JTlRFR0VSIH0gZnJvbSAnLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVXNlckxpc3RDb25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi91c2VyLWxpc3QtY29uZmlybS1kaWFsb2cvdXNlci1saXN0LWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBESVNQTEFZRURfQ09MUyA9IFsndXNlci1pY29uJywgJ25hbWUnLCAnZW1haWwnLCAnc3RhdHVzJywgJ3JvbGUnLCAnYWN0aW9ucyddO1xyXG5jb25zdCBMT0NBTF9TVE9SQUdFID0ge1xyXG4gIFVTRVJfSU5fTUlHUkFUSU9OOiAndXNlcklkSW5NaWdyYXRpb24nXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11c2Vycy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXNlcnMtbGlzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgdG9rZW4hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY3VzdG9tZXJJZCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9wZW5Vc2VyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB1c2VyTW92ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHN3aXRjaFRvV2l6YXJkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGhvc3QhOiBzdHJpbmc7XHJcblxyXG4gIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuICBtb3ZlSW5Qcm9ncmVzc1VzZXJJZCE6IHN0cmluZztcclxuICB1c2VycyE6IExpc3RVc2VyW107XHJcbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxMaXN0VXNlcj47XHJcbiAgZGlzcGxheWVkQ29sdW1ucyA9IERJU1BMQVlFRF9DT0xTO1xyXG4gIG1vdmVVc2VyOiBhbnk7XHJcbiAgbW92ZVVzZXJJbmRleDogYW55O1xyXG4gIHNob3dNb3ZlVXNlcldpemFyZCA9IGZhbHNlO1xyXG4gIG1vdmVVc2VyUGVuZGluZyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgZ2V0IGZvcm0oKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlPy51c2VyPy5mb3JtO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlXZWJleFNlcnZpY2U6IEFwaVdlYmV4U2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyB1c2Vyc1NlYXJjaFNlcnZpY2U6IFVzZXJzU2VhcmNoU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dcclxuICApIHtcclxuICB9XHJcblxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLnNldERlZmF1bHRWYWx1ZXMoKTtcclxuICAgIHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLmN1c3RvbWVySWQgPSB0aGlzLmN1c3RvbWVySWQ7XHJcbiAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5zaXRlSWQgPSB0aGlzLnNpdGVJZDtcclxuICAgIHRoaXMuYXBpU2VydmljZS50b2tlbiA9IHRoaXMudG9rZW47XHJcbiAgICB0aGlzLmFwaVdlYmV4U2VydmljZS50b2tlbiA9IHRoaXMudG9rZW47XHJcbiAgICB0aGlzLmFwaVNlcnZpY2UuYXBpVXJsID0gdGhpcy5ob3N0ICsgJy9kY3AnO1xyXG4gICAgdGhpcy5hcGlXZWJleFNlcnZpY2UuYXBpVXJsID0gdGhpcy5ob3N0ICsgJy93ZWJleCc7XHJcblxyXG4gICAgdGhpcy5nZXRNaWdyYXRlZFVzZXJzKCk7XHJcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5mb3VuZFVzZXJzJFxyXG4gICAgICAuc3Vic2NyaWJlKCh1c2VyczogTGlzdFVzZXJbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZURhdGFTb3VyY2UodXNlcnMpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcblxyXG4gICAgY29uc29sZS5sb2coJ3VzZXJzIGxpc3QgcGFyaXMgNzc3MycpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goc3Vic2NyaXB0aW9uID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBhZ2VOdW1iZXJDaGFuZ2VFdmVudChwZXJQYWdlTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLnBhZ2VTaXplID0gcGVyUGFnZU51bWJlcjtcclxuICAgIHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLnBhZ2VJbmRleCA9IDA7XHJcbiAgICB0aGlzLnJ1blNlYXJjaCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VNb3ZlVXNlcldpemFyZChhZnRlclVzZXJNb3ZlPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5tb3ZlVXNlciA9IG51bGw7XHJcbiAgICB0aGlzLm1vdmVVc2VySW5kZXggPSBudWxsO1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTE9DQUxfU1RPUkFHRS5VU0VSX0lOX01JR1JBVElPTik7XHJcbiAgICB0aGlzLnNob3dNb3ZlVXNlcldpemFyZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zd2l0Y2hUb1dpemFyZC5lbWl0KGZhbHNlKTtcclxuICAgIGlmIChhZnRlclVzZXJNb3ZlKSB7XHJcbiAgICAgIHRoaXMuZ2V0TWlncmF0ZWRVc2VycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGFnZUV2ZW50KGV2ZW50OiBQYWdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLnBhZ2VTaXplID0gZXZlbnQucGFnZVNpemU7XHJcbiAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5wYWdlSW5kZXggPSBldmVudC5wYWdlSW5kZXg7XHJcbiAgICB0aGlzLnJ1blNlYXJjaCgpO1xyXG4gIH1cclxuXHJcbiAgb25Vc2VyQ2xpY2sodXNlcjogTGlzdFVzZXIpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlblVzZXIuZW1pdCh1c2VyKTtcclxuICB9XHJcblxyXG4gIG1vdmVVc2VyVG9NVCh1c2VyOiBMaXN0VXNlciwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG5cclxuICAgIGlmICh1c2VyICYmIHVzZXIuc2l0ZUlkICYmIHVzZXIudXNlcmlkKSB7XHJcbiAgICAgIHRoaXMubW92ZVVzZXJQZW5kaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tb3ZlSW5Qcm9ncmVzc1VzZXJJZCA9IHVzZXIudXNlcmlkO1xyXG4gICAgICB0aGlzLnNldFN0YXR1c1RvVXNlcihpbmRleCwgJ0luIFByb2dyZXNzJyk7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExPQ0FMX1NUT1JBR0UuVVNFUl9JTl9NSUdSQVRJT04sIHVzZXIudXNlcmlkKTtcclxuXHJcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMudXNlclNlcnZpY2UubW92ZVVzZXJUb01UKHRoaXMuY3VzdG9tZXJJZCwgdXNlcilcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW92ZVVzZXIgPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5tb3ZlVXNlckluZGV4ID0gbnVsbDtcclxuICAgICAgICAgIHRoaXMuZ2V0TWlncmF0ZWRVc2VycygpO1xyXG4gICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVtb3ZlVXNlckluTWlncmF0aW9uUHJvZ3Jlc3MoKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdHVzVG9Vc2VyKGluZGV4LCAnTWlncmF0aW9uIEVycm9yJyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtb3ZlVXNlclRvREkodXNlcjogTGlzdFVzZXIsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodXNlciAmJiB1c2VyLnNpdGVJZCAmJiB1c2VyLndlYmV4VVVJRCkge1xyXG4gICAgICB0aGlzLm1vdmVVc2VyUGVuZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMubW92ZUluUHJvZ3Jlc3NVc2VySWQgPSB1c2VyLnVzZXJpZDtcclxuICAgICAgdGhpcy51c2Vyc1tpbmRleF0uc3RhdHVzID0gJ0luIFByb2dyZXNzJ1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTF9TVE9SQUdFLlVTRVJfSU5fTUlHUkFUSU9OLCB1c2VyLnVzZXJpZCk7XHJcblxyXG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLnVzZXJTZXJ2aWNlLm1vdmVVc2VyVG9ESSh0aGlzLmN1c3RvbWVySWQsIHVzZXIpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZVVzZXJJbk1pZ3JhdGlvblByb2dyZXNzKCk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXR1c1RvVXNlcihpbmRleCwgJ0FjdGl2ZScpO1xyXG4gICAgICAgICAgdGhpcy51c2Vyc1tpbmRleF0ud2ViZXhVVUlEID0gJyc7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UubWlncmF0ZWRVc2VycyAmJiB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5taWdyYXRlZFVzZXJzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5taWdyYXRlZFVzZXJzID0gdGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UubWlncmF0ZWRVc2Vycy5maWx0ZXIoKG1pZ3JhdGVkVXNlcjogYW55KSA9PiBtaWdyYXRlZFVzZXIudXNlcmlkICE9PSB1c2VyLmVtYWlsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlbW92ZVVzZXJJbk1pZ3JhdGlvblByb2dyZXNzKCk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXR1c1RvVXNlcihpbmRleCwgJ01pZ3JhdGlvbiBFcnJvcicpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVVc2VySW5NaWdyYXRpb25Qcm9ncmVzcygpOiB2b2lkIHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKExPQ0FMX1NUT1JBR0UuVVNFUl9JTl9NSUdSQVRJT04pO1xyXG4gICAgdGhpcy5tb3ZlSW5Qcm9ncmVzc1VzZXJJZCA9ICcnO1xyXG4gICAgdGhpcy5tb3ZlVXNlclBlbmRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U3RhdHVzVG9Vc2VyKGluZGV4OiBudW1iZXIsIHN0YXR1czogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2VycyAmJiB0aGlzLnVzZXJzW2luZGV4XSkge1xyXG4gICAgICB0aGlzLnVzZXJzW2luZGV4XS5zdGF0dXMgPSBzdGF0dXM7XHJcbiAgICAgIGlmIChzdGF0dXMgPT09ICdNaWdyYXRlZCcpIHtcclxuICAgICAgICB0aGlzLnVzZXJzW2luZGV4XS5yb2xlTmFtZSA9ICcnO1xyXG4gICAgICAgIHRoaXMudXNlcnNbaW5kZXhdLmlzTWlncmF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudXNlcnNbaW5kZXhdLnN0YXR1cyA9IHN0YXR1cztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnVzZXJzW2luZGV4XS5yb2xlTmFtZSA9ICdEZWRpY2F0ZWQgSW5zdGFuY2UgQ2FsbGluZyB1c2VyJztcclxuICAgICAgICB0aGlzLnVzZXJzW2luZGV4XS5pc01pZ3JhdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy51c2Vyc1tpbmRleF0uc3RhdHVzID0gc3RhdHVzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMudXNlcnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplRGF0YVNvdXJjZSh1c2VyczogTGlzdFVzZXJbXSk6IHZvaWQge1xyXG4gICAgaWYodXNlcnM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyB0aGlzLnNldFJhbmRvbVVzZXJSb2xlKHVzZXJzKTtcclxuICAgICAgdGhpcy51c2VycyA9IHVzZXJzO1xyXG4gICAgICB0aGlzLnNldFVzZXJNaWdyYXRpb25Qcm9ncmVzcygpO1xyXG4gICAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5zZXRNaWdyYXRlZFByb3BUb1VzZXJzKHRoaXMudXNlcnMpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHVzZXJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXNlclJvbGUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy51c2Vycz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXNlcnMuZm9yRWFjaCh1c2VyID0+IHtcclxuICAgICAgICBpZiAoIXVzZXIuaXNNaWdyYXRlZCkge1xyXG4gICAgICAgICAgdXNlci5yb2xlTmFtZSA9ICdEZWRpY2F0ZWQgSW5zdGFuY2UgQ2FsbGluZyB1c2VyJztcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJhbmRvbVVzZXJSb2xlKHVzZXJzOiBMaXN0VXNlcltdKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXggPSBNYXRoLnJvdW5kKHRoaXMudXNlcnNTZWFyY2hTZXJ2aWNlLnBhZ2VTaXplIC0gdGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UucGFnZVNpemUgLyA0KTtcclxuICAgIGNvbnN0IG1pbiA9IE1hdGgucm91bmQodGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UucGFnZVNpemUgLyAyKTtcclxuICAgIGNvbnN0IHJhbmRvbUFtb3VudCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4pICsgbWluKTtcclxuICAgIGNvbnN0IGluZGV4ZXMgPSB0aGlzLmdldEFycmF5T2ZSYW5kb21Vc2VySW5kZXhlcyhyYW5kb21BbW91bnQpO1xyXG4gICAgaW5kZXhlcy5mb3JFYWNoKGluZGV4ID0+IHtcclxuICAgICAgaWYgKHVzZXJzW2luZGV4XSkge1xyXG4gICAgICAgIHVzZXJzW2luZGV4XS5yb2xlTmFtZSA9ICdEZWRpY2F0ZWQgSW5zdGFuY2UgQ2FsbGluZyB1c2VyJ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QXJyYXlPZlJhbmRvbVVzZXJJbmRleGVzKHJhbmRvbUFtb3VudDogbnVtYmVyKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgaW5kZXhlcyA9IFtdO1xyXG4gICAgd2hpbGUgKHJhbmRvbUFtb3VudCA+IDApIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAodGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UucGFnZVNpemUgLSAxKSk7XHJcbiAgICAgIGluZGV4ZXMucHVzaChpbmRleClcclxuICAgICAgcmFuZG9tQW1vdW50LS07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaW5kZXhlcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcnVuU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5xdWlja1JlZ3VsYXJVc2Vyc1NlYXJjaCgpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMuZXJyb3IoJ1RoZSBkYXRhIGNhbiBub3QgYmUgcmVjZWl2ZWQnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFVzZXJNaWdyYXRpb25Qcm9ncmVzcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVzZXJJZEluTWlncmF0aW9uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oTE9DQUxfU1RPUkFHRS5VU0VSX0lOX01JR1JBVElPTik7XHJcbiAgICBpZiAodXNlcklkSW5NaWdyYXRpb24pIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnVzZXJzLmZpbmRJbmRleCh1c2VyID0+IHVzZXIudXNlcmlkID09PSB1c2VySWRJbk1pZ3JhdGlvbik7XHJcbiAgICAgIHRoaXMubW92ZUluUHJvZ3Jlc3NVc2VySWQgPSBpbmRleCA+IC0xID8gdGhpcy51c2Vyc1tpbmRleF0udXNlcmlkIDogJyc7XHJcbiAgICAgIHRoaXMubW92ZVVzZXJQZW5kaW5nID0gaW5kZXggPiAtMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TWlncmF0ZWRVc2VycygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0ge1xyXG4gICAgICBjdXN0b21lcmlkOiB0aGlzLmN1c3RvbWVySWQsXHJcbiAgICAgIHNpdGVpZDogdGhpcy5zaXRlSWQsXHJcbiAgICAgICdjbG91ZC1vbmx5JzogJ3RydWUnXHJcbiAgICB9O1xyXG4gICAgLy8gdGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UucXVpY2tXZWJleFVzZXJzU2VhcmNoKHNlYXJjaFBhcmFtcywgdHJ1ZSwgTUFYX0lOVEVHRVIpXHJcbiAgICB0aGlzLnVzZXJzU2VhcmNoU2VydmljZS5nZXRNaWdyYXRlZFVzZXJzKHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgLy8gdGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UuZ2V0TWlncmF0ZWRXZWJleFVzZXJzKHRoaXMuY3VzdG9tZXJJZClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdXNlcklkSW5NaWdyYXRpb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMT0NBTF9TVE9SQUdFLlVTRVJfSU5fTUlHUkFUSU9OKTtcclxuICAgICAgICBpZiAodXNlcklkSW5NaWdyYXRpb24gJiYgdGhpcy51c2Vyc1NlYXJjaFNlcnZpY2UubWlncmF0ZWRVc2Vycy5maWx0ZXIoKG1pZ3JhdGVkVXNlcjogYW55KSA9PiBtaWdyYXRlZFVzZXIudXNlcmlkID09PSB1c2VySWRJbk1pZ3JhdGlvbikpIHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKExPQ0FMX1NUT1JBR0UuVVNFUl9JTl9NSUdSQVRJT04pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnJ1blNlYXJjaCgpO1xyXG4gICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5lcnJvcignVGhlIGRhdGEgY2FuIG5vdCBiZSByZWNlaXZlZCcpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uTW92ZVVzZXIodXNlcjogTGlzdFVzZXIsIGluZGV4OiBudW1iZXIsIHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihVc2VyTGlzdENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHRpdGxlOiBgTW92ZSB1c2VyICR7dXNlci51c2VyaWR9IHRvICR7dHlwZX0/YCxcclxuICAgICAgICBtZXNzYWdlOiBgPHA+QnkgbW92aW5nIG91dCBvZiBEZWRpY2F0ZWQgSW5zdGFuY2UsIHlvdSBtYXkgbmVlZCB0byByZWFzc2lnbiBkaXJlY3RvcnkgbnVtYmVycyBhbmQgbG9zZSBjYWxsaW5nIHNlcnZpY2VzLjwvcD5cclxuPHA+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlPzwvcD5gLFxyXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnWWVzLCBjb250aW51ZSdcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dSZWYuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICBjYXNlICdRdWlja01vdmUnOlxyXG4gICAgICAgICAgICB0aGlzLm1vdmVVc2VyVG9NVCh1c2VyLCBpbmRleCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnTVQnOlxyXG4gICAgICAgICAgICB0aGlzLm1vdmVVc2VyID0gdXNlcjtcclxuICAgICAgICAgICAgdGhpcy5tb3ZlVXNlckluZGV4ID0gaW5kZXg7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd01vdmVVc2VyV2l6YXJkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5zd2l0Y2hUb1dpemFyZC5lbWl0KHRydWUpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ0RJJzpcclxuICAgICAgICAgICAgdGhpcy5tb3ZlVXNlclRvREkodXNlciwgaW5kZXgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJ1bk1vdmVVc2VyVG9NVCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vdmVVc2VyICYmIHRoaXMubW92ZVVzZXIuc2l0ZUlkICYmIHRoaXMubW92ZVVzZXIudXNlcmlkKSB7XHJcbiAgICAgIHRoaXMudXNlclNlcnZpY2UubW92ZVVzZXJQZW5kaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5tb3ZlSW5Qcm9ncmVzc1VzZXJJZCA9IHRoaXMubW92ZVVzZXIudXNlcmlkO1xyXG4gICAgICB0aGlzLnNldFN0YXR1c1RvVXNlcih0aGlzLm1vdmVVc2VySW5kZXgsICdJbiBQcm9ncmVzcycpO1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMT0NBTF9TVE9SQUdFLlVTRVJfSU5fTUlHUkFUSU9OLCB0aGlzLm1vdmVVc2VyLnVzZXJpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy51c2VyU2VydmljZS5tb3ZlVXNlclRvTVQodGhpcy5jdXN0b21lcklkLCB0aGlzLm1vdmVVc2VyKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXJNb3ZlZCQubmV4dCh0cnVlKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucmVtb3ZlVXNlckluTWlncmF0aW9uUHJvZ3Jlc3MoKTtcclxuICAgICAgICB0aGlzLnNldFN0YXR1c1RvVXNlcih0aGlzLm1vdmVVc2VySW5kZXgsICdNaWdyYXRpb24gRXJyb3InKTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxhcHAtbG9hZGVyICpuZ0lmPVwiZGF0YVBlbmRpbmdcIj48L2FwcC1sb2FkZXI+XHJcbjxkaXYgKm5nSWY9XCIhc2hvd01vdmVVc2VyV2l6YXJkXCIgaWQ9XCJ1c2Vycy1saXN0XCI+XHJcbiAgPGFwcC1wYWdpbmF0aW9uXHJcbiAgICBbcGFnaW5hdGlvbl09XCJ1c2Vyc1NlYXJjaFNlcnZpY2UuZ2V0UGFnaW5hdGlvbigpXCJcclxuICAgIFtzaG93UGFnZVNpemVPcHRpb25zXT1cInRydWVcIlxyXG4gICAgKHBhZ2VOdW1iZXJDaGFuZ2VFbWl0dGVyKT1cInBhZ2VOdW1iZXJDaGFuZ2VFdmVudCgkZXZlbnQpXCJcclxuICAgIChwYWdlRW1pdHRlcik9XCJwYWdlRXZlbnQoJGV2ZW50KVwiPlxyXG4gIDwvYXBwLXBhZ2luYXRpb24+XHJcbiAgPHRhYmxlIGNsYXNzPVwid2ViZXgtdGFibGVcIiBtYXQtdGFibGUgKm5nSWY9XCJ1c2Vycz8ubGVuZ3RoXCIgI3RhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVzZXItaWNvblwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwid2ViZXgtdGFibGUtdGhcIj48L3RoPlxyXG4gICAgICA8dGQgY2xhc3M9XCJ1c2VyLXNpdGVcIiBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtdXNlci1yb3cnOiBtb3ZlVXNlclBlbmRpbmcgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgPT09IHVzZXI/LnVzZXJpZH1cIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVXNlckNsaWNrKHVzZXIpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLXdlYmV4LWJveFwiPjxzcGFuIGNsYXNzPVwiaWNvbi13ZWJleCBpY29uLXdlYmV4LXVzZXJcIj48L3NwYW4+PC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJ3ZWJleC10YWJsZS10aFwiPkZpcnN0IC8gTGFzdCBOYW1lPC90aD5cclxuICAgICAgPHRkIGNsYXNzPVwidXNlci1zaXRlXCIgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLXVzZXItcm93JzogbW92ZVVzZXJQZW5kaW5nICYmIG1vdmVJblByb2dyZXNzVXNlcklkICYmIG1vdmVJblByb2dyZXNzVXNlcklkID09PSB1c2VyPy51c2VyaWR9XCJcclxuICAgICAgICAgIChjbGljayk9XCJvblVzZXJDbGljayh1c2VyKVwiPiB7eyB1c2VyLmZpcnN0TmFtZSB9fSB7eyB1c2VyLmxhc3ROYW1lIH19XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImVtYWlsXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJ3ZWJleC10YWJsZS10aFwiPkVtYWlsPC90aD5cclxuICAgICAgPHRkIGNsYXNzPVwidXNlci1zaXRlXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZC11c2VyLXJvdyc6IG1vdmVVc2VyUGVuZGluZyAmJiBtb3ZlSW5Qcm9ncmVzc1VzZXJJZCAmJiBtb3ZlSW5Qcm9ncmVzc1VzZXJJZCA9PT0gdXNlcj8udXNlcmlkfVwiXHJcbiAgICAgICAgICBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCIgKGNsaWNrKT1cIm9uVXNlckNsaWNrKHVzZXIpXCI+XHJcbiAgICAgICAge3sgdXNlci5lbWFpbCB9fVxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGF0dXNcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cIndlYmV4LXRhYmxlLXRoXCI+U3RhdHVzPC90aD5cclxuICAgICAgPHRkIGNsYXNzPVwidXNlci1zaXRlXCIgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkLXVzZXItcm93JzogbW92ZVVzZXJQZW5kaW5nICYmIG1vdmVJblByb2dyZXNzVXNlcklkICYmIG1vdmVJblByb2dyZXNzVXNlcklkID09PSB1c2VyPy51c2VyaWR9XCJcclxuICAgICAgICAgIChjbGljayk9XCJvblVzZXJDbGljayh1c2VyKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi11c2VyLXN0YXR1cyBpY29uLXVzZXItc3RhdHVzLWFjdGl2ZVwiPjwvc3Bhbj57e3VzZXIuc3RhdHVzfX1cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwid2ViZXgtdGFibGUtdGhcIj48L3RoPlxyXG4gICAgICA8dGQgY2xhc3M9XCJ1c2VyLXNpdGVcIiBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyLCBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQtdXNlci1yb3cnOiBtb3ZlVXNlclBlbmRpbmcgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgPT09IHVzZXI/LnVzZXJpZH1cIj5cclxuICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY2xhc3M9XCJmaWVsZC1zcGlubmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInVzZXIuc3RhdHVzID09PSAnSW4gUHJvZ3Jlc3MnXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIShtb3ZlVXNlclBlbmRpbmcgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgJiYgbW92ZUluUHJvZ3Jlc3NVc2VySWQgPT09IHVzZXI/LnVzZXJpZClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tYWN0aW9uLWRvdFwiIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tYWN0aW9ucy1kb3RzXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1kb3RcIj4uPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tZG90XCI+Ljwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWRvdFwiPi48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2Rpc2FibGVkXT1cInRydWVcIj5SZXNlbmQgSW52aXRhdGlvbjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtkaXNhYmxlZF09XCJ0cnVlXCI+UmVzZXQgUGFzc3dvcmQ8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIhdXNlci5pc01pZ3JhdGVkXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib25Nb3ZlVXNlcih1c2VyLCBpLCAnUXVpY2tNb3ZlJylcIj5RdWljayBNb3ZlIFVzZXIgVNedIE1UPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIXVzZXIuaXNNaWdyYXRlZFwiIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cIm9uTW92ZVVzZXIodXNlciwgaSwgJ01UJylcIj5Nb3ZlIFVzZXIgdG8gTVQ8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1c2VyLmlzTWlncmF0ZWRcIiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvbk1vdmVVc2VyKHVzZXIsIGksICdESScpXCI+UmV2ZXJ0IFVzZXIgdG8gVUNNL0RJPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW2Rpc2FibGVkXT1cInRydWVcIj5EZWFjdGl2YXRlIFVzZXI8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwidHJ1ZVwiPkRlbGV0ZSBVc2VyPC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwicm9sZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwid2ViZXgtdGFibGUtdGhcIj5BZG1pbmlzdHJhdG9yIFJvbGU8L3RoPlxyXG4gICAgICA8dGQgY2xhc3M9XCJ1c2VyLXNpdGVcIiBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCIgKGNsaWNrKT1cIm9uVXNlckNsaWNrKHVzZXIpXCI+e3sgdXNlci5yb2xlTmFtZSB8fCAnJyB9fTwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XHJcbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG4gIDwvdGFibGU+XHJcbjwvZGl2PlxyXG5cclxuPGFwcC1tb3ZlLXVzZXItd2l6YXJkICpuZ0lmPVwic2hvd01vdmVVc2VyV2l6YXJkXCIgW3VzZXJdPVwibW92ZVVzZXJcIiAoZG9uZSk9XCJjbG9zZU1vdmVVc2VyV2l6YXJkKHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21lcklkXT1cImN1c3RvbWVySWRcIiAocnVuTW92ZVVzZXIpPVwicnVuTW92ZVVzZXJUb01UKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsb3NlTW92ZVVzZXJXaXphcmQpPVwiY2xvc2VNb3ZlVXNlcldpemFyZChmYWxzZSlcIj48L2FwcC1tb3ZlLXVzZXItd2l6YXJkPlxyXG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { UsersListComponent } from './users-list.component';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { BrowserModule } from '@angular/platform-browser';
|
|
6
|
+
import { MaterialModule } from './material.module';
|
|
7
|
+
import { PaginationComponent } from './utils/pagination/pagination.component';
|
|
8
|
+
import { UserService } from './services/user.service';
|
|
9
|
+
import { APIService } from './services/api.service';
|
|
10
|
+
import { EventsCommunicationService } from './services/events-communication.service';
|
|
11
|
+
import { UsersSearchService } from './services/users-search.service';
|
|
12
|
+
import { NotificationService } from './services/notification.service';
|
|
13
|
+
import { RemoveKynFromIBMService } from './services/removeKynFromIBM.service';
|
|
14
|
+
import { HttpClientModule } from '@angular/common/http';
|
|
15
|
+
import { ApiWebexService } from './services/api-webex.service';
|
|
16
|
+
import { AppLoaderComponent } from './utils/app-loader/app-loader';
|
|
17
|
+
import { MoveUserWizardComponent } from './move-user-wizard/move-user-wizard.component';
|
|
18
|
+
import { MoveUserStepperComponent } from './move-user-wizard/move-user-stepper/move-user-stepper.component';
|
|
19
|
+
import { UserListConfirmDialogComponent } from './user-list-confirm-dialog/user-list-confirm-dialog.component';
|
|
20
|
+
import { DnsService } from './services/dns.service';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
export class UsersListModule {
|
|
23
|
+
}
|
|
24
|
+
UsersListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
UsersListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, declarations: [UsersListComponent,
|
|
26
|
+
PaginationComponent,
|
|
27
|
+
AppLoaderComponent,
|
|
28
|
+
MoveUserWizardComponent,
|
|
29
|
+
MoveUserStepperComponent,
|
|
30
|
+
UserListConfirmDialogComponent], imports: [BrowserModule,
|
|
31
|
+
FormsModule,
|
|
32
|
+
ReactiveFormsModule,
|
|
33
|
+
HttpClientModule,
|
|
34
|
+
MaterialModule], exports: [UsersListComponent] });
|
|
35
|
+
UsersListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, providers: [
|
|
36
|
+
UserService,
|
|
37
|
+
APIService,
|
|
38
|
+
EventsCommunicationService,
|
|
39
|
+
UsersSearchService,
|
|
40
|
+
NotificationService,
|
|
41
|
+
RemoveKynFromIBMService,
|
|
42
|
+
ApiWebexService,
|
|
43
|
+
DnsService
|
|
44
|
+
], imports: [BrowserModule,
|
|
45
|
+
FormsModule,
|
|
46
|
+
ReactiveFormsModule,
|
|
47
|
+
HttpClientModule,
|
|
48
|
+
MaterialModule] });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UsersListModule, decorators: [{
|
|
50
|
+
type: NgModule,
|
|
51
|
+
args: [{
|
|
52
|
+
declarations: [
|
|
53
|
+
UsersListComponent,
|
|
54
|
+
PaginationComponent,
|
|
55
|
+
AppLoaderComponent,
|
|
56
|
+
MoveUserWizardComponent,
|
|
57
|
+
MoveUserStepperComponent,
|
|
58
|
+
UserListConfirmDialogComponent
|
|
59
|
+
],
|
|
60
|
+
imports: [
|
|
61
|
+
BrowserModule,
|
|
62
|
+
FormsModule,
|
|
63
|
+
ReactiveFormsModule,
|
|
64
|
+
HttpClientModule,
|
|
65
|
+
MaterialModule
|
|
66
|
+
],
|
|
67
|
+
providers: [
|
|
68
|
+
UserService,
|
|
69
|
+
APIService,
|
|
70
|
+
EventsCommunicationService,
|
|
71
|
+
UsersSearchService,
|
|
72
|
+
NotificationService,
|
|
73
|
+
RemoveKynFromIBMService,
|
|
74
|
+
ApiWebexService,
|
|
75
|
+
DnsService
|
|
76
|
+
],
|
|
77
|
+
exports: [UsersListComponent]
|
|
78
|
+
}]
|
|
79
|
+
}] });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXNlcnMtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBK0JwRCxNQUFNLE9BQU8sZUFBZTs7NkdBQWYsZUFBZTs4R0FBZixlQUFlLGlCQTFCeEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qiw4QkFBOEIsYUFHOUIsYUFBYTtRQUNiLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGNBQWMsYUFZTixrQkFBa0I7OEdBRWpCLGVBQWUsYUFaZjtRQUNULFdBQVc7UUFDWCxVQUFVO1FBQ1YsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLGVBQWU7UUFDZixVQUFVO0tBQ1gsWUFmQyxhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsY0FBYzs0RkFjTCxlQUFlO2tCQTVCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLDhCQUE4QjtxQkFDL0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGdCQUFnQjt3QkFDaEIsY0FBYztxQkFDZjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixVQUFVO3FCQUNYO29CQUNELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vdXNlcnMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdXRpbHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEV2ZW50c0NvbW11bmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9ldmVudHMtY29tbXVuaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlcnNTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91c2Vycy1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVtb3ZlS3luRnJvbUlCTVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3JlbW92ZUt5bkZyb21JQk0uc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXBpLXdlYmV4LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3V0aWxzL2FwcC1sb2FkZXIvYXBwLWxvYWRlcic7XHJcbmltcG9ydCB7IE1vdmVVc2VyV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9tb3ZlLXVzZXItd2l6YXJkL21vdmUtdXNlci13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTW92ZVVzZXJTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9tb3ZlLXVzZXItd2l6YXJkL21vdmUtdXNlci1zdGVwcGVyL21vdmUtdXNlci1zdGVwcGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVzZXJMaXN0Q29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1saXN0LWNvbmZpcm0tZGlhbG9nL3VzZXItbGlzdC1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEbnNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9kbnMuc2VydmljZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFVzZXJzTGlzdENvbXBvbmVudCxcclxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXHJcbiAgICBBcHBMb2FkZXJDb21wb25lbnQsXHJcbiAgICBNb3ZlVXNlcldpemFyZENvbXBvbmVudCxcclxuICAgIE1vdmVVc2VyU3RlcHBlckNvbXBvbmVudCxcclxuICAgIFVzZXJMaXN0Q29uZmlybURpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQnJvd3Nlck1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBVc2VyU2VydmljZSxcclxuICAgIEFQSVNlcnZpY2UsXHJcbiAgICBFdmVudHNDb21tdW5pY2F0aW9uU2VydmljZSxcclxuICAgIFVzZXJzU2VhcmNoU2VydmljZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBSZW1vdmVLeW5Gcm9tSUJNU2VydmljZSxcclxuICAgIEFwaVdlYmV4U2VydmljZSxcclxuICAgIERuc1NlcnZpY2VcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtVc2Vyc0xpc3RDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc0xpc3RNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
4
|
+
export class AppLoaderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"120\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}\n"] }]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2Vycy1saXN0L3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCO0lBQ0EsQ0FBQzs7Z0hBRlUsa0JBQWtCO29HQUFsQixrQkFBa0Isa0RDUi9CLGdMQU1BOzRGREVhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcExvYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxyXG4gIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxyXG4gICAgY2xhc3M9XCJwYWdlLXNwaW5uZXJcIlxyXG4gICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxyXG4gICAgW2RpYW1ldGVyXT1cIjEyMFwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const getSavableData = (model, exclude) => {
|
|
2
|
+
let result = Object.keys(model);
|
|
3
|
+
if (exclude && exclude.length) {
|
|
4
|
+
result = result.filter(key => !exclude.some(item => item === key));
|
|
5
|
+
}
|
|
6
|
+
return result.reduce((result, key) => {
|
|
7
|
+
if (model[key] instanceof Array && model[key].length && model[key][0].getSavableData) {
|
|
8
|
+
result[key] = model[key].map((item) => item.getSavableData());
|
|
9
|
+
}
|
|
10
|
+
else if (model[key] instanceof Object && model[key].getSavableData) {
|
|
11
|
+
result[key] = model[key].getSavableData();
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
result[key] = model[key];
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
}, {});
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2Vycy1saXN0L3NyYy91dGlscy9jb21tb24tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDcEUsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNuRixNQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDN0U7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNuRSxNQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3BEO2FBQU07WUFDSixNQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGdldFNhdmFibGVEYXRhID0gKG1vZGVsOiBhbnksIGV4Y2x1ZGU/OiBBcnJheTxzdHJpbmc+KSA9PiB7XHJcbiAgbGV0IHJlc3VsdCA9IE9iamVjdC5rZXlzKG1vZGVsKTtcclxuICBpZiAoZXhjbHVkZSAmJiBleGNsdWRlLmxlbmd0aCkge1xyXG4gICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihrZXkgPT4gIWV4Y2x1ZGUuc29tZShpdGVtID0+IGl0ZW0gPT09IGtleSkpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0LnJlZHVjZSgocmVzdWx0LCBrZXkpID0+IHtcclxuICAgIGlmIChtb2RlbFtrZXldIGluc3RhbmNlb2YgQXJyYXkgJiYgbW9kZWxba2V5XS5sZW5ndGggJiYgbW9kZWxba2V5XVswXS5nZXRTYXZhYmxlRGF0YSkge1xyXG4gICAgICAocmVzdWx0IGFzIGFueSlba2V5XSA9IG1vZGVsW2tleV0ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uZ2V0U2F2YWJsZURhdGEoKSk7XHJcbiAgICB9IGVsc2UgaWYgKG1vZGVsW2tleV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgbW9kZWxba2V5XS5nZXRTYXZhYmxlRGF0YSkge1xyXG4gICAgICAocmVzdWx0IGFzIGFueSlba2V5XSA9IG1vZGVsW2tleV0uZ2V0U2F2YWJsZURhdGEoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIChyZXN1bHQgYXMgYW55KVtrZXldID0gbW9kZWxba2V5XTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfSwge30pO1xyXG59O1xyXG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { PAGINATION_SIZE_OPTIONS } from '../../app.constants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/progress-spinner";
|
|
7
|
+
import * as i4 from "@angular/material/core";
|
|
8
|
+
import * as i5 from "@angular/material/select";
|
|
9
|
+
import * as i6 from "@angular/material/paginator";
|
|
10
|
+
export class PaginationComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.pageEmitter = new EventEmitter();
|
|
13
|
+
this.pageNumberChangeEmitter = new EventEmitter();
|
|
14
|
+
this.pageSizeOptions = PAGINATION_SIZE_OPTIONS;
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
}
|
|
18
|
+
pageEvent(event) {
|
|
19
|
+
this.pageEmitter.emit(event);
|
|
20
|
+
}
|
|
21
|
+
changePerPageNumber(event) {
|
|
22
|
+
this.pageNumberChangeEmitter.emit(event.value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
+
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PaginationComponent, selector: "app-pagination", inputs: { pagination: "pagination", showPageSizeOptions: "showPageSizeOptions", showRefreshButton: "showRefreshButton", lengthPending: "lengthPending" }, outputs: { pageEmitter: "pageEmitter", pageNumberChangeEmitter: "pageNumberChangeEmitter" }, ngImport: i0, template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
28
|
+
type: Component,
|
|
29
|
+
args: [{ selector: 'app-pagination', template: "<div class=\"flex-box pagination\">\r\n <div class=\"page-indexes-box\">\r\n <mat-paginator\r\n [id]=\"'commonPagination'\"\r\n [hidePageSize]=\"true\"\r\n [length]=\"pagination.total\"\r\n [pageIndex]=\"pagination.pageIndex\"\r\n [pageSize]=\"pagination.pageSize\"\r\n [pageSizeOptions]=\"pagination.pageSizeOptions\"\r\n (page)=\"pageEvent($event)\">\r\n </mat-paginator>\r\n <mat-spinner class=\"length-spinner\" [diameter]=\"20\" mode=\"indeterminate\" *ngIf=\"lengthPending\">\r\n </mat-spinner>\r\n </div>\r\n\r\n <div class=\"flex-box per-page-block\" *ngIf=\"showPageSizeOptions\">\r\n <div class=\"item_per_page\">Items per page:</div>\r\n <div class=\"select-box select-page-size\">\r\n <mat-select [(ngModel)]=\"pagination.pageSize\" (selectionChange)=\"changePerPageNumber($event)\" #page\r\n [id]=\"'commonPaginationSelect'\">\r\n <mat-option *ngFor=\"let option of pageSizeOptions; let i = index;\" [id]=\"'paginationSelectOpt_' + i\" [value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: [".search-header-refresh-icon{align-items:center;line-height:54px;margin-left:10px}button[mat-icon-button] i{font-size:18px}mat-spinner.length-spinner{position:absolute;right:120px}h3,.search-header-refresh-icon{float:left}.page-options,.mat-paginator{float:right}.per-page-block mat-form-field{width:70px!important}.per-page-block span{margin-right:20px}.pagination{display:flex;justify-content:flex-end}.select-page-size{width:60px;margin:0 0 0 15px;padding:0 10px}.item_per_page{line-height:35px}\n"] }]
|
|
30
|
+
}], ctorParameters: function () { return []; }, propDecorators: { pagination: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}], showPageSizeOptions: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], showRefreshButton: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}], lengthPending: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], pageEmitter: [{
|
|
39
|
+
type: Output
|
|
40
|
+
}], pageNumberChangeEmitter: [{
|
|
41
|
+
type: Output
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvdXRpbHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2Vycy1saXN0L3NyYy91dGlscy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFROUQsTUFBTSxPQUFPLG1CQUFtQjtJQWU5QjtRQUxPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqQyw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xELG9CQUFlLEdBQWEsdUJBQXVCLENBQUM7SUFJM0QsQ0FBQztJQUVELFFBQVE7SUFDUixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQVU7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7aUhBNUJVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLDZTQ1ZoQyx5bkNBMEJBOzRGRGhCYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzBFQU1uQixVQUFVO3NCQURoQixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFHQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBR0MsYUFBYTtzQkFEbkIsS0FBSztnQkFHQyxXQUFXO3NCQURqQixNQUFNO2dCQUdBLHVCQUF1QjtzQkFEN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkRhdGFEdG8gfSBmcm9tICcuLi8uLi9jbGFzc2VzL3BhZ2luYXRpb24nO1xyXG5pbXBvcnQgeyBQQUdJTkFUSU9OX1NJWkVfT1BUSU9OUyB9IGZyb20gJy4uLy4uL2FwcC5jb25zdGFudHMnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXBhZ2luYXRpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhZ2luYXRpb24hOiBQYWdpbmF0aW9uRGF0YUR0bztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UGFnZVNpemVPcHRpb25zITogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVmcmVzaEJ1dHRvbiE6IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVuZ3RoUGVuZGluZyE6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBhZ2VFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBwYWdlTnVtYmVyQ2hhbmdlRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdID0gUEFHSU5BVElPTl9TSVpFX09QVElPTlM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGFnZUV2ZW50KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZUVtaXR0ZXIuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlUGVyUGFnZU51bWJlcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXJDaGFuZ2VFbWl0dGVyLmVtaXQoZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXgtYm94IHBhZ2luYXRpb25cIj5cclxuICA8ZGl2IGNsYXNzPVwicGFnZS1pbmRleGVzLWJveFwiPlxyXG4gICAgPG1hdC1wYWdpbmF0b3JcclxuICAgICAgW2lkXT1cIidjb21tb25QYWdpbmF0aW9uJ1wiXHJcbiAgICAgIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiXHJcbiAgICAgIFtsZW5ndGhdPVwicGFnaW5hdGlvbi50b3RhbFwiXHJcbiAgICAgIFtwYWdlSW5kZXhdPVwicGFnaW5hdGlvbi5wYWdlSW5kZXhcIlxyXG4gICAgICBbcGFnZVNpemVdPVwicGFnaW5hdGlvbi5wYWdlU2l6ZVwiXHJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnaW5hdGlvbi5wYWdlU2l6ZU9wdGlvbnNcIlxyXG4gICAgICAocGFnZSk9XCJwYWdlRXZlbnQoJGV2ZW50KVwiPlxyXG4gICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gICAgPG1hdC1zcGlubmVyIGNsYXNzPVwibGVuZ3RoLXNwaW5uZXJcIiBbZGlhbWV0ZXJdPVwiMjBcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwibGVuZ3RoUGVuZGluZ1wiPlxyXG4gICAgPC9tYXQtc3Bpbm5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZsZXgtYm94IHBlci1wYWdlLWJsb2NrXCIgKm5nSWY9XCJzaG93UGFnZVNpemVPcHRpb25zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaXRlbV9wZXJfcGFnZVwiPkl0ZW1zIHBlciBwYWdlOjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1ib3ggc2VsZWN0LXBhZ2Utc2l6ZVwiPlxyXG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInBhZ2luYXRpb24ucGFnZVNpemVcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cImNoYW5nZVBlclBhZ2VOdW1iZXIoJGV2ZW50KVwiICNwYWdlXHJcbiAgICAgICAgICAgICAgICAgIFtpZF09XCInY29tbW9uUGFnaW5hdGlvblNlbGVjdCdcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHBhZ2VTaXplT3B0aW9uczsgbGV0IGkgPSBpbmRleDtcIiBbaWRdPVwiJ3BhZ2luYXRpb25TZWxlY3RPcHRfJyArIGlcIiBbdmFsdWVdPVwib3B0aW9uXCI+e3tvcHRpb259fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|