ngx-techlify-core 18.44.0 → 18.46.0
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 +3 -3
- package/esm2022/lib/access-control-config/access-control-config-routing.module.mjs +4 -4
- package/esm2022/lib/access-control-config/access-control-config.component.mjs +3 -3
- package/esm2022/lib/access-control-config/access-control-config.module.mjs +4 -4
- package/esm2022/lib/access-control-config/access-control-config.service.mjs +3 -3
- package/esm2022/lib/action-popup/action-popup.component.mjs +8 -9
- package/esm2022/lib/action-popup/action-popup.module.mjs +5 -9
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.mjs +4 -4
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +3 -3
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +4 -4
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +3 -3
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +4 -4
- package/esm2022/lib/app-admin/admin-role/admin-role.service.mjs +3 -3
- package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +3 -3
- package/esm2022/lib/app-admin/app-admin-routing.module.mjs +4 -4
- package/esm2022/lib/app-admin/app-admin.module.mjs +4 -4
- package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-log.service.mjs +3 -3
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +4 -4
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +3 -3
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +4 -4
- package/esm2022/lib/base-model/techlify-form-component.class.mjs +3 -3
- package/esm2022/lib/base-model/techlify-listing-component.class.mjs +3 -3
- package/esm2022/lib/change-password/change-password-routing.module.mjs +4 -4
- package/esm2022/lib/change-password/change-password.component.mjs +3 -3
- package/esm2022/lib/change-password/change-password.module.mjs +4 -4
- package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +3 -3
- package/esm2022/lib/column-selector/column-selector.module.mjs +4 -4
- package/esm2022/lib/company-information/client.service.mjs +3 -3
- package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +3 -3
- package/esm2022/lib/company-information/company-information/company-information.component.mjs +3 -3
- package/esm2022/lib/company-information/tenant-form-button/tenant-form-button.component.mjs +3 -3
- package/esm2022/lib/core/alert.service.mjs +3 -3
- package/esm2022/lib/core/api-prefix.interceptor.mjs +3 -3
- package/esm2022/lib/core/authentication.guard.mjs +3 -3
- package/esm2022/lib/core/authentication.service.mjs +3 -3
- package/esm2022/lib/core/cache.interceptor.mjs +3 -3
- package/esm2022/lib/core/config.service.mjs +3 -3
- package/esm2022/lib/core/core.module.mjs +4 -4
- package/esm2022/lib/core/credentials.service.mjs +3 -3
- package/esm2022/lib/core/dataManager.service.mjs +3 -3
- package/esm2022/lib/core/environment.service.mjs +3 -3
- package/esm2022/lib/core/error-handler.interceptor.mjs +3 -3
- package/esm2022/lib/core/error-handler.service.mjs +3 -3
- package/esm2022/lib/core/filter.service.mjs +3 -3
- package/esm2022/lib/core/form-validator.service.mjs +3 -3
- package/esm2022/lib/core/header.interceptor.mjs +3 -3
- package/esm2022/lib/core/http-cache.service.mjs +3 -3
- package/esm2022/lib/core/http.service.mjs +3 -3
- package/esm2022/lib/core/route-reusable-strategy.mjs +3 -3
- package/esm2022/lib/core/snack/snack.component.mjs +6 -6
- package/esm2022/lib/core/snack/snack.module.mjs +4 -4
- package/esm2022/lib/core/storage.service.mjs +3 -3
- package/esm2022/lib/core/token.interceptor.mjs +3 -3
- package/esm2022/lib/custom-icon/custom-icon-registry.service.mjs +3 -3
- package/esm2022/lib/custom-icon/custom-icon.component.mjs +3 -3
- package/esm2022/lib/custom-icon/custom-icon.module.mjs +4 -4
- package/esm2022/lib/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/data-table/data-table.module.mjs +4 -4
- package/esm2022/lib/delete-button/techlify-delete-button.component.mjs +68 -0
- package/esm2022/lib/document-viewer/document-viewer.component.mjs +3 -3
- package/esm2022/lib/document-viewer/document-viewer.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +3 -3
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +4 -4
- package/esm2022/lib/email-subscription/email-subscription.module.mjs +4 -4
- package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +3 -3
- package/esm2022/lib/entity-files/entity-file.service.mjs +3 -3
- package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +3 -3
- package/esm2022/lib/entity-files/entity-files-view-all.module.mjs +4 -4
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +3 -3
- package/esm2022/lib/export-excel/export-excel.module.mjs +4 -4
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +3 -3
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +4 -4
- package/esm2022/lib/file-dropper/file-dropper.component.mjs +3 -3
- package/esm2022/lib/file-dropper/file-dropper.module.mjs +4 -4
- package/esm2022/lib/file-upload-button/file-upload-button.component.mjs +3 -3
- package/esm2022/lib/forgot-password/forgot-password-routing.module.mjs +4 -4
- package/esm2022/lib/forgot-password/forgot-password.component.mjs +3 -3
- package/esm2022/lib/forgot-password/forgot-password.module.mjs +4 -4
- package/esm2022/lib/image-preview/image-preview.component.mjs +3 -3
- package/esm2022/lib/import-csv/data-import/data-import.component.mjs +3 -3
- package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +5 -5
- package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +3 -3
- package/esm2022/lib/import-csv/import-csv.component.mjs +17 -12
- package/esm2022/lib/import-csv/import-csv.module.mjs +4 -4
- package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +3 -3
- package/esm2022/lib/import-csv/import-success/import-success.component.mjs +3 -3
- package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +4 -4
- package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +3 -3
- package/esm2022/lib/loader/loader.component.mjs +3 -3
- package/esm2022/lib/loader/loader.module.mjs +4 -4
- package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +3 -3
- package/esm2022/lib/login/login-routing.module.mjs +4 -4
- package/esm2022/lib/login/login.component.mjs +3 -3
- package/esm2022/lib/login/login.module.mjs +4 -4
- package/esm2022/lib/login-history-for-user/login-history-for-user-routing.module.mjs +4 -4
- package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +3 -3
- package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +4 -4
- package/esm2022/lib/material.module.mjs +4 -4
- package/esm2022/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +4 -4
- package/esm2022/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +4 -4
- package/esm2022/lib/note/comment-form/comment-form.component.mjs +3 -3
- package/esm2022/lib/note/note-form/note-form.component.mjs +3 -3
- package/esm2022/lib/note/note-list/note-list.component.mjs +3 -3
- package/esm2022/lib/note/note.module.mjs +4 -4
- package/esm2022/lib/note/note.service.mjs +3 -3
- package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +3 -3
- package/esm2022/lib/number-input-button/number-input-button.module.mjs +4 -4
- package/esm2022/lib/password-requirement-check/password-check.service.mjs +3 -3
- package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +3 -3
- package/esm2022/lib/password-requirement-check/password-requirement-check.module.mjs +4 -4
- package/esm2022/lib/pdf-button/pdf-button.component.mjs +3 -3
- package/esm2022/lib/pdf-button/pdf-button.module.mjs +4 -4
- package/esm2022/lib/pipes/wrap.pipe.mjs +3 -3
- package/esm2022/lib/profile/profile-edit.component.mjs +3 -3
- package/esm2022/lib/profile/profile-routing.module.mjs +4 -4
- package/esm2022/lib/profile/profile.module.mjs +4 -4
- package/esm2022/lib/read-more/read-more.component.mjs +3 -3
- package/esm2022/lib/read-more/read-more.module.mjs +4 -4
- package/esm2022/lib/request-helper/request-helper.service.mjs +3 -3
- package/esm2022/lib/reset-password/reset-password-routing.module.mjs +4 -4
- package/esm2022/lib/reset-password/reset-password.component.mjs +3 -3
- package/esm2022/lib/reset-password/reset-password.module.mjs +4 -4
- package/esm2022/lib/reset-password/reset-password.service.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +4 -4
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +4 -4
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +4 -4
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +3 -3
- package/esm2022/lib/restrictors/restrictor.service.mjs +3 -3
- package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +3 -3
- package/esm2022/lib/restrictors/restrictors-routing.module.mjs +4 -4
- package/esm2022/lib/restrictors/restrictors.module.mjs +4 -4
- package/esm2022/lib/role/permission/permission.module.mjs +4 -4
- package/esm2022/lib/role/permission/permission.routes.mjs +4 -4
- package/esm2022/lib/role/permission/permissions-management.component.mjs +3 -3
- package/esm2022/lib/role/role-form-button.component.mjs +3 -3
- package/esm2022/lib/role/role-form.component.mjs +3 -3
- package/esm2022/lib/role/role-view/role-view-routing.module.mjs +4 -4
- package/esm2022/lib/role/role-view/role-view.component.mjs +3 -3
- package/esm2022/lib/role/role-view/role-view.module.mjs +4 -4
- package/esm2022/lib/role/role.module.mjs +4 -4
- package/esm2022/lib/role/role.routes.mjs +4 -4
- package/esm2022/lib/role/role.service.mjs +3 -3
- package/esm2022/lib/role/roles-view-all.component.mjs +3 -3
- package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +3 -3
- package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +4 -4
- package/esm2022/lib/signup/signup-routing.module.mjs +4 -4
- package/esm2022/lib/signup/signup.component.mjs +3 -3
- package/esm2022/lib/signup/signup.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-form/subscription-form-routing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +3 -3
- package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-listing/subscription-listing-routing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +3 -3
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +3 -3
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view-routing.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +3 -3
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +4 -4
- package/esm2022/lib/subscription/subscription-package.service.mjs +3 -3
- package/esm2022/lib/subscription/subscription.service.mjs +3 -3
- package/esm2022/lib/subscription/techlify-subscription-directive.module.mjs +4 -4
- package/esm2022/lib/subscription/techlify-subscription.directive.mjs +3 -3
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +3 -3
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +4 -4
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +3 -3
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +4 -4
- package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +3 -3
- package/esm2022/lib/techlify-feature/techlify-feature-directive.module.mjs +4 -4
- package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +3 -3
- package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +3 -3
- package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +4 -4
- package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +3 -3
- package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +3 -3
- package/esm2022/lib/techlify-icon/techlify-icon.module.mjs +4 -4
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +4 -4
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +3 -3
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +4 -4
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.mjs +3 -3
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.mjs +3 -3
- package/esm2022/lib/techlify-notifications/techlify-notification-routing.module.mjs +4 -4
- package/esm2022/lib/techlify-notifications/techlify-notification.module.mjs +4 -4
- package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +3 -3
- package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +4 -4
- package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +3 -3
- package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +3 -3
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +3 -3
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update-routing.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update.module.mjs +4 -4
- package/esm2022/lib/techlify-update/techlify-update.service.mjs +3 -3
- package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +3 -3
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +3 -3
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +4 -4
- package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +3 -3
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +3 -3
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +4 -4
- package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +3 -3
- package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +4 -4
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.mjs +4 -4
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +3 -3
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +4 -4
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.mjs +4 -4
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +3 -3
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +4 -4
- package/esm2022/lib/timeline-activity/timeline-activity.service.mjs +3 -3
- package/esm2022/lib/timeline-filter/timeline-filter-routing.module.mjs +4 -4
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +3 -3
- package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +4 -4
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.component.mjs +3 -3
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +4 -4
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.routes.mjs +4 -4
- package/esm2022/lib/user/current-user.service.mjs +3 -3
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +3 -3
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +4 -4
- package/esm2022/lib/user/user-explore.component.mjs +3 -3
- package/esm2022/lib/user/user-form.component.mjs +3 -3
- package/esm2022/lib/user/user-sessions/user-session.service.mjs +3 -3
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +3 -3
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +4 -4
- package/esm2022/lib/user/user-view.component.mjs +3 -3
- package/esm2022/lib/user/user.module.mjs +4 -4
- package/esm2022/lib/user/user.routes.mjs +4 -4
- package/esm2022/lib/user/user.service.mjs +3 -3
- package/esm2022/lib/user/users-view-all.component.mjs +3 -3
- package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.mjs +3 -3
- package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +4 -4
- package/esm2022/lib/user-clients-list/user-client.service.mjs +3 -3
- package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +3 -3
- package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +4 -4
- package/esm2022/lib/user-config/user-config.service.mjs +3 -3
- package/esm2022/lib/user-menu/user-menu.component.mjs +3 -3
- package/esm2022/lib/user-menu/user-menu.module.mjs +4 -4
- package/esm2022/lib/user-selector/user-data.service.mjs +3 -3
- package/esm2022/lib/user-selector/user-selector.component.mjs +3 -3
- package/esm2022/lib/user-selector/user-selector.module.mjs +4 -4
- package/esm2022/lib/utility/date-utils.service.mjs +3 -3
- package/esm2022/lib/utility/num-items-selector.component.mjs +3 -3
- package/esm2022/lib/utility/number-selector.component.mjs +3 -3
- package/esm2022/lib/utility/utility.module.mjs +4 -4
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/ngx-techlify-core.mjs +1079 -1018
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/action-popup/action-popup.module.d.ts +3 -4
- package/lib/delete-button/techlify-delete-button.component.d.ts +23 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -117,10 +117,10 @@ export class AccessControlConfigFormComponent {
|
|
|
117
117
|
redirectBack() {
|
|
118
118
|
this.location.back();
|
|
119
119
|
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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\" autocomplete=\"off\" type=\"number\" min=\"0\" 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 formControlName=\"max_old_passwords_block\" placeholder=\"Block x most recent passwords\"\n type=\"number\" min=\"0\" autocomplete=\"off\" 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 formControlName=\"min_password_length\" placeholder=\"Minimum Password Length\" type=\"number\"\n min=\"1\" 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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\" 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>", 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] ", 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", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.AccessControlConfigService }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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\" autocomplete=\"off\" type=\"number\" min=\"0\" 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 formControlName=\"max_old_passwords_block\" placeholder=\"Block x most recent passwords\"\n type=\"number\" min=\"0\" autocomplete=\"off\" 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 formControlName=\"min_password_length\" placeholder=\"Minimum Password Length\" type=\"number\"\n min=\"1\" 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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\" 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>", 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] ", 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", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
|
|
122
122
|
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigFormComponent, decorators: [{
|
|
124
124
|
type: Component,
|
|
125
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\" autocomplete=\"off\" type=\"number\" min=\"0\" 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 formControlName=\"max_old_passwords_block\" placeholder=\"Block x most recent passwords\"\n type=\"number\" min=\"0\" autocomplete=\"off\" 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 formControlName=\"min_password_length\" placeholder=\"Minimum Password Length\" type=\"number\"\n min=\"1\" 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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 [hideSingleSelectionIndicator]=\"true\" [hideMultipleSelectionIndicator]=\"true\"\n 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\" 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>", styles: [".custom-hint{font-size:10.5px}\n"] }]
|
|
126
126
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.AccessControlConfigService }, { type: i4.Location }] });
|
|
@@ -17,11 +17,11 @@ const routes = [
|
|
|
17
17
|
}
|
|
18
18
|
];
|
|
19
19
|
export class AccessControlConfigRoutingModule {
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
21
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
22
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
21
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigRoutingModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -117,14 +117,14 @@ let AccessControlConfigComponent = class AccessControlConfigComponent {
|
|
|
117
117
|
resetFieldValue(field) {
|
|
118
118
|
this.filterFormGroup.get(field).setValue('');
|
|
119
119
|
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
121
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertService }, { token: i3.UntypedFormBuilder }, { token: i4.AccessControlConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", 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] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", 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: ["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"] }] }); }
|
|
122
122
|
};
|
|
123
123
|
AccessControlConfigComponent = __decorate([
|
|
124
124
|
UntilDestroy()
|
|
125
125
|
], AccessControlConfigComponent);
|
|
126
126
|
export { AccessControlConfigComponent };
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
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
130
|
}], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.AlertService }, { type: i3.UntypedFormBuilder }, { type: i4.AccessControlConfigService }] });
|
|
@@ -13,8 +13,8 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
13
13
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
export class AccessControlConfigModule {
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigModule, declarations: [AccessControlConfigComponent,
|
|
18
18
|
AccessControlConfigFormComponent], imports: [CommonModule,
|
|
19
19
|
ReactiveFormsModule,
|
|
20
20
|
InfiniteScrollModule,
|
|
@@ -25,7 +25,7 @@ export class AccessControlConfigModule {
|
|
|
25
25
|
MatButtonToggleModule,
|
|
26
26
|
MatButtonModule,
|
|
27
27
|
MatProgressBarModule] }); }
|
|
28
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigModule, imports: [CommonModule,
|
|
29
29
|
ReactiveFormsModule,
|
|
30
30
|
InfiniteScrollModule,
|
|
31
31
|
FlexLayoutModule,
|
|
@@ -36,7 +36,7 @@ export class AccessControlConfigModule {
|
|
|
36
36
|
MatButtonModule,
|
|
37
37
|
MatProgressBarModule] }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigModule, decorators: [{
|
|
40
40
|
type: NgModule,
|
|
41
41
|
args: [{
|
|
42
42
|
declarations: [
|
|
@@ -25,10 +25,10 @@ export class AccessControlConfigService extends TechlifyServiceBaseClass {
|
|
|
25
25
|
deleteConfig(configId) {
|
|
26
26
|
return this.http.delete(`api/access-control-configs/${configId}`).toPromise();
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigService, providedIn: 'root' }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccessControlConfigService, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root'
|
|
@@ -2,9 +2,8 @@ import { Component, Inject } from '@angular/core';
|
|
|
2
2
|
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "./action-popup.model";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "./action-popup.model";
|
|
8
7
|
export class ActionPopupComponent {
|
|
9
8
|
constructor(dialogRef, data) {
|
|
10
9
|
this.dialogRef = dialogRef;
|
|
@@ -21,14 +20,14 @@ export class ActionPopupComponent {
|
|
|
21
20
|
confirm() {
|
|
22
21
|
this.dialogRef.close(this.data);
|
|
23
22
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionPopupComponent, selector: "app-action-popup", ngImport: i0, template: "<div>\n <h5 mat-dialog-title class='text-center'>{{data.title}}</h5>\n <div mat-dialog-content>\n <p [innerHTML]=\"data.message\"></p>\n </div>\n <div mat-dialog-actions class='d-flex justify-content-end'>\n <button mat-button (click)=\"closeDialog()\">Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">Proceed</button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
26
25
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupComponent, decorators: [{
|
|
28
27
|
type: Component,
|
|
29
|
-
args: [{ selector: 'app-action-popup', template: "<div
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type:
|
|
28
|
+
args: [{ selector: 'app-action-popup', template: "<div>\n <h5 mat-dialog-title class='text-center'>{{data.title}}</h5>\n <div mat-dialog-content>\n <p [innerHTML]=\"data.message\"></p>\n </div>\n <div mat-dialog-actions class='d-flex justify-content-end'>\n <button mat-button (click)=\"closeDialog()\">Cancel</button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">Proceed</button>\n </div>\n</div>" }]
|
|
29
|
+
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i3.ActionPopup, decorators: [{
|
|
31
30
|
type: Inject,
|
|
32
31
|
args: [MAT_DIALOG_DATA]
|
|
33
32
|
}] }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFRekUsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNTLFNBQTZDLEVBQ3BCLElBQWlCO1FBRDFDLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBQ3BCLFNBQUksR0FBSixJQUFJLENBQWE7SUFDL0MsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRDtPQUNHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQW5CVSxvQkFBb0IsOENBSXJCLGVBQWU7bUdBSmQsb0JBQW9CLHdEQ1RqQyx3WkFTTTs7NEZEQU8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBUXpCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGlvblBvcHVwIH0gZnJvbSAnLi9hY3Rpb24tcG9wdXAubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWN0aW9uLXBvcHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FjdGlvbi1wb3B1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWN0aW9uUG9wdXBDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWN0aW9uUG9wdXAsXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICAvKipNZXRob2QgdG8gY2xvc2UgZGlhbG9nIGJveCAqL1xuICBjbG9zZURpYWxvZygpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgLyoqTWV0aG9kIHRvIGNsb3NlIGRpYWxvZyBib3ggd2l0aCB0aGUgZGF0YSBnaXZlbiBmcm9tIHBhcmVudCBjb21wb25lbnRcbiAgICovXG4gIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5kYXRhKTtcbiAgfVxuXG59XG4iLCI8ZGl2PlxuICAgIDxoNSBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPSd0ZXh0LWNlbnRlcic+e3tkYXRhLnRpdGxlfX08L2g1PlxuICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgICAgICA8cCBbaW5uZXJIVE1MXT1cImRhdGEubWVzc2FnZVwiPjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz0nZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmQnPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImNsb3NlRGlhbG9nKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+UHJvY2VlZDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
4
3
|
import { ActionPopupComponent } from './action-popup.component';
|
|
5
4
|
import { MaterialModule } from '../material.module';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
export class ActionPopupModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
10
|
-
CommonModule,
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupModule, declarations: [ActionPopupComponent], imports: [CommonModule,
|
|
11
9
|
MaterialModule], exports: [ActionPopupComponent] }); }
|
|
12
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
-
CommonModule,
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupModule, imports: [CommonModule,
|
|
14
11
|
MaterialModule] }); }
|
|
15
12
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionPopupModule, decorators: [{
|
|
17
14
|
type: NgModule,
|
|
18
15
|
args: [{
|
|
19
16
|
imports: [
|
|
20
|
-
FlexLayoutModule,
|
|
21
17
|
CommonModule,
|
|
22
18
|
MaterialModule
|
|
23
19
|
],
|
|
@@ -29,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29
25
|
]
|
|
30
26
|
}]
|
|
31
27
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXBvcHVwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQWNwRCxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFOdEIsb0JBQW9CLGFBSnBCLFlBQVk7WUFDWixjQUFjLGFBTWQsb0JBQW9CO2dIQUdmLGlCQUFpQixZQVZ0QixZQUFZO1lBQ1osY0FBYzs7NEZBU1QsaUJBQWlCO2tCQVo3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixvQkFBb0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxvQkFBb0I7cUJBQ3ZCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9uLXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4uL21hdGVyaWFsLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgQWN0aW9uUG9wdXBDb21wb25lbnRcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQWN0aW9uUG9wdXBDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblBvcHVwTW9kdWxlIHsgfVxuIl19
|
|
@@ -12,11 +12,11 @@ const routes = [
|
|
|
12
12
|
},
|
|
13
13
|
];
|
|
14
14
|
export class AdminRoleListRoutingModule {
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListRoutingModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -103,14 +103,14 @@ let AdminRoleListComponent = class AdminRoleListComponent extends TechlifyListin
|
|
|
103
103
|
}
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
107
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListComponent, deps: [{ token: i1.AdminRoleService }, { token: i2.FilterService }, { token: i3.ActivatedRoute }, { token: i4.UntypedFormBuilder }, { token: i5.MatDialog }, { token: i6.NgxSpinnerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
107
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdminRoleListComponent, selector: "app-admin-role-list", usesInheritance: true, ngImport: i0, template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <div fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Global Roles</h5>\n <app-role-form-button (success)=\"reload()\" class=\"mt-2\"></app-role-form-button>\n </div>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"mt-2\">\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let role; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Label </th>\n <td mat-cell *matCellDef=\"let role\">\n <span>{{role?.label }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Description </th>\n <td mat-cell *matCellDef=\"let role\">\n <span>{{role?.description }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"permissions_count\">\n <th mat-header-cell *matHeaderCellDef> Permissions </th>\n <td mat-cell *matCellDef=\"let role\">\n <div>{{role?.permissions_count}}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let role\">\n <div class=\"text-secondary\" fxLayoutAlign=\"start center\">\n <app-admin-role-permission-form (success)=\"reload()\" [roleInfo]=\"role\"\n class=\"text-muted\"></app-admin-role-permission-form>\n <app-techlify-icon name=\"view\" matTooltip=\"View\" [routerLink]=\"['/admin/role-view',role?.id]\"\n class=\"clickable ml-1\"></app-techlify-icon>\n </div>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.AdminRolePermissionFormComponent, selector: "app-admin-role-permission-form", inputs: ["isUpdate", "roleInfo"], outputs: ["success"] }, { kind: "directive", type: i8.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i8.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { 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: ["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"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i12.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: i12.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: i12.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: "component", type: i13.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "directive", type: i14.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i15.RoleFormButtonComponent, selector: "app-role-form-button", inputs: ["config", "clientId", "isUpdate", "role"], outputs: ["success"] }] }); }
|
|
108
108
|
};
|
|
109
109
|
AdminRoleListComponent = __decorate([
|
|
110
110
|
UntilDestroy()
|
|
111
111
|
], AdminRoleListComponent);
|
|
112
112
|
export { AdminRoleListComponent };
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListComponent, decorators: [{
|
|
114
114
|
type: Component,
|
|
115
115
|
args: [{ selector: 'app-admin-role-list', template: "<div fxLayout=\"column\" class=\"m-2\">\n <mat-card appearance=\"outlined\" fxLayout fxLayoutGap=\"0.5rem\" fxLayoutAlign=\"start center\">\n <div fxLayout fxLayoutAlign=\"start center\">\n <h5 class=\"m-0\">Global Roles</h5>\n <app-role-form-button (success)=\"reload()\" class=\"mt-2\"></app-role-form-button>\n </div>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"mt-2\">\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let role; let i = index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"label\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Label </th>\n <td mat-cell *matCellDef=\"let role\">\n <span>{{role?.label }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Description </th>\n <td mat-cell *matCellDef=\"let role\">\n <span>{{role?.description }}</span>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"permissions_count\">\n <th mat-header-cell *matHeaderCellDef> Permissions </th>\n <td mat-cell *matCellDef=\"let role\">\n <div>{{role?.permissions_count}}</div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let role\">\n <div class=\"text-secondary\" fxLayoutAlign=\"start center\">\n <app-admin-role-permission-form (success)=\"reload()\" [roleInfo]=\"role\"\n class=\"text-muted\"></app-admin-role-permission-form>\n <app-techlify-icon name=\"view\" matTooltip=\"View\" [routerLink]=\"['/admin/role-view',role?.id]\"\n class=\"clickable ml-1\"></app-techlify-icon>\n </div>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card>\n</div>" }]
|
|
116
116
|
}], ctorParameters: () => [{ type: i1.AdminRoleService }, { type: i2.FilterService }, { type: i3.ActivatedRoute }, { type: i4.UntypedFormBuilder }, { type: i5.MatDialog }, { type: i6.NgxSpinnerService }] });
|
|
@@ -14,8 +14,8 @@ import { MatSortModule } from '@angular/material/sort';
|
|
|
14
14
|
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
export class AdminRoleListModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListModule, declarations: [AdminRoleListComponent], imports: [CommonModule,
|
|
19
19
|
AdminRoleListRoutingModule,
|
|
20
20
|
AdminRolePermissionFormModule,
|
|
21
21
|
MaterialModule,
|
|
@@ -28,7 +28,7 @@ export class AdminRoleListModule {
|
|
|
28
28
|
RoleModule,
|
|
29
29
|
MatTableModule,
|
|
30
30
|
MatSortModule] }); }
|
|
31
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListModule, imports: [CommonModule,
|
|
32
32
|
AdminRoleListRoutingModule,
|
|
33
33
|
AdminRolePermissionFormModule,
|
|
34
34
|
MaterialModule,
|
|
@@ -42,7 +42,7 @@ export class AdminRoleListModule {
|
|
|
42
42
|
MatTableModule,
|
|
43
43
|
MatSortModule] }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleListModule, decorators: [{
|
|
46
46
|
type: NgModule,
|
|
47
47
|
args: [{
|
|
48
48
|
declarations: [
|
|
@@ -72,10 +72,10 @@ export class AdminRolePermissionFormComponent extends TechlifyFormComponentInter
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.MatDialog }, { token: i3.UntypedFormBuilder }, { token: i4.AdminRoleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AdminRolePermissionFormComponent, selector: "app-admin-role-permission-form", inputs: { isUpdate: "isUpdate", roleInfo: "roleInfo" }, outputs: { success: "success" }, usesInheritance: true, ngImport: i0, template: "<app-techlify-icon name=\"edit\" matTooltip=\"Edit\" (click)=\"formDialog(formTemplate)\"\n class=\"clickable\"></app-techlify-icon>\n\n\n<ng-template #formTemplate>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"this.isWorking\"></mat-progress-bar>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Permission Form</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\" fxLayoutGap=\"0.25rem\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Permission</mat-label>\n <app-searchable-selector appearance=\"outline\" formControlName=\"permission_ids\" titleField=\"label\"\n apiUrl=\"api/permissions\" sortBy=\"label|ASC\" [selectedValue]=\"selectedPermissions\"\n [multiple]=\"true\" [required]=\"true\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('permission_ids')\">{{getErrorMessage('permission_ids')}}\n </mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button fxFlex mat-raised-button type=\"button\" matDialogClose class=\"white-bg-button\">\n Cancel\n </button>\n <button fxFlex mat-raised-button color=\"primary\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n </div>\n </form>\n</ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange"] }, { kind: "component", type: i7.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i12.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: i12.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: i12.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: i12.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: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{ selector: 'app-admin-role-permission-form', template: "<app-techlify-icon name=\"edit\" matTooltip=\"Edit\" (click)=\"formDialog(formTemplate)\"\n class=\"clickable\"></app-techlify-icon>\n\n\n<ng-template #formTemplate>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"this.isWorking\"></mat-progress-bar>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Role Permission Form</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\" fxLayoutGap=\"0.25rem\">\n <mat-form-field appearance=\"outline\">\n <mat-label>Permission</mat-label>\n <app-searchable-selector appearance=\"outline\" formControlName=\"permission_ids\" titleField=\"label\"\n apiUrl=\"api/permissions\" sortBy=\"label|ASC\" [selectedValue]=\"selectedPermissions\"\n [multiple]=\"true\" [required]=\"true\"></app-searchable-selector>\n <mat-error *ngIf=\"isFieldValid('permission_ids')\">{{getErrorMessage('permission_ids')}}\n </mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button fxFlex mat-raised-button type=\"button\" matDialogClose class=\"white-bg-button\">\n Cancel\n </button>\n <button fxFlex mat-raised-button color=\"primary\" type=\"submit\">\n Save\n </button>\n </div>\n </div>\n </div>\n </form>\n</ng-template>" }]
|
|
81
81
|
}], ctorParameters: () => [{ type: i1.FormValidatorService }, { type: i2.MatDialog }, { type: i3.UntypedFormBuilder }, { type: i4.AdminRoleService }], propDecorators: { isUpdate: [{
|
|
@@ -11,8 +11,8 @@ import { FlexLayoutModule } from '@angular/flex-layout';
|
|
|
11
11
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export class AdminRolePermissionFormModule {
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormModule, declarations: [AdminRolePermissionFormComponent], imports: [CommonModule,
|
|
16
16
|
SearchableSelectorModule,
|
|
17
17
|
TechlifyIconModule,
|
|
18
18
|
MaterialModule,
|
|
@@ -24,7 +24,7 @@ export class AdminRolePermissionFormModule {
|
|
|
24
24
|
MatTableModule,
|
|
25
25
|
MatSortModule,
|
|
26
26
|
TechlifyIconModule], exports: [AdminRolePermissionFormComponent] }); }
|
|
27
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
27
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormModule, imports: [CommonModule,
|
|
28
28
|
SearchableSelectorModule,
|
|
29
29
|
TechlifyIconModule,
|
|
30
30
|
MaterialModule,
|
|
@@ -37,7 +37,7 @@ export class AdminRolePermissionFormModule {
|
|
|
37
37
|
MatSortModule,
|
|
38
38
|
TechlifyIconModule] }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRolePermissionFormModule, decorators: [{
|
|
41
41
|
type: NgModule,
|
|
42
42
|
args: [{
|
|
43
43
|
declarations: [
|
|
@@ -12,10 +12,10 @@ export class AdminRoleService extends TechlifyServiceBaseClass {
|
|
|
12
12
|
update(model, params) {
|
|
13
13
|
return this.http.put(`api/admin-roles/${model?.id}`, model, { params: params });
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleService, providedIn: 'root' }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AdminRoleService, decorators: [{
|
|
19
19
|
type: Injectable,
|
|
20
20
|
args: [{
|
|
21
21
|
providedIn: 'root'
|