ngx-techlify-core 15.0.2 → 16.0.1
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/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +135 -0
- package/{esm2020 → esm2022}/lib/access-control-config/access-control-config-routing.module.mjs +5 -5
- package/esm2022/lib/access-control-config/access-control-config.component.mjs +137 -0
- package/esm2022/lib/access-control-config/access-control-config.model.mjs +34 -0
- package/{esm2020 → esm2022}/lib/access-control-config/access-control-config.module.mjs +24 -24
- package/esm2022/lib/access-control-config/access-control-config.service.mjs +32 -0
- package/esm2022/lib/action-popup/action-popup.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/action-popup/action-popup.model.mjs +4 -1
- package/{esm2020 → esm2022}/lib/action-popup/action-popup.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +146 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +79 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +55 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +60 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/audit-log/audit-log.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +5 -5
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +40 -0
- package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +11 -11
- package/esm2022/lib/base-model/techlify-form-component.class.mjs +52 -0
- package/esm2022/lib/base-model/techlify-listing-component.class.mjs +64 -0
- package/esm2022/lib/base-model/techlify-service.class.mjs +69 -0
- package/{esm2020 → esm2022}/lib/change-password/change-password-routing.module.mjs +5 -5
- package/esm2022/lib/change-password/change-password.component.mjs +96 -0
- package/{esm2020 → esm2022}/lib/change-password/change-password.module.mjs +19 -19
- package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +36 -0
- package/{esm2020 → esm2022}/lib/column-selector/column-selector.module.mjs +13 -13
- package/esm2022/lib/core/alert.service.mjs +39 -0
- package/esm2022/lib/core/api-prefix.interceptor.mjs +27 -0
- package/esm2022/lib/core/authentication.guard.mjs +37 -0
- package/esm2022/lib/core/authentication.service.mjs +65 -0
- package/esm2022/lib/core/cache.interceptor.mjs +59 -0
- package/esm2022/lib/core/config.service.mjs +46 -0
- package/esm2022/lib/core/core.module.mjs +63 -0
- package/esm2022/lib/core/credentials.service.mjs +80 -0
- package/esm2022/lib/core/dataManager.service.mjs +120 -0
- package/esm2022/lib/core/error-handler.interceptor.mjs +50 -0
- package/esm2022/lib/core/error-handler.service.mjs +57 -0
- package/esm2022/lib/core/filter.service.mjs +39 -0
- package/{esm2020 → esm2022}/lib/core/form-validator.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/core/header.interceptor.mjs +4 -4
- package/esm2022/lib/core/http-cache.service.mjs +110 -0
- package/esm2022/lib/core/http.service.mjs +89 -0
- package/esm2022/lib/core/logger.service.mjs +101 -0
- package/{esm2020 → esm2022}/lib/core/route-reusable-strategy.mjs +4 -4
- package/esm2022/lib/core/snack/snack.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/core/snack/snack.module.mjs +11 -11
- package/esm2022/lib/core/storage.service.mjs +38 -0
- package/esm2022/lib/core/techlify-config.model.mjs +30 -0
- package/esm2022/lib/core/token.interceptor.mjs +29 -0
- package/esm2022/lib/data-table/data-table.component.mjs +211 -0
- package/esm2022/lib/data-table/data-table.model.mjs +46 -0
- package/{esm2020 → esm2022}/lib/data-table/data-table.module.mjs +11 -11
- package/esm2022/lib/document-viewer/document-viewer.component.mjs +69 -0
- package/{esm2020 → esm2022}/lib/document-viewer/document-viewer.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/document-viewer/viewer-config.model.mjs +4 -1
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +77 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +118 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +164 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +7 -7
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +114 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +169 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +5 -5
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +7 -7
- package/{esm2020 → esm2022}/lib/email-subscription/email-subscription.module.mjs +7 -7
- package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +174 -0
- package/esm2022/lib/entity-files/entity-file.service.mjs +37 -0
- package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +364 -0
- package/{esm2020 → esm2022}/lib/entity-files/entity-files-view-all.module.mjs +29 -29
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/export-excel/export-excel.module.mjs +7 -7
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +92 -0
- package/{esm2020 → esm2022}/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +13 -13
- package/esm2022/lib/file-dropper/file-dropper.component.mjs +129 -0
- package/esm2022/lib/file-dropper/file-dropper.model.mjs +11 -0
- package/{esm2020 → esm2022}/lib/file-dropper/file-dropper.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/forgot-password/forgot-password-routing.module.mjs +5 -5
- package/esm2022/lib/forgot-password/forgot-password.component.mjs +81 -0
- package/{esm2020 → esm2022}/lib/forgot-password/forgot-password.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/import-csv/data-import/data-import.component.mjs +5 -4
- package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +38 -0
- package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +160 -0
- package/esm2022/lib/import-csv/import-csv.component.mjs +207 -0
- package/{esm2020 → esm2022}/lib/import-csv/import-csv.module.mjs +28 -28
- package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +75 -0
- package/esm2022/lib/import-csv/import-success/import-success.component.mjs +26 -0
- package/{esm2020 → esm2022}/lib/ip-address-selector/ip-address-selector.module.mjs +17 -17
- package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +108 -0
- package/esm2022/lib/loader/loader.component.mjs +23 -0
- package/{esm2020 → esm2022}/lib/loader/loader.module.mjs +7 -7
- package/{esm2020 → esm2022}/lib/login/login-routing.module.mjs +5 -5
- package/esm2022/lib/login/login.component.mjs +170 -0
- package/{esm2020 → esm2022}/lib/login/login.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user-routing.module.mjs +5 -5
- package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +96 -0
- package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/material.module.mjs +53 -53
- package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +7 -7
- package/esm2022/lib/note/comment-form/comment-form.component.mjs +82 -0
- package/esm2022/lib/note/note-form/note-form.component.mjs +88 -0
- package/esm2022/lib/note/note-list/note-list.component.mjs +153 -0
- package/{esm2020 → esm2022}/lib/note/note.module.mjs +19 -19
- package/esm2022/lib/note/note.service.mjs +30 -0
- package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +104 -0
- package/{esm2020 → esm2022}/lib/number-input-button/number-input-button.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/password-requirement-check/password-check.service.mjs +4 -4
- package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +50 -0
- package/{esm2020 → esm2022}/lib/password-requirement-check/password-requirement-check.module.mjs +5 -5
- package/esm2022/lib/profile/profile-edit.component.mjs +84 -0
- package/{esm2020 → esm2022}/lib/profile/profile-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/profile/profile.module.mjs +11 -11
- package/esm2022/lib/read-more/read-more.component.mjs +44 -0
- package/{esm2020 → esm2022}/lib/read-more/read-more.module.mjs +9 -9
- package/esm2022/lib/request-helper/request-helper.service.mjs +107 -0
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +93 -0
- package/{esm2020 → esm2022}/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +11 -11
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +20 -0
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +93 -0
- package/{esm2020 → esm2022}/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +9 -9
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +20 -0
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +94 -0
- package/{esm2020 → esm2022}/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +11 -11
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +20 -0
- package/esm2022/lib/restrictors/restrictor.service.mjs +20 -0
- package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +111 -0
- package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +49 -0
- package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +152 -0
- package/{esm2020 → esm2022}/lib/restrictors/restrictors-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/restrictors/restrictors.module.mjs +43 -43
- package/{esm2020 → esm2022}/lib/role/permission/permission.model.mjs +4 -1
- package/{esm2020 → esm2022}/lib/role/permission/permission.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/role/permission/permission.routes.mjs +5 -5
- package/esm2022/lib/role/permission/permissions-management.component.mjs +127 -0
- package/esm2022/lib/role/role-form.component.mjs +109 -0
- package/esm2022/lib/role/role-view/role-view.component.mjs +44 -0
- package/esm2022/lib/role/role.model.mjs +66 -0
- package/{esm2020 → esm2022}/lib/role/role.module.mjs +21 -21
- package/{esm2020 → esm2022}/lib/role/role.routes.mjs +5 -5
- package/esm2022/lib/role/role.service.mjs +27 -0
- package/esm2022/lib/role/roles-view-all.component.mjs +140 -0
- package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +360 -0
- package/{esm2020 → esm2022}/lib/searchable-selector/searchable-selector.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/signup/signup-routing.module.mjs +5 -5
- package/esm2022/lib/signup/signup.component.mjs +87 -0
- package/{esm2020 → esm2022}/lib/signup/signup.module.mjs +11 -11
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +73 -0
- package/{esm2020 → esm2022}/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +9 -9
- package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +27 -0
- package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +79 -0
- package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +179 -0
- package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.module.mjs +17 -17
- package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +27 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +109 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +180 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +131 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +186 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +72 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.mjs +15 -15
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.mjs +19 -19
- package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +6 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +111 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +171 -0
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-user-status.model.mjs +3 -3
- package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification.module.mjs +7 -7
- package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +24 -0
- package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +301 -0
- package/{esm2020 → esm2022}/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +13 -13
- package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +189 -0
- package/{esm2020 → esm2022}/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +17 -17
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +124 -0
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +13 -13
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +5 -5
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +151 -0
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-routing.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-update.module.mjs +21 -21
- package/esm2022/lib/techlify-update/techlify-update.service.mjs +42 -0
- package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +169 -0
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +63 -0
- package/{esm2020 → esm2022}/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +11 -11
- package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +85 -0
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +57 -0
- package/{esm2020 → esm2022}/lib/techlify-update/update-notifier/update-notifier.module.mjs +13 -13
- package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/techlify-update/update-view/update-view.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter-routing.module.mjs +5 -5
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +253 -0
- package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter.module.mjs +25 -25
- package/esm2022/lib/timeline-filter/timeline.model.mjs +18 -0
- package/esm2022/lib/user/current-user.service.mjs +155 -0
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +65 -0
- package/esm2022/lib/user/user-explore.component.mjs +55 -0
- package/esm2022/lib/user/user-form.component.mjs +234 -0
- package/esm2022/lib/user/user-view.component.mjs +76 -0
- package/esm2022/lib/user/user.model.mjs +49 -0
- package/{esm2020 → esm2022}/lib/user/user.module.mjs +42 -42
- package/{esm2020 → esm2022}/lib/user/user.routes.mjs +5 -5
- package/esm2022/lib/user/user.service.mjs +42 -0
- package/esm2022/lib/user/users-view-all.component.mjs +226 -0
- package/esm2022/lib/user-config/user-config.model.mjs +81 -0
- package/esm2022/lib/user-config/user-config.service.mjs +68 -0
- package/esm2022/lib/user-selector/user-data.service.mjs +37 -0
- package/esm2022/lib/user-selector/user-selector.component.mjs +100 -0
- package/{esm2020 → esm2022}/lib/user-selector/user-selector.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/utility/date-utils.service.mjs +4 -4
- package/esm2022/lib/utility/num-items-selector.component.mjs +33 -0
- package/esm2022/lib/utility/number-selector.component.mjs +46 -0
- package/{esm2020 → esm2022}/lib/utility/utility.module.mjs +7 -7
- package/{fesm2020 → fesm2022}/ngx-techlify-core.mjs +3129 -2408
- package/fesm2022/ngx-techlify-core.mjs.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +1 -1
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +1 -1
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +1 -1
- package/lib/column-selector/column-selector/column-selector.component.d.ts +1 -1
- package/lib/data-table/data-table.component.d.ts +1 -1
- package/lib/document-viewer/document-viewer.component.d.ts +1 -1
- package/lib/entity-files/entity-files-view-all.component.d.ts +1 -1
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +1 -1
- package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +1 -1
- package/lib/file-dropper/file-dropper.component.d.ts +1 -1
- package/lib/import-csv/data-import/data-import.component.d.ts +1 -1
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +1 -1
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +1 -1
- package/lib/import-csv/import-csv.component.d.ts +1 -1
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +1 -1
- package/lib/import-csv/import-success/import-success.component.d.ts +1 -1
- package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +1 -1
- package/lib/loader/loader.component.d.ts +1 -1
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +1 -1
- package/lib/note/comment-form/comment-form.component.d.ts +1 -1
- package/lib/note/note-list/note-list.component.d.ts +1 -1
- package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +1 -1
- package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +1 -1
- package/lib/read-more/read-more.component.d.ts +1 -1
- package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +1 -1
- package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +1 -1
- package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +1 -1
- package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +1 -1
- package/lib/role/permission/permissions-management.component.d.ts +1 -1
- package/lib/role/roles-view-all.component.d.ts +1 -1
- package/lib/searchable-selector/searchable-selector.component.d.ts +2 -1
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +1 -1
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +1 -1
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +1 -1
- package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.d.ts +1 -1
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +1 -1
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +1 -1
- package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +1 -1
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +1 -1
- package/lib/timeline-filter/timeline-filter.component.d.ts +1 -1
- package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +1 -1
- package/lib/user/user-form.component.d.ts +1 -1
- package/lib/user/users-view-all.component.d.ts +1 -1
- package/lib/user-selector/user-selector.component.d.ts +1 -1
- package/lib/utility/num-items-selector.component.d.ts +1 -1
- package/lib/utility/number-selector.component.d.ts +1 -1
- package/package.json +19 -25
- package/esm2020/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -127
- package/esm2020/lib/access-control-config/access-control-config.component.mjs +0 -131
- package/esm2020/lib/access-control-config/access-control-config.model.mjs +0 -21
- package/esm2020/lib/access-control-config/access-control-config.service.mjs +0 -31
- package/esm2020/lib/action-popup/action-popup.component.mjs +0 -34
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -51
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -139
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -74
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -51
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -56
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -37
- package/esm2020/lib/base-model/techlify-form-component.class.mjs +0 -49
- package/esm2020/lib/base-model/techlify-listing-component.class.mjs +0 -65
- package/esm2020/lib/base-model/techlify-service.class.mjs +0 -68
- package/esm2020/lib/change-password/change-password.component.mjs +0 -87
- package/esm2020/lib/column-selector/column-selector/column-selector.component.mjs +0 -37
- package/esm2020/lib/core/alert.service.mjs +0 -38
- package/esm2020/lib/core/api-prefix.interceptor.mjs +0 -26
- package/esm2020/lib/core/authentication.guard.mjs +0 -35
- package/esm2020/lib/core/authentication.service.mjs +0 -62
- package/esm2020/lib/core/cache.interceptor.mjs +0 -58
- package/esm2020/lib/core/config.service.mjs +0 -45
- package/esm2020/lib/core/core.module.mjs +0 -63
- package/esm2020/lib/core/credentials.service.mjs +0 -79
- package/esm2020/lib/core/dataManager.service.mjs +0 -119
- package/esm2020/lib/core/error-handler.interceptor.mjs +0 -48
- package/esm2020/lib/core/error-handler.service.mjs +0 -55
- package/esm2020/lib/core/filter.service.mjs +0 -37
- package/esm2020/lib/core/http-cache.service.mjs +0 -107
- package/esm2020/lib/core/http.service.mjs +0 -84
- package/esm2020/lib/core/logger.service.mjs +0 -100
- package/esm2020/lib/core/snack/snack.component.mjs +0 -33
- package/esm2020/lib/core/storage.service.mjs +0 -38
- package/esm2020/lib/core/techlify-config.model.mjs +0 -28
- package/esm2020/lib/core/token.interceptor.mjs +0 -28
- package/esm2020/lib/data-table/data-table.component.mjs +0 -204
- package/esm2020/lib/data-table/data-table.model.mjs +0 -11
- package/esm2020/lib/document-viewer/document-viewer.component.mjs +0 -65
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -76
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -105
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -161
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -101
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -165
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -52
- package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -161
- package/esm2020/lib/entity-files/entity-file.service.mjs +0 -36
- package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +0 -346
- package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -32
- package/esm2020/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -90
- package/esm2020/lib/file-dropper/file-dropper.component.mjs +0 -125
- package/esm2020/lib/file-dropper/file-dropper.model.mjs +0 -3
- package/esm2020/lib/forgot-password/forgot-password.component.mjs +0 -69
- package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -35
- package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -153
- package/esm2020/lib/import-csv/import-csv.component.mjs +0 -199
- package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -71
- package/esm2020/lib/import-csv/import-success/import-success.component.mjs +0 -24
- package/esm2020/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -109
- package/esm2020/lib/loader/loader.component.mjs +0 -23
- package/esm2020/lib/login/login.component.mjs +0 -153
- package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +0 -92
- package/esm2020/lib/note/comment-form/comment-form.component.mjs +0 -77
- package/esm2020/lib/note/note-form/note-form.component.mjs +0 -79
- package/esm2020/lib/note/note-list/note-list.component.mjs +0 -148
- package/esm2020/lib/note/note.service.mjs +0 -29
- package/esm2020/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
- package/esm2020/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -47
- package/esm2020/lib/profile/profile-edit.component.mjs +0 -75
- package/esm2020/lib/read-more/read-more.component.mjs +0 -43
- package/esm2020/lib/request-helper/request-helper.service.mjs +0 -105
- package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
- package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
- package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
- package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
- package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
- package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
- package/esm2020/lib/restrictors/restrictor.service.mjs +0 -19
- package/esm2020/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -102
- package/esm2020/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -44
- package/esm2020/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -143
- package/esm2020/lib/role/permission/permissions-management.component.mjs +0 -114
- package/esm2020/lib/role/role-form.component.mjs +0 -99
- package/esm2020/lib/role/role-view/role-view.component.mjs +0 -39
- package/esm2020/lib/role/role.model.mjs +0 -56
- package/esm2020/lib/role/role.service.mjs +0 -26
- package/esm2020/lib/role/roles-view-all.component.mjs +0 -131
- package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +0 -348
- package/esm2020/lib/signup/signup.component.mjs +0 -78
- package/esm2020/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -68
- package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
- package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -73
- package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -169
- package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +0 -26
- package/esm2020/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +0 -103
- package/esm2020/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -86
- package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +0 -173
- package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +0 -117
- package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +0 -180
- package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +0 -69
- package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +0 -6
- package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +0 -99
- package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +0 -166
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -285
- package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -180
- package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -116
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -145
- package/esm2020/lib/techlify-update/techlify-update.service.mjs +0 -41
- package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -163
- package/esm2020/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -60
- package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -77
- package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
- package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +0 -38
- package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +0 -243
- package/esm2020/lib/timeline-filter/timeline.model.mjs +0 -18
- package/esm2020/lib/user/current-user.service.mjs +0 -151
- package/esm2020/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -59
- package/esm2020/lib/user/user-explore.component.mjs +0 -50
- package/esm2020/lib/user/user-form.component.mjs +0 -219
- package/esm2020/lib/user/user-view.component.mjs +0 -68
- package/esm2020/lib/user/user.model.mjs +0 -30
- package/esm2020/lib/user/user.service.mjs +0 -41
- package/esm2020/lib/user/users-view-all.component.mjs +0 -212
- package/esm2020/lib/user-config/user-config.model.mjs +0 -50
- package/esm2020/lib/user-config/user-config.service.mjs +0 -65
- package/esm2020/lib/user-selector/user-data.service.mjs +0 -35
- package/esm2020/lib/user-selector/user-selector.component.mjs +0 -91
- package/esm2020/lib/utility/num-items-selector.component.mjs +0 -31
- package/esm2020/lib/utility/number-selector.component.mjs +0 -42
- package/fesm2015/ngx-techlify-core.mjs +0 -13476
- package/fesm2015/ngx-techlify-core.mjs.map +0 -1
- package/fesm2020/ngx-techlify-core.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/action-popup/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/base-model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/column-selector/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/date-validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/document-viewer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/entity-files/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/file-dropper/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/forgot-password/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/import-csv/import-csv-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/login/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/note/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/number-input-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/password-requirement-check/password-check-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/profile/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/restrictors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/role/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/searchable-selector/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/signup/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/techlify-company-switcher/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.routing.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/techlify-notifications/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/timeline-filter/calculate-timeline.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/timeline-filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/user/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/user/user-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/user-config/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/user-selector/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utility/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ngx-techlify-core.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { Validators } from '@angular/forms';
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/forms";
|
|
5
|
-
import * as i2 from "../../core";
|
|
6
|
-
import * as i3 from "../access-control-config.service";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "@angular/flex-layout/flex";
|
|
9
|
-
import * as i6 from "@angular/material/button";
|
|
10
|
-
import * as i7 from "@angular/material/form-field";
|
|
11
|
-
import * as i8 from "@angular/material/input";
|
|
12
|
-
import * as i9 from "@angular/material/card";
|
|
13
|
-
import * as i10 from "@angular/material/button-toggle";
|
|
14
|
-
import * as i11 from "@angular/material/progress-bar";
|
|
15
|
-
const errorMessages = {
|
|
16
|
-
max_failed_consecutive_login_attempts: {
|
|
17
|
-
required: 'The max failed consecutive login attempts field is required.',
|
|
18
|
-
},
|
|
19
|
-
max_old_passwords_block: {
|
|
20
|
-
required: 'The max old passwords block field is required.',
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export class AccessControlConfigFormComponent {
|
|
24
|
-
constructor(fb, formValidatorService, alertService, accessControlConfigService, location) {
|
|
25
|
-
this.fb = fb;
|
|
26
|
-
this.formValidatorService = formValidatorService;
|
|
27
|
-
this.alertService = alertService;
|
|
28
|
-
this.accessControlConfigService = accessControlConfigService;
|
|
29
|
-
this.location = location;
|
|
30
|
-
this.createForm();
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create the form instance.
|
|
34
|
-
*
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
37
|
-
createForm() {
|
|
38
|
-
this.configForm = this.fb.group({
|
|
39
|
-
id: [''],
|
|
40
|
-
client_id: [''],
|
|
41
|
-
max_failed_consecutive_login_attempts: [5, Validators.required],
|
|
42
|
-
is_track_old_passwords: [false],
|
|
43
|
-
max_old_passwords_block: [2, Validators.required],
|
|
44
|
-
is_password_require_number: [false],
|
|
45
|
-
is_password_require_symbol: [false],
|
|
46
|
-
is_password_require_capital_letter: [false],
|
|
47
|
-
min_password_length: [5],
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
// fetch the access control config for client
|
|
52
|
-
this.fetchAccessControlConfig();
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Save the access control configuration.
|
|
56
|
-
*/
|
|
57
|
-
submit() {
|
|
58
|
-
if (this.configForm.invalid) {
|
|
59
|
-
this.alertService.addAlert('Please check the form for errors.', 'error');
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const data = { ...this.configForm.value };
|
|
63
|
-
let subscription = this.accessControlConfigService.store(data);
|
|
64
|
-
if (data?.client_id) {
|
|
65
|
-
subscription = this.accessControlConfigService.update(data);
|
|
66
|
-
}
|
|
67
|
-
this.isSaving = true;
|
|
68
|
-
subscription.subscribe({
|
|
69
|
-
next: (response) => {
|
|
70
|
-
this.isSaving = false;
|
|
71
|
-
// update the form with response.
|
|
72
|
-
this.configForm.patchValue({
|
|
73
|
-
...response?.item
|
|
74
|
-
});
|
|
75
|
-
this.alertService.addAlert('Configuration saved successfully', 'success');
|
|
76
|
-
},
|
|
77
|
-
error: () => this.isSaving = false
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
resetFieldValue(field) {
|
|
81
|
-
this.configForm.get(field).setValue('');
|
|
82
|
-
}
|
|
83
|
-
getFieldValue(field) {
|
|
84
|
-
return this.configForm.get(field).value;
|
|
85
|
-
}
|
|
86
|
-
isFieldValid(field) {
|
|
87
|
-
return this.formValidatorService.isFieldValid(field, this.configForm);
|
|
88
|
-
}
|
|
89
|
-
getErrorMessage(field) {
|
|
90
|
-
return this.formValidatorService.getErrorMessage(field, this.configForm, errorMessages);
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Fetch access control config and update the form.
|
|
94
|
-
*
|
|
95
|
-
* @private
|
|
96
|
-
*/
|
|
97
|
-
fetchAccessControlConfig() {
|
|
98
|
-
this.isWorking = true;
|
|
99
|
-
this.accessControlConfigService.index().subscribe({
|
|
100
|
-
next: (response) => {
|
|
101
|
-
this.isWorking = false;
|
|
102
|
-
const data = response?.data;
|
|
103
|
-
// set the defaults
|
|
104
|
-
if (!data?.client_id) {
|
|
105
|
-
data.max_failed_consecutive_login_attempts = 5;
|
|
106
|
-
data.max_old_passwords_block = 2;
|
|
107
|
-
data.min_password_length = 5;
|
|
108
|
-
}
|
|
109
|
-
this.configForm.patchValue(data);
|
|
110
|
-
},
|
|
111
|
-
error: () => this.isWorking = false
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Redirect back to last page.
|
|
116
|
-
*/
|
|
117
|
-
redirectBack() {
|
|
118
|
-
this.location.back();
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
AccessControlConfigFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.AccessControlConfigService }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
AccessControlConfigFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AccessControlConfigFormComponent, selector: "app-access-control-config-form", ngImport: i0, template: "<mat-card fxLayout=\"row\" fxLayoutAlign=\"center\" fxFlexOffset=\"25%\" fxFlex=\"50%\">\n <mat-card-content>\n <form [formGroup]=\"configForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div class=\"text-center\">\n <h2>\n Access Control Configuration\n </h2>\n </div>\n <div class=\"alert alert-warning\" role=\"alert\">\n Be careful with these configurations as they affect all users in your entire app.\n </div>\n <div *ngIf=\"!isWorking\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Max Failed Login Attempts\n </mat-label>\n <input matInput formControlName=\"max_failed_consecutive_login_attempts\"\n placeholder=\"Max Failed Login Attempts\"\n autocomplete=\"off\"\n type=\"number\"\n min=\"0\"\n required />\n <mat-hint>After how many failed login attempts should this user\u2019s account be locked?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_failed_consecutive_login_attempts')\">\n {{getErrorMessage('max_failed_consecutive_login_attempts')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Block x most recent passwords\n </mat-label>\n <input matInput\n formControlName=\"max_old_passwords_block\"\n placeholder=\"Block x most recent passwords\"\n type=\"number\"\n min=\"0\"\n autocomplete=\"off\"\n required />\n <mat-hint>\n How many recent passwords should the system block the user from reusing?\n Example: The user cannot reuse any of his/her last 3 passwords.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_old_passwords_block')\">\n {{getErrorMessage('max_old_passwords_block')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Minimum Password Length\n </mat-label>\n <input matInput\n formControlName=\"min_password_length\"\n placeholder=\"Minimum Password Length\"\n type=\"number\"\n min=\"1\"\n autocomplete=\"off\" />\n <mat-hint>\n What is the minimum length of a user\u2019s password?\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('min_password_length')\">\n {{getErrorMessage('min_password_length')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Track Old Passwords?</p>\n <div>\n <mat-button-toggle-group formControlName=\"is_track_old_passwords\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should our software track old passwords to ensure users do not reuse old passwords?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Number </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_number\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a number in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Symbol </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_symbol\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a symbol in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Capital Letter </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_capital_letter\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a capital letter in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mt-3 mb-3\">\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button [disabled]=\"isSaving\" mat-flat-button type=\"button\" (click)=\"redirectBack()\">\n Cancel\n </button>\n <button [disabled]=\"isSaving\"\n mat-raised-button type=\"submit\" color=\"primary\">\n {{ isSaving ? 'Saving...' : 'Save' }}\n </button>\n </div>\n </div>\n </form>\n </mat-card-content>\n</mat-card>\n", styles: [".custom-hint{font-size:10.5px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i10.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigFormComponent, decorators: [{
|
|
124
|
-
type: Component,
|
|
125
|
-
args: [{ selector: 'app-access-control-config-form', template: "<mat-card fxLayout=\"row\" fxLayoutAlign=\"center\" fxFlexOffset=\"25%\" fxFlex=\"50%\">\n <mat-card-content>\n <form [formGroup]=\"configForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div class=\"text-center\">\n <h2>\n Access Control Configuration\n </h2>\n </div>\n <div class=\"alert alert-warning\" role=\"alert\">\n Be careful with these configurations as they affect all users in your entire app.\n </div>\n <div *ngIf=\"!isWorking\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Max Failed Login Attempts\n </mat-label>\n <input matInput formControlName=\"max_failed_consecutive_login_attempts\"\n placeholder=\"Max Failed Login Attempts\"\n autocomplete=\"off\"\n type=\"number\"\n min=\"0\"\n required />\n <mat-hint>After how many failed login attempts should this user\u2019s account be locked?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_failed_consecutive_login_attempts')\">\n {{getErrorMessage('max_failed_consecutive_login_attempts')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Block x most recent passwords\n </mat-label>\n <input matInput\n formControlName=\"max_old_passwords_block\"\n placeholder=\"Block x most recent passwords\"\n type=\"number\"\n min=\"0\"\n autocomplete=\"off\"\n required />\n <mat-hint>\n How many recent passwords should the system block the user from reusing?\n Example: The user cannot reuse any of his/her last 3 passwords.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_old_passwords_block')\">\n {{getErrorMessage('max_old_passwords_block')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Minimum Password Length\n </mat-label>\n <input matInput\n formControlName=\"min_password_length\"\n placeholder=\"Minimum Password Length\"\n type=\"number\"\n min=\"1\"\n autocomplete=\"off\" />\n <mat-hint>\n What is the minimum length of a user\u2019s password?\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('min_password_length')\">\n {{getErrorMessage('min_password_length')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Track Old Passwords?</p>\n <div>\n <mat-button-toggle-group formControlName=\"is_track_old_passwords\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should our software track old passwords to ensure users do not reuse old passwords?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Number </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_number\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a number in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Symbol </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_symbol\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a symbol in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Capital Letter </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_capital_letter\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a capital letter in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mt-3 mb-3\">\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button [disabled]=\"isSaving\" mat-flat-button type=\"button\" (click)=\"redirectBack()\">\n Cancel\n </button>\n <button [disabled]=\"isSaving\"\n mat-raised-button type=\"submit\" color=\"primary\">\n {{ isSaving ? 'Saving...' : 'Save' }}\n </button>\n </div>\n </div>\n </form>\n </mat-card-content>\n</mat-card>\n", styles: [".custom-hint{font-size:10.5px}\n"] }]
|
|
126
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.AccessControlConfigService }, { type: i4.Location }]; } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFNbEQsTUFBTSxhQUFhLEdBQVE7SUFDekIscUNBQXFDLEVBQUU7UUFDckMsUUFBUSxFQUFFLDhEQUE4RDtLQUN6RTtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxnREFBZ0Q7S0FDM0Q7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLGdDQUFnQztJQU0zQyxZQUNVLEVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMxQyxZQUEwQixFQUMxQiwwQkFBc0QsRUFDdEQsUUFBa0I7UUFKbEIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssVUFBVTtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzlCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNSLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNmLHFDQUFxQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0Qsc0JBQXNCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDL0IsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRCwwQkFBMEIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQywwQkFBMEIsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQyxrQ0FBa0MsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMzQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxtQ0FBbUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN6RSxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksR0FBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQyxJQUFJLFlBQVksR0FBb0IsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRixJQUFJLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDbkIsWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0Q7UUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixZQUFZLENBQUMsU0FBUyxDQUFDO1lBQ3JCLElBQUksRUFBRSxDQUFDLFFBQWEsRUFBUSxFQUFFO2dCQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsaUNBQWlDO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztvQkFDekIsR0FBRyxRQUFRLEVBQUUsSUFBSTtpQkFDbEIsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUN4QixrQ0FBa0MsRUFDbEMsU0FBUyxDQUNWLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSztTQUNuQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN6QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBUSxFQUFFO2dCQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEdBQVEsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFDakMsbUJBQW1CO2dCQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLHFDQUFxQyxHQUFHLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLHVCQUF1QixHQUFJLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztpQkFDOUI7Z0JBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUs7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7OEhBcEhVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLHNFQ3ZCN0MsbTBOQWlLQTs0RkQxSWEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLGdDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOmNvbXBvbmVudC1zZWxlY3RvciAqL1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9hY2Nlc3MtY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgRm9ybVZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBlcnJvck1lc3NhZ2VzOiBhbnkgPSB7XG4gIG1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHM6IHtcbiAgICByZXF1aXJlZDogJ1RoZSBtYXggZmFpbGVkIGNvbnNlY3V0aXZlIGxvZ2luIGF0dGVtcHRzIGZpZWxkIGlzIHJlcXVpcmVkLicsXG4gIH0sXG4gIG1heF9vbGRfcGFzc3dvcmRzX2Jsb2NrOiB7XG4gICAgcmVxdWlyZWQ6ICdUaGUgbWF4IG9sZCBwYXNzd29yZHMgYmxvY2sgZmllbGQgaXMgcmVxdWlyZWQuJyxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY2Vzcy1jb250cm9sLWNvbmZpZy1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzQ29udHJvbENvbmZpZ0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbmZpZ0Zvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIGlzV29ya2luZzogYm9vbGVhbjtcbiAgaXNTYXZpbmc6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZTogQWNjZXNzQ29udHJvbENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBmb3JtIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IFsnJ10sXG4gICAgICBjbGllbnRfaWQ6IFsnJ10sXG4gICAgICBtYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzOiBbNSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBpc190cmFja19vbGRfcGFzc3dvcmRzOiBbZmFsc2VdLFxuICAgICAgbWF4X29sZF9wYXNzd29yZHNfYmxvY2s6IFsyLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGlzX3Bhc3N3b3JkX3JlcXVpcmVfbnVtYmVyOiBbZmFsc2VdLFxuICAgICAgaXNfcGFzc3dvcmRfcmVxdWlyZV9zeW1ib2w6IFtmYWxzZV0sXG4gICAgICBpc19wYXNzd29yZF9yZXF1aXJlX2NhcGl0YWxfbGV0dGVyOiBbZmFsc2VdLFxuICAgICAgbWluX3Bhc3N3b3JkX2xlbmd0aDogWzVdLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gZmV0Y2ggdGhlIGFjY2VzcyBjb250cm9sIGNvbmZpZyBmb3IgY2xpZW50XG4gICAgdGhpcy5mZXRjaEFjY2Vzc0NvbnRyb2xDb25maWcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIHRoZSBhY2Nlc3MgY29udHJvbCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3VibWl0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZ0Zvcm0uaW52YWxpZCkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1BsZWFzZSBjaGVjayB0aGUgZm9ybSBmb3IgZXJyb3JzLicsICdlcnJvcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHsgLi4udGhpcy5jb25maWdGb3JtLnZhbHVlIH07XG4gICAgbGV0IHN1YnNjcmlwdGlvbjogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5hY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZS5zdG9yZShkYXRhKTtcbiAgICBpZiAoZGF0YT8uY2xpZW50X2lkKSB7XG4gICAgICBzdWJzY3JpcHRpb24gPSB0aGlzLmFjY2Vzc0NvbnRyb2xDb25maWdTZXJ2aWNlLnVwZGF0ZShkYXRhKTtcbiAgICB9XG4gICAgdGhpcy5pc1NhdmluZyA9IHRydWU7XG4gICAgc3Vic2NyaXB0aW9uLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzU2F2aW5nID0gZmFsc2U7XG4gICAgICAgIC8vIHVwZGF0ZSB0aGUgZm9ybSB3aXRoIHJlc3BvbnNlLlxuICAgICAgICB0aGlzLmNvbmZpZ0Zvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgLi4ucmVzcG9uc2U/Lml0ZW1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXG4gICAgICAgICAgJ0NvbmZpZ3VyYXRpb24gc2F2ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgICAnc3VjY2VzcydcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1NhdmluZyA9IGZhbHNlXG4gICAgfSk7XG4gIH1cblxuICByZXNldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlnRm9ybS5nZXQoZmllbGQpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIGdldEZpZWxkVmFsdWUoZmllbGQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnRm9ybS5nZXQoZmllbGQpLnZhbHVlO1xuICB9XG5cbiAgaXNGaWVsZFZhbGlkKGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChmaWVsZCwgdGhpcy5jb25maWdGb3JtKTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZmllbGQsIHRoaXMuY29uZmlnRm9ybSwgZXJyb3JNZXNzYWdlcyk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYWNjZXNzIGNvbnRyb2wgY29uZmlnIGFuZCB1cGRhdGUgdGhlIGZvcm0uXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGZldGNoQWNjZXNzQ29udHJvbENvbmZpZygpOiB2b2lkIHtcbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgdGhpcy5hY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZS5pbmRleCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSByZXNwb25zZT8uZGF0YTtcbiAgICAgICAgLy8gc2V0IHRoZSBkZWZhdWx0c1xuICAgICAgICBpZiAoIWRhdGE/LmNsaWVudF9pZCkge1xuICAgICAgICAgIGRhdGEubWF4X2ZhaWxlZF9jb25zZWN1dGl2ZV9sb2dpbl9hdHRlbXB0cyA9IDU7XG4gICAgICAgICAgZGF0YS5tYXhfb2xkX3Bhc3N3b3Jkc19ibG9jayA9ICAyO1xuICAgICAgICAgIGRhdGEubWluX3Bhc3N3b3JkX2xlbmd0aCA9IDU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb25maWdGb3JtLnBhdGNoVmFsdWUoZGF0YSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRpcmVjdCBiYWNrIHRvIGxhc3QgcGFnZS5cbiAgICovXG4gIHJlZGlyZWN0QmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiIGZ4RmxleE9mZnNldD1cIjI1JVwiIGZ4RmxleD1cIjUwJVwiPlxuICA8bWF0LWNhcmQtY29udGVudD5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImNvbmZpZ0Zvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxoMj5cbiAgICAgICAgICAgIEFjY2VzcyBDb250cm9sIENvbmZpZ3VyYXRpb25cbiAgICAgICAgICA8L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LXdhcm5pbmdcIiByb2xlPVwiYWxlcnRcIj5cbiAgICAgICAgICBCZSBjYXJlZnVsIHdpdGggdGhlc2UgY29uZmlndXJhdGlvbnMgYXMgdGhleSBhZmZlY3QgYWxsIHVzZXJzIGluIHlvdXIgZW50aXJlIGFwcC5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaXNXb3JraW5nXCIgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0R2FwPVwiMXJlbSBncmlkXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIE1heCBGYWlsZWQgTG9naW4gQXR0ZW1wdHNcbiAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHNcIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWF4IEZhaWxlZCBMb2dpbiBBdHRlbXB0c1wiXG4gICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICAgICAgPG1hdC1oaW50PkFmdGVyIGhvdyBtYW55IGZhaWxlZCBsb2dpbiBhdHRlbXB0cyBzaG91bGQgdGhpcyB1c2Vy4oCZcyBhY2NvdW50IGJlIGxvY2tlZD88L21hdC1oaW50PlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnbWF4X2ZhaWxlZF9jb25zZWN1dGl2ZV9sb2dpbl9hdHRlbXB0cycpXCI+XG4gICAgICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdtYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzJyl9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICBCbG9jayB4IG1vc3QgcmVjZW50IHBhc3N3b3Jkc1xuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYXhfb2xkX3Bhc3N3b3Jkc19ibG9ja1wiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJCbG9jayB4IG1vc3QgcmVjZW50IHBhc3N3b3Jkc1wiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICBIb3cgbWFueSByZWNlbnQgcGFzc3dvcmRzIHNob3VsZCB0aGUgc3lzdGVtIGJsb2NrIHRoZSB1c2VyIGZyb20gcmV1c2luZz9cbiAgICAgICAgICAgICAgRXhhbXBsZTogIFRoZSB1c2VyIGNhbm5vdCByZXVzZSBhbnkgb2YgaGlzL2hlciBsYXN0IDMgcGFzc3dvcmRzLlxuICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ21heF9vbGRfcGFzc3dvcmRzX2Jsb2NrJylcIj5cbiAgICAgICAgICAgICAge3tnZXRFcnJvck1lc3NhZ2UoJ21heF9vbGRfcGFzc3dvcmRzX2Jsb2NrJyl9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICBNaW5pbXVtIFBhc3N3b3JkIExlbmd0aFxuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtaW5fcGFzc3dvcmRfbGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1pbmltdW0gUGFzc3dvcmQgTGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICBtaW49XCIxXCJcbiAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgPG1hdC1oaW50PlxuICAgICAgICAgICAgICBXaGF0IGlzIHRoZSBtaW5pbXVtIGxlbmd0aCBvZiBhIHVzZXLigJlzIHBhc3N3b3JkP1xuICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJpc0ZpZWxkVmFsaWQoJ21pbl9wYXNzd29yZF9sZW5ndGgnKVwiPlxuICAgICAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgnbWluX3Bhc3N3b3JkX2xlbmd0aCcpfX1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBjYWxjKDUwJS0xcmVtKVwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IG1iLTBcIj4gVHJhY2sgT2xkIFBhc3N3b3Jkcz88L3A+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImlzX3RyYWNrX29sZF9wYXNzd29yZHNcIiBjbGFzcz1cInN0YXR1c1wiIG5hbWU9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICBZZXNcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIE5vXG4gICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgIDxtYXQtaGludCBjbGFzcz1cImN1c3RvbS1oaW50XCI+XG4gICAgICAgICAgICAgICAgICBTaG91bGQgb3VyIHNvZnR3YXJlIHRyYWNrIG9sZCBwYXNzd29yZHMgdG8gZW5zdXJlIHVzZXJzIGRvIG5vdCByZXVzZSBvbGQgcGFzc3dvcmRzP1xuICAgICAgICAgICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBmeEZsZXg9XCIwIDEgY2FsYyg1MCUtMXJlbSlcIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeSBtYi0wXCI+IFBhc3N3b3JkIFJlcXVpcmUgTnVtYmVyIDwvcD5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXJcIiBjbGFzcz1cInN0YXR1c1wiIG5hbWU9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICBZZXNcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIE5vXG4gICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgIDxtYXQtaGludCBjbGFzcz1cImN1c3RvbS1oaW50XCI+XG4gICAgICAgICAgICAgICAgICBTaG91bGQgdGhlIHN5c3RlbSBmb3JjZSBhIHVzZXIgdG8gaGF2ZSBhIG51bWJlciBpbiBoaXMvaGVyIHBhc3N3b3JkP1xuICAgICAgICAgICAgICAgIDwvbWF0LWhpbnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBjYWxjKDUwJS0xcmVtKVwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IG1iLTBcIj4gUGFzc3dvcmQgUmVxdWlyZSBTeW1ib2wgPC9wPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJpc19wYXNzd29yZF9yZXF1aXJlX3N5bWJvbFwiIGNsYXNzPVwic3RhdHVzXCIgbmFtZT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIFllc1xuICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgTm9cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiY3VzdG9tLWhpbnRcIj5cbiAgICAgICAgICAgICAgICAgIFNob3VsZCB0aGUgc3lzdGVtIGZvcmNlIGEgdXNlciB0byBoYXZlIGEgc3ltYm9sIGluIGhpcy9oZXIgcGFzc3dvcmQ/XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBjYWxjKDUwJS0xcmVtKVwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IG1iLTBcIj4gUGFzc3dvcmQgUmVxdWlyZSBDYXBpdGFsIExldHRlciA8L3A+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImlzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXJcIiBjbGFzcz1cInN0YXR1c1wiIG5hbWU9XCJzdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICBZZXNcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgIE5vXG4gICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgICAgIDxtYXQtaGludCBjbGFzcz1cImN1c3RvbS1oaW50XCI+XG4gICAgICAgICAgICAgICAgICBTaG91bGQgdGhlIHN5c3RlbSBmb3JjZSBhIHVzZXIgdG8gaGF2ZSBhIGNhcGl0YWwgbGV0dGVyIGluIGhpcy9oZXIgcGFzc3dvcmQ/XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0zIG1iLTNcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciAqbmdJZj1cImlzV29ya2luZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBmeEZsZXg9XCIxMDAlXCIgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxuICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzU2F2aW5nXCIgbWF0LWZsYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwicmVkaXJlY3RCYWNrKClcIj5cbiAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImlzU2F2aW5nXCJcbiAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgIHt7IGlzU2F2aW5nID8gJ1NhdmluZy4uLicgOiAnU2F2ZScgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG4iXX0=
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { AccessControlConfigFormComponent } from './access-control-config-form/access-control-config-form.component';
|
|
3
|
-
import { UntilDestroy } from '@ngneat/until-destroy';
|
|
4
|
-
import { untilDestroyed } from '@ngneat/until-destroy';
|
|
5
|
-
import { UntypedFormControl } from '@angular/forms';
|
|
6
|
-
import { Component } from '@angular/core';
|
|
7
|
-
import { debounceTime } from 'rxjs/operators';
|
|
8
|
-
import { ActionPopupComponent } from '../action-popup';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/material/dialog";
|
|
11
|
-
import * as i2 from "../core";
|
|
12
|
-
import * as i3 from "@angular/forms";
|
|
13
|
-
import * as i4 from "./access-control-config.service";
|
|
14
|
-
import * as i5 from "@angular/common";
|
|
15
|
-
import * as i6 from "@angular/flex-layout/flex";
|
|
16
|
-
import * as i7 from "@angular/material/button";
|
|
17
|
-
import * as i8 from "@angular/material/icon";
|
|
18
|
-
import * as i9 from "@angular/material/table";
|
|
19
|
-
let AccessControlConfigComponent = class AccessControlConfigComponent {
|
|
20
|
-
constructor(dialog, alertService, fb, configService) {
|
|
21
|
-
this.dialog = dialog;
|
|
22
|
-
this.alertService = alertService;
|
|
23
|
-
this.fb = fb;
|
|
24
|
-
this.configService = configService;
|
|
25
|
-
this.configs = [];
|
|
26
|
-
this.displayedColumns = [
|
|
27
|
-
'index',
|
|
28
|
-
'max_failed_consecutive_login_attempts',
|
|
29
|
-
'is_track_old_passwords',
|
|
30
|
-
'max_old_passwords_block',
|
|
31
|
-
'min_password_length',
|
|
32
|
-
'is_password_require_number',
|
|
33
|
-
'is_password_require_symbol',
|
|
34
|
-
'is_password_require_capital_letter',
|
|
35
|
-
'actions'
|
|
36
|
-
];
|
|
37
|
-
this.page = 1;
|
|
38
|
-
this.perPage = 25;
|
|
39
|
-
this.isWorking = false;
|
|
40
|
-
this.filterFormGroup = this.fb.group({
|
|
41
|
-
search: new UntypedFormControl(''),
|
|
42
|
-
version: new UntypedFormControl(''),
|
|
43
|
-
sort_by: new UntypedFormControl('released_on|DESC'),
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
ngOnInit() {
|
|
47
|
-
this.loadData();
|
|
48
|
-
this.listenChanges();
|
|
49
|
-
}
|
|
50
|
-
listenChanges() {
|
|
51
|
-
this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
|
|
52
|
-
.subscribe(changes => {
|
|
53
|
-
this.reload();
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() { }
|
|
57
|
-
async loadData() {
|
|
58
|
-
try {
|
|
59
|
-
this.isWorking = true;
|
|
60
|
-
const filters = this.filterFormGroup.value;
|
|
61
|
-
filters.perPage = this.perPage;
|
|
62
|
-
filters.page = this.page;
|
|
63
|
-
const result = await this.configService.getConfigs(filters);
|
|
64
|
-
this.lastPage = result.last_page || this.page;
|
|
65
|
-
this.configs = this.configs.concat(result.data);
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
this.alertService.addAlert('Unable to process, try later', 'warn');
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
this.isWorking = false;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
reload() {
|
|
75
|
-
this.configs = [];
|
|
76
|
-
this.page = 1;
|
|
77
|
-
if (!this.isWorking) {
|
|
78
|
-
this.loadData();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
modifyTechlifyUpdate(model) {
|
|
82
|
-
const dialogRef = this.dialog.open(AccessControlConfigFormComponent, {
|
|
83
|
-
width: '600px',
|
|
84
|
-
data: {
|
|
85
|
-
configDetails: model,
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
dialogRef.afterClosed().subscribe(result => {
|
|
89
|
-
if (result) {
|
|
90
|
-
this.reload();
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
async deleteTechlifyUpdate(model) {
|
|
95
|
-
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
96
|
-
width: '400px',
|
|
97
|
-
data: {
|
|
98
|
-
title: 'Delete Update',
|
|
99
|
-
message: `Are you sure to delete this update?`
|
|
100
|
-
},
|
|
101
|
-
autoFocus: false
|
|
102
|
-
});
|
|
103
|
-
dialogRef.afterClosed().subscribe(async (result) => {
|
|
104
|
-
if (result) {
|
|
105
|
-
// Action confirmed
|
|
106
|
-
try {
|
|
107
|
-
await this.configService.deleteConfig(model.id);
|
|
108
|
-
this.alertService.addAlert('Successfully deleted the config', 'success');
|
|
109
|
-
this.reload();
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
this.alertService.addAlert('Unable to process, try later', 'warn');
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
resetFieldValue(field) {
|
|
118
|
-
this.filterFormGroup.get(field).setValue('');
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
AccessControlConfigComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertService }, { token: i3.UntypedFormBuilder }, { token: i4.AccessControlConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
122
|
-
AccessControlConfigComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AccessControlConfigComponent, selector: "app-access-control-config", ngImport: i0, template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n Access Control Configs\n <button mat-raised-button color=\"primary\" (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\"\n *ngIf=\"!configs.length\">\n <mat-icon>\n add\n </mat-icon>\n Config\n </button>\n </h3>\n\n <table mat-table [dataSource]=\"configs\" class=\"mat-elevation-z8 w-100\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_failed_consecutive_login_attempts\">\n <th mat-header-cell *matHeaderCellDef>\n Max Failed Login Attempts\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_failed_consecutive_login_attempts}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_track_old_passwords\">\n <th mat-header-cell *matHeaderCellDef>\n Track Old Passwords\n </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_track_old_passwords ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_old_passwords_block\">\n <th mat-header-cell *matHeaderCellDef>\n Max old password block\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_old_passwords_block }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"min_password_length\">\n <th mat-header-cell *matHeaderCellDef>\n Minimum Password Length\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.min_password_length}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_number\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Number\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_number ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_symbol\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Symbol\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_symbol ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_capital_letter\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Capital Letter\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_capital_letter ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }] });
|
|
123
|
-
AccessControlConfigComponent = __decorate([
|
|
124
|
-
UntilDestroy()
|
|
125
|
-
], AccessControlConfigComponent);
|
|
126
|
-
export { AccessControlConfigComponent };
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigComponent, decorators: [{
|
|
128
|
-
type: Component,
|
|
129
|
-
args: [{ selector: 'app-access-control-config', template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n Access Control Configs\n <button mat-raised-button color=\"primary\" (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\"\n *ngIf=\"!configs.length\">\n <mat-icon>\n add\n </mat-icon>\n Config\n </button>\n </h3>\n\n <table mat-table [dataSource]=\"configs\" class=\"mat-elevation-z8 w-100\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_failed_consecutive_login_attempts\">\n <th mat-header-cell *matHeaderCellDef>\n Max Failed Login Attempts\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_failed_consecutive_login_attempts}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_track_old_passwords\">\n <th mat-header-cell *matHeaderCellDef>\n Track Old Passwords\n </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_track_old_passwords ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_old_passwords_block\">\n <th mat-header-cell *matHeaderCellDef>\n Max old password block\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_old_passwords_block }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"min_password_length\">\n <th mat-header-cell *matHeaderCellDef>\n Minimum Password Length\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.min_password_length}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_number\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Number\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_number ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_symbol\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Symbol\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_symbol ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_capital_letter\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Capital Letter\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_capital_letter ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n" }]
|
|
130
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.AlertService }, { type: i3.UntypedFormBuilder }, { type: i4.AccessControlConfigService }]; } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWNjZXNzLWNvbnRyb2wtY29uZmlnL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjY2Vzcy1jb250cm9sLWNvbmZpZy9hY2Nlc3MtY29udHJvbC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRXJILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQVM3RCxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQW1CdkMsWUFDVSxNQUFpQixFQUNqQixZQUEwQixFQUMxQixFQUFzQixFQUN0QixhQUF5QztRQUh6QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUE0QjtRQXRCbkQsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUNwQixxQkFBZ0IsR0FBYTtZQUMzQixPQUFPO1lBQ1AsdUNBQXVDO1lBQ3ZDLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIscUJBQXFCO1lBQ3JCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsb0NBQW9DO1lBQ3BDLFNBQVM7U0FDVixDQUFDO1FBQ0YsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVULFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBU2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkMsTUFBTSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1RSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsS0FBSyxDQUFDO0lBRWpCLEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSTtZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUMvQixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDekIsTUFBTSxNQUFNLEdBQVEsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FDckQsT0FBTyxDQUNSLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqRDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsOEJBQThCLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDcEU7Z0JBQ087WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVztRQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTtZQUNuRSxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRTtnQkFDSixhQUFhLEVBQUUsS0FBSzthQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQ2Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBVTtRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN2RCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsT0FBTyxFQUFFLHFDQUFxQzthQUNoQztZQUNoQixTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBQyxNQUFNLEVBQUMsRUFBRTtZQUMvQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixtQkFBbUI7Z0JBQ25CLElBQUk7b0JBQ0YsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUN4QixpQ0FBaUMsRUFDakMsU0FBUyxDQUNWLENBQUM7b0JBQ0YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2lCQUNmO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxDQUFDO2lCQUNwRTthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OzBIQXJIVSw0QkFBNEI7OEdBQTVCLDRCQUE0QixpRUNsQnpDLHE2R0FrR0E7QURoRmEsNEJBQTRCO0lBUHhDLFlBQVksRUFBRTtHQU9GLDRCQUE0QixDQXVIeEM7U0F2SFksNEJBQTRCOzRGQUE1Qiw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBRUUsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzQ29udHJvbENvbmZpZ0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL2FjY2Vzcy1jb250cm9sLWNvbmZpZy1mb3JtL2FjY2Vzcy1jb250cm9sLWNvbmZpZy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95IH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uUG9wdXAsIEFjdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXBvcHVwJztcbmltcG9ydCB7QWxlcnRTZXJ2aWNlfSBmcm9tICcuLi9jb3JlJztcbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdhcHAtYWNjZXNzLWNvbnRyb2wtY29uZmlnJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25maWdzOiBhbnlbXSA9IFtdO1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcbiAgICAnaW5kZXgnLFxuICAgICdtYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzJyxcbiAgICAnaXNfdHJhY2tfb2xkX3Bhc3N3b3JkcycsXG4gICAgJ21heF9vbGRfcGFzc3dvcmRzX2Jsb2NrJyxcbiAgICAnbWluX3Bhc3N3b3JkX2xlbmd0aCcsXG4gICAgJ2lzX3Bhc3N3b3JkX3JlcXVpcmVfbnVtYmVyJyxcbiAgICAnaXNfcGFzc3dvcmRfcmVxdWlyZV9zeW1ib2wnLFxuICAgICdpc19wYXNzd29yZF9yZXF1aXJlX2NhcGl0YWxfbGV0dGVyJyxcbiAgICAnYWN0aW9ucydcbiAgXTtcbiAgcGFnZSA9IDE7XG4gIGxhc3RQYWdlOiBudW1iZXI7XG4gIHBlclBhZ2UgPSAyNTtcbiAgaXNXb3JraW5nID0gZmFsc2U7XG4gIGZpbHRlckZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQWNjZXNzQ29udHJvbENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyksXG4gICAgICB2ZXJzaW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKSxcbiAgICAgIHNvcnRfYnk6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJ3JlbGVhc2VkX29ufERFU0MnKSxcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB0aGlzLmxpc3RlbkNoYW5nZXMoKTtcbiAgfVxuXG4gIGxpc3RlbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7IH1cblxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5pc1dvcmtpbmcgPSB0cnVlO1xuICAgICAgY29uc3QgZmlsdGVyczogYW55ID0gdGhpcy5maWx0ZXJGb3JtR3JvdXAudmFsdWU7XG4gICAgICBmaWx0ZXJzLnBlclBhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgICBmaWx0ZXJzLnBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWdzKFxuICAgICAgICBmaWx0ZXJzXG4gICAgICApO1xuICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdC5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xuICAgICAgdGhpcy5jb25maWdzID0gdGhpcy5jb25maWdzLmNvbmNhdChyZXN1bHQuZGF0YSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdVbmFibGUgdG8gcHJvY2VzcywgdHJ5IGxhdGVyJywgJ3dhcm4nKTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLmNvbmZpZ3MgPSBbXTtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIGlmICghdGhpcy5pc1dvcmtpbmcpIHtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBtb2RpZnlUZWNobGlmeVVwZGF0ZShtb2RlbD86IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWNjZXNzQ29udHJvbENvbmZpZ0Zvcm1Db21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNjAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICBjb25maWdEZXRhaWxzOiBtb2RlbCxcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlVGVjaGxpZnlVcGRhdGUobW9kZWw6IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxuICAgICAgZGF0YToge1xuICAgICAgICB0aXRsZTogJ0RlbGV0ZSBVcGRhdGUnLFxuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHRvIGRlbGV0ZSB0aGlzIHVwZGF0ZT9gXG4gICAgICB9IGFzIEFjdGlvblBvcHVwLFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFzeW5jIHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIC8vIEFjdGlvbiBjb25maXJtZWRcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZ1NlcnZpY2UuZGVsZXRlQ29uZmlnKG1vZGVsLmlkKTtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgICAgICdTdWNjZXNzZnVsbHkgZGVsZXRlZCB0aGUgY29uZmlnJyxcbiAgICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnVW5hYmxlIHRvIHByb2Nlc3MsIHRyeSBsYXRlcicsICd3YXJuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgdGhpcy5maWx0ZXJGb3JtR3JvdXAuZ2V0KGZpZWxkKS5zZXRWYWx1ZSgnJyk7XG4gIH1cblxufVxuIiwiPHNlY3Rpb24gY2xhc3M9XCJwLTRcIiBmeExheW91dD1cImNvbHVtblwiPlxuICA8aDMgY2xhc3M9XCJwcmltYXJ5LWNvbG9yIHRleHQtY2VudGVyXCI+XG4gICAgQWNjZXNzIENvbnRyb2wgQ29uZmlnc1xuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGlmeVRlY2hsaWZ5VXBkYXRlKClcIiBjbGFzcz1cInByaW1hcnktYmcgdGV4dC13aGl0ZVwiXG4gICAgICAqbmdJZj1cIiFjb25maWdzLmxlbmd0aFwiPlxuICAgICAgPG1hdC1pY29uPlxuICAgICAgICBhZGRcbiAgICAgIDwvbWF0LWljb24+XG4gICAgICBDb25maWdcbiAgICA8L2J1dHRvbj5cbiAgPC9oMz5cblxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImNvbmZpZ3NcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejggdy0xMDBcIj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50O2xldCBpPWluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJtYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxuICAgICAgICBNYXggRmFpbGVkIExvZ2luIEF0dGVtcHRzXG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAge3tlbGVtZW50Py5tYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX3RyYWNrX29sZF9wYXNzd29yZHNcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIFRyYWNrIE9sZCBQYXNzd29yZHNcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQ/LmlzX3RyYWNrX29sZF9wYXNzd29yZHMgPyAnWWVzJyA6ICdObyd9fSA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJtYXhfb2xkX3Bhc3N3b3Jkc19ibG9ja1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgTWF4IG9sZCBwYXNzd29yZCBibG9ja1xuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIHt7ZWxlbWVudD8ubWF4X29sZF9wYXNzd29yZHNfYmxvY2sgfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1pbl9wYXNzd29yZF9sZW5ndGhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIE1pbmltdW0gUGFzc3dvcmQgTGVuZ3RoXG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAge3tlbGVtZW50Py5taW5fcGFzc3dvcmRfbGVuZ3RofX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX3Bhc3N3b3JkX3JlcXVpcmVfbnVtYmVyXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxuICAgICAgICBQYXNzd29yZDogUmVxdWlyZSBOdW1iZXJcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICB7e2VsZW1lbnQ/LmlzX3Bhc3N3b3JkX3JlcXVpcmVfbnVtYmVyID8gJ1llcycgOiAnTm8nfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX3Bhc3N3b3JkX3JlcXVpcmVfc3ltYm9sXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxuICAgICAgICBQYXNzd29yZDogUmVxdWlyZSBTeW1ib2xcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICB7e2VsZW1lbnQ/LmlzX3Bhc3N3b3JkX3JlcXVpcmVfc3ltYm9sID8gJ1llcycgOiAnTm8nfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXJcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIFBhc3N3b3JkOiBSZXF1aXJlIENhcGl0YWwgTGV0dGVyXG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAge3tlbGVtZW50Py5pc19wYXNzd29yZF9yZXF1aXJlX2NhcGl0YWxfbGV0dGVyID8gJ1llcycgOiAnTm8nfX1cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWN0aW9uc1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBjbGFzcz1cInNlY29uZGFyeS1jb2xvclwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNlY29uZGFyeS1jb2xvclwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibW9kaWZ5VGVjaGxpZnlVcGRhdGUoZWxlbWVudClcIj5cbiAgICAgICAgICA8bWF0LWljb24+ZWRpdDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2Vjb25kYXJ5LWNvbG9yXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkZWxldGVUZWNobGlmeVVwZGF0ZShlbGVtZW50KVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gIDwvdGFibGU+XG48L3NlY3Rpb24+XG4iXX0=
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export class AccessControlConfiguration {
|
|
2
|
-
constructor(id, clientId, maxFailedConsecutiveLoginAttempts, isTrackOldPasswords, maxOldPasswordsBlock, minPasswordLength, isPasswordRequireNumber, isPasswordRequireSymbol, isPasswordRequireCapitalLetter, creatorId, createdAt, updatedAt, deletedAt) {
|
|
3
|
-
this.id = id;
|
|
4
|
-
this.clientId = clientId;
|
|
5
|
-
this.maxFailedConsecutiveLoginAttempts = maxFailedConsecutiveLoginAttempts;
|
|
6
|
-
this.isTrackOldPasswords = isTrackOldPasswords;
|
|
7
|
-
this.maxOldPasswordsBlock = maxOldPasswordsBlock;
|
|
8
|
-
this.minPasswordLength = minPasswordLength;
|
|
9
|
-
this.isPasswordRequireNumber = isPasswordRequireNumber;
|
|
10
|
-
this.isPasswordRequireSymbol = isPasswordRequireSymbol;
|
|
11
|
-
this.isPasswordRequireCapitalLetter = isPasswordRequireCapitalLetter;
|
|
12
|
-
this.creatorId = creatorId;
|
|
13
|
-
this.createdAt = createdAt;
|
|
14
|
-
this.updatedAt = updatedAt;
|
|
15
|
-
this.deletedAt = deletedAt;
|
|
16
|
-
}
|
|
17
|
-
static fromObject(obj) {
|
|
18
|
-
return new AccessControlConfiguration(obj.id, obj.client_id, obj.max_failed_consecutive_login_attempts, obj.is_track_old_passwords, obj.max_old_passwords_block, obj.min_password_length, obj.is_password_require_number, obj.is_password_require_symbol, obj.is_password_require_capital_letter, obj.creator_id, obj.created_at, obj.updated_at, obj.deleted_at);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDUyxFQUFXLEVBQ1gsUUFBaUIsRUFDakIsaUNBQWlELEVBQ2pELG1CQUE2QixFQUM3QixvQkFBNkIsRUFDN0IsaUJBQTBCLEVBQzFCLHVCQUFpQyxFQUNqQyx1QkFBaUMsRUFDakMsOEJBQXdDLEVBQ3hDLFNBQXlCLEVBQ3pCLFNBQWdCLEVBQ2hCLFNBQWdCLEVBQ2hCLFNBQXVCO1FBWnZCLE9BQUUsR0FBRixFQUFFLENBQVM7UUFDWCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBZ0I7UUFDakQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFVO1FBQzdCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBUztRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFVO1FBQ2pDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBVTtRQUNqQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQVU7UUFDeEMsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBTztRQUNoQixjQUFTLEdBQVQsU0FBUyxDQUFPO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDN0IsQ0FBQztJQUVHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBUTtRQUMvQixPQUFPLElBQUksMEJBQTBCLENBQ25DLEdBQUcsQ0FBQyxFQUFFLEVBQ04sR0FBRyxDQUFDLFNBQVMsRUFDYixHQUFHLENBQUMscUNBQXFDLEVBQ3pDLEdBQUcsQ0FBQyxzQkFBc0IsRUFDMUIsR0FBRyxDQUFDLHVCQUF1QixFQUMzQixHQUFHLENBQUMsbUJBQW1CLEVBQ3ZCLEdBQUcsQ0FBQywwQkFBMEIsRUFDOUIsR0FBRyxDQUFDLDBCQUEwQixFQUM5QixHQUFHLENBQUMsa0NBQWtDLEVBQ3RDLEdBQUcsQ0FBQyxVQUFVLEVBQ2QsR0FBRyxDQUFDLFVBQVUsRUFDZCxHQUFHLENBQUMsVUFBVSxFQUNkLEdBQUcsQ0FBQyxVQUFVLENBQ2YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBY2Nlc3NDb250cm9sQ29uZmlndXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpZD86IG51bWJlcixcbiAgICBwdWJsaWMgY2xpZW50SWQ/OiBudW1iZXIsXG4gICAgcHVibGljIG1heEZhaWxlZENvbnNlY3V0aXZlTG9naW5BdHRlbXB0cz86IG51bWJlciB8IG51bGwsXG4gICAgcHVibGljIGlzVHJhY2tPbGRQYXNzd29yZHM/OiBib29sZWFuLFxuICAgIHB1YmxpYyBtYXhPbGRQYXNzd29yZHNCbG9jaz86IG51bWJlcixcbiAgICBwdWJsaWMgbWluUGFzc3dvcmRMZW5ndGg/OiBudW1iZXIsXG4gICAgcHVibGljIGlzUGFzc3dvcmRSZXF1aXJlTnVtYmVyPzogYm9vbGVhbixcbiAgICBwdWJsaWMgaXNQYXNzd29yZFJlcXVpcmVTeW1ib2w/OiBib29sZWFuLFxuICAgIHB1YmxpYyBpc1Bhc3N3b3JkUmVxdWlyZUNhcGl0YWxMZXR0ZXI/OiBib29sZWFuLFxuICAgIHB1YmxpYyBjcmVhdG9ySWQ/OiBudW1iZXIgfCBudWxsLFxuICAgIHB1YmxpYyBjcmVhdGVkQXQ/OiBEYXRlLFxuICAgIHB1YmxpYyB1cGRhdGVkQXQ/OiBEYXRlLFxuICAgIHB1YmxpYyBkZWxldGVkQXQ/OiBEYXRlIHwgbnVsbFxuICApIHt9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KG9iajogYW55KTogQWNjZXNzQ29udHJvbENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgQWNjZXNzQ29udHJvbENvbmZpZ3VyYXRpb24oXG4gICAgICBvYmouaWQsXG4gICAgICBvYmouY2xpZW50X2lkLFxuICAgICAgb2JqLm1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHMsXG4gICAgICBvYmouaXNfdHJhY2tfb2xkX3Bhc3N3b3JkcyxcbiAgICAgIG9iai5tYXhfb2xkX3Bhc3N3b3Jkc19ibG9jayxcbiAgICAgIG9iai5taW5fcGFzc3dvcmRfbGVuZ3RoLFxuICAgICAgb2JqLmlzX3Bhc3N3b3JkX3JlcXVpcmVfbnVtYmVyLFxuICAgICAgb2JqLmlzX3Bhc3N3b3JkX3JlcXVpcmVfc3ltYm9sLFxuICAgICAgb2JqLmlzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXIsXG4gICAgICBvYmouY3JlYXRvcl9pZCxcbiAgICAgIG9iai5jcmVhdGVkX2F0LFxuICAgICAgb2JqLnVwZGF0ZWRfYXQsXG4gICAgICBvYmouZGVsZXRlZF9hdFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TechlifyServiceBaseClass } from '../base-model';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../core";
|
|
5
|
-
export class AccessControlConfigService extends TechlifyServiceBaseClass {
|
|
6
|
-
constructor(http) {
|
|
7
|
-
super(http, 'access-control-configs');
|
|
8
|
-
this.http = http;
|
|
9
|
-
}
|
|
10
|
-
getConfigs(filters) {
|
|
11
|
-
return this.http.get(`api/access-control-configs`, { params: filters }).toPromise();
|
|
12
|
-
}
|
|
13
|
-
createConfig(config) {
|
|
14
|
-
return this.http.post(`api/access-control-configs`, config).toPromise();
|
|
15
|
-
}
|
|
16
|
-
updateConfig(config) {
|
|
17
|
-
return this.http.put(`api/access-control-configs/${config.id}`, config).toPromise();
|
|
18
|
-
}
|
|
19
|
-
deleteConfig(configId) {
|
|
20
|
-
return this.http.delete(`api/access-control-configs/${configId}`).toPromise();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
AccessControlConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
24
|
-
AccessControlConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigService, providedIn: 'root' });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigService, decorators: [{
|
|
26
|
-
type: Injectable,
|
|
27
|
-
args: [{
|
|
28
|
-
providedIn: 'root'
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjY2Vzcy1jb250cm9sLWNvbmZpZy9hY2Nlc3MtY29udHJvbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFFdEUsWUFDUyxJQUFpQjtRQUV4QixLQUFLLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLENBQUM7UUFGL0IsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUcxQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBVztRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBVztRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDhCQUE4QixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsOEJBQThCLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEYsQ0FBQzs7d0hBdEJVLDBCQUEwQjs0SEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB9IGZyb20gJy4uL2Jhc2UtbW9kZWwnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzQ29udHJvbENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBodHRwOiBIdHRwU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCAnYWNjZXNzLWNvbnRyb2wtY29uZmlncycpO1xuICB9XG5cbiAgZ2V0Q29uZmlncyhmaWx0ZXJzOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgYXBpL2FjY2Vzcy1jb250cm9sLWNvbmZpZ3NgLCB7IHBhcmFtczogZmlsdGVycyB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGNyZWF0ZUNvbmZpZyhjb25maWc6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgYXBpL2FjY2Vzcy1jb250cm9sLWNvbmZpZ3NgLCBjb25maWcpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgdXBkYXRlQ29uZmlnKGNvbmZpZzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYGFwaS9hY2Nlc3MtY29udHJvbC1jb25maWdzLyR7Y29uZmlnLmlkfWAsIGNvbmZpZykudG9Qcm9taXNlKCk7XG4gIH1cblxuICBkZWxldGVDb25maWcoY29uZmlnSWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGBhcGkvYWNjZXNzLWNvbnRyb2wtY29uZmlncy8ke2NvbmZpZ0lkfWApLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/flex-layout/flex";
|
|
6
|
-
import * as i3 from "@angular/material/button";
|
|
7
|
-
import * as i4 from "./action-popup.model";
|
|
8
|
-
export class ActionPopupComponent {
|
|
9
|
-
constructor(dialogRef, data) {
|
|
10
|
-
this.dialogRef = dialogRef;
|
|
11
|
-
this.data = data;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
}
|
|
15
|
-
/**Method to close dialog box */
|
|
16
|
-
closeDialog() {
|
|
17
|
-
this.dialogRef.close();
|
|
18
|
-
}
|
|
19
|
-
/**Method to close dialog box with the data given from parent component
|
|
20
|
-
*/
|
|
21
|
-
confirm() {
|
|
22
|
-
this.dialogRef.close(this.data);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
ActionPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionPopupComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
ActionPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ActionPopupComponent, selector: "app-action-popup", ngImport: i0, template: "<div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>{{data.title}}</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\">\n <div fxFlex=\"100%\">{{data.message}}</div>\n\n <div fxFlex=\"100%\" fxLayout=\"row\" fxLayoutGap=\"1.5rem\" fxLayoutAlign=\"end\" class=\"my-4\">\n <button mat-raised-button (click)=\"closeDialog()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">\n Proceed\n </button>\n </div>\n </div>\n\n </div>\n\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ActionPopupComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'app-action-popup', template: "<div fxLayout=\"column\">\n <div mat-dialog-title class=\"text-center\">\n <div>{{data.title}}</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\">\n <div fxFlex=\"100%\">{{data.message}}</div>\n\n <div fxFlex=\"100%\" fxLayout=\"row\" fxLayoutGap=\"1.5rem\" fxLayoutAlign=\"end\" class=\"my-4\">\n <button mat-raised-button (click)=\"closeDialog()\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">\n Proceed\n </button>\n </div>\n </div>\n\n </div>\n\n</div>" }]
|
|
30
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i4.ActionPopup, decorators: [{
|
|
31
|
-
type: Inject,
|
|
32
|
-
args: [MAT_DIALOG_DATA]
|
|
33
|
-
}] }]; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBUXpFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFDUyxTQUE2QyxFQUNwQixJQUFpQjtRQUQxQyxjQUFTLEdBQVQsU0FBUyxDQUFvQztRQUNwQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQy9DLENBQUM7SUFFTCxRQUFRO0lBQ1IsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7T0FDRztJQUNILE9BQU87UUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7a0hBbkJVLG9CQUFvQiw4Q0FJckIsZUFBZTtzR0FKZCxvQkFBb0Isd0RDVGpDLG1zQkFvQk07NEZEWE8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBUXpCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGlvblBvcHVwIH0gZnJvbSAnLi9hY3Rpb24tcG9wdXAubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWN0aW9uLXBvcHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1wb3B1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWN0aW9uUG9wdXBDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWN0aW9uUG9wdXAsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICAvKipNZXRob2QgdG8gY2xvc2UgZGlhbG9nIGJveCAqL1xuICBjbG9zZURpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGNsb3NlIGRpYWxvZyBib3ggd2l0aCB0aGUgZGF0YSBnaXZlbiBmcm9tIHBhcmVudCBjb21wb25lbnRcbiAgICovXG4gIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPGRpdj57e2RhdGEudGl0bGV9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiPlxuICAgICAgICAgICAgPGRpdiBmeEZsZXg9XCIxMDAlXCI+e3tkYXRhLm1lc3NhZ2V9fTwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMCVcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMS41cmVtXCIgZnhMYXlvdXRBbGlnbj1cImVuZFwiIGNsYXNzPVwibXktNFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIj5cbiAgICAgICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIFByb2NlZWRcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuXG48L2Rpdj4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { AuditLogViewModelComponent } from '../audit-log-view-model/audit-log-view-model.component';
|
|
3
|
-
import { AuditLogsViewModelComponent } from '../audit-logs-view-model/audit-logs-view-model.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/dialog";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "@angular/material/button";
|
|
8
|
-
import * as i4 from "@angular/material/icon";
|
|
9
|
-
import * as i5 from "@angular/material/tooltip";
|
|
10
|
-
export class AuditLogForModelComponent {
|
|
11
|
-
constructor(dialog) {
|
|
12
|
-
this.dialog = dialog;
|
|
13
|
-
this.logView = 'recent';
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
}
|
|
17
|
-
getLogView() {
|
|
18
|
-
const dialogRef = this.dialog.open(AuditLogViewModelComponent, {
|
|
19
|
-
width: '800px',
|
|
20
|
-
autoFocus: false,
|
|
21
|
-
data: {
|
|
22
|
-
modelType: this.modelType,
|
|
23
|
-
modelId: this.modelId
|
|
24
|
-
} // Any data passed here will be injected into the model
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
getLogsView() {
|
|
28
|
-
const dialogRef = this.dialog.open(AuditLogsViewModelComponent, {
|
|
29
|
-
width: '95%',
|
|
30
|
-
maxWidth: 'unset',
|
|
31
|
-
autoFocus: false,
|
|
32
|
-
data: {
|
|
33
|
-
modelType: this.modelType,
|
|
34
|
-
modelId: this.modelId
|
|
35
|
-
} // Any data passed here will be injected into the model
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
AuditLogForModelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AuditLogForModelComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
AuditLogForModelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: { modelType: "modelType", modelId: "modelId", logView: "logView" }, ngImport: i0, template: "<button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n</button>\n\n<button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n</button>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AuditLogForModelComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ selector: 'app-audit-log-for-model', template: "<button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n</button>\n\n<button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n</button>" }]
|
|
44
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { modelType: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], modelId: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}], logView: [{
|
|
49
|
-
type: Input
|
|
50
|
-
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtbG9nLWZvci1tb2RlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2F1ZGl0LWxvZy9hdWRpdC1sb2ctZm9yLW1vZGVsL2F1ZGl0LWxvZy1mb3ItbW9kZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hdWRpdC1sb2cvYXVkaXQtbG9nLWZvci1tb2RlbC9hdWRpdC1sb2ctZm9yLW1vZGVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7O0FBUXZHLE1BQU0sT0FBTyx5QkFBeUI7SUFNcEMsWUFDVSxNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBSGxCLFlBQU8sR0FBcUIsUUFBUSxDQUFDO0lBSTFDLENBQUM7SUFFTCxRQUFRO0lBRVIsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUM3RCxLQUFLLEVBQUUsT0FBTztZQUNkLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLElBQUksRUFBRTtnQkFDSixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QixDQUFDLHVEQUF1RDtTQUMxRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFO1lBQzlELEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLE9BQU87WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsSUFBSSxFQUFFO2dCQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztnQkFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUMsdURBQXVEO1NBQzFELENBQUMsQ0FBQztJQUNMLENBQUM7O3VIQW5DVSx5QkFBeUI7MkdBQXpCLHlCQUF5QiwySUNYdEMsb1pBUVM7NEZER0kseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHlCQUF5QjtnR0FNMUIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQXVkaXRMb2dWaWV3TW9kZWxDb21wb25lbnQgfSBmcm9tICcuLi9hdWRpdC1sb2ctdmlldy1tb2RlbC9hdWRpdC1sb2ctdmlldy1tb2RlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXVkaXRMb2dzVmlld01vZGVsQ29tcG9uZW50IH0gZnJvbSAnLi4vYXVkaXQtbG9ncy12aWV3LW1vZGVsL2F1ZGl0LWxvZ3Mtdmlldy1tb2RlbC5jb21wb25lbnQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hdWRpdC1sb2ctZm9yLW1vZGVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1ZGl0LWxvZy1mb3ItbW9kZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1sb2ctZm9yLW1vZGVsLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXVkaXRMb2dGb3JNb2RlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgbW9kZWxUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1vZGVsSWQ6IGFueTtcbiAgQElucHV0KCkgbG9nVmlldzogJ3JlY2VudCcgfCAnYWxsJyA9ICdyZWNlbnQnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgfVxuXG4gIGdldExvZ1ZpZXcoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBdWRpdExvZ1ZpZXdNb2RlbENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc4MDBweCcsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgZGF0YToge1xuICAgICAgICBtb2RlbFR5cGU6IHRoaXMubW9kZWxUeXBlLFxuICAgICAgICBtb2RlbElkOiB0aGlzLm1vZGVsSWRcbiAgICAgIH0gLy8gQW55IGRhdGEgcGFzc2VkIGhlcmUgd2lsbCBiZSBpbmplY3RlZCBpbnRvIHRoZSBtb2RlbFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0TG9nc1ZpZXcoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBdWRpdExvZ3NWaWV3TW9kZWxDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnOTUlJyxcbiAgICAgIG1heFdpZHRoOiAndW5zZXQnLFxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbW9kZWxUeXBlOiB0aGlzLm1vZGVsVHlwZSxcbiAgICAgICAgbW9kZWxJZDogdGhpcy5tb2RlbElkXG4gICAgICB9IC8vIEFueSBkYXRhIHBhc3NlZCBoZXJlIHdpbGwgYmUgaW5qZWN0ZWQgaW50byB0aGUgbW9kZWxcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImxvZ1ZpZXc9PT0ncmVjZW50J1wiIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiUmVjZW50IEF1ZGl0IExvZ1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtnZXRMb2dWaWV3KClcIj5cbiAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+XG48L2J1dHRvbj5cblxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCJsb2dWaWV3PT09J2FsbCdcIiBtYXQtaWNvbi1idXR0b24gbWF0VG9vbHRpcD1cIkFsbCBBdWRpdCBMb2dzXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2dldExvZ3NWaWV3KClcIj5cbiAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+XG48L2J1dHRvbj4iXX0=
|