ngx-techlify-core 19.0.0 → 22.3.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/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs +677 -0
- package/fesm2022/ngx-techlify-core-base-model-oCILHkdE.mjs.map +1 -0
- package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs +4842 -0
- package/fesm2022/ngx-techlify-core-shared.module-DROe5GRx.mjs.map +1 -0
- package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs +133 -0
- package/fesm2022/ngx-techlify-core-user-config.service-DW5EgXhL.mjs.map +1 -0
- package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs +2135 -0
- package/fesm2022/ngx-techlify-core-user-sessions.module-BRmDpYG3.mjs.map +1 -0
- package/fesm2022/ngx-techlify-core.mjs +32477 -16273
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/package.json +19 -19
- package/styles/_index.scss +1 -1
- package/styles/style.scss +2 -2
- package/types/ngx-techlify-core.d.ts +6429 -0
- package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -126
- package/esm2022/lib/access-control-config/access-control-config-routing.module.mjs +0 -31
- package/esm2022/lib/access-control-config/access-control-config.component.mjs +0 -128
- package/esm2022/lib/access-control-config/access-control-config.model.mjs +0 -21
- package/esm2022/lib/access-control-config/access-control-config.module.mjs +0 -28
- package/esm2022/lib/access-control-config/access-control-config.service.mjs +0 -37
- package/esm2022/lib/action-popup/action-popup.component.mjs +0 -33
- package/esm2022/lib/action-popup/action-popup.model.mjs +0 -3
- package/esm2022/lib/action-popup/action-popup.module.mjs +0 -28
- package/esm2022/lib/action-popup/index.mjs +0 -3
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.mjs +0 -26
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.mjs +0 -115
- package/esm2022/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.mjs +0 -33
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.mjs +0 -87
- package/esm2022/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.mjs +0 -22
- package/esm2022/lib/app-admin/admin-role/admin-role.service.mjs +0 -24
- package/esm2022/lib/app-admin/app-admin-home/app-admin-home.component.mjs +0 -17
- package/esm2022/lib/app-admin/app-admin-routing.module.mjs +0 -29
- package/esm2022/lib/app-admin/app-admin.module.mjs +0 -22
- package/esm2022/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.mjs +0 -56
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -61
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +0 -32
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -149
- package/esm2022/lib/audit-log/audit-log-list/audit-log-list.module.mjs +0 -28
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -56
- package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +0 -24
- package/esm2022/lib/audit-log/audit-log-routing.module.mjs +0 -25
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -53
- package/esm2022/lib/audit-log/audit-log-view/audit-log-view.module.mjs +0 -24
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -55
- package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +0 -24
- package/esm2022/lib/audit-log/audit-log.module.mjs +0 -31
- package/esm2022/lib/audit-log/audit-log.service.mjs +0 -18
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +0 -18
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -23
- package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +0 -28
- package/esm2022/lib/base-model/index.mjs +0 -8
- package/esm2022/lib/base-model/techlify-form/contract/techlify-form.contract.mjs +0 -191
- package/esm2022/lib/base-model/techlify-form/techlify-form.component.mjs +0 -134
- package/esm2022/lib/base-model/techlify-list/contract/techlify-list.contract.mjs +0 -69
- package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +0 -331
- package/esm2022/lib/base-model/techlify-service.mjs +0 -68
- package/esm2022/lib/base-model/techlify-show/contract/techlify-show.contract.mjs +0 -84
- package/esm2022/lib/base-model/techlify-show/techlify-show.component.mjs +0 -120
- package/esm2022/lib/change-password/change-password-routing.module.mjs +0 -24
- package/esm2022/lib/change-password/change-password.component.mjs +0 -86
- package/esm2022/lib/change-password/change-password.module.mjs +0 -29
- package/esm2022/lib/column-selector/column-config.model.mjs +0 -3
- package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +0 -108
- package/esm2022/lib/column-selector/column-selector.module.mjs +0 -24
- package/esm2022/lib/column-selector/index.mjs +0 -4
- package/esm2022/lib/company-information/client.service.mjs +0 -19
- package/esm2022/lib/company-information/company-info-display/company-info-display.component.mjs +0 -44
- package/esm2022/lib/company-information/company-information/company-information.component.mjs +0 -120
- package/esm2022/lib/company-information/tenant-form-button/tenant-form-button.component.mjs +0 -36
- package/esm2022/lib/core/alert.service.mjs +0 -38
- package/esm2022/lib/core/api-prefix.interceptor.mjs +0 -26
- package/esm2022/lib/core/app-update.service.mjs +0 -64
- package/esm2022/lib/core/authentication.guard.mjs +0 -35
- package/esm2022/lib/core/authentication.service.mjs +0 -67
- package/esm2022/lib/core/cache.interceptor.mjs +0 -58
- package/esm2022/lib/core/config.service.mjs +0 -45
- package/esm2022/lib/core/core.module.mjs +0 -56
- package/esm2022/lib/core/credentials.service.mjs +0 -84
- package/esm2022/lib/core/environment.service.mjs +0 -22
- package/esm2022/lib/core/error-handler.interceptor.mjs +0 -60
- package/esm2022/lib/core/error-handler.service.mjs +0 -68
- package/esm2022/lib/core/filter.service.mjs +0 -40
- package/esm2022/lib/core/form-validator.service.mjs +0 -24
- package/esm2022/lib/core/header.interceptor.mjs +0 -24
- package/esm2022/lib/core/http-cache.service.mjs +0 -107
- package/esm2022/lib/core/http.service.mjs +0 -84
- package/esm2022/lib/core/index.mjs +0 -23
- package/esm2022/lib/core/logger.service.mjs +0 -100
- package/esm2022/lib/core/route-reusable-strategy.mjs +0 -36
- package/esm2022/lib/core/snack/snack.component.mjs +0 -33
- package/esm2022/lib/core/snack/snack.module.mjs +0 -36
- package/esm2022/lib/core/storage.service.mjs +0 -38
- package/esm2022/lib/core/techlify-config.model.mjs +0 -28
- package/esm2022/lib/core/token.interceptor.mjs +0 -28
- package/esm2022/lib/custom-icon/custom-icon-registry.service.mjs +0 -23
- package/esm2022/lib/custom-icon/custom-icon.component.mjs +0 -24
- package/esm2022/lib/custom-icon/custom-icon.module.mjs +0 -20
- package/esm2022/lib/custom-icon/custom-icons.registry.mjs +0 -42
- package/esm2022/lib/data-table/data-table.component.mjs +0 -203
- package/esm2022/lib/data-table/data-table.model.mjs +0 -11
- package/esm2022/lib/data-table/data-table.module.mjs +0 -24
- package/esm2022/lib/data-table/index.mjs +0 -3
- package/esm2022/lib/delete-button/techlify-delete-button.component.mjs +0 -74
- package/esm2022/lib/detail-layout/techlify-detail-layout.component.mjs +0 -11
- package/esm2022/lib/document-viewer/document-viewer.component.mjs +0 -64
- package/esm2022/lib/document-viewer/document-viewer.module.mjs +0 -32
- package/esm2022/lib/document-viewer/index.mjs +0 -3
- package/esm2022/lib/document-viewer/viewer-config.model.mjs +0 -3
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +0 -32
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -73
- package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +0 -24
- package/esm2022/lib/email-subscription/email-subscription-for-user/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -104
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +0 -28
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +0 -34
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -160
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +0 -28
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +0 -22
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -100
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +0 -27
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +0 -34
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -164
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +0 -32
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -51
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +0 -24
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -2
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +0 -18
- package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +0 -22
- package/esm2022/lib/email-subscription/email-subscription.module.mjs +0 -22
- package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -160
- package/esm2022/lib/entity-files/entity-file-list/entity-file-list.component.mjs +0 -251
- package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs +0 -33
- package/esm2022/lib/entity-files/entity-file-list.module.mjs +0 -43
- package/esm2022/lib/entity-files/entity-file.service.mjs +0 -37
- package/esm2022/lib/entity-files/index.mjs +0 -5
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -112
- package/esm2022/lib/export-excel/export-excel.module.mjs +0 -28
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -103
- package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +0 -24
- package/esm2022/lib/file-dropper/file-dropper.component.mjs +0 -125
- package/esm2022/lib/file-dropper/file-dropper.model.mjs +0 -3
- package/esm2022/lib/file-dropper/file-dropper.module.mjs +0 -26
- package/esm2022/lib/file-dropper/index.mjs +0 -3
- package/esm2022/lib/file-upload-button/file-upload-button.component.mjs +0 -47
- package/esm2022/lib/forgot-password/forgot-password-routing.module.mjs +0 -22
- package/esm2022/lib/forgot-password/forgot-password.component.mjs +0 -69
- package/esm2022/lib/forgot-password/forgot-password.module.mjs +0 -26
- package/esm2022/lib/forgot-password/index.mjs +0 -3
- package/esm2022/lib/form-button/techlify-form-button.component.mjs +0 -39
- package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.mjs +0 -29
- package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.mjs +0 -43
- package/esm2022/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.mjs +0 -24
- package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.mjs +0 -22
- package/esm2022/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.mjs +0 -28
- package/esm2022/lib/form-configuration/form-configuration-form-field.service.mjs +0 -18
- package/esm2022/lib/form-configuration/form-configuration-form.service.mjs +0 -18
- package/esm2022/lib/form-configuration/form-configuration-utility.service.mjs +0 -37
- package/esm2022/lib/image-preview/image-preview.component.mjs +0 -26
- package/esm2022/lib/import-csv/data-import/data-import.component.mjs +0 -17
- package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -34
- package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -152
- package/esm2022/lib/import-csv/import-csv-config.mjs +0 -2
- package/esm2022/lib/import-csv/import-csv.component.mjs +0 -209
- package/esm2022/lib/import-csv/import-csv.module.mjs +0 -44
- package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -70
- package/esm2022/lib/import-csv/import-success/import-success.component.mjs +0 -23
- package/esm2022/lib/ip-address-selector/ip-address-selector.module.mjs +0 -24
- package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -108
- package/esm2022/lib/loader/index.mjs +0 -2
- package/esm2022/lib/loader/loader.component.mjs +0 -23
- package/esm2022/lib/loader/loader.module.mjs +0 -28
- package/esm2022/lib/local-date-parser.mjs +0 -6
- package/esm2022/lib/locked-date/index.mjs +0 -6
- package/esm2022/lib/locked-date/locked-date-form/locked-date-form.component.mjs +0 -72
- package/esm2022/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.mjs +0 -35
- package/esm2022/lib/locked-date/locked-date.model.mjs +0 -3
- package/esm2022/lib/locked-date/locked-date.module.mjs +0 -34
- package/esm2022/lib/locked-date/locked-date.service.mjs +0 -25
- package/esm2022/lib/locked-date/locked-dates-list/locked-date-list.component.mjs +0 -62
- package/esm2022/lib/login/index.mjs +0 -3
- package/esm2022/lib/login/login-form-fields/login-form-fields.component.mjs +0 -152
- package/esm2022/lib/login/login-routing.module.mjs +0 -23
- package/esm2022/lib/login/login.component.mjs +0 -88
- package/esm2022/lib/login/login.module.mjs +0 -33
- package/esm2022/lib/login-history-for-user/login-history-for-user-routing.module.mjs +0 -26
- package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +0 -91
- package/esm2022/lib/login-history-for-user/login-history-for-user.module.mjs +0 -24
- package/esm2022/lib/material.module.mjs +0 -128
- package/esm2022/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +0 -43
- package/esm2022/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +0 -22
- package/esm2022/lib/note/comment-form/comment-form.component.mjs +0 -76
- package/esm2022/lib/note/index.mjs +0 -5
- package/esm2022/lib/note/note-comment-list/note-comment-list.component.mjs +0 -102
- package/esm2022/lib/note/note-form/note-form.component.mjs +0 -63
- package/esm2022/lib/note/note-list/note-list.component.mjs +0 -111
- package/esm2022/lib/note/note.module.mjs +0 -30
- package/esm2022/lib/note/note.service.mjs +0 -18
- package/esm2022/lib/number-input-button/index.mjs +0 -3
- package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
- package/esm2022/lib/number-input-button/number-input-button.module.mjs +0 -24
- package/esm2022/lib/number-selector/number-selector.component.mjs +0 -116
- package/esm2022/lib/ordinal-pipe/ordinal-pipe.mjs +0 -30
- package/esm2022/lib/password-requirement-check/password-check-result.mjs +0 -2
- package/esm2022/lib/password-requirement-check/password-check.service.mjs +0 -43
- package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -56
- package/esm2022/lib/password-requirement-check/password-requirement-check.module.mjs +0 -24
- package/esm2022/lib/pdf-button/pdf-button.component.mjs +0 -35
- package/esm2022/lib/pdf-button/pdf-button.module.mjs +0 -23
- package/esm2022/lib/phone-number-selector/country.service.mjs +0 -31
- package/esm2022/lib/phone-number-selector/phone-number-selector.component.mjs +0 -172
- package/esm2022/lib/pipes/file-size.pipe.mjs +0 -21
- package/esm2022/lib/pipes/wrap.pipe.mjs +0 -20
- package/esm2022/lib/profile/index.mjs +0 -3
- package/esm2022/lib/profile/profile-edit.component.mjs +0 -75
- package/esm2022/lib/profile/profile-routing.module.mjs +0 -23
- package/esm2022/lib/profile/profile.module.mjs +0 -28
- package/esm2022/lib/read-more/read-more.component.mjs +0 -43
- package/esm2022/lib/read-more/read-more.module.mjs +0 -26
- package/esm2022/lib/request-helper/request-helper.service.mjs +0 -131
- package/esm2022/lib/reset-password/index.mjs +0 -4
- package/esm2022/lib/reset-password/reset-password-routing.module.mjs +0 -22
- package/esm2022/lib/reset-password/reset-password.component.mjs +0 -89
- package/esm2022/lib/reset-password/reset-password.module.mjs +0 -30
- package/esm2022/lib/reset-password/reset-password.service.mjs +0 -25
- package/esm2022/lib/restrictors/index.mjs +0 -4
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +0 -24
- package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +0 -24
- package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +0 -24
- package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
- package/esm2022/lib/restrictors/restrictor.service.mjs +0 -19
- package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -101
- package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -43
- package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -141
- package/esm2022/lib/restrictors/restrictors-routing.module.mjs +0 -42
- package/esm2022/lib/restrictors/restrictors.module.mjs +0 -47
- package/esm2022/lib/role/index.mjs +0 -10
- package/esm2022/lib/role/permission/permission.model.mjs +0 -9
- package/esm2022/lib/role/permission/permission.module.mjs +0 -30
- package/esm2022/lib/role/permission/permission.routes.mjs +0 -26
- package/esm2022/lib/role/permission/permissions-management.component.mjs +0 -127
- package/esm2022/lib/role/role-form-button.component.mjs +0 -44
- package/esm2022/lib/role/role-form.component.mjs +0 -82
- package/esm2022/lib/role/role-list/role-list.component.mjs +0 -120
- package/esm2022/lib/role/role-view/role-view-routing.module.mjs +0 -26
- package/esm2022/lib/role/role-view/role-view.component.mjs +0 -38
- package/esm2022/lib/role/role-view/role-view.module.mjs +0 -28
- package/esm2022/lib/role/role.model.mjs +0 -56
- package/esm2022/lib/role/role.module.mjs +0 -38
- package/esm2022/lib/role/role.routes.mjs +0 -31
- package/esm2022/lib/role/role.service.mjs +0 -23
- package/esm2022/lib/searchable-selector/index.mjs +0 -2
- package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +0 -384
- package/esm2022/lib/searchable-selector/searchable-selector.module.mjs +0 -36
- package/esm2022/lib/shared.module.mjs +0 -85
- package/esm2022/lib/signup/index.mjs +0 -3
- package/esm2022/lib/signup/signup-routing.module.mjs +0 -22
- package/esm2022/lib/signup/signup.component.mjs +0 -78
- package/esm2022/lib/signup/signup.module.mjs +0 -26
- package/esm2022/lib/subscription/subscription-form/subscription-form-routing.module.mjs +0 -18
- package/esm2022/lib/subscription/subscription-form/subscription-form.component.mjs +0 -148
- package/esm2022/lib/subscription/subscription-form/subscription-form.module.mjs +0 -26
- package/esm2022/lib/subscription/subscription-listing/subscription-listing-routing.module.mjs +0 -26
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.component.mjs +0 -128
- package/esm2022/lib/subscription/subscription-listing/subscription-listing.module.mjs +0 -30
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.mjs +0 -26
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.component.mjs +0 -116
- package/esm2022/lib/subscription/subscription-package-listing/subscription-package-listing.module.mjs +0 -25
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view-routing.module.mjs +0 -26
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.component.mjs +0 -38
- package/esm2022/lib/subscription/subscription-package-view/subscription-package-view.module.mjs +0 -29
- package/esm2022/lib/subscription/subscription-package.service.mjs +0 -21
- package/esm2022/lib/subscription/subscription-status.enum.mjs +0 -6
- package/esm2022/lib/subscription/subscription.service.mjs +0 -40
- package/esm2022/lib/subscription/techlify-subscription-directive.module.mjs +0 -20
- package/esm2022/lib/subscription/techlify-subscription.directive.mjs +0 -33
- package/esm2022/lib/tag/tag.service.mjs +0 -18
- package/esm2022/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.mjs +0 -71
- package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
- package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -266
- package/esm2022/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +0 -22
- package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +0 -57
- package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -181
- package/esm2022/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +0 -22
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.component.mjs +0 -50
- package/esm2022/lib/techlify-app-selector/techlify-app-selector.module.mjs +0 -28
- package/esm2022/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.mjs +0 -185
- package/esm2022/lib/techlify-company-switcher/index.mjs +0 -3
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -70
- package/esm2022/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +0 -32
- package/esm2022/lib/techlify-currency-pipe/techlify-currency-pipe.directive.mjs +0 -27
- package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
- package/esm2022/lib/techlify-feature/techlify-feature-directive.module.mjs +0 -20
- package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -32
- package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -141
- package/esm2022/lib/techlify-feature/techlify-feature.module.mjs +0 -28
- package/esm2022/lib/techlify-feature/techlify-feature.routing.mjs +0 -12
- package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +0 -43
- package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +0 -77
- package/esm2022/lib/techlify-icon/techlify-icon.module.mjs +0 -24
- package/esm2022/lib/techlify-notifications/index.mjs +0 -9
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +0 -26
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -52
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +0 -26
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.mjs +0 -18
- package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.mjs +0 -18
- package/esm2022/lib/techlify-notifications/techlify-notification-routing.module.mjs +0 -18
- package/esm2022/lib/techlify-notifications/techlify-notification.module.mjs +0 -22
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -115
- package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +0 -26
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +0 -28
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -143
- package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +0 -23
- package/esm2022/lib/techlify-update/techlify-update-routing.module.mjs +0 -28
- package/esm2022/lib/techlify-update/techlify-update.module.mjs +0 -27
- package/esm2022/lib/techlify-update/techlify-update.service.mjs +0 -41
- package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -160
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -58
- package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +0 -22
- package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -76
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
- package/esm2022/lib/techlify-update/update-notifier/update-notifier.module.mjs +0 -27
- package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +0 -37
- package/esm2022/lib/techlify-update/update-view/update-view.module.mjs +0 -22
- package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.mjs +0 -90
- package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.mjs +0 -24
- package/esm2022/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.mjs +0 -18
- package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.component.mjs +0 -95
- package/esm2022/lib/techlify-view/techlify-view-form/techlify-view-form.module.mjs +0 -20
- package/esm2022/lib/techlify-view/techlify-view.service.mjs +0 -18
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.mjs +0 -18
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +0 -42
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.mjs +0 -28
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.mjs +0 -18
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.mjs +0 -87
- package/esm2022/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.mjs +0 -24
- package/esm2022/lib/timeline-activity/timeline-activity.service.mjs +0 -18
- package/esm2022/lib/timeline-filter/calculate-timeline.mjs +0 -103
- package/esm2022/lib/timeline-filter/index.mjs +0 -4
- package/esm2022/lib/timeline-filter/timeline-filter-routing.module.mjs +0 -18
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +0 -290
- package/esm2022/lib/timeline-filter/timeline-filter.module.mjs +0 -60
- package/esm2022/lib/timeline-filter/timeline.model.mjs +0 -18
- package/esm2022/lib/user/app-admin-user-list/app-admin-user-list.component.mjs +0 -155
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.component.mjs +0 -52
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.module.mjs +0 -44
- package/esm2022/lib/user/app-admin-user-view/app-admin-user-view.routes.mjs +0 -22
- package/esm2022/lib/user/current-user.service.mjs +0 -152
- package/esm2022/lib/user/index.mjs +0 -14
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -93
- package/esm2022/lib/user/user-enable-button-component/user-enable-button.module.mjs +0 -20
- package/esm2022/lib/user/user-explore.component.mjs +0 -49
- package/esm2022/lib/user/user-form/user-form.component.mjs +0 -200
- package/esm2022/lib/user/user-list/user-list.component.mjs +0 -145
- package/esm2022/lib/user/user-sessions/user-session.service.mjs +0 -18
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.component.mjs +0 -47
- package/esm2022/lib/user/user-sessions/user-sessions/user-sessions.module.mjs +0 -20
- package/esm2022/lib/user/user-type.enum.mjs +0 -7
- package/esm2022/lib/user/user-view.component.mjs +0 -58
- package/esm2022/lib/user/user.model.mjs +0 -31
- package/esm2022/lib/user/user.module.mjs +0 -68
- package/esm2022/lib/user/user.routes.mjs +0 -30
- package/esm2022/lib/user/user.service.mjs +0 -42
- package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.mjs +0 -53
- package/esm2022/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.mjs +0 -20
- package/esm2022/lib/user-clients-list/user-clients-list.component.mjs +0 -50
- package/esm2022/lib/user-clients-list/user-clients-list.module.mjs +0 -24
- package/esm2022/lib/user-clients-list/user-tenant.service.mjs +0 -24
- package/esm2022/lib/user-config/index.mjs +0 -3
- package/esm2022/lib/user-config/user-config.model.mjs +0 -50
- package/esm2022/lib/user-config/user-config.service.mjs +0 -65
- package/esm2022/lib/user-menu/user-menu.component.mjs +0 -39
- package/esm2022/lib/user-menu/user-menu.module.mjs +0 -28
- package/esm2022/lib/user-selector/index.mjs +0 -3
- package/esm2022/lib/user-selector/user-data.service.mjs +0 -35
- package/esm2022/lib/user-selector/user-selector.component.mjs +0 -86
- package/esm2022/lib/user-selector/user-selector.module.mjs +0 -26
- package/esm2022/lib/utility/date-utils.service.mjs +0 -89
- package/esm2022/lib/utility/index.mjs +0 -3
- package/esm2022/lib/utility/num-items-selector.component.mjs +0 -31
- package/esm2022/lib/utility/utility.module.mjs +0 -22
- package/esm2022/lib/validators/date.validator.mjs +0 -31
- package/esm2022/ngx-techlify-core.mjs +0 -5
- package/esm2022/public-api.mjs +0 -232
- package/index.d.ts +0 -5
- package/lib/access-control-config/access-control-config-form/access-control-config-form.component.d.ts +0 -44
- package/lib/access-control-config/access-control-config-routing.module.d.ts +0 -7
- package/lib/access-control-config/access-control-config.component.d.ts +0 -30
- package/lib/access-control-config/access-control-config.model.d.ts +0 -17
- package/lib/access-control-config/access-control-config.module.d.ts +0 -10
- package/lib/access-control-config/access-control-config.service.d.ts +0 -15
- package/lib/action-popup/action-popup.component.d.ts +0 -17
- package/lib/action-popup/action-popup.model.d.ts +0 -5
- package/lib/action-popup/action-popup.module.d.ts +0 -9
- package/lib/action-popup/index.d.ts +0 -2
- package/lib/app-admin/admin-role/admin-role-list/admin-role-list-routing.module.d.ts +0 -7
- package/lib/app-admin/admin-role/admin-role-list/admin-role-list.component.d.ts +0 -29
- package/lib/app-admin/admin-role/admin-role-list/admin-role-list.module.d.ts +0 -11
- package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.component.d.ts +0 -28
- package/lib/app-admin/admin-role/admin-role-permission-form/admin-role-permission-form.module.d.ts +0 -8
- package/lib/app-admin/admin-role/admin-role.service.d.ts +0 -11
- package/lib/app-admin/app-admin-home/app-admin-home.component.d.ts +0 -5
- package/lib/app-admin/app-admin-routing.module.d.ts +0 -7
- package/lib/app-admin/app-admin.module.d.ts +0 -8
- package/lib/app-admin/tenant/tenant-list-widget/tenant-list-widget.component.d.ts +0 -13
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -20
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -11
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -33
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -10
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -20
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -9
- package/lib/audit-log/audit-log-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -20
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -9
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -18
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -9
- package/lib/audit-log/audit-log.module.d.ts +0 -10
- package/lib/audit-log/audit-log.service.d.ts +0 -8
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -7
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -12
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -10
- package/lib/base-model/index.d.ts +0 -7
- package/lib/base-model/techlify-form/contract/techlify-form.contract.d.ts +0 -18
- package/lib/base-model/techlify-form/techlify-form.component.d.ts +0 -69
- package/lib/base-model/techlify-list/contract/techlify-list.contract.d.ts +0 -9
- package/lib/base-model/techlify-list/techlify-list.component.d.ts +0 -175
- package/lib/base-model/techlify-service.d.ts +0 -54
- package/lib/base-model/techlify-show/contract/techlify-show.contract.d.ts +0 -17
- package/lib/base-model/techlify-show/techlify-show.component.d.ts +0 -71
- package/lib/change-password/change-password-routing.module.d.ts +0 -7
- package/lib/change-password/change-password.component.d.ts +0 -27
- package/lib/change-password/change-password.module.d.ts +0 -10
- package/lib/column-selector/column-config.model.d.ts +0 -7
- package/lib/column-selector/column-selector/column-selector.component.d.ts +0 -27
- package/lib/column-selector/column-selector.module.d.ts +0 -8
- package/lib/column-selector/index.d.ts +0 -3
- package/lib/company-information/client.service.d.ts +0 -9
- package/lib/company-information/company-info-display/company-info-display.component.d.ts +0 -16
- package/lib/company-information/company-information/company-information.component.d.ts +0 -27
- package/lib/company-information/tenant-form-button/tenant-form-button.component.d.ts +0 -14
- package/lib/core/alert.service.d.ts +0 -15
- package/lib/core/api-prefix.interceptor.d.ts +0 -14
- package/lib/core/app-update.service.d.ts +0 -25
- package/lib/core/authentication.guard.d.ts +0 -13
- package/lib/core/authentication.service.d.ts +0 -28
- package/lib/core/cache.interceptor.d.ts +0 -24
- package/lib/core/config.service.d.ts +0 -22
- package/lib/core/core.module.d.ts +0 -10
- package/lib/core/credentials.service.d.ts +0 -39
- package/lib/core/environment.service.d.ts +0 -8
- package/lib/core/error-handler.interceptor.d.ts +0 -26
- package/lib/core/error-handler.service.d.ts +0 -19
- package/lib/core/filter.service.d.ts +0 -14
- package/lib/core/form-validator.service.d.ts +0 -11
- package/lib/core/header.interceptor.d.ts +0 -11
- package/lib/core/http-cache.service.d.ts +0 -57
- package/lib/core/http.service.d.ts +0 -59
- package/lib/core/index.d.ts +0 -22
- package/lib/core/logger.service.d.ts +0 -85
- package/lib/core/route-reusable-strategy.d.ts +0 -16
- package/lib/core/snack/snack.component.d.ts +0 -13
- package/lib/core/snack/snack.module.d.ts +0 -10
- package/lib/core/storage.service.d.ts +0 -18
- package/lib/core/techlify-config.model.d.ts +0 -18
- package/lib/core/token.interceptor.d.ts +0 -14
- package/lib/custom-icon/custom-icon-registry.service.d.ts +0 -10
- package/lib/custom-icon/custom-icon.component.d.ts +0 -11
- package/lib/custom-icon/custom-icon.module.d.ts +0 -8
- package/lib/custom-icon/custom-icons.registry.d.ts +0 -4
- package/lib/data-table/data-table.component.d.ts +0 -61
- package/lib/data-table/data-table.model.d.ts +0 -46
- package/lib/data-table/data-table.module.d.ts +0 -8
- package/lib/data-table/index.d.ts +0 -2
- package/lib/delete-button/techlify-delete-button.component.d.ts +0 -24
- package/lib/detail-layout/techlify-detail-layout.component.d.ts +0 -5
- package/lib/document-viewer/document-viewer.component.d.ts +0 -19
- package/lib/document-viewer/document-viewer.module.d.ts +0 -10
- package/lib/document-viewer/index.d.ts +0 -2
- package/lib/document-viewer/viewer-config.model.d.ts +0 -5
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -12
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -19
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -9
- package/lib/email-subscription/email-subscription-for-user/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -35
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -10
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -14
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -32
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -10
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -8
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -35
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -10
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -14
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -34
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -11
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -16
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -9
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -8
- package/lib/email-subscription/email-subscription.module.d.ts +0 -8
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -42
- package/lib/entity-files/entity-file-list/entity-file-list.component.d.ts +0 -72
- package/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.d.ts +0 -9
- package/lib/entity-files/entity-file-list.module.d.ts +0 -13
- package/lib/entity-files/entity-file.service.d.ts +0 -11
- package/lib/entity-files/index.d.ts +0 -4
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -21
- package/lib/export-excel/export-excel.module.d.ts +0 -10
- package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +0 -31
- package/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.d.ts +0 -8
- package/lib/file-dropper/file-dropper.component.d.ts +0 -36
- package/lib/file-dropper/file-dropper.model.d.ts +0 -10
- package/lib/file-dropper/file-dropper.module.d.ts +0 -9
- package/lib/file-dropper/index.d.ts +0 -2
- package/lib/file-upload-button/file-upload-button.component.d.ts +0 -20
- package/lib/forgot-password/forgot-password-routing.module.d.ts +0 -7
- package/lib/forgot-password/forgot-password.component.d.ts +0 -34
- package/lib/forgot-password/forgot-password.module.d.ts +0 -9
- package/lib/forgot-password/index.d.ts +0 -2
- package/lib/form-button/techlify-form-button.component.d.ts +0 -15
- package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form-routing.module.d.ts +0 -7
- package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.component.d.ts +0 -18
- package/lib/form-configuration/form-configuration-field-form/form-configuration-field-form.module.d.ts +0 -9
- package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.component.d.ts +0 -10
- package/lib/form-configuration/form-configuration-for-form/form-configuration-for-form.module.d.ts +0 -10
- package/lib/form-configuration/form-configuration-form-field.service.d.ts +0 -8
- package/lib/form-configuration/form-configuration-form.service.d.ts +0 -8
- package/lib/form-configuration/form-configuration-utility.service.d.ts +0 -18
- package/lib/image-preview/image-preview.component.d.ts +0 -9
- package/lib/import-csv/data-import/data-import.component.d.ts +0 -9
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -15
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -37
- package/lib/import-csv/import-csv-config.d.ts +0 -18
- package/lib/import-csv/import-csv.component.d.ts +0 -38
- package/lib/import-csv/import-csv.module.d.ts +0 -14
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -23
- package/lib/import-csv/import-success/import-success.component.d.ts +0 -11
- package/lib/ip-address-selector/ip-address-selector.module.d.ts +0 -8
- package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +0 -28
- package/lib/loader/index.d.ts +0 -1
- package/lib/loader/loader.component.d.ts +0 -11
- package/lib/loader/loader.module.d.ts +0 -9
- package/lib/local-date-parser.d.ts +0 -1
- package/lib/locked-date/index.d.ts +0 -5
- package/lib/locked-date/locked-date-form/locked-date-form.component.d.ts +0 -24
- package/lib/locked-date/locked-date-lock-unlock-button/locked-date-lock-unlock-button.component.d.ts +0 -13
- package/lib/locked-date/locked-date.model.d.ts +0 -10
- package/lib/locked-date/locked-date.module.d.ts +0 -10
- package/lib/locked-date/locked-date.service.d.ts +0 -11
- package/lib/locked-date/locked-dates-list/locked-date-list.component.d.ts +0 -19
- package/lib/login/index.d.ts +0 -2
- package/lib/login/login-form-fields/login-form-fields.component.d.ts +0 -41
- package/lib/login/login-routing.module.d.ts +0 -7
- package/lib/login/login.component.d.ts +0 -36
- package/lib/login/login.module.d.ts +0 -10
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -7
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -25
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -9
- package/lib/material.module.d.ts +0 -30
- package/lib/ngx-techlify-users/ngx-techlify-users-routing.module.d.ts +0 -7
- package/lib/ngx-techlify-users/ngx-techlify-users.module.d.ts +0 -8
- package/lib/note/comment-form/comment-form.component.d.ts +0 -25
- package/lib/note/index.d.ts +0 -4
- package/lib/note/note-comment-list/note-comment-list.component.d.ts +0 -33
- package/lib/note/note-form/note-form.component.d.ts +0 -29
- package/lib/note/note-list/note-list.component.d.ts +0 -30
- package/lib/note/note.module.d.ts +0 -9
- package/lib/note/note.service.d.ts +0 -8
- package/lib/number-input-button/index.d.ts +0 -2
- package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +0 -32
- package/lib/number-input-button/number-input-button.module.d.ts +0 -8
- package/lib/number-selector/number-selector.component.d.ts +0 -44
- package/lib/ordinal-pipe/ordinal-pipe.d.ts +0 -7
- package/lib/password-requirement-check/password-check-result.d.ts +0 -7
- package/lib/password-requirement-check/password-check.service.d.ts +0 -15
- package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +0 -23
- package/lib/password-requirement-check/password-requirement-check.module.d.ts +0 -8
- package/lib/pdf-button/pdf-button.component.d.ts +0 -11
- package/lib/pdf-button/pdf-button.module.d.ts +0 -8
- package/lib/phone-number-selector/country.service.d.ts +0 -12
- package/lib/phone-number-selector/phone-number-selector.component.d.ts +0 -47
- package/lib/pipes/file-size.pipe.d.ts +0 -7
- package/lib/pipes/wrap.pipe.d.ts +0 -7
- package/lib/profile/index.d.ts +0 -2
- package/lib/profile/profile-edit.component.d.ts +0 -33
- package/lib/profile/profile-routing.module.d.ts +0 -7
- package/lib/profile/profile.module.d.ts +0 -9
- package/lib/read-more/read-more.component.d.ts +0 -15
- package/lib/read-more/read-more.module.d.ts +0 -9
- package/lib/request-helper/request-helper.service.d.ts +0 -59
- package/lib/reset-password/index.d.ts +0 -3
- package/lib/reset-password/reset-password-routing.module.d.ts +0 -7
- package/lib/reset-password/reset-password.component.d.ts +0 -28
- package/lib/reset-password/reset-password.module.d.ts +0 -10
- package/lib/reset-password/reset-password.service.d.ts +0 -11
- package/lib/restrictors/index.d.ts +0 -3
- package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +0 -34
- package/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.d.ts +0 -8
- package/lib/restrictors/restrictor-level-selector/restrictor-level.service.d.ts +0 -9
- package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +0 -34
- package/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.d.ts +0 -8
- package/lib/restrictors/restrictor-status-selector/restrictor-status.service.d.ts +0 -9
- package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +0 -34
- package/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.d.ts +0 -8
- package/lib/restrictors/restrictor-type-selector/restrictor-type.service.d.ts +0 -9
- package/lib/restrictors/restrictor.service.d.ts +0 -9
- package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +0 -30
- package/lib/restrictors/restrictors-form-page/restrictors-form-page.component.d.ts +0 -21
- package/lib/restrictors/restrictors-list-page/restrictors-list-page.component.d.ts +0 -50
- package/lib/restrictors/restrictors-routing.module.d.ts +0 -7
- package/lib/restrictors/restrictors.module.d.ts +0 -15
- package/lib/role/index.d.ts +0 -9
- package/lib/role/permission/permission.model.d.ts +0 -11
- package/lib/role/permission/permission.module.d.ts +0 -9
- package/lib/role/permission/permission.routes.d.ts +0 -7
- package/lib/role/permission/permissions-management.component.d.ts +0 -41
- package/lib/role/role-form-button.component.d.ts +0 -16
- package/lib/role/role-form.component.d.ts +0 -32
- package/lib/role/role-list/role-list.component.d.ts +0 -33
- package/lib/role/role-view/role-view-routing.module.d.ts +0 -7
- package/lib/role/role-view/role-view.component.d.ts +0 -16
- package/lib/role/role-view/role-view.module.d.ts +0 -9
- package/lib/role/role.model.d.ts +0 -29
- package/lib/role/role.module.d.ts +0 -11
- package/lib/role/role.routes.d.ts +0 -7
- package/lib/role/role.service.d.ts +0 -10
- package/lib/searchable-selector/index.d.ts +0 -1
- package/lib/searchable-selector/searchable-selector.component.d.ts +0 -95
- package/lib/searchable-selector/searchable-selector.module.d.ts +0 -11
- package/lib/shared.module.d.ts +0 -22
- package/lib/signup/index.d.ts +0 -2
- package/lib/signup/signup-routing.module.d.ts +0 -7
- package/lib/signup/signup.component.d.ts +0 -29
- package/lib/signup/signup.module.d.ts +0 -9
- package/lib/subscription/subscription-form/subscription-form-routing.module.d.ts +0 -7
- package/lib/subscription/subscription-form/subscription-form.component.d.ts +0 -31
- package/lib/subscription/subscription-form/subscription-form.module.d.ts +0 -9
- package/lib/subscription/subscription-listing/subscription-listing-routing.module.d.ts +0 -7
- package/lib/subscription/subscription-listing/subscription-listing.component.d.ts +0 -25
- package/lib/subscription/subscription-listing/subscription-listing.module.d.ts +0 -10
- package/lib/subscription/subscription-package-listing/subscription-package-listing-routing.module.d.ts +0 -7
- package/lib/subscription/subscription-package-listing/subscription-package-listing.component.d.ts +0 -28
- package/lib/subscription/subscription-package-listing/subscription-package-listing.module.d.ts +0 -9
- package/lib/subscription/subscription-package-view/subscription-package-view-routing.module.d.ts +0 -7
- package/lib/subscription/subscription-package-view/subscription-package-view.component.d.ts +0 -15
- package/lib/subscription/subscription-package-view/subscription-package-view.module.d.ts +0 -10
- package/lib/subscription/subscription-package.service.d.ts +0 -9
- package/lib/subscription/subscription-status.enum.d.ts +0 -4
- package/lib/subscription/subscription.service.d.ts +0 -12
- package/lib/subscription/techlify-subscription-directive.module.d.ts +0 -8
- package/lib/subscription/techlify-subscription.directive.d.ts +0 -14
- package/lib/tag/tag.service.d.ts +0 -8
- package/lib/tag/techlify-tagger-tag-form/techlify-tagger-tag-form.component.d.ts +0 -22
- package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
- package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -74
- package/lib/tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -8
- package/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.d.ts +0 -15
- package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -61
- package/lib/tag/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -8
- package/lib/techlify-app-selector/techlify-app-selector.component.d.ts +0 -13
- package/lib/techlify-app-selector/techlify-app-selector.module.d.ts +0 -10
- package/lib/techlify-auto-complete-select/techlify-auto-complete-select.component.d.ts +0 -50
- package/lib/techlify-company-switcher/index.d.ts +0 -2
- package/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.d.ts +0 -28
- package/lib/techlify-company-switcher/techlify-company-switcher.module.d.ts +0 -10
- package/lib/techlify-currency-pipe/techlify-currency-pipe.directive.d.ts +0 -8
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -12
- package/lib/techlify-feature/techlify-feature-directive.module.d.ts +0 -8
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -13
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -32
- package/lib/techlify-feature/techlify-feature.module.d.ts +0 -11
- package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
- package/lib/techlify-feature/techlify-feature.service.d.ts +0 -13
- package/lib/techlify-icon/techlify-icon.component.d.ts +0 -12
- package/lib/techlify-icon/techlify-icon.module.d.ts +0 -9
- package/lib/techlify-notifications/index.d.ts +0 -5
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.d.ts +0 -7
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +0 -17
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.d.ts +0 -9
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-subscription.service.d.ts +0 -8
- package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-type.service.d.ts +0 -8
- package/lib/techlify-notifications/techlify-notification-routing.module.d.ts +0 -7
- package/lib/techlify-notifications/techlify-notification.module.d.ts +0 -8
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -33
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -9
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -7
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -34
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -9
- package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -7
- package/lib/techlify-update/techlify-update.module.d.ts +0 -10
- package/lib/techlify-update/techlify-update.service.d.ts +0 -16
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -33
- package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +0 -20
- package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.d.ts +0 -8
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -28
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -19
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -10
- package/lib/techlify-update/update-view/update-view.component.d.ts +0 -17
- package/lib/techlify-update/update-view/update-view.module.d.ts +0 -8
- package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.component.d.ts +0 -23
- package/lib/techlify-view/my-techlify-view-listing/my-techlify-view-listing.module.d.ts +0 -9
- package/lib/techlify-view/my-techlify-view-listing/my-techlify-view.service.d.ts +0 -8
- package/lib/techlify-view/techlify-view-form/techlify-view-form.component.d.ts +0 -30
- package/lib/techlify-view/techlify-view-form/techlify-view-form.module.d.ts +0 -8
- package/lib/techlify-view/techlify-view.service.d.ts +0 -8
- package/lib/timeline-activity/timeline-activity-button/timeline-activity-button-routing.module.d.ts +0 -7
- package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.d.ts +0 -17
- package/lib/timeline-activity/timeline-activity-button/timeline-activity-button.module.d.ts +0 -10
- package/lib/timeline-activity/timeline-activity-list/timeline-activity-list-routing.module.d.ts +0 -7
- package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.component.d.ts +0 -24
- package/lib/timeline-activity/timeline-activity-list/timeline-activity-list.module.d.ts +0 -9
- package/lib/timeline-activity/timeline-activity.service.d.ts +0 -8
- package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
- package/lib/timeline-filter/index.d.ts +0 -3
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -7
- package/lib/timeline-filter/timeline-filter.component.d.ts +0 -75
- package/lib/timeline-filter/timeline-filter.module.d.ts +0 -18
- package/lib/timeline-filter/timeline.model.d.ts +0 -17
- package/lib/user/app-admin-user-list/app-admin-user-list.component.d.ts +0 -40
- package/lib/user/app-admin-user-view/app-admin-user-view.component.d.ts +0 -26
- package/lib/user/app-admin-user-view/app-admin-user-view.module.d.ts +0 -13
- package/lib/user/app-admin-user-view/app-admin-user-view.routes.d.ts +0 -7
- package/lib/user/current-user.service.d.ts +0 -75
- package/lib/user/index.d.ts +0 -13
- package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +0 -23
- package/lib/user/user-enable-button-component/user-enable-button.module.d.ts +0 -8
- package/lib/user/user-explore.component.d.ts +0 -26
- package/lib/user/user-form/user-form.component.d.ts +0 -43
- package/lib/user/user-list/user-list.component.d.ts +0 -38
- package/lib/user/user-sessions/user-session.service.d.ts +0 -8
- package/lib/user/user-sessions/user-sessions/user-sessions.component.d.ts +0 -15
- package/lib/user/user-sessions/user-sessions/user-sessions.module.d.ts +0 -8
- package/lib/user/user-type.enum.d.ts +0 -5
- package/lib/user/user-view.component.d.ts +0 -32
- package/lib/user/user.model.d.ts +0 -30
- package/lib/user/user.module.d.ts +0 -16
- package/lib/user/user.routes.d.ts +0 -7
- package/lib/user/user.service.d.ts +0 -15
- package/lib/user-client-enable-disable-button/user-client-enable-disable-button.component.d.ts +0 -22
- package/lib/user-client-enable-disable-button/user-client-enable-disable-button.module.d.ts +0 -8
- package/lib/user-clients-list/user-clients-list.component.d.ts +0 -15
- package/lib/user-clients-list/user-clients-list.module.d.ts +0 -9
- package/lib/user-clients-list/user-tenant.service.d.ts +0 -11
- package/lib/user-config/index.d.ts +0 -2
- package/lib/user-config/user-config.model.d.ts +0 -50
- package/lib/user-config/user-config.service.d.ts +0 -14
- package/lib/user-menu/user-menu.component.d.ts +0 -17
- package/lib/user-menu/user-menu.module.d.ts +0 -13
- package/lib/user-selector/index.d.ts +0 -2
- package/lib/user-selector/user-data.service.d.ts +0 -16
- package/lib/user-selector/user-selector.component.d.ts +0 -28
- package/lib/user-selector/user-selector.module.d.ts +0 -8
- package/lib/utility/date-utils.service.d.ts +0 -38
- package/lib/utility/index.d.ts +0 -2
- package/lib/utility/num-items-selector.component.d.ts +0 -19
- package/lib/utility/utility.module.d.ts +0 -8
- package/lib/validators/date.validator.d.ts +0 -6
- package/public-api.d.ts +0 -212
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
/**
|
|
3
|
-
* Reusable test contract for components extending TechlifyFormComponent.
|
|
4
|
-
*
|
|
5
|
-
* Ensures all form components follow the same base behaviour:
|
|
6
|
-
* - Service injection
|
|
7
|
-
* - Default state initialization
|
|
8
|
-
* - Create/update submission flow
|
|
9
|
-
* - Form validation handling
|
|
10
|
-
* - Success event handling
|
|
11
|
-
* - Dialog handling
|
|
12
|
-
* - Field helper methods
|
|
13
|
-
*/
|
|
14
|
-
export function techlifyFormContract(options) {
|
|
15
|
-
describe('TechlifyFormComponent Contract', () => {
|
|
16
|
-
/**
|
|
17
|
-
* Ensures child components correctly pass their service
|
|
18
|
-
* to the base form component.
|
|
19
|
-
*/
|
|
20
|
-
it('should pass a service to the base class', () => {
|
|
21
|
-
const component = options.getComponent();
|
|
22
|
-
expect(component.service)
|
|
23
|
-
.toBe(options.getService());
|
|
24
|
-
});
|
|
25
|
-
/**
|
|
26
|
-
* Ensures default properties are initialized correctly.
|
|
27
|
-
*/
|
|
28
|
-
it('should initialize default values', () => {
|
|
29
|
-
const component = options.getComponent();
|
|
30
|
-
expect(component.isWorking).toBeFalse();
|
|
31
|
-
expect(component.isUpdate).toBeFalse();
|
|
32
|
-
expect(component.isAllowCreateAnother).toBeTrue();
|
|
33
|
-
expect(component.createdEntries).toEqual([]);
|
|
34
|
-
});
|
|
35
|
-
/**
|
|
36
|
-
* Ensures create forms call store service and finalise response.
|
|
37
|
-
*/
|
|
38
|
-
it('should submit using store when creating', () => {
|
|
39
|
-
const component = options.getComponent();
|
|
40
|
-
component.form.patchValue({
|
|
41
|
-
name: 'Test'
|
|
42
|
-
});
|
|
43
|
-
spyOn(component, 'finalisedResponse');
|
|
44
|
-
options.getService().store
|
|
45
|
-
.and.returnValue(of({
|
|
46
|
-
item: { id: 1 }
|
|
47
|
-
}));
|
|
48
|
-
component.submit();
|
|
49
|
-
expect(options.getService().store)
|
|
50
|
-
.toHaveBeenCalledWith(component.form.value);
|
|
51
|
-
expect(component.createdEntries)
|
|
52
|
-
.toEqual([{ id: 1 }]);
|
|
53
|
-
expect(component.finalisedResponse)
|
|
54
|
-
.toHaveBeenCalled();
|
|
55
|
-
});
|
|
56
|
-
/**
|
|
57
|
-
* Ensures update forms call update service instead of store.
|
|
58
|
-
*/
|
|
59
|
-
it('should submit using update when isUpdate is true', () => {
|
|
60
|
-
const component = options.getComponent();
|
|
61
|
-
component.isUpdate = true;
|
|
62
|
-
component.form.patchValue({
|
|
63
|
-
name: 'Updated'
|
|
64
|
-
});
|
|
65
|
-
spyOn(component, 'finalisedResponse');
|
|
66
|
-
options.getService().update
|
|
67
|
-
.and.returnValue(of({
|
|
68
|
-
item: { id: 1 }
|
|
69
|
-
}));
|
|
70
|
-
component.submit();
|
|
71
|
-
expect(options.getService().update)
|
|
72
|
-
.toHaveBeenCalledWith(component.form.value);
|
|
73
|
-
expect(component.finalisedResponse)
|
|
74
|
-
.toHaveBeenCalledWith({
|
|
75
|
-
id: 1
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
/**
|
|
79
|
-
* Ensures invalid forms do not trigger API submission.
|
|
80
|
-
*/
|
|
81
|
-
it('should not submit invalid form', () => {
|
|
82
|
-
const component = options.getComponent();
|
|
83
|
-
component.form.setErrors({
|
|
84
|
-
invalid: true
|
|
85
|
-
});
|
|
86
|
-
component.submit();
|
|
87
|
-
expect(options.getService().store)
|
|
88
|
-
.not.toHaveBeenCalled();
|
|
89
|
-
});
|
|
90
|
-
/**
|
|
91
|
-
* Ensures form validation is triggered before submission.
|
|
92
|
-
*/
|
|
93
|
-
it('should mark form as touched before submit', () => {
|
|
94
|
-
const component = options.getComponent();
|
|
95
|
-
spyOn(component.form, 'markAllAsTouched');
|
|
96
|
-
component.submit();
|
|
97
|
-
expect(component.form.markAllAsTouched)
|
|
98
|
-
.toHaveBeenCalled();
|
|
99
|
-
});
|
|
100
|
-
/**
|
|
101
|
-
* Ensures API progress state is handled correctly.
|
|
102
|
-
*/
|
|
103
|
-
it('should set isWorking while submitting', () => {
|
|
104
|
-
const component = options.getComponent();
|
|
105
|
-
component.form.patchValue({
|
|
106
|
-
name: 'Test'
|
|
107
|
-
});
|
|
108
|
-
options.getService().store
|
|
109
|
-
.and.returnValue(of({
|
|
110
|
-
item: { id: 1 }
|
|
111
|
-
}));
|
|
112
|
-
component.submit();
|
|
113
|
-
expect(component.isWorking)
|
|
114
|
-
.toBeFalse();
|
|
115
|
-
});
|
|
116
|
-
/**
|
|
117
|
-
* Ensures successful form completion emits success event.
|
|
118
|
-
*/
|
|
119
|
-
it('should emit success event on finalisedResponse', () => {
|
|
120
|
-
const component = options.getComponent();
|
|
121
|
-
spyOn(component.success, 'emit');
|
|
122
|
-
component.finalisedResponse({
|
|
123
|
-
id: 1
|
|
124
|
-
});
|
|
125
|
-
expect(component.success.emit)
|
|
126
|
-
.toHaveBeenCalledWith({
|
|
127
|
-
id: 1
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
/**
|
|
131
|
-
* Ensures dialog closes after successful response.
|
|
132
|
-
*/
|
|
133
|
-
it('should close dialog on finalisedResponse when dialog exists', () => {
|
|
134
|
-
const component = options.getComponent();
|
|
135
|
-
component.dialogRef = {
|
|
136
|
-
close: jasmine.createSpy('close')
|
|
137
|
-
};
|
|
138
|
-
component.finalisedResponse({
|
|
139
|
-
id: 1
|
|
140
|
-
});
|
|
141
|
-
expect(component.dialogRef.close)
|
|
142
|
-
.toHaveBeenCalledWith({
|
|
143
|
-
id: 1
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
/**
|
|
147
|
-
* Ensures form field reset helper works correctly.
|
|
148
|
-
*/
|
|
149
|
-
it('should reset field value', () => {
|
|
150
|
-
const component = options.getComponent();
|
|
151
|
-
component.form.patchValue({
|
|
152
|
-
name: 'Test'
|
|
153
|
-
});
|
|
154
|
-
component.resetFieldValue(null, 'name');
|
|
155
|
-
expect(component.getFieldValue('name'))
|
|
156
|
-
.toBe('');
|
|
157
|
-
});
|
|
158
|
-
/**
|
|
159
|
-
* Ensures form field value helper returns correct value.
|
|
160
|
-
*/
|
|
161
|
-
it('should return field value', () => {
|
|
162
|
-
const component = options.getComponent();
|
|
163
|
-
component.form.patchValue({
|
|
164
|
-
name: 'Test'
|
|
165
|
-
});
|
|
166
|
-
expect(component.getFieldValue('name'))
|
|
167
|
-
.toBe('Test');
|
|
168
|
-
});
|
|
169
|
-
/**
|
|
170
|
-
* Ensures closing dialog emits created entries before closing.
|
|
171
|
-
*/
|
|
172
|
-
it('should close dialog and emit created entries', () => {
|
|
173
|
-
const component = options.getComponent();
|
|
174
|
-
component.createdEntries = [
|
|
175
|
-
{ id: 1 }
|
|
176
|
-
];
|
|
177
|
-
component.dialogRef = {
|
|
178
|
-
close: jasmine.createSpy('close')
|
|
179
|
-
};
|
|
180
|
-
spyOn(component.success, 'emit');
|
|
181
|
-
component.closeDialog();
|
|
182
|
-
expect(component.success.emit)
|
|
183
|
-
.toHaveBeenCalledWith([
|
|
184
|
-
{ id: 1 }
|
|
185
|
-
]);
|
|
186
|
-
expect(component.dialogRef.close)
|
|
187
|
-
.toHaveBeenCalled();
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktZm9ybS5jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1mb3JtL2NvbnRyYWN0L3RlY2hsaWZ5LWZvcm0uY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVExQjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDaEMsT0FBb0M7SUFHcEMsUUFBUSxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsRUFBRTtRQUU1Qzs7O1dBR0c7UUFDSCxFQUFFLENBQUMseUNBQXlDLEVBQUUsR0FBRyxFQUFFO1lBQy9DLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUUsU0FBaUIsQ0FBQyxPQUFPLENBQUM7aUJBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ0gsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtZQUN4QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDekMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FB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RUFBRSxHQUFHLEVBQUU7WUFDcEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLFNBQVMsQ0FBQyxjQUFjLEdBQUc7Z0JBQ3ZCLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTthQUNaLENBQUM7WUFDRixTQUFTLENBQUMsU0FBUyxHQUFHO2dCQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7YUFDN0IsQ0FBQztZQUNULEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7aUJBQ3pCLG9CQUFvQixDQUFDO2dCQUNsQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7YUFDWixDQUFDLENBQUM7WUFDUCxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7aUJBQzVCLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVjaGxpZnlGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVjaGxpZnktZm9ybS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlY2hsaWZ5Rm9ybUNvbnRyYWN0T3B0aW9ucyB7XG4gICAgZ2V0Q29tcG9uZW50OiAoKSA9PiBUZWNobGlmeUZvcm1Db21wb25lbnQ7XG4gICAgZ2V0U2VydmljZTogKCkgPT4gYW55O1xufVxuXG4vKipcbiAqIFJldXNhYmxlIHRlc3QgY29udHJhY3QgZm9yIGNvbXBvbmVudHMgZXh0ZW5kaW5nIFRlY2hsaWZ5Rm9ybUNvbXBvbmVudC5cbiAqXG4gKiBFbnN1cmVzIGFsbCBmb3JtIGNvbXBvbmVudHMgZm9sbG93IHRoZSBzYW1lIGJhc2UgYmVoYXZpb3VyOlxuICogLSBTZXJ2aWNlIGluamVjdGlvblxuICogLSBEZWZhdWx0IHN0YXRlIGluaXRpYWxpemF0aW9uXG4gKiAtIENyZWF0ZS91cGRhdGUgc3VibWlzc2lvbiBmbG93XG4gKiAtIEZvcm0gdmFsaWRhdGlvbiBoYW5kbGluZ1xuICogLSBTdWNjZXNzIGV2ZW50IGhhbmRsaW5nXG4gKiAtIERpYWxvZyBoYW5kbGluZ1xuICogLSBGaWVsZCBoZWxwZXIgbWV0aG9kc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdGVjaGxpZnlGb3JtQ29udHJhY3QoXG4gICAgb3B0aW9uczogVGVjaGxpZnlGb3JtQ29udHJhY3RPcHRpb25zXG4pOiB2b2lkIHtcblxuICAgIGRlc2NyaWJlKCdUZWNobGlmeUZvcm1Db21wb25lbnQgQ29udHJhY3QnLCAoKSA9PiB7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEVuc3VyZXMgY2hpbGQgY29tcG9uZW50cyBjb3JyZWN0bHkgcGFzcyB0aGVpciBzZXJ2aWNlXG4gICAgICAgICAqIHRvIHRoZSBiYXNlIGZvcm0gY29tcG9uZW50LlxuICAgICAgICAgKi9cbiAgICAgICAgaXQoJ3Nob3VsZCBwYXNzIGEgc2VydmljZSB0byB0aGUgYmFzZSBjbGFzcycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBleHBlY3QoKGNvbXBvbmVudCBhcyBhbnkpLnNlcnZpY2UpXG4gICAgICAgICAgICAgICAgLnRvQmUob3B0aW9ucy5nZXRTZXJ2aWNlKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBkZWZhdWx0IHByb3BlcnRpZXMgYXJlIGluaXRpYWxpemVkIGNvcnJlY3RseS5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgaW5pdGlhbGl6ZSBkZWZhdWx0IHZhbHVlcycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmlzV29ya2luZykudG9CZUZhbHNlKCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmlzVXBkYXRlKS50b0JlRmFsc2UoKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQuaXNBbGxvd0NyZWF0ZUFub3RoZXIpLnRvQmVUcnVlKCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmNyZWF0ZWRFbnRyaWVzKS50b0VxdWFsKFtdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEVuc3VyZXMgY3JlYXRlIGZvcm1zIGNhbGwgc3RvcmUgc2VydmljZSBhbmQgZmluYWxpc2UgcmVzcG9uc2UuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIHN1Ym1pdCB1c2luZyBzdG9yZSB3aGVuIGNyZWF0aW5nJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdUZXN0J1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzcHlPbihjb21wb25lbnQgYXMgYW55LCAnZmluYWxpc2VkUmVzcG9uc2UnKTtcbiAgICAgICAgICAgIG9wdGlvbnMuZ2V0U2VydmljZSgpLnN0b3JlXG4gICAgICAgICAgICAgICAgLmFuZC5yZXR1cm5WYWx1ZShvZih7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW06IHsgaWQ6IDEgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5zdWJtaXQoKTtcbiAgICAgICAgICAgIGV4cGVjdChvcHRpb25zLmdldFNlcnZpY2UoKS5zdG9yZSlcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29tcG9uZW50LmZvcm0udmFsdWUpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5jcmVhdGVkRW50cmllcylcbiAgICAgICAgICAgICAgICAudG9FcXVhbChbeyBpZDogMSB9XSk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmZpbmFsaXNlZFJlc3BvbnNlKVxuICAgICAgICAgICAgICAgIC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFbnN1cmVzIHVwZGF0ZSBmb3JtcyBjYWxsIHVwZGF0ZSBzZXJ2aWNlIGluc3RlYWQgb2Ygc3RvcmUuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIHN1Ym1pdCB1c2luZyB1cGRhdGUgd2hlbiBpc1VwZGF0ZSBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5pc1VwZGF0ZSA9IHRydWU7XG4gICAgICAgICAgICBjb21wb25lbnQuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnVXBkYXRlZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3B5T24oY29tcG9uZW50IGFzIGFueSwgJ2ZpbmFsaXNlZFJlc3BvbnNlJyk7XG4gICAgICAgICAgICBvcHRpb25zLmdldFNlcnZpY2UoKS51cGRhdGVcbiAgICAgICAgICAgICAgICAuYW5kLnJldHVyblZhbHVlKG9mKHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbTogeyBpZDogMSB9XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgY29tcG9uZW50LnN1Ym1pdCgpO1xuICAgICAgICAgICAgZXhwZWN0KG9wdGlvbnMuZ2V0U2VydmljZSgpLnVwZGF0ZSlcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoY29tcG9uZW50LmZvcm0udmFsdWUpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5maW5hbGlzZWRSZXNwb25zZSlcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgICAgICAgICAgICAgICBpZDogMVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBpbnZhbGlkIGZvcm1zIGRvIG5vdCB0cmlnZ2VyIEFQSSBzdWJtaXNzaW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgaXQoJ3Nob3VsZCBub3Qgc3VibWl0IGludmFsaWQgZm9ybScsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBjb21wb25lbnQuZm9ybS5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgICAgIGludmFsaWQ6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29tcG9uZW50LnN1Ym1pdCgpO1xuICAgICAgICAgICAgZXhwZWN0KG9wdGlvbnMuZ2V0U2VydmljZSgpLnN0b3JlKVxuICAgICAgICAgICAgICAgIC5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBmb3JtIHZhbGlkYXRpb24gaXMgdHJpZ2dlcmVkIGJlZm9yZSBzdWJtaXNzaW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgaXQoJ3Nob3VsZCBtYXJrIGZvcm0gYXMgdG91Y2hlZCBiZWZvcmUgc3VibWl0JywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIHNweU9uKGNvbXBvbmVudC5mb3JtLCAnbWFya0FsbEFzVG91Y2hlZCcpO1xuICAgICAgICAgICAgY29tcG9uZW50LnN1Ym1pdCgpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5mb3JtLm1hcmtBbGxBc1RvdWNoZWQpXG4gICAgICAgICAgICAgICAgLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEVuc3VyZXMgQVBJIHByb2dyZXNzIHN0YXRlIGlzIGhhbmRsZWQgY29ycmVjdGx5LlxuICAgICAgICAgKi9cbiAgICAgICAgaXQoJ3Nob3VsZCBzZXQgaXNXb3JraW5nIHdoaWxlIHN1Ym1pdHRpbmcnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgY29tcG9uZW50LmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1Rlc3QnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIG9wdGlvbnMuZ2V0U2VydmljZSgpLnN0b3JlXG4gICAgICAgICAgICAgICAgLmFuZC5yZXR1cm5WYWx1ZShvZih7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW06IHsgaWQ6IDEgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5zdWJtaXQoKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQuaXNXb3JraW5nKVxuICAgICAgICAgICAgICAgIC50b0JlRmFsc2UoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEVuc3VyZXMgc3VjY2Vzc2Z1bCBmb3JtIGNvbXBsZXRpb24gZW1pdHMgc3VjY2VzcyBldmVudC5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgZW1pdCBzdWNjZXNzIGV2ZW50IG9uIGZpbmFsaXNlZFJlc3BvbnNlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIHNweU9uKGNvbXBvbmVudC5zdWNjZXNzLCAnZW1pdCcpO1xuICAgICAgICAgICAgY29tcG9uZW50LmZpbmFsaXNlZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBpZDogMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LnN1Y2Nlc3MuZW1pdClcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgICAgICAgICAgICAgICBpZDogMVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBkaWFsb2cgY2xvc2VzIGFmdGVyIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIGNsb3NlIGRpYWxvZyBvbiBmaW5hbGlzZWRSZXNwb25zZSB3aGVuIGRpYWxvZyBleGlzdHMnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgY29tcG9uZW50LmRpYWxvZ1JlZiA9IHtcbiAgICAgICAgICAgICAgICBjbG9zZTogamFzbWluZS5jcmVhdGVTcHkoJ2Nsb3NlJylcbiAgICAgICAgICAgIH0gYXMgYW55O1xuICAgICAgICAgICAgY29tcG9uZW50LmZpbmFsaXNlZFJlc3BvbnNlKHtcbiAgICAgICAgICAgICAgICBpZDogMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmRpYWxvZ1JlZi5jbG9zZSlcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoe1xuICAgICAgICAgICAgICAgICAgICBpZDogMVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBmb3JtIGZpZWxkIHJlc2V0IGhlbHBlciB3b3JrcyBjb3JyZWN0bHkuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIHJlc2V0IGZpZWxkIHZhbHVlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdUZXN0J1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb21wb25lbnQucmVzZXRGaWVsZFZhbHVlKG51bGwsICduYW1lJyk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmdldEZpZWxkVmFsdWUoJ25hbWUnKSlcbiAgICAgICAgICAgICAgICAudG9CZSgnJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFbnN1cmVzIGZvcm0gZmllbGQgdmFsdWUgaGVscGVyIHJldHVybnMgY29ycmVjdCB2YWx1ZS5cbiAgICAgICAgICovXG4gICAgICAgIGl0KCdzaG91bGQgcmV0dXJuIGZpZWxkIHZhbHVlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIG5hbWU6ICdUZXN0J1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmdldEZpZWxkVmFsdWUoJ25hbWUnKSlcbiAgICAgICAgICAgICAgICAudG9CZSgnVGVzdCcpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogRW5zdXJlcyBjbG9zaW5nIGRpYWxvZyBlbWl0cyBjcmVhdGVkIGVudHJpZXMgYmVmb3JlIGNsb3NpbmcuXG4gICAgICAgICAqL1xuICAgICAgICBpdCgnc2hvdWxkIGNsb3NlIGRpYWxvZyBhbmQgZW1pdCBjcmVhdGVkIGVudHJpZXMnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgY29tcG9uZW50LmNyZWF0ZWRFbnRyaWVzID0gW1xuICAgICAgICAgICAgICAgIHsgaWQ6IDEgfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5kaWFsb2dSZWYgPSB7XG4gICAgICAgICAgICAgICAgY2xvc2U6IGphc21pbmUuY3JlYXRlU3B5KCdjbG9zZScpXG4gICAgICAgICAgICB9IGFzIGFueTtcbiAgICAgICAgICAgIHNweU9uKGNvbXBvbmVudC5zdWNjZXNzLCAnZW1pdCcpO1xuICAgICAgICAgICAgY29tcG9uZW50LmNsb3NlRGlhbG9nKCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LnN1Y2Nlc3MuZW1pdClcbiAgICAgICAgICAgICAgICAudG9IYXZlQmVlbkNhbGxlZFdpdGgoW1xuICAgICAgICAgICAgICAgICAgICB7IGlkOiAxIH1cbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQuZGlhbG9nUmVmLmNsb3NlKVxuICAgICAgICAgICAgICAgIC50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgfSk7XG59Il19
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, inject, Input, Optional, Output } from '@angular/core';
|
|
2
|
-
import { finalize } from 'rxjs';
|
|
3
|
-
import { AlertService } from '../../core/alert.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../core/form-validator.service";
|
|
6
|
-
import * as i2 from "../techlify-service";
|
|
7
|
-
/**
|
|
8
|
-
* Interface used to ensure we have a consistent structure across our form components
|
|
9
|
-
*
|
|
10
|
-
* It also provides some abstraction of repeated code to reduce our codebase size
|
|
11
|
-
*
|
|
12
|
-
* @todo This should be moved to ngx-techlify-core
|
|
13
|
-
*
|
|
14
|
-
* Advantages of this abstract class
|
|
15
|
-
* - Less code, less maintenance, less bugs
|
|
16
|
-
* - more consistent code
|
|
17
|
-
* - comments on more code
|
|
18
|
-
* - save time, save energy
|
|
19
|
-
*/
|
|
20
|
-
export class TechlifyFormComponent {
|
|
21
|
-
constructor(formValidatorService, service) {
|
|
22
|
-
this.formValidatorService = formValidatorService;
|
|
23
|
-
this.service = service;
|
|
24
|
-
//Boolean to denote the form is in API progress
|
|
25
|
-
this.isWorking = false;
|
|
26
|
-
//Array of created multiple entries
|
|
27
|
-
this.createdEntries = [];
|
|
28
|
-
//Boolean to denote if form is in update mode
|
|
29
|
-
this.isUpdate = false;
|
|
30
|
-
//Boolean to denote if form has ability to create multiple entries
|
|
31
|
-
this.isAllowCreateAnother = true;
|
|
32
|
-
//Emits an event once form submit is success
|
|
33
|
-
this.success = new EventEmitter();
|
|
34
|
-
//Injected alert service
|
|
35
|
-
this.alertService = inject(AlertService, { optional: true });
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Submits the form
|
|
39
|
-
* @param model form model optional, if needed to be overriden
|
|
40
|
-
* @returns
|
|
41
|
-
*/
|
|
42
|
-
submit(model) {
|
|
43
|
-
this.form.markAllAsTouched();
|
|
44
|
-
if (!this.service) {
|
|
45
|
-
throw new Error(`${this.constructor.name}: Service is required to submit the form`);
|
|
46
|
-
}
|
|
47
|
-
if (!this.form.valid) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (!model) {
|
|
51
|
-
model = this.form.value;
|
|
52
|
-
}
|
|
53
|
-
this.isWorking = true;
|
|
54
|
-
(this.isUpdate ?
|
|
55
|
-
this.service.update(model) :
|
|
56
|
-
this.service.store(model))
|
|
57
|
-
.pipe(finalize(() => this.isWorking = false))
|
|
58
|
-
.subscribe((res) => {
|
|
59
|
-
this.createdEntries.unshift(res?.item);
|
|
60
|
-
if (model?.is_create_another) {
|
|
61
|
-
this.alertService.addAlert('Successfully Created', 'success');
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (this.isUpdate) {
|
|
65
|
-
this.finalisedResponse(res?.item);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
this.finalisedResponse((this.createdEntries.length == 1) ? this.createdEntries[0] : this.createdEntries);
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//Send uniformed finalised response for both form button and dialog
|
|
73
|
-
finalisedResponse(response) {
|
|
74
|
-
this.success.emit(response);
|
|
75
|
-
if (this.dialogRef) {
|
|
76
|
-
this.dialogRef.close(response);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Close the active dialog
|
|
81
|
-
*/
|
|
82
|
-
closeDialog() {
|
|
83
|
-
if (this.createdEntries?.length > 0) {
|
|
84
|
-
this.success.emit(this.createdEntries);
|
|
85
|
-
}
|
|
86
|
-
if (this.dialogRef) {
|
|
87
|
-
this.dialogRef.close();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Resets the value of a field in the HTML form
|
|
92
|
-
*
|
|
93
|
-
* @param event
|
|
94
|
-
* @param field
|
|
95
|
-
*/
|
|
96
|
-
resetFieldValue(event, field) {
|
|
97
|
-
this.form?.get(field)?.setValue('');
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Retrieves the value of a field from the HTML form
|
|
101
|
-
*
|
|
102
|
-
* @param field
|
|
103
|
-
* @returns
|
|
104
|
-
*/
|
|
105
|
-
getFieldValue(field) {
|
|
106
|
-
return this.form?.get(field)?.value;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Method to evaluate form fields
|
|
110
|
-
* */
|
|
111
|
-
isFieldValid(field) {
|
|
112
|
-
return this.formValidatorService.isFieldValid(field, this.form);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Method to find error in form fields
|
|
116
|
-
* */
|
|
117
|
-
getErrorMessage(field) {
|
|
118
|
-
return this.formValidatorService.getErrorMessage(field, this.form, this.errorMessages);
|
|
119
|
-
}
|
|
120
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyFormComponent, deps: [{ token: i1.FormValidatorService }, { token: i2.TechlifyService, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
121
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TechlifyFormComponent, inputs: { isUpdate: "isUpdate", isAllowCreateAnother: "isAllowCreateAnother" }, outputs: { success: "success" }, ngImport: i0 }); }
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyFormComponent, decorators: [{
|
|
124
|
-
type: Directive
|
|
125
|
-
}], ctorParameters: () => [{ type: i1.FormValidatorService }, { type: i2.TechlifyService, decorators: [{
|
|
126
|
-
type: Optional
|
|
127
|
-
}] }], propDecorators: { isUpdate: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], isAllowCreateAnother: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], success: [{
|
|
132
|
-
type: Output
|
|
133
|
-
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktZm9ybS90ZWNobGlmeS1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFFeEQ7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsTUFBTSxPQUFnQixxQkFBcUI7SUE2QnpDLFlBQ1ksb0JBQTBDLEVBQzlCLE9BQXlCO1FBRHJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUF2QmpELCtDQUErQztRQUMvQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBSzNCLG1DQUFtQztRQUNuQyxtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUV6Qiw2Q0FBNkM7UUFDcEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQyxrRUFBa0U7UUFDekQseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBRTlDLDRDQUE0QztRQUNsQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1Qyx3QkFBd0I7UUFDZCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQU1sRSxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFXO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksMENBQTBDLENBQ25FLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDNUI7YUFDRSxJQUFJLENBQ0gsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQ3ZDO2FBQ0EsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM5RCxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNHLENBQUM7UUFFSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsaUJBQWlCLENBQUMsUUFBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsS0FBVSxFQUFFLEtBQWE7UUFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7U0FFSztJQUNMLFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7U0FFSztJQUNMLGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekYsQ0FBQzsrR0FoSW1CLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUQxQyxTQUFTOzswQkFnQ0wsUUFBUTt5Q0FiRixRQUFRO3NCQUFoQixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2UgfSBmcm9tICcuLi90ZWNobGlmeS1zZXJ2aWNlJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hbGVydC5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCB0byBlbnN1cmUgd2UgaGF2ZSBhIGNvbnNpc3RlbnQgc3RydWN0dXJlIGFjcm9zcyBvdXIgZm9ybSBjb21wb25lbnRzXG4gKlxuICogSXQgYWxzbyBwcm92aWRlcyBzb21lIGFic3RyYWN0aW9uIG9mIHJlcGVhdGVkIGNvZGUgdG8gcmVkdWNlIG91ciBjb2RlYmFzZSBzaXplXG4gKlxuICogQHRvZG8gVGhpcyBzaG91bGQgYmUgbW92ZWQgdG8gbmd4LXRlY2hsaWZ5LWNvcmVcbiAqXG4gKiBBZHZhbnRhZ2VzIG9mIHRoaXMgYWJzdHJhY3QgY2xhc3NcbiAqIC0gTGVzcyBjb2RlLCBsZXNzIG1haW50ZW5hbmNlLCBsZXNzIGJ1Z3NcbiAqIC0gbW9yZSBjb25zaXN0ZW50IGNvZGVcbiAqIC0gY29tbWVudHMgb24gbW9yZSBjb2RlXG4gKiAtIHNhdmUgdGltZSwgc2F2ZSBlbmVyZ3lcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVjaGxpZnlGb3JtQ29tcG9uZW50IHtcblxuICAvL0Zvcm0gYnVpbGRlciBpbnN0YW5jZVxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIC8vRXJyb3IgbWVzc2FnZXMgY29uZmlnIGZvciB0aGUgZm9ybVxuICBlcnJvck1lc3NhZ2VzOiBhbnk7XG5cbiAgLy9Cb29sZWFuIHRvIGRlbm90ZSB0aGUgZm9ybSBpcyBpbiBBUEkgcHJvZ3Jlc3NcbiAgaXNXb3JraW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy9Gb3JtIGRpYWxvZ3JlZiByZWZlcmVuY2VcbiAgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+O1xuXG4gIC8vQXJyYXkgb2YgY3JlYXRlZCBtdWx0aXBsZSBlbnRyaWVzXG4gIGNyZWF0ZWRFbnRyaWVzOiBhbnkgPSBbXTtcblxuICAvL0Jvb2xlYW4gdG8gZGVub3RlIGlmIGZvcm0gaXMgaW4gdXBkYXRlIG1vZGVcbiAgQElucHV0KCkgaXNVcGRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvL0Jvb2xlYW4gdG8gZGVub3RlIGlmIGZvcm0gaGFzIGFiaWxpdHkgdG8gY3JlYXRlIG11bHRpcGxlIGVudHJpZXNcbiAgQElucHV0KCkgaXNBbGxvd0NyZWF0ZUFub3RoZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vRW1pdHMgYW4gZXZlbnQgb25jZSBmb3JtIHN1Ym1pdCBpcyBzdWNjZXNzXG4gIEBPdXRwdXQoKSBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLy9JbmplY3RlZCBhbGVydCBzZXJ2aWNlXG4gIHByb3RlY3RlZCBhbGVydFNlcnZpY2UgPSBpbmplY3QoQWxlcnRTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHNlcnZpY2U/OiBUZWNobGlmeVNlcnZpY2UpIHtcblxuICB9XG4gIC8qKlxuICAgKiBTdWJtaXRzIHRoZSBmb3JtXG4gICAqIEBwYXJhbSBtb2RlbCBmb3JtIG1vZGVsIG9wdGlvbmFsLCBpZiBuZWVkZWQgdG8gYmUgb3ZlcnJpZGVuXG4gICAqIEByZXR1cm5zIFxuICAgKi9cbiAgc3VibWl0KG1vZGVsPzogYW55KSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAoIXRoaXMuc2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBTZXJ2aWNlIGlzIHJlcXVpcmVkIHRvIHN1Ym1pdCB0aGUgZm9ybWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghbW9kZWwpIHtcbiAgICAgIG1vZGVsID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgKFxuICAgICAgdGhpcy5pc1VwZGF0ZSA/XG4gICAgICAgIHRoaXMuc2VydmljZS51cGRhdGUobW9kZWwpIDpcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnN0b3JlKG1vZGVsKVxuICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzV29ya2luZyA9IGZhbHNlKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlZEVudHJpZXMudW5zaGlmdChyZXM/Lml0ZW0pO1xuICAgICAgICBpZiAobW9kZWw/LmlzX2NyZWF0ZV9hbm90aGVyKSB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1N1Y2Nlc3NmdWxseSBDcmVhdGVkJywgJ3N1Y2Nlc3MnKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNVcGRhdGUpIHtcbiAgICAgICAgICB0aGlzLmZpbmFsaXNlZFJlc3BvbnNlKHJlcz8uaXRlbSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5maW5hbGlzZWRSZXNwb25zZSgodGhpcy5jcmVhdGVkRW50cmllcy5sZW5ndGggPT0gMSkgPyB0aGlzLmNyZWF0ZWRFbnRyaWVzWzBdIDogdGhpcy5jcmVhdGVkRW50cmllcyk7XG4gICAgICAgIH1cblxuICAgICAgfSk7XG4gIH1cblxuICAvL1NlbmQgdW5pZm9ybWVkIGZpbmFsaXNlZCByZXNwb25zZSBmb3IgYm90aCBmb3JtIGJ1dHRvbiBhbmQgZGlhbG9nXG4gIGZpbmFsaXNlZFJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpIHtcbiAgICB0aGlzLnN1Y2Nlc3MuZW1pdChyZXNwb25zZSk7XG4gICAgaWYgKHRoaXMuZGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXNwb25zZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSBhY3RpdmUgZGlhbG9nXG4gICAqL1xuICBjbG9zZURpYWxvZygpIHtcbiAgICBpZiAodGhpcy5jcmVhdGVkRW50cmllcz8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5jcmVhdGVkRW50cmllcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSB2YWx1ZSBvZiBhIGZpZWxkIGluIHRoZSBIVE1MIGZvcm1cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50XG4gICAqIEBwYXJhbSBmaWVsZFxuICAgKi9cbiAgcmVzZXRGaWVsZFZhbHVlKGV2ZW50OiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZvcm0/LmdldChmaWVsZCk/LnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgZmllbGQgZnJvbSB0aGUgSFRNTCBmb3JtXG4gICAqXG4gICAqIEBwYXJhbSBmaWVsZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8uZ2V0KGZpZWxkKT8udmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzXG4gICAqICovXG4gIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLmZvcm0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBmaW5kIGVycm9yIGluIGZvcm0gZmllbGRzXG4gICAqICovXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKGZpZWxkLCB0aGlzLmZvcm0sIHRoaXMuZXJyb3JNZXNzYWdlcyk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { fakeAsync, tick } from '@angular/core/testing';
|
|
2
|
-
export function techlifyListContract(options) {
|
|
3
|
-
describe('TechlifyListComponent Contract', () => {
|
|
4
|
-
it('should pass a service to the base class', () => {
|
|
5
|
-
const component = options.getComponent();
|
|
6
|
-
expect(component.service).toBe(options.getService());
|
|
7
|
-
});
|
|
8
|
-
it('should have a filter form', () => {
|
|
9
|
-
const component = options.getComponent();
|
|
10
|
-
expect(component.filterForm).toBeTruthy();
|
|
11
|
-
});
|
|
12
|
-
it('should call loadData on init', () => {
|
|
13
|
-
const component = options.getComponent();
|
|
14
|
-
spyOn(component, 'loadData');
|
|
15
|
-
component.ngOnInit();
|
|
16
|
-
expect(component.loadData).toHaveBeenCalled();
|
|
17
|
-
});
|
|
18
|
-
it('should patch filters from route on init', () => {
|
|
19
|
-
const component = options.getComponent();
|
|
20
|
-
spyOn(component, 'patchFiltersFromRoute');
|
|
21
|
-
component.ngOnInit();
|
|
22
|
-
expect(component.patchFiltersFromRoute).toHaveBeenCalled();
|
|
23
|
-
});
|
|
24
|
-
it('should reload when filter changes', fakeAsync(() => {
|
|
25
|
-
const component = options.getComponent();
|
|
26
|
-
const filterField = options.filterField ?? 'search';
|
|
27
|
-
if (!component.filterForm?.get(filterField)) {
|
|
28
|
-
pending(`Filter '${filterField}' does not exist.`);
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
spyOn(component, 'reload');
|
|
32
|
-
component.listenFilterChanges();
|
|
33
|
-
component.filterForm.get(filterField)?.setValue('abc');
|
|
34
|
-
tick(501);
|
|
35
|
-
expect(component.reload).toHaveBeenCalled();
|
|
36
|
-
}));
|
|
37
|
-
it('should load next page on scroll', () => {
|
|
38
|
-
const component = options.getComponent();
|
|
39
|
-
component.page = 1;
|
|
40
|
-
component.lastPage = 3;
|
|
41
|
-
component.isWorking = false;
|
|
42
|
-
spyOn(component, 'loadData');
|
|
43
|
-
component.onScroll();
|
|
44
|
-
expect(component.page).toBe(2);
|
|
45
|
-
expect(component.loadData).toHaveBeenCalled();
|
|
46
|
-
});
|
|
47
|
-
it('should not load next page while already loading', () => {
|
|
48
|
-
const component = options.getComponent();
|
|
49
|
-
component.page = 1;
|
|
50
|
-
component.lastPage = 3;
|
|
51
|
-
component.isWorking = true;
|
|
52
|
-
spyOn(component, 'loadData');
|
|
53
|
-
component.onScroll();
|
|
54
|
-
expect(component.loadData).not.toHaveBeenCalled();
|
|
55
|
-
});
|
|
56
|
-
it('should update sort_by filter', () => {
|
|
57
|
-
const component = options.getComponent();
|
|
58
|
-
const control = component.filterForm.get('sort_by');
|
|
59
|
-
if (!control) {
|
|
60
|
-
pending('No sort_by control.');
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
spyOn(control, 'setValue');
|
|
64
|
-
component.sortColumn({ active: 'name', direction: 'asc' });
|
|
65
|
-
expect(control.setValue).toHaveBeenCalledWith('name|ASC');
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdC5jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1saXN0L2NvbnRyYWN0L3RlY2hsaWZ5LWxpc3QuY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQW9CLE1BQU0sdUJBQXVCLENBQUM7QUFVMUUsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxPQUFvQztJQUVwQyxRQUFRLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFO1FBQzVDLEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7WUFDL0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBRSxTQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QyxLQUFLLENBQUMsU0FBZ0IsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNuQyxTQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUs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QUM7WUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNCLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDLENBQUMsQ0FBQztBQUVQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYWtlQXN5bmMsIHRpY2ssIENvbXBvbmVudEZpeHR1cmUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHsgVGVjaGxpZnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vdGVjaGxpZnktbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlY2hsaWZ5TGlzdENvbnRyYWN0T3B0aW9ucyB7XG4gICAgZ2V0Rml4dHVyZTogKCkgPT4gQ29tcG9uZW50Rml4dHVyZTxhbnk+O1xuICAgIGdldENvbXBvbmVudDogKCkgPT4gVGVjaGxpZnlMaXN0Q29tcG9uZW50O1xuICAgIGdldFNlcnZpY2U6ICgpID0+IGFueTtcbiAgICBmaWx0ZXJGaWVsZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlY2hsaWZ5TGlzdENvbnRyYWN0KFxuICAgIG9wdGlvbnM6IFRlY2hsaWZ5TGlzdENvbnRyYWN0T3B0aW9uc1xuKTogdm9pZCB7XG4gICAgZGVzY3JpYmUoJ1RlY2hsaWZ5TGlzdENvbXBvbmVudCBDb250cmFjdCcsICgpID0+IHtcbiAgICAgICAgaXQoJ3Nob3VsZCBwYXNzIGEgc2VydmljZSB0byB0aGUgYmFzZSBjbGFzcycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBleHBlY3QoKGNvbXBvbmVudCBhcyBhbnkpLnNlcnZpY2UpLnRvQmUob3B0aW9ucy5nZXRTZXJ2aWNlKCkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdCgnc2hvdWxkIGhhdmUgYSBmaWx0ZXIgZm9ybScsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmZpbHRlckZvcm0pLnRvQmVUcnV0aHkoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBjYWxsIGxvYWREYXRhIG9uIGluaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgc3B5T24oY29tcG9uZW50IGFzIGFueSwgJ2xvYWREYXRhJyk7XG4gICAgICAgICAgICAoY29tcG9uZW50IGFzIGFueSkubmdPbkluaXQoKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQubG9hZERhdGEpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBwYXRjaCBmaWx0ZXJzIGZyb20gcm91dGUgb24gaW5pdCcsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBzcHlPbihjb21wb25lbnQgYXMgYW55LCAncGF0Y2hGaWx0ZXJzRnJvbVJvdXRlJyk7XG4gICAgICAgICAgICAoY29tcG9uZW50IGFzIGFueSkubmdPbkluaXQoKTtcbiAgICAgICAgICAgIGV4cGVjdChjb21wb25lbnQucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgcmVsb2FkIHdoZW4gZmlsdGVyIGNoYW5nZXMnLCBmYWtlQXN5bmMoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gb3B0aW9ucy5nZXRDb21wb25lbnQoKTtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckZpZWxkID0gb3B0aW9ucy5maWx0ZXJGaWVsZCA/PyAnc2VhcmNoJztcbiAgICAgICAgICAgIGlmICghY29tcG9uZW50LmZpbHRlckZvcm0/LmdldChmaWx0ZXJGaWVsZCkpIHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nKGBGaWx0ZXIgJyR7ZmlsdGVyRmllbGR9JyBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcHlPbihjb21wb25lbnQgYXMgYW55LCAncmVsb2FkJyk7XG4gICAgICAgICAgICBjb21wb25lbnQubGlzdGVuRmlsdGVyQ2hhbmdlcygpO1xuICAgICAgICAgICAgY29tcG9uZW50LmZpbHRlckZvcm0uZ2V0KGZpbHRlckZpZWxkKT8uc2V0VmFsdWUoJ2FiYycpO1xuICAgICAgICAgICAgdGljayg1MDEpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5yZWxvYWQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcblxuICAgICAgICB9KSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCBsb2FkIG5leHQgcGFnZSBvbiBzY3JvbGwnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgY29tcG9uZW50LnBhZ2UgPSAxO1xuICAgICAgICAgICAgY29tcG9uZW50Lmxhc3RQYWdlID0gMztcbiAgICAgICAgICAgIGNvbXBvbmVudC5pc1dvcmtpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHNweU9uKGNvbXBvbmVudCBhcyBhbnksICdsb2FkRGF0YScpO1xuICAgICAgICAgICAgY29tcG9uZW50Lm9uU2Nyb2xsKCk7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LnBhZ2UpLnRvQmUoMik7XG4gICAgICAgICAgICBleHBlY3QoY29tcG9uZW50LmxvYWREYXRhKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdzaG91bGQgbm90IGxvYWQgbmV4dCBwYWdlIHdoaWxlIGFscmVhZHkgbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IG9wdGlvbnMuZ2V0Q29tcG9uZW50KCk7XG4gICAgICAgICAgICBjb21wb25lbnQucGFnZSA9IDE7XG4gICAgICAgICAgICBjb21wb25lbnQubGFzdFBhZ2UgPSAzO1xuICAgICAgICAgICAgY29tcG9uZW50LmlzV29ya2luZyA9IHRydWU7XG4gICAgICAgICAgICBzcHlPbihjb21wb25lbnQgYXMgYW55LCAnbG9hZERhdGEnKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5vblNjcm9sbCgpO1xuICAgICAgICAgICAgZXhwZWN0KGNvbXBvbmVudC5sb2FkRGF0YSkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ3Nob3VsZCB1cGRhdGUgc29ydF9ieSBmaWx0ZXInLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBvcHRpb25zLmdldENvbXBvbmVudCgpO1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGNvbXBvbmVudC5maWx0ZXJGb3JtLmdldCgnc29ydF9ieScpO1xuICAgICAgICAgICAgaWYgKCFjb250cm9sKSB7XG4gICAgICAgICAgICAgICAgcGVuZGluZygnTm8gc29ydF9ieSBjb250cm9sLicpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNweU9uKGNvbnRyb2wsICdzZXRWYWx1ZScpO1xuICAgICAgICAgICAgY29tcG9uZW50LnNvcnRDb2x1bW4oeyBhY3RpdmU6ICduYW1lJywgZGlyZWN0aW9uOiAnYXNjJyB9KTtcbiAgICAgICAgICAgIGV4cGVjdChjb250cm9sLnNldFZhbHVlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgnbmFtZXxBU0MnKTtcbiAgICAgICAgfSk7XG5cbiAgICB9KTtcblxufSJdfQ==
|