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,251 +0,0 @@
|
|
|
1
|
-
import { Component, Input, input, signal } from '@angular/core';
|
|
2
|
-
import { EntityFileFormComponent } from '../entity-file-form/entity-file-form.component';
|
|
3
|
-
import { TechlifyTaggerTagFormConfigModel } from "../../tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model";
|
|
4
|
-
import { TechlifyListComponent } from '../../base-model';
|
|
5
|
-
import { FormConfigurationUtilityService } from '../../form-configuration/form-configuration-utility.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../entity-file.service";
|
|
8
|
-
import * as i2 from "../../core/alert.service";
|
|
9
|
-
import * as i3 from "@angular/forms";
|
|
10
|
-
import * as i4 from "../../core/error-handler.service";
|
|
11
|
-
import * as i5 from "ngx-permissions";
|
|
12
|
-
import * as i6 from "../../form-configuration/form-configuration-form.service";
|
|
13
|
-
import * as i7 from "@angular/common";
|
|
14
|
-
import * as i8 from "../../document-viewer/document-viewer.component";
|
|
15
|
-
import * as i9 from "../../file-dropper/file-dropper.component";
|
|
16
|
-
import * as i10 from "ngx-infinite-scroll";
|
|
17
|
-
import * as i11 from "@angular/material/button";
|
|
18
|
-
import * as i12 from "@angular/material/checkbox";
|
|
19
|
-
import * as i13 from "@angular/material/dialog";
|
|
20
|
-
import * as i14 from "@angular/material/form-field";
|
|
21
|
-
import * as i15 from "@angular/material/icon";
|
|
22
|
-
import * as i16 from "@angular/material/input";
|
|
23
|
-
import * as i17 from "@angular/material/sort";
|
|
24
|
-
import * as i18 from "@angular/material/table";
|
|
25
|
-
import * as i19 from "@angular/material/card";
|
|
26
|
-
import * as i20 from "@angular/material/progress-bar";
|
|
27
|
-
import * as i21 from "../../read-more/read-more.component";
|
|
28
|
-
import * as i22 from "../../delete-button/techlify-delete-button.component";
|
|
29
|
-
import * as i23 from "../../timeline-filter/timeline-filter.component";
|
|
30
|
-
import * as i24 from "../../form-button/techlify-form-button.component";
|
|
31
|
-
import * as i25 from "../../tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component";
|
|
32
|
-
import * as i26 from "../../pipes/wrap.pipe";
|
|
33
|
-
import * as i27 from "../../pipes/file-size.pipe";
|
|
34
|
-
/**
|
|
35
|
-
* We are using both app-entity-file-list and app-entity-files-view-all
|
|
36
|
-
* to ensure backward compatibility with older projects `ngx-techlify-documents, ngx-techlify-checksheets`
|
|
37
|
-
* etc. `app-entity-files-view-all` will be removed by `v18.80.0`
|
|
38
|
-
*/
|
|
39
|
-
export class EntityFileListComponent extends TechlifyListComponent {
|
|
40
|
-
set isFilterPatchFromRoute(value) {
|
|
41
|
-
this._isFilterPatchFromRoute = value;
|
|
42
|
-
}
|
|
43
|
-
get isFilterPatchFromRoute() {
|
|
44
|
-
return this._isFilterPatchFromRoute;
|
|
45
|
-
}
|
|
46
|
-
constructor(service, alertService, fb, errorHandler, permissionsService, formConfigService) {
|
|
47
|
-
super(service);
|
|
48
|
-
this.service = service;
|
|
49
|
-
this.alertService = alertService;
|
|
50
|
-
this.fb = fb;
|
|
51
|
-
this.errorHandler = errorHandler;
|
|
52
|
-
this.permissionsService = permissionsService;
|
|
53
|
-
this.formConfigService = formConfigService;
|
|
54
|
-
this.viewOnly = false;
|
|
55
|
-
this.allowMultipleFiles = false;
|
|
56
|
-
this.allowBulkUpdate = false;
|
|
57
|
-
this.viewMode = 'list';
|
|
58
|
-
this.fileDropperHeight = '500px';
|
|
59
|
-
this.isShowDragDropSection = true;
|
|
60
|
-
this.defaultFilters = input();
|
|
61
|
-
/**
|
|
62
|
-
* Should we allow tagging entity-files?
|
|
63
|
-
*/
|
|
64
|
-
this.useTechlifyTags = false;
|
|
65
|
-
this.techlifyTagCategories = [];
|
|
66
|
-
this.techlifyTagConfig = new TechlifyTaggerTagFormConfigModel();
|
|
67
|
-
this.entityFileForm = signal(EntityFileFormComponent);
|
|
68
|
-
this.formData = {};
|
|
69
|
-
this.title = "File";
|
|
70
|
-
this.displayedColumns = [
|
|
71
|
-
'index',
|
|
72
|
-
'title',
|
|
73
|
-
'expires_on',
|
|
74
|
-
'details',
|
|
75
|
-
'file_size',
|
|
76
|
-
'uploaded_on',
|
|
77
|
-
];
|
|
78
|
-
this.isShowCreateAction = true;
|
|
79
|
-
this.isShowUpdateAction = true;
|
|
80
|
-
this.isShowDeleteAction = true;
|
|
81
|
-
this.isShowReadAction = true;
|
|
82
|
-
this.formConfigurationUtilityService = new FormConfigurationUtilityService();
|
|
83
|
-
this.filterFormConfiguration = {
|
|
84
|
-
tag_ids: { multiple: true }
|
|
85
|
-
};
|
|
86
|
-
this.filterForm = this.fb.group({
|
|
87
|
-
title: [""],
|
|
88
|
-
tag_ids: [[]],
|
|
89
|
-
period_id: [''],
|
|
90
|
-
expires_on_from: [''],
|
|
91
|
-
expires_on_to: ['']
|
|
92
|
-
});
|
|
93
|
-
this.updateRowForm = this.fb.group({
|
|
94
|
-
title: [''],
|
|
95
|
-
details: [''],
|
|
96
|
-
tag_ids: [''],
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
async ngOnInit() {
|
|
100
|
-
/**
|
|
101
|
-
* The reason we are setting permissions this way is because the user can pass what permissions are to be used
|
|
102
|
-
* when manipulating the files/documents. If they are a client admin we will skip this
|
|
103
|
-
*/
|
|
104
|
-
if (!await this.permissionsService.hasPermission('client_admin')) {
|
|
105
|
-
this.isShowCreateAction = this.permission?.create ? await this.permissionsService.hasPermission(this.permission.create) : true;
|
|
106
|
-
this.isShowUpdateAction = this.permission?.update ? await this.permissionsService.hasPermission(this.permission.update) : true;
|
|
107
|
-
this.isShowReadAction = this.permission?.read ? await this.permissionsService.hasPermission(this.permission.read) : true;
|
|
108
|
-
this.isShowDeleteAction = this.permission?.delete ? await this.permissionsService.hasPermission(this.permission.delete) : true;
|
|
109
|
-
}
|
|
110
|
-
this.formData = {
|
|
111
|
-
entity: {
|
|
112
|
-
entity_type: this.entityType,
|
|
113
|
-
entity_id: this.entityId
|
|
114
|
-
},
|
|
115
|
-
hideTitleAndDetails: this.hideTitleAndDetails,
|
|
116
|
-
useTechlifyTags: this.useTechlifyTags,
|
|
117
|
-
techlifyTagCategories: this.techlifyTagCategories,
|
|
118
|
-
techlifyTagConfig: this.techlifyTagConfig,
|
|
119
|
-
};
|
|
120
|
-
// File dropper config
|
|
121
|
-
this.fileConfig = {
|
|
122
|
-
fileId: "entityDashboardDropper",
|
|
123
|
-
containerId: "entityDashboardDropperContainer",
|
|
124
|
-
styles: {
|
|
125
|
-
height: this.fileDropperHeight
|
|
126
|
-
},
|
|
127
|
-
multiple: this.allowMultipleFiles,
|
|
128
|
-
acceptFile: "*",
|
|
129
|
-
maxSize: 10,
|
|
130
|
-
acceptFileText: "All Files"
|
|
131
|
-
};
|
|
132
|
-
this.viewerConfig = {
|
|
133
|
-
imageStyle: {
|
|
134
|
-
height: '200px',
|
|
135
|
-
width: '200px'
|
|
136
|
-
},
|
|
137
|
-
viewerStyle: {
|
|
138
|
-
height: ' 160px',
|
|
139
|
-
width: '200px'
|
|
140
|
-
},
|
|
141
|
-
hideRemove: true
|
|
142
|
-
};
|
|
143
|
-
if (this.hideTitleAndDetails) {
|
|
144
|
-
this.displayedColumns = this.displayedColumns.filter(x => (x !== 'details') && (x !== 'title'));
|
|
145
|
-
}
|
|
146
|
-
if (!this.viewOnly) {
|
|
147
|
-
this.displayedColumns.push('actions');
|
|
148
|
-
}
|
|
149
|
-
if (this.allowBulkUpdate) {
|
|
150
|
-
this.displayedColumns.push('select');
|
|
151
|
-
}
|
|
152
|
-
this.formConfigurationUtilityService.initialize(this.formConfigService, 'entity-file').subscribe({
|
|
153
|
-
next: () => {
|
|
154
|
-
if (!this.formConfigurationUtilityService.getFieldEnabled('expires_on')) {
|
|
155
|
-
this.displayedColumns = this.displayedColumns.filter(x => x !== 'expires_on');
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
const defaultFilters = this.defaultFilters();
|
|
160
|
-
if (defaultFilters) {
|
|
161
|
-
this.filterForm.patchValue(defaultFilters, { emitEvent: false });
|
|
162
|
-
}
|
|
163
|
-
if (this.isFilterPatchFromRoute) {
|
|
164
|
-
this.patchFiltersFromRoute();
|
|
165
|
-
}
|
|
166
|
-
this.listenFilterChanges();
|
|
167
|
-
this.loadData();
|
|
168
|
-
}
|
|
169
|
-
loadData() {
|
|
170
|
-
this.filters = {
|
|
171
|
-
...this.requestHelperService?.convertToFormData(JSON.parse(JSON.stringify(this.filterForm.value))),
|
|
172
|
-
entity_type: this.entityType,
|
|
173
|
-
entity_id: this.entityId,
|
|
174
|
-
with: 'creator,tags',
|
|
175
|
-
page: this.page,
|
|
176
|
-
per_page: this.perPage
|
|
177
|
-
};
|
|
178
|
-
super.loadData(this.filters);
|
|
179
|
-
}
|
|
180
|
-
async fileChanged(event) {
|
|
181
|
-
const files = event;
|
|
182
|
-
if (files.length > 0) {
|
|
183
|
-
for (const file of files) {
|
|
184
|
-
await this.service.uploadEntityFile(file, {
|
|
185
|
-
entity_type: this.entityType,
|
|
186
|
-
entity_id: this.entityId,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
this.reload();
|
|
190
|
-
this.alertService.addAlert('Files uploaded successfully!', 'success');
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
async bulkUpdate(fieldName) {
|
|
194
|
-
const data = this.updateRowForm.value;
|
|
195
|
-
this.isWorking = true;
|
|
196
|
-
data.field_name = fieldName;
|
|
197
|
-
data.document_ids = this.selectedModelIds;
|
|
198
|
-
try {
|
|
199
|
-
await this.service.bulkUpdate(data).then(() => {
|
|
200
|
-
this.alertService.addAlert("Successfully updated", "success");
|
|
201
|
-
this.isWorking = false;
|
|
202
|
-
this.reload();
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
this.errorHandler.handleError(error);
|
|
207
|
-
this.isWorking = false;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListComponent, deps: [{ token: i1.EntityFileService }, { token: i2.AlertService }, { token: i3.UntypedFormBuilder }, { token: i4.ErrorHandlerService }, { token: i5.NgxPermissionsService }, { token: i6.FormConfigurationFormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: EntityFileListComponent, selector: "app-entity-file-list, app-entity-files-view-all", inputs: { entityId: { classPropertyName: "entityId", publicName: "entityId", isSignal: false, isRequired: false, transformFunction: null }, entityType: { classPropertyName: "entityType", publicName: "entityType", isSignal: false, isRequired: false, transformFunction: null }, viewOnly: { classPropertyName: "viewOnly", publicName: "viewOnly", isSignal: false, isRequired: false, transformFunction: null }, removeSearch: { classPropertyName: "removeSearch", publicName: "removeSearch", isSignal: false, isRequired: false, transformFunction: null }, hideTitleAndDetails: { classPropertyName: "hideTitleAndDetails", publicName: "hideTitleAndDetails", isSignal: false, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: false, isRequired: false, transformFunction: null }, allowMultipleFiles: { classPropertyName: "allowMultipleFiles", publicName: "allowMultipleFiles", isSignal: false, isRequired: false, transformFunction: null }, allowBulkUpdate: { classPropertyName: "allowBulkUpdate", publicName: "allowBulkUpdate", isSignal: false, isRequired: false, transformFunction: null }, viewMode: { classPropertyName: "viewMode", publicName: "viewMode", isSignal: false, isRequired: false, transformFunction: null }, fileDropperHeight: { classPropertyName: "fileDropperHeight", publicName: "fileDropperHeight", isSignal: false, isRequired: false, transformFunction: null }, isShowDragDropSection: { classPropertyName: "isShowDragDropSection", publicName: "isShowDragDropSection", isSignal: false, isRequired: false, transformFunction: null }, defaultFilters: { classPropertyName: "defaultFilters", publicName: "defaultFilters", isSignal: true, isRequired: false, transformFunction: null }, isFilterPatchFromRoute: { classPropertyName: "isFilterPatchFromRoute", publicName: "isFilterPatchFromRoute", isSignal: false, isRequired: false, transformFunction: null }, useTechlifyTags: { classPropertyName: "useTechlifyTags", publicName: "useTechlifyTags", isSignal: false, isRequired: false, transformFunction: null }, techlifyTagCategories: { classPropertyName: "techlifyTagCategories", publicName: "techlifyTagCategories", isSignal: false, isRequired: false, transformFunction: null }, techlifyTagConfig: { classPropertyName: "techlifyTagConfig", publicName: "techlifyTagConfig", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: false, isRequired: false, transformFunction: null }, permission: { classPropertyName: "permission", publicName: "permission", isSignal: false, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"viewMode === 'list'\">\n <div *ngIf=\"this.selectedModelIds.length\" class=\"d-none d-md-flex flex-column\">\n <mat-card class=\"update_card\" *ngIf=\"this.selectedModelIds.length\">\n <mat-card-header>\n <mat-card-title>\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\n <div>Update Selected Rows</div>\n </div>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"d-flex flex-column\">\n <form [formGroup]=\"updateRowForm\">\n <div class=\"d-flex flex-column\">\n\n <mat-form-field class=\"w-100 px-1\">\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\n <button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('title').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class=\"w-100 px-1\">\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n <button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('details').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n placeholder=\"Enter new tag\">\n </app-techlify-tagger-tag-form-field>\n <button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('tag_ids').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n </ng-container>\n </div>\n </form>\n </mat-card-content>\n </mat-card>\n\n </div>\n\n <div>\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div class=\"d-flex flex-row gap-3\">\n <div class=\"d-flex flex-column gap-2 flex-grow-1\">\n <mat-card>\n <mat-card-content>\n <div class=\"d-flex gap-2 align-items-center\">\n <mat-icon>\n description\n </mat-icon>\n <h3 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h3>\n <app-techlify-form-button class=\"ms-2\" *ngIf=\"!viewOnly && isShowCreateAction && entityId\"\n [component]=\"entityFileForm()\" [data]=\"formData\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n <span class=\"flex-grow-1\"></span>\n <form [formGroup]=\"filterForm\" class=\"d-flex gap-2\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('title').value\" matSuffix mat-icon-button\n (click)=\"resetFilter('title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field [categories]=\"techlifyTagCategories\" formControlName=\"tag_ids\"\n placeholder=\"Select Tags\" [config]=\"techlifyTagConfig\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n\n <app-timeline-filter class=\"fl-sm\" formControlName='period_id' labelText=\"Expires On\"\n dateFrom=\"expires_on_from\" dateTo=\"expires_on_to\" [form]=\"filterForm\"></app-timeline-filter>\n </form>\n </div>\n </mat-card-content>\n <mat-card-content class=\"entity-file-card p-0\" *ngIf=\"entityId\">\n <ng-container *ngTemplateOutlet=\"tableView\"></ng-container>\n </mat-card-content>\n </mat-card>\n\n <mat-card *ngIf=\"!entityId\">\n <mat-card-content class=\"entity-file-card p-0\">\n <ng-container *ngTemplateOutlet=\"tableView\"></ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n <ng-container *ngIf=\"isShowDragDropSection && entityId\">\n <section style=\"flex: 0 1 30%;\" *ngIf=\"!this.selectedModelIds.length && !viewOnly && isShowCreateAction\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\">\n </app-file-dropper>\n </section>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-template #tableView>\n <table mat-table [dataSource]=\"models\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Select Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"element.is_selected\" (change)=\"isSelectionModified($event, element)\"\n [disabled]=\"!models.length\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.title}}\n <ng-container *ngIf=\"useTechlifyTags\">\n <br>\n <small class=\"badge badge-secondary mr-1\" *ngFor=\"let tag of element?.tags\">{{tag?.title}}</small>\n </ng-container>\n\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"expires_on\">\n <th mat-header-cell *matHeaderCellDef> Expires On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.expires_on | date:'mediumDate'}}\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.file_size\"> {{ element.file_size | fileSize }} </span>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\" *ngIf=\"element.creator\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"text-muted\">\n <div class=\"d-flex flex-row gap-2 text-secondary align-items-center\">\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted clickable\">\n <mat-icon>download</mat-icon>\n </a>\n <app-techlify-form-button *ngIf=\"!viewOnly && isShowUpdateAction\" [component]=\"entityFileForm()\"\n [model]=\"element\" [data]=\"formData\" (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n <app-techlify-delete-button *ngIf=\"!viewOnly && isShowDeleteAction\" [model]=\"element\" [service]=\"service\"\n message=\"Are you sure to proceed delete the file {{element.title}}\"\n (deleted)=\"modelsDeletedById(element)\">\n </app-techlify-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </ng-template>\n\n <div class=\"d-flex flex-wrap gap-3 mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of models\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n </div>\n</div>\n\n<mat-card *ngIf=\"viewMode === 'timeline'\">\n <mat-card-content>\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <mat-icon>\n description\n </mat-icon>\n <h3 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h3>\n <app-techlify-form-button *ngIf=\"!viewOnly && isShowCreateAction\" [component]=\"entityFileForm()\" [data]=\"formData\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n </div>\n </mat-card-content>\n <mat-card-content *ngIf=\"!this.selectedModelIds.length && !viewOnly && isShowCreateAction\" class=\"mt-3\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\">\n </app-file-dropper>\n </mat-card-content>\n\n <mat-card-content class=\"mt-3\">\n <div *ngFor=\"let entityFile of models\" class=\"d-flex flex-column gap-0\">\n <div class=\"d-flex flex-column gap-0\">\n <div class=\"d-flex justify-content-between align-items-center gap-1\">\n <p class=\"mb-0 fw-bold text-wrap\">{{ entityFile?.title | wrap:20 }}</p>\n <span class=\"badge bg-dark\" *ngFor=\"let tag of entityFile?.tags\">\n {{ tag?.title }}\n </span>\n <small class=\"text-dark\">{{ entityFile.file_size | fileSize }}</small>\n </div>\n </div>\n <app-read-more [text]=\"entityFile?.details\" [maxLength]=\"50\"></app-read-more>\n <div class=\"d-flex justify-content-between gap-2\">\n <small class=\"text-secondary\" style=\"max-width: 70%\">\n <i>Uploaded By {{ entityFile?.creator?.name }} {{ entityFile?.created_at | date: 'mediumDate'}}</i>\n </small>\n <div class=\"d-flex justify-content-end align-items-center gap-1\">\n <a href=\"{{entityFile?.url}}\" target=\"_blank\" class=\"text-decoration-none text-secondary mt-2\">\n <mat-icon>download</mat-icon>\n </a>\n <app-techlify-form-button class=\"text-secondary\" *ngIf=\"!viewOnly && isShowUpdateAction\"\n [component]=\"entityFileForm()\" [model]=\"entityFile\" [data]=\"formData\"\n (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n <app-techlify-delete-button *ngIf=\"!viewOnly && isShowDeleteAction\" class='text-secondary ms-1'\n [model]=\"entityFile\" [service]=\"service\"\n message=\"Are you sure to proceed delete the file {{entityFile.title}}\"\n (deleted)=\"modelsDeletedById(entityFile)\">\n </app-techlify-delete-button>\n </div>\n </div>\n <hr style=\"margin: 0.5rem 0\">\n </div>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", styles: ["th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:2px}.entity-file-card{overflow-x:auto}.clickable:hover{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.DocumentViewerComponent, selector: "app-document-viewer", inputs: ["config", "file", "fileUrl", "disableEdit"], outputs: ["remove"] }, { kind: "component", type: i9.FileDropperComponent, selector: "app-file-dropper", inputs: ["fileArray", "config", "styles"], outputs: ["fileChanged"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i11.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i11.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i13.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "component", type: i14.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i14.MatLabel, selector: "mat-label" }, { kind: "directive", type: i14.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i16.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i17.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i18.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i18.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i18.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i18.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i18.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i18.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i18.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i18.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i18.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i18.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i19.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i19.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i19.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i19.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i20.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i21.ReadMoreComponent, selector: "app-read-more", inputs: ["text", "maxLength"] }, { kind: "component", type: i22.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted", "loading"] }, { kind: "component", type: i23.TimelineFilterComponent, selector: "app-timeline-filter", inputs: ["defaultValue", "required", "disabled", "value", "timelines", "dateFrom", "dateTo", "appearance", "showClearButton", "form", "labelText"], outputs: ["selectionChange"] }, { kind: "component", type: i24.TechlifyFormButtonComponent, selector: "app-techlify-form-button", inputs: ["component", "model", "data", "width"], outputs: ["saved"] }, { kind: "component", type: i25.TechlifyTaggerTagFormFieldComponent, selector: "app-techlify-tagger-tag-form-field", inputs: ["config", "modelType", "modelId", "allTags", "categories", "defaultCreateCategory", "required", "disabled", "value", "placeholder"] }, { kind: "pipe", type: i7.DatePipe, name: "date" }, { kind: "pipe", type: i26.WrapPipe, name: "wrap" }, { kind: "pipe", type: i27.FileSizePipe, name: "fileSize" }] }); }
|
|
212
|
-
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListComponent, decorators: [{
|
|
214
|
-
type: Component,
|
|
215
|
-
args: [{ selector: 'app-entity-file-list, app-entity-files-view-all', template: "<div *ngIf=\"viewMode === 'list'\">\n <div *ngIf=\"this.selectedModelIds.length\" class=\"d-none d-md-flex flex-column\">\n <mat-card class=\"update_card\" *ngIf=\"this.selectedModelIds.length\">\n <mat-card-header>\n <mat-card-title>\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\n <div>Update Selected Rows</div>\n </div>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content class=\"d-flex flex-column\">\n <form [formGroup]=\"updateRowForm\">\n <div class=\"d-flex flex-column\">\n\n <mat-form-field class=\"w-100 px-1\">\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\n <button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('title').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field class=\"w-100 px-1\">\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n <button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('details').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n placeholder=\"Enter new tag\">\n </app-techlify-tagger-tag-form-field>\n <button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\" matSuffix\n mat-icon-button style=\"color:red\" (click)=\"updateRowForm.get('tag_ids').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n <button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n </ng-container>\n </div>\n </form>\n </mat-card-content>\n </mat-card>\n\n </div>\n\n <div>\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div class=\"d-flex flex-row gap-3\">\n <div class=\"d-flex flex-column gap-2 flex-grow-1\">\n <mat-card>\n <mat-card-content>\n <div class=\"d-flex gap-2 align-items-center\">\n <mat-icon>\n description\n </mat-icon>\n <h3 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h3>\n <app-techlify-form-button class=\"ms-2\" *ngIf=\"!viewOnly && isShowCreateAction && entityId\"\n [component]=\"entityFileForm()\" [data]=\"formData\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n <span class=\"flex-grow-1\"></span>\n <form [formGroup]=\"filterForm\" class=\"d-flex gap-2\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('title').value\" matSuffix mat-icon-button\n (click)=\"resetFilter('title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field [categories]=\"techlifyTagCategories\" formControlName=\"tag_ids\"\n placeholder=\"Select Tags\" [config]=\"techlifyTagConfig\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n\n <app-timeline-filter class=\"fl-sm\" formControlName='period_id' labelText=\"Expires On\"\n dateFrom=\"expires_on_from\" dateTo=\"expires_on_to\" [form]=\"filterForm\"></app-timeline-filter>\n </form>\n </div>\n </mat-card-content>\n <mat-card-content class=\"entity-file-card p-0\" *ngIf=\"entityId\">\n <ng-container *ngTemplateOutlet=\"tableView\"></ng-container>\n </mat-card-content>\n </mat-card>\n\n <mat-card *ngIf=\"!entityId\">\n <mat-card-content class=\"entity-file-card p-0\">\n <ng-container *ngTemplateOutlet=\"tableView\"></ng-container>\n </mat-card-content>\n </mat-card>\n </div>\n <ng-container *ngIf=\"isShowDragDropSection && entityId\">\n <section style=\"flex: 0 1 30%;\" *ngIf=\"!this.selectedModelIds.length && !viewOnly && isShowCreateAction\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\">\n </app-file-dropper>\n </section>\n </ng-container>\n </div>\n </div>\n </div>\n\n <ng-template #tableView>\n <table mat-table [dataSource]=\"models\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Select Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"element.is_selected\" (change)=\"isSelectionModified($event, element)\"\n [disabled]=\"!models.length\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.title}}\n <ng-container *ngIf=\"useTechlifyTags\">\n <br>\n <small class=\"badge badge-secondary mr-1\" *ngFor=\"let tag of element?.tags\">{{tag?.title}}</small>\n </ng-container>\n\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"expires_on\">\n <th mat-header-cell *matHeaderCellDef> Expires On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.expires_on | date:'mediumDate'}}\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.file_size\"> {{ element.file_size | fileSize }} </span>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\" *ngIf=\"element.creator\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"text-muted\">\n <div class=\"d-flex flex-row gap-2 text-secondary align-items-center\">\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted clickable\">\n <mat-icon>download</mat-icon>\n </a>\n <app-techlify-form-button *ngIf=\"!viewOnly && isShowUpdateAction\" [component]=\"entityFileForm()\"\n [model]=\"element\" [data]=\"formData\" (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n <app-techlify-delete-button *ngIf=\"!viewOnly && isShowDeleteAction\" [model]=\"element\" [service]=\"service\"\n message=\"Are you sure to proceed delete the file {{element.title}}\"\n (deleted)=\"modelsDeletedById(element)\">\n </app-techlify-delete-button>\n </div>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </ng-template>\n\n <div class=\"d-flex flex-wrap gap-3 mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of models\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n </div>\n</div>\n\n<mat-card *ngIf=\"viewMode === 'timeline'\">\n <mat-card-content>\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <mat-icon>\n description\n </mat-icon>\n <h3 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h3>\n <app-techlify-form-button *ngIf=\"!viewOnly && isShowCreateAction\" [component]=\"entityFileForm()\" [data]=\"formData\"\n (saved)=\"modelCreated($event)\"></app-techlify-form-button>\n </div>\n </mat-card-content>\n <mat-card-content *ngIf=\"!this.selectedModelIds.length && !viewOnly && isShowCreateAction\" class=\"mt-3\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\">\n </app-file-dropper>\n </mat-card-content>\n\n <mat-card-content class=\"mt-3\">\n <div *ngFor=\"let entityFile of models\" class=\"d-flex flex-column gap-0\">\n <div class=\"d-flex flex-column gap-0\">\n <div class=\"d-flex justify-content-between align-items-center gap-1\">\n <p class=\"mb-0 fw-bold text-wrap\">{{ entityFile?.title | wrap:20 }}</p>\n <span class=\"badge bg-dark\" *ngFor=\"let tag of entityFile?.tags\">\n {{ tag?.title }}\n </span>\n <small class=\"text-dark\">{{ entityFile.file_size | fileSize }}</small>\n </div>\n </div>\n <app-read-more [text]=\"entityFile?.details\" [maxLength]=\"50\"></app-read-more>\n <div class=\"d-flex justify-content-between gap-2\">\n <small class=\"text-secondary\" style=\"max-width: 70%\">\n <i>Uploaded By {{ entityFile?.creator?.name }} {{ entityFile?.created_at | date: 'mediumDate'}}</i>\n </small>\n <div class=\"d-flex justify-content-end align-items-center gap-1\">\n <a href=\"{{entityFile?.url}}\" target=\"_blank\" class=\"text-decoration-none text-secondary mt-2\">\n <mat-icon>download</mat-icon>\n </a>\n <app-techlify-form-button class=\"text-secondary\" *ngIf=\"!viewOnly && isShowUpdateAction\"\n [component]=\"entityFileForm()\" [model]=\"entityFile\" [data]=\"formData\"\n (saved)=\"modelsUpdatedById($event)\"></app-techlify-form-button>\n <app-techlify-delete-button *ngIf=\"!viewOnly && isShowDeleteAction\" class='text-secondary ms-1'\n [model]=\"entityFile\" [service]=\"service\"\n message=\"Are you sure to proceed delete the file {{entityFile.title}}\"\n (deleted)=\"modelsDeletedById(entityFile)\">\n </app-techlify-delete-button>\n </div>\n </div>\n <hr style=\"margin: 0.5rem 0\">\n </div>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", styles: ["th.mat-header-cell,td.mat-cell,td.mat-footer-cell{padding:2px}.entity-file-card{overflow-x:auto}.clickable:hover{cursor:pointer}\n"] }]
|
|
216
|
-
}], ctorParameters: () => [{ type: i1.EntityFileService }, { type: i2.AlertService }, { type: i3.UntypedFormBuilder }, { type: i4.ErrorHandlerService }, { type: i5.NgxPermissionsService }, { type: i6.FormConfigurationFormService }], propDecorators: { entityId: [{
|
|
217
|
-
type: Input
|
|
218
|
-
}], entityType: [{
|
|
219
|
-
type: Input
|
|
220
|
-
}], viewOnly: [{
|
|
221
|
-
type: Input
|
|
222
|
-
}], removeSearch: [{
|
|
223
|
-
type: Input
|
|
224
|
-
}], hideTitleAndDetails: [{
|
|
225
|
-
type: Input
|
|
226
|
-
}], displayMode: [{
|
|
227
|
-
type: Input
|
|
228
|
-
}], allowMultipleFiles: [{
|
|
229
|
-
type: Input
|
|
230
|
-
}], allowBulkUpdate: [{
|
|
231
|
-
type: Input
|
|
232
|
-
}], viewMode: [{
|
|
233
|
-
type: Input
|
|
234
|
-
}], fileDropperHeight: [{
|
|
235
|
-
type: Input
|
|
236
|
-
}], isShowDragDropSection: [{
|
|
237
|
-
type: Input
|
|
238
|
-
}], isFilterPatchFromRoute: [{
|
|
239
|
-
type: Input
|
|
240
|
-
}], useTechlifyTags: [{
|
|
241
|
-
type: Input
|
|
242
|
-
}], techlifyTagCategories: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], techlifyTagConfig: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], title: [{
|
|
247
|
-
type: Input
|
|
248
|
-
}], permission: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}] } });
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZS1saXN0L2VudGl0eS1maWxlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGUtbGlzdC9lbnRpdHktZmlsZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFPekYsT0FBTyxFQUNMLGdDQUFnQyxFQUNqQyxNQUFNLGdGQUFnRixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3pELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5Rzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHFCQUFxQjtJQWNoRSxJQUFzQixzQkFBc0IsQ0FBQyxLQUFjO1FBQ3pELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQWEsc0JBQXNCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFpQ0QsWUFDa0IsT0FBMEIsRUFDbEMsWUFBMEIsRUFDMUIsRUFBc0IsRUFDdEIsWUFBaUMsRUFDakMsa0JBQXlDLEVBQ3pDLGlCQUErQztRQUV2RCxLQUFLLENBQUMsT0FB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O2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUdnQixzQkFBc0I7c0JBQTNDLEtBQUs7Z0JBVUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFlRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2VudGl0eS1maWxlLWZvcm0vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50aXR5RmlsZVNlcnZpY2UgfSBmcm9tICcuLi9lbnRpdHktZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3ZXJDb25maWcgfSBmcm9tICcuLi8uLi9kb2N1bWVudC12aWV3ZXIvdmlld2VyLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBGaWxlRHJvcHBlckNvbmZpZyB9IGZyb20gJy4uLy4uL2ZpbGUtZHJvcHBlcic7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29uZmlnTW9kZWxcbn0gZnJvbSBcIi4uLy4uL3RhZy90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgVGVjaGxpZnlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmFzZS1tb2RlbCc7XG5pbXBvcnQgeyBOZ3hQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICduZ3gtcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgRm9ybUNvbmZpZ3VyYXRpb25Gb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL2Zvcm0tY29uZmlndXJhdGlvbi9mb3JtLWNvbmZpZ3VyYXRpb24tZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9mb3JtLWNvbmZpZ3VyYXRpb24vZm9ybS1jb25maWd1cmF0aW9uLXV0aWxpdHkuc2VydmljZSc7XG5cbi8qKlxuICogV2UgYXJlIHVzaW5nIGJvdGggYXBwLWVudGl0eS1maWxlLWxpc3QgYW5kIGFwcC1lbnRpdHktZmlsZXMtdmlldy1hbGwgXG4gKiB0byBlbnN1cmUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIHByb2plY3RzIGBuZ3gtdGVjaGxpZnktZG9jdW1lbnRzLCBuZ3gtdGVjaGxpZnktY2hlY2tzaGVldHNgXG4gKiBldGMuIGBhcHAtZW50aXR5LWZpbGVzLXZpZXctYWxsYCB3aWxsIGJlIHJlbW92ZWQgYnkgYHYxOC44MC4wYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LWZpbGUtbGlzdCwgYXBwLWVudGl0eS1maWxlcy12aWV3LWFsbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRpdHktZmlsZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW50aXR5LWZpbGUtbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZW50aXR5SWQ6IG51bWJlcjtcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xuICBASW5wdXQoKSB2aWV3T25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZW1vdmVTZWFyY2g6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGVUaXRsZUFuZERldGFpbHM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc3BsYXlNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd011bHRpcGxlRmlsZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWxsb3dCdWxrVXBkYXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZpZXdNb2RlOiAnbGlzdCcgfCAndGltZWxpbmUnID0gJ2xpc3QnO1xuICBASW5wdXQoKSBmaWxlRHJvcHBlckhlaWdodCA9ICc1MDBweCc7XG4gIEBJbnB1dCgpIGlzU2hvd0RyYWdEcm9wU2VjdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIGRlZmF1bHRGaWx0ZXJzID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgYW55Pj4oKTtcblxuICBASW5wdXQoKSBvdmVycmlkZSBzZXQgaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzRmlsdGVyUGF0Y2hGcm9tUm91dGUgPSB2YWx1ZTtcbiAgfVxuICBvdmVycmlkZSBnZXQgaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG91bGQgd2UgYWxsb3cgdGFnZ2luZyBlbnRpdHktZmlsZXM/XG4gICAqL1xuICBASW5wdXQoKSB1c2VUZWNobGlmeVRhZ3MgPSBmYWxzZTtcbiAgQElucHV0KCkgdGVjaGxpZnlUYWdDYXRlZ29yaWVzOiBzdHJpbmdbXSA9IFtdO1xuICBASW5wdXQoKSB0ZWNobGlmeVRhZ0NvbmZpZzogVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29uZmlnTW9kZWwgPSBuZXcgVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29uZmlnTW9kZWwoKTtcblxuXG4gIGVudGl0eUZpbGVGb3JtID0gc2lnbmFsKEVudGl0eUZpbGVGb3JtQ29tcG9uZW50KTtcbiAgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuICB2aWV3ZXJDb25maWc6IFZpZXdlckNvbmZpZztcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IFwiRmlsZVwiO1xuICBkaXNwbGF5ZWRDb2x1bW5zID0gW1xuICAgICdpbmRleCcsXG4gICAgJ3RpdGxlJyxcbiAgICAnZXhwaXJlc19vbicsXG4gICAgJ2RldGFpbHMnLFxuICAgICdmaWxlX3NpemUnLFxuICAgICd1cGxvYWRlZF9vbicsXG4gIF07XG4gIGZpbGVDb25maWc6IEZpbGVEcm9wcGVyQ29uZmlnO1xuICB1cGRhdGVSb3dGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBpc1Nob3dDcmVhdGVBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICBpc1Nob3dVcGRhdGVBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICBpc1Nob3dEZWxldGVBY3Rpb246IGJvb2xlYW4gPSB0cnVlO1xuICBpc1Nob3dSZWFkQWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcGVybWlzc2lvbjogeyBjcmVhdGU6IHN0cmluZywgdXBkYXRlOiBzdHJpbmcsIGRlbGV0ZTogc3RyaW5nLCByZWFkOiBzdHJpbmcgfTtcblxuICBwdWJsaWMgZm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZTogRm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmljZTogRW50aXR5RmlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IE5neFBlcm1pc3Npb25zU2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1Db25maWdTZXJ2aWNlOiBGb3JtQ29uZmlndXJhdGlvbkZvcm1TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHNlcnZpY2UpO1xuICAgIHRoaXMuZm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZSA9IG5ldyBGb3JtQ29uZmlndXJhdGlvblV0aWxpdHlTZXJ2aWNlKCk7XG4gICAgdGhpcy5maWx0ZXJGb3JtQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgIHRhZ19pZHM6IHsgbXVsdGlwbGU6IHRydWUgfVxuICAgIH07XG4gICAgdGhpcy5maWx0ZXJGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aXRsZTogW1wiXCJdLFxuICAgICAgdGFnX2lkczogW1tdXSxcbiAgICAgIHBlcmlvZF9pZDogWycnXSxcbiAgICAgIGV4cGlyZXNfb25fZnJvbTogWycnXSxcbiAgICAgIGV4cGlyZXNfb25fdG86IFsnJ11cbiAgICB9KTtcblxuICAgIHRoaXMudXBkYXRlUm93Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGU6IFsnJ10sXG4gICAgICBkZXRhaWxzOiBbJyddLFxuICAgICAgdGFnX2lkczogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgLyoqXG4gICAgICogVGhlIHJlYXNvbiB3ZSBhcmUgc2V0dGluZyBwZXJtaXNzaW9ucyB0aGlzIHdheSBpcyBiZWNhdXNlIHRoZSB1c2VyIGNhbiBwYXNzIHdoYXQgcGVybWlzc2lvbnMgYXJlIHRvIGJlIHVzZWRcbiAgICAgKiB3aGVuIG1hbmlwdWxhdGluZyB0aGUgZmlsZXMvZG9jdW1lbnRzLiBJZiB0aGV5IGFyZSBhIGNsaWVudCBhZG1pbiB3ZSB3aWxsIHNraXAgdGhpc1xuICAgICAqL1xuICAgIGlmICghYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuaGFzUGVybWlzc2lvbignY2xpZW50X2FkbWluJykpIHtcbiAgICAgIHRoaXMuaXNTaG93Q3JlYXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy5jcmVhdGUgPyBhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi5jcmVhdGUpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93VXBkYXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy51cGRhdGUgPyBhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi51cGRhdGUpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93UmVhZEFjdGlvbiA9IHRoaXMucGVybWlzc2lvbj8ucmVhZCA/IGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmhhc1Blcm1pc3Npb24odGhpcy5wZXJtaXNzaW9uLnJlYWQpIDogdHJ1ZTtcbiAgICAgIHRoaXMuaXNTaG93RGVsZXRlQWN0aW9uID0gdGhpcy5wZXJtaXNzaW9uPy5kZWxldGUgPyBhd2FpdCB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9uKHRoaXMucGVybWlzc2lvbi5kZWxldGUpIDogdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1EYXRhID0ge1xuICAgICAgZW50aXR5OiB7XG4gICAgICAgIGVudGl0eV90eXBlOiB0aGlzLmVudGl0eVR5cGUsXG4gICAgICAgIGVudGl0eV9pZDogdGhpcy5lbnRpdHlJZFxuICAgICAgfSxcbiAgICAgIGhpZGVUaXRsZUFuZERldGFpbHM6IHRoaXMuaGlkZVRpdGxlQW5kRGV0YWlscyxcbiAgICAgIHVzZVRlY2hsaWZ5VGFnczogdGhpcy51c2VUZWNobGlmeVRhZ3MsXG4gICAgICB0ZWNobGlmeVRhZ0NhdGVnb3JpZXM6IHRoaXMudGVjaGxpZnlUYWdDYXRlZ29yaWVzLFxuICAgICAgdGVjaGxpZnlUYWdDb25maWc6IHRoaXMudGVjaGxpZnlUYWdDb25maWcsXG4gICAgfTtcblxuICAgIC8vIEZpbGUgZHJvcHBlciBjb25maWdcbiAgICB0aGlzLmZpbGVDb25maWcgPSB7XG4gICAgICBmaWxlSWQ6IFwiZW50aXR5RGFzaGJvYXJkRHJvcHBlclwiLFxuICAgICAgY29udGFpbmVySWQ6IFwiZW50aXR5RGFzaGJvYXJkRHJvcHBlckNvbnRhaW5lclwiLFxuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGhlaWdodDogdGhpcy5maWxlRHJvcHBlckhlaWdodFxuICAgICAgfSxcbiAgICAgIG11bHRpcGxlOiB0aGlzLmFsbG93TXVsdGlwbGVGaWxlcyxcbiAgICAgIGFjY2VwdEZpbGU6IFwiKlwiLFxuICAgICAgbWF4U2l6ZTogMTAsXG4gICAgICBhY2NlcHRGaWxlVGV4dDogXCJBbGwgRmlsZXNcIlxuICAgIH07XG5cbiAgICB0aGlzLnZpZXdlckNvbmZpZyA9IHtcbiAgICAgIGltYWdlU3R5bGU6IHtcbiAgICAgICAgaGVpZ2h0OiAnMjAwcHgnLFxuICAgICAgICB3aWR0aDogJzIwMHB4J1xuICAgICAgfSxcbiAgICAgIHZpZXdlclN0eWxlOiB7XG4gICAgICAgIGhlaWdodDogJyAxNjBweCcsXG4gICAgICAgIHdpZHRoOiAnMjAwcHgnXG4gICAgICB9LFxuICAgICAgaGlkZVJlbW92ZTogdHJ1ZVxuICAgIH07XG5cbiAgICBpZiAodGhpcy5oaWRlVGl0bGVBbmREZXRhaWxzKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHggPT4gKHggIT09ICdkZXRhaWxzJykgJiYgKHggIT09ICd0aXRsZScpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnZpZXdPbmx5KSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgnYWN0aW9ucycpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0J1bGtVcGRhdGUpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdzZWxlY3QnKTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1Db25maWd1cmF0aW9uVXRpbGl0eVNlcnZpY2UuaW5pdGlhbGl6ZSh0aGlzLmZvcm1Db25maWdTZXJ2aWNlLCAnZW50aXR5LWZpbGUnKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybUNvbmZpZ3VyYXRpb25VdGlsaXR5U2VydmljZS5nZXRGaWVsZEVuYWJsZWQoJ2V4cGlyZXNfb24nKSkge1xuICAgICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5maWx0ZXIoeCA9PiB4ICE9PSAnZXhwaXJlc19vbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZhdWx0RmlsdGVycyA9IHRoaXMuZGVmYXVsdEZpbHRlcnMoKTtcbiAgICBpZiAoZGVmYXVsdEZpbHRlcnMpIHtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5wYXRjaFZhbHVlKGRlZmF1bHRGaWx0ZXJzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzRmlsdGVyUGF0Y2hGcm9tUm91dGUpIHtcbiAgICAgIHRoaXMucGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCk7XG4gICAgfVxuICAgIHRoaXMubGlzdGVuRmlsdGVyQ2hhbmdlcygpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LmNvbnZlcnRUb0Zvcm1EYXRhKFxuICAgICAgICBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkpXG4gICAgICApLFxuICAgICAgZW50aXR5X3R5cGU6IHRoaXMuZW50aXR5VHlwZSxcbiAgICAgIGVudGl0eV9pZDogdGhpcy5lbnRpdHlJZCxcbiAgICAgIHdpdGg6ICdjcmVhdG9yLHRhZ3MnLFxuICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgcGVyX3BhZ2U6IHRoaXMucGVyUGFnZVxuICAgIH07XG4gICAgc3VwZXIubG9hZERhdGEodGhpcy5maWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jIGZpbGVDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBmaWxlczogYW55W10gPSBldmVudDtcbiAgICBpZiAoZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS51cGxvYWRFbnRpdHlGaWxlKFxuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW50aXR5X3R5cGU6IHRoaXMuZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGVudGl0eV9pZDogdGhpcy5lbnRpdHlJZCxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ0ZpbGVzIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSEnLCAnc3VjY2VzcycpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1bGtVcGRhdGUoZmllbGROYW1lOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy51cGRhdGVSb3dGb3JtLnZhbHVlO1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBkYXRhLmZpZWxkX25hbWUgPSBmaWVsZE5hbWU7XG4gICAgZGF0YS5kb2N1bWVudF9pZHMgPSB0aGlzLnNlbGVjdGVkTW9kZWxJZHM7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmJ1bGtVcGRhdGUoZGF0YSkudGhlbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFwiU3VjY2Vzc2Z1bGx5IHVwZGF0ZWRcIiwgXCJzdWNjZXNzXCIpO1xuICAgICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInZpZXdNb2RlID09PSAnbGlzdCdcIj5cbiAgPGRpdiAqbmdJZj1cInRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGhcIiBjbGFzcz1cImQtbm9uZSBkLW1kLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICA8bWF0LWNhcmQgY2xhc3M9XCJ1cGRhdGVfY2FyZFwiICpuZ0lmPVwidGhpcy5zZWxlY3RlZE1vZGVsSWRzLmxlbmd0aFwiPlxuICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICAgIDxkaXYgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cIm10LTIgbWwtMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdj5VcGRhdGUgU2VsZWN0ZWQgUm93czwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInVwZGF0ZVJvd0Zvcm1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwIHB4LTFcIj5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcGxhY2Vob2xkZXI9XCJUaXRsZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XG4gICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWx1ZT09PTBcIiBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b24gc3R5bGU9XCJjb2xvcjpyZWRcIiAoY2xpY2spPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RpdGxlJykuc2V0VmFsdWUoJycpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJjb2xvcjpncmVlblwiICpuZ0lmPVwiKHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0aXRsZScpLnZhbHVlPT09MClcbiAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgndGl0bGUnKS52YWxpZFwiIChjbGljayk9XCJidWxrVXBkYXRlKCd0aXRsZScpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwIHB4LTFcIj5cbiAgICAgICAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImRldGFpbHNcIiBwbGFjZWhvbGRlcj1cIkRldGFpbHNcIiBhdXRvY29tcGxldGU9XCJvZmZcIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ2RldGFpbHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlPT09MFwiIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvbiBzdHlsZT1cImNvbG9yOnJlZFwiIChjbGljayk9XCJ1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnNldFZhbHVlKCcnKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JlZW5cIiAqbmdJZj1cIih1cGRhdGVSb3dGb3JtLmdldCgnZGV0YWlscycpLnZhbHVlIHx8IHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsdWU9PT0wKVxuICAgICAgICAgICAgICAgICYmIHVwZGF0ZVJvd0Zvcm0uZ2V0KCdkZXRhaWxzJykudmFsaWRcIiAoY2xpY2spPVwiYnVsa1VwZGF0ZSgnZGV0YWlscycpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VUZWNobGlmeVRhZ3NcIj5cbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+VGFnPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGFwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQgbW9kZWxUeXBlPVwiZW50aXR5LWZpbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ0YWdfaWRzXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgbmV3IHRhZ1wiPlxuICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZSB8fCB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbHVlPT09MFwiIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uIHN0eWxlPVwiY29sb3I6cmVkXCIgKGNsaWNrKT1cInVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykuc2V0VmFsdWUoJycpXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgc3R5bGU9XCJjb2xvcjpncmVlblwiICpuZ0lmPVwiKHVwZGF0ZVJvd0Zvcm0uZ2V0KCd0YWdfaWRzJykudmFsdWUgfHwgdXBkYXRlUm93Rm9ybS5nZXQoJ3RhZ19pZHMnKS52YWx1ZT09PTApXG4gICAgICAgICAgICAgICAgICAmJiB1cGRhdGVSb3dGb3JtLmdldCgndGFnX2lkcycpLnZhbGlkXCIgKGNsaWNrKT1cImJ1bGtVcGRhdGUoJ3RhZ19pZHMnKVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRvbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCIgKm5nSWY9XCIhZGlzcGxheU1vZGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgIDxtYXQtY2FyZD5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIG1iLTBcIj5cbiAgICAgICAgICAgICAgICAgIHt7dGl0bGV9fXNcbiAgICAgICAgICAgICAgICA8L2gzPlxuICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZm9ybS1idXR0b24gY2xhc3M9XCJtcy0yXCIgKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93Q3JlYXRlQWN0aW9uICYmIGVudGl0eUlkXCJcbiAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwiZW50aXR5RmlsZUZvcm0oKVwiIFtkYXRhXT1cImZvcm1EYXRhXCJcbiAgICAgICAgICAgICAgICAgIChzYXZlZCk9XCJtb2RlbENyZWF0ZWQoJGV2ZW50KVwiPjwvYXBwLXRlY2hsaWZ5LWZvcm0tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1ncm93LTFcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCIgY2xhc3M9XCJkLWZsZXggZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cIiFyZW1vdmVTZWFyY2hcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlYXJjaDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgbmFtZT1cInRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ3RpdGxlJykudmFsdWVcIiBtYXRTdWZmaXggbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc2V0RmlsdGVyKCd0aXRsZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGVjaGxpZnlUYWdzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlRhZzwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkIFtjYXRlZ29yaWVzXT1cInRlY2hsaWZ5VGFnQ2F0ZWdvcmllc1wiIGZvcm1Db250cm9sTmFtZT1cInRhZ19pZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGFnc1wiIFtjb25maWddPVwidGVjaGxpZnlUYWdDb25maWdcIj48L2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgPGFwcC10aW1lbGluZS1maWx0ZXIgY2xhc3M9XCJmbC1zbVwiIGZvcm1Db250cm9sTmFtZT0ncGVyaW9kX2lkJyBsYWJlbFRleHQ9XCJFeHBpcmVzIE9uXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUZyb209XCJleHBpcmVzX29uX2Zyb21cIiBkYXRlVG89XCJleHBpcmVzX29uX3RvXCIgW2Zvcm1dPVwiZmlsdGVyRm9ybVwiPjwvYXBwLXRpbWVsaW5lLWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJlbnRpdHktZmlsZS1jYXJkIHAtMFwiICpuZ0lmPVwiZW50aXR5SWRcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlVmlld1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgICAgICA8bWF0LWNhcmQgKm5nSWY9XCIhZW50aXR5SWRcIj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZW50aXR5LWZpbGUtY2FyZCBwLTBcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlVmlld1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgIDwvbWF0LWNhcmQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNTaG93RHJhZ0Ryb3BTZWN0aW9uICYmIGVudGl0eUlkXCI+XG4gICAgICAgICAgPHNlY3Rpb24gc3R5bGU9XCJmbGV4OiAwIDEgMzAlO1wiICpuZ0lmPVwiIXRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGggJiYgIXZpZXdPbmx5ICYmIGlzU2hvd0NyZWF0ZUFjdGlvblwiPlxuICAgICAgICAgICAgPGFwcC1maWxlLWRyb3BwZXIgW2NvbmZpZ109XCJmaWxlQ29uZmlnXCIgKGZpbGVDaGFuZ2VkKT1cImZpbGVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgICAgIDwvYXBwLWZpbGUtZHJvcHBlcj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjdGFibGVWaWV3PlxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibW9kZWxzXCIgY2xhc3M9XCJ3LTEwMFwiIG1hdFNvcnQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzIGluZmluaXRlU2Nyb2xsXG4gICAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxLjVcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCI+XG5cbiAgICAgIDwhLS0gU2VsZWN0IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic2VsZWN0XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgc3R5bGU9XCJ3aWR0aDozMHB4XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCBuYW1lPVwiZW1wbG95ZWVcIiBbKG5nTW9kZWwpXT1cImlzQWxsU2VsZWN0ZWRcIiAoY2hhbmdlKT1cInNlbGVjdEFsbCgpXCI+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgc3R5bGU9XCJ3aWR0aDozMHB4XCI+XG4gICAgICAgICAgPG1hdC1jaGVja2JveCBuYW1lPVwiZW1wbG95ZWVbe3tlbGVtZW50Py5pZH19XVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbGVtZW50LmlzX3NlbGVjdGVkXCIgKGNoYW5nZSk9XCJpc1NlbGVjdGlvbk1vZGlmaWVkKCRldmVudCwgZWxlbWVudClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFtb2RlbHMubGVuZ3RoXCI+XG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImluZGV4XCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+ICMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gZGF0YUluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVGl0bGUgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBUaXRsZSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7ZWxlbWVudC50aXRsZX19XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZVRlY2hsaWZ5VGFnc1wiPlxuICAgICAgICAgICAgPGJyPlxuICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiYmFkZ2UgYmFkZ2Utc2Vjb25kYXJ5IG1yLTFcIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGVsZW1lbnQ/LnRhZ3NcIj57e3RhZz8udGl0bGV9fTwvc21hbGw+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImV4cGlyZXNfb25cIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRXhwaXJlcyBPbiA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIHt7ZWxlbWVudD8uZXhwaXJlc19vbiB8IGRhdGU6J21lZGl1bURhdGUnfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIERldGFpbHMgQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkZXRhaWxzXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERldGFpbHMgPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICA8YXBwLXJlYWQtbW9yZSBbdGV4dF09XCJlbGVtZW50LmRldGFpbHNcIiBbbWF4TGVuZ3RoXT1cIjUwXCI+PC9hcHAtcmVhZC1tb3JlPlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gRmlsZSBzaXplIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZmlsZV9zaXplXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEZpbGUgU2l6ZSA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZWxlbWVudD8uZmlsZV9zaXplXCI+IHt7IGVsZW1lbnQuZmlsZV9zaXplIHwgZmlsZVNpemUgfX0gPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gVXBsb2FkZWQgT24gQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ1cGxvYWRlZF9vblwiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBVcGxvYWRlZCBPbiA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7e2VsZW1lbnQuY3JlYXRlZF9hdCB8IGRhdGU6ICdtZWRpdW1EYXRlJ319XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbXV0ZWRcIiAqbmdJZj1cImVsZW1lbnQuY3JlYXRvclwiPlxuICAgICAgICAgICAgQnkge3tlbGVtZW50LmNyZWF0b3I/Lm5hbWV9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwidGV4dC1tdXRlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgZ2FwLTIgdGV4dC1zZWNvbmRhcnkgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8YSBocmVmPVwie3tlbGVtZW50LnVybH19XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJ0ZXh0LWRlY29yYXRpb24tbm9uZSB0ZXh0LW11dGVkIGNsaWNrYWJsZVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+ZG93bmxvYWQ8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiAqbmdJZj1cIiF2aWV3T25seSAmJiBpc1Nob3dVcGRhdGVBY3Rpb25cIiBbY29tcG9uZW50XT1cImVudGl0eUZpbGVGb3JtKClcIlxuICAgICAgICAgICAgICBbbW9kZWxdPVwiZWxlbWVudFwiIFtkYXRhXT1cImZvcm1EYXRhXCIgKHNhdmVkKT1cIm1vZGVsc1VwZGF0ZWRCeUlkKCRldmVudClcIj48L2FwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbj5cbiAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiAqbmdJZj1cIiF2aWV3T25seSAmJiBpc1Nob3dEZWxldGVBY3Rpb25cIiBbbW9kZWxdPVwiZWxlbWVudFwiIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICAgICAgICBtZXNzYWdlPVwiQXJlIHlvdSBzdXJlIHRvIHByb2NlZWQgZGVsZXRlIHRoZSBmaWxlIHt7ZWxlbWVudC50aXRsZX19XCJcbiAgICAgICAgICAgICAgKGRlbGV0ZWQpPVwibW9kZWxzRGVsZXRlZEJ5SWQoZWxlbWVudClcIj5cbiAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgPC90YWJsZT5cblxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJpc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXAgZ2FwLTMgbWF0LXR5cG9ncmFwaHkgcC00XCIgKm5nSWY9XCJkaXNwbGF5TW9kZVwiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVmaWxlIG9mIG1vZGVsc1wiPlxuICAgICAgPGFwcC1kb2N1bWVudC12aWV3ZXIgW2ZpbGVdPVwiZWZpbGUuZmlsZVwiIFtmaWxlVXJsXT1cImVmaWxlLnVybFwiIFtjb25maWddPVwidGhpcy52aWV3ZXJDb25maWdcIiBbZGlzYWJsZUVkaXRdPVwidHJ1ZVwiPlxuICAgICAgPC9hcHAtZG9jdW1lbnQtdmlld2VyPlxuICAgICAgPGEgaHJlZj1cInt7ZWZpbGUudXJsfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIj5WaWV3PC9idXR0b24+XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxtYXQtY2FyZCAqbmdJZj1cInZpZXdNb2RlID09PSAndGltZWxpbmUnXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgPG1hdC1pY29uPlxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDxoMyBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGQgbWItMFwiPlxuICAgICAgICB7e3RpdGxlfX1zXG4gICAgICA8L2gzPlxuICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiAqbmdJZj1cIiF2aWV3T25seSAmJiBpc1Nob3dDcmVhdGVBY3Rpb25cIiBbY29tcG9uZW50XT1cImVudGl0eUZpbGVGb3JtKClcIiBbZGF0YV09XCJmb3JtRGF0YVwiXG4gICAgICAgIChzYXZlZCk9XCJtb2RlbENyZWF0ZWQoJGV2ZW50KVwiPjwvYXBwLXRlY2hsaWZ5LWZvcm0tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gIDxtYXQtY2FyZC1jb250ZW50ICpuZ0lmPVwiIXRoaXMuc2VsZWN0ZWRNb2RlbElkcy5sZW5ndGggJiYgIXZpZXdPbmx5ICYmIGlzU2hvd0NyZWF0ZUFjdGlvblwiIGNsYXNzPVwibXQtM1wiPlxuICAgIDxhcHAtZmlsZS1kcm9wcGVyIFtjb25maWddPVwiZmlsZUNvbmZpZ1wiIChmaWxlQ2hhbmdlZCk9XCJmaWxlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPC9hcHAtZmlsZS1kcm9wcGVyPlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJtdC0zXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZW50aXR5RmlsZSBvZiBtb2RlbHNcIiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwibWItMCBmdy1ib2xkIHRleHQtd3JhcFwiPnt7IGVudGl0eUZpbGU/LnRpdGxlIHwgd3JhcDoyMCB9fTwvcD5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLWRhcmtcIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGVudGl0eUZpbGU/LnRhZ3NcIj5cbiAgICAgICAgICAgIHt7IHRhZz8udGl0bGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1kYXJrXCI+e3sgZW50aXR5RmlsZS5maWxlX3NpemUgfCBmaWxlU2l6ZSB9fTwvc21hbGw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YXBwLXJlYWQtbW9yZSBbdGV4dF09XCJlbnRpdHlGaWxlPy5kZXRhaWxzXCIgW21heExlbmd0aF09XCI1MFwiPjwvYXBwLXJlYWQtbW9yZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTJcIj5cbiAgICAgICAgPHNtYWxsIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIiBzdHlsZT1cIm1heC13aWR0aDogNzAlXCI+XG4gICAgICAgICAgPGk+VXBsb2FkZWQgQnkge3sgZW50aXR5RmlsZT8uY3JlYXRvcj8ubmFtZSB9fSB7eyBlbnRpdHlGaWxlPy5jcmVhdGVkX2F0IHwgZGF0ZTogJ21lZGl1bURhdGUnfX08L2k+XG4gICAgICAgIDwvc21hbGw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgICA8YSBocmVmPVwie3tlbnRpdHlGaWxlPy51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwidGV4dC1kZWNvcmF0aW9uLW5vbmUgdGV4dC1zZWNvbmRhcnkgbXQtMlwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmRvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGFwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCIgKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93VXBkYXRlQWN0aW9uXCJcbiAgICAgICAgICAgIFtjb21wb25lbnRdPVwiZW50aXR5RmlsZUZvcm0oKVwiIFttb2RlbF09XCJlbnRpdHlGaWxlXCIgW2RhdGFdPVwiZm9ybURhdGFcIlxuICAgICAgICAgICAgKHNhdmVkKT1cIm1vZGVsc1VwZGF0ZWRCeUlkKCRldmVudClcIj48L2FwcC10ZWNobGlmeS1mb3JtLWJ1dHRvbj5cbiAgICAgICAgICA8YXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24gKm5nSWY9XCIhdmlld09ubHkgJiYgaXNTaG93RGVsZXRlQWN0aW9uXCIgY2xhc3M9J3RleHQtc2Vjb25kYXJ5IG1zLTEnXG4gICAgICAgICAgICBbbW9kZWxdPVwiZW50aXR5RmlsZVwiIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgICAgICAgICAgbWVzc2FnZT1cIkFyZSB5b3Ugc3VyZSB0byBwcm9jZWVkIGRlbGV0ZSB0aGUgZmlsZSB7e2VudGl0eUZpbGUudGl0bGV9fVwiXG4gICAgICAgICAgICAoZGVsZXRlZCk9XCJtb2RlbHNEZWxldGVkQnlJZChlbnRpdHlGaWxlKVwiPlxuICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aHIgc3R5bGU9XCJtYXJnaW46IDAuNXJlbSAwXCI+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
|
package/esm2022/lib/entity-files/entity-file-list-widget/entity-file-list-widget.component.mjs
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { SharedModule } from '../../shared.module';
|
|
3
|
-
import { EntityFileListComponent } from '../entity-file-list/entity-file-list.component';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "ngx-infinite-scroll";
|
|
7
|
-
import * as i3 from "@angular/material/table";
|
|
8
|
-
import * as i4 from "@angular/material/card";
|
|
9
|
-
import * as i5 from "@angular/material/progress-bar";
|
|
10
|
-
import * as i6 from "../../read-more/read-more.component";
|
|
11
|
-
export class EntityFileListWidgetComponent extends EntityFileListComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.displayedColumns = [
|
|
15
|
-
'index',
|
|
16
|
-
'title',
|
|
17
|
-
'expires_on',
|
|
18
|
-
'details',
|
|
19
|
-
];
|
|
20
|
-
}
|
|
21
|
-
async ngOnInit() {
|
|
22
|
-
await super.ngOnInit();
|
|
23
|
-
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: EntityFileListWidgetComponent, isStandalone: true, selector: "app-entity-file-list-widget", usesInheritance: true, ngImport: i0, template: "<mat-card class=\"w-100 h-100 d-flex flex-column p-2\">\n <div class=\"d-flex gap-2 align-items-center\">\n <h6 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h6>\n </div>\n\n <mat-card-content class=\"entity-file-card p-0 flex-grow-1 overflow-auto\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"1.5\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.title}}\n <ng-container *ngIf=\"useTechlifyTags\">\n <br>\n <small class=\"badge badge-secondary mr-1\" *ngFor=\"let tag of element?.tags\">{{tag?.title}}</small>\n </ng-container>\n </td>\n </ng-container>\n\n <!-- Expires On Column -->\n <ng-container matColumnDef=\"expires_on\">\n <th mat-header-cell *matHeaderCellDef> Expires On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.expires_on | date:'mediumDate'}}\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i3.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i3.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i3.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i3.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i3.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i3.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i3.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i3.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i3.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i3.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.ReadMoreComponent, selector: "app-read-more", inputs: ["text", "maxLength"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListWidgetComponent, decorators: [{
|
|
28
|
-
type: Component,
|
|
29
|
-
args: [{ selector: 'app-entity-file-list-widget', standalone: true, imports: [
|
|
30
|
-
SharedModule,
|
|
31
|
-
], template: "<mat-card class=\"w-100 h-100 d-flex flex-column p-2\">\n <div class=\"d-flex gap-2 align-items-center\">\n <h6 class=\"font-weight-bold mb-0\">\n {{title}}s\n </h6>\n </div>\n\n <mat-card-content class=\"entity-file-card p-0 flex-grow-1 overflow-auto\">\n <table mat-table [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"1.5\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element.title}}\n <ng-container *ngIf=\"useTechlifyTags\">\n <br>\n <small class=\"badge badge-secondary mr-1\" *ngFor=\"let tag of element?.tags\">{{tag?.title}}</small>\n </ng-container>\n </td>\n </ng-container>\n\n <!-- Expires On Column -->\n <ng-container matColumnDef=\"expires_on\">\n <th mat-header-cell *matHeaderCellDef> Expires On </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.expires_on | date:'mediumDate'}}\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n</mat-card>" }]
|
|
32
|
-
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGUtbGlzdC13aWRnZXQvZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGUtbGlzdC13aWRnZXQvZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7O0FBV3pGLE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx1QkFBdUI7SUFUMUU7O1FBVVcscUJBQWdCLEdBQUc7WUFDMUIsT0FBTztZQUNQLE9BQU87WUFDUCxZQUFZO1lBQ1osU0FBUztTQUNWLENBQUM7S0FLSDtJQUhVLEtBQUssQ0FBQyxRQUFRO1FBQ3JCLE1BQU0sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7K0dBVlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsOEdDYjFDLHVnRUFtRFcseUREM0NQLFlBQVk7OzRGQUtILDZCQUE2QjtrQkFUekMsU0FBUzsrQkFDRSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBFbnRpdHlGaWxlTGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2VudGl0eS1maWxlLWxpc3QvZW50aXR5LWZpbGUtbGlzdC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZW50aXR5LWZpbGUtbGlzdC13aWRnZXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU2hhcmVkTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVMaXN0V2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgRW50aXR5RmlsZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBvdmVycmlkZSBkaXNwbGF5ZWRDb2x1bW5zID0gW1xuICAgICdpbmRleCcsXG4gICAgJ3RpdGxlJyxcbiAgICAnZXhwaXJlc19vbicsXG4gICAgJ2RldGFpbHMnLFxuICBdO1xuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCBjbGFzcz1cInctMTAwIGgtMTAwIGQtZmxleCBmbGV4LWNvbHVtbiBwLTJcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8aDYgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkIG1iLTBcIj5cbiAgICAgIHt7dGl0bGV9fXNcbiAgICA8L2g2PlxuICA8L2Rpdj5cblxuICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImVudGl0eS1maWxlLWNhcmQgcC0wIGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG9cIj5cbiAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxLjVcIlxuICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiPlxuXG4gICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBkYXRhSW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+XG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFRpdGxlIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAge3tlbGVtZW50LnRpdGxlfX1cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXNlVGVjaGxpZnlUYWdzXCI+XG4gICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJiYWRnZSBiYWRnZS1zZWNvbmRhcnkgbXItMVwiICpuZ0Zvcj1cImxldCB0YWcgb2YgZWxlbWVudD8udGFnc1wiPnt7dGFnPy50aXRsZX19PC9zbWFsbD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIEV4cGlyZXMgT24gQ29sdW1uIC0tPlxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJleHBpcmVzX29uXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEV4cGlyZXMgT24gPC90aD5cbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICB7e2VsZW1lbnQ/LmV4cGlyZXNfb24gfCBkYXRlOidtZWRpdW1EYXRlJ319XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBEZXRhaWxzIENvbHVtbiAtLT5cbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGV0YWlsc1wiPlxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEZXRhaWxzIDwvdGg+XG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgPGFwcC1yZWFkLW1vcmUgW3RleHRdPVwiZWxlbWVudC5kZXRhaWxzXCIgW21heExlbmd0aF09XCI1MFwiPjwvYXBwLXJlYWQtbW9yZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiAqbmdJZj1cImlzV29ya2luZ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { EntityFileFormComponent } from './entity-file-form/entity-file-form.component';
|
|
3
|
-
import { EntityFileListComponent } from './entity-file-list/entity-file-list.component';
|
|
4
|
-
import { EntityFileListWidgetComponent } from './entity-file-list-widget/entity-file-list-widget.component';
|
|
5
|
-
import { TechlifyTaggerTagFormFieldModule } from '../tag/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module';
|
|
6
|
-
import { WrapPipe } from '../pipes/wrap.pipe';
|
|
7
|
-
import { FileSizePipe } from '../pipes/file-size.pipe';
|
|
8
|
-
import { SharedModule } from '../shared.module';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class EntityFileListModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListModule, declarations: [EntityFileFormComponent,
|
|
13
|
-
EntityFileListComponent], imports: [SharedModule,
|
|
14
|
-
TechlifyTaggerTagFormFieldModule,
|
|
15
|
-
WrapPipe,
|
|
16
|
-
FileSizePipe,
|
|
17
|
-
EntityFileListWidgetComponent], exports: [EntityFileListComponent,
|
|
18
|
-
EntityFileListWidgetComponent] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListModule, imports: [SharedModule,
|
|
20
|
-
TechlifyTaggerTagFormFieldModule,
|
|
21
|
-
EntityFileListWidgetComponent] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileListModule, decorators: [{
|
|
24
|
-
type: NgModule,
|
|
25
|
-
args: [{
|
|
26
|
-
declarations: [
|
|
27
|
-
EntityFileFormComponent,
|
|
28
|
-
EntityFileListComponent
|
|
29
|
-
],
|
|
30
|
-
imports: [
|
|
31
|
-
SharedModule,
|
|
32
|
-
TechlifyTaggerTagFormFieldModule,
|
|
33
|
-
WrapPipe,
|
|
34
|
-
FileSizePipe,
|
|
35
|
-
EntityFileListWidgetComponent,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
EntityFileListComponent,
|
|
39
|
-
EntityFileListWidgetComponent
|
|
40
|
-
]
|
|
41
|
-
}]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZS1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQW9CaEQsTUFBTSxPQUFPLG9CQUFvQjsrR0FBcEIsb0JBQW9CO2dIQUFwQixvQkFBb0IsaUJBZnpCLHVCQUF1QjtZQUN2Qix1QkFBdUIsYUFHdkIsWUFBWTtZQUNaLGdDQUFnQztZQUNoQyxRQUFRO1lBQ1IsWUFBWTtZQUNaLDZCQUE2QixhQUc3Qix1QkFBdUI7WUFDdkIsNkJBQTZCO2dIQUd4QixvQkFBb0IsWUFYekIsWUFBWTtZQUNaLGdDQUFnQztZQUdoQyw2QkFBNkI7OzRGQU94QixvQkFBb0I7a0JBakJoQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVix1QkFBdUI7d0JBQ3ZCLHVCQUF1QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZ0NBQWdDO3dCQUNoQyxRQUFRO3dCQUNSLFlBQVk7d0JBQ1osNkJBQTZCO3FCQUNoQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7cUJBQ2hDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVudGl0eUZpbGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktZmlsZS1mb3JtL2VudGl0eS1maWxlLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEVudGl0eUZpbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktZmlsZS1saXN0L2VudGl0eS1maWxlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVudGl0eUZpbGVMaXN0V2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktZmlsZS1saXN0LXdpZGdldC9lbnRpdHktZmlsZS1saXN0LXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVjaGxpZnlUYWdnZXJUYWdGb3JtRmllbGRNb2R1bGUgfSBmcm9tICcuLi90YWcvdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLWZpZWxkL3RlY2hsaWZ5LXRhZ2dlci10YWctZm9ybS1maWVsZC5tb2R1bGUnO1xuaW1wb3J0IHsgV3JhcFBpcGUgfSBmcm9tICcuLi9waXBlcy93cmFwLnBpcGUnO1xuaW1wb3J0IHsgRmlsZVNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkLm1vZHVsZSc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRW50aXR5RmlsZUZvcm1Db21wb25lbnQsXG4gICAgICAgIEVudGl0eUZpbGVMaXN0Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFNoYXJlZE1vZHVsZSxcbiAgICAgICAgVGVjaGxpZnlUYWdnZXJUYWdGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIFdyYXBQaXBlLFxuICAgICAgICBGaWxlU2l6ZVBpcGUsXG4gICAgICAgIEVudGl0eUZpbGVMaXN0V2lkZ2V0Q29tcG9uZW50LFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbnRpdHlGaWxlTGlzdENvbXBvbmVudCxcbiAgICAgICAgRW50aXR5RmlsZUxpc3RXaWRnZXRDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVMaXN0TW9kdWxlIHsgfVxuIl19
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { TechlifyService } from "../base-model";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../core/http.service";
|
|
5
|
-
export class EntityFileService extends TechlifyService {
|
|
6
|
-
constructor(http) {
|
|
7
|
-
super(http, 'entity-files');
|
|
8
|
-
this.http = http;
|
|
9
|
-
}
|
|
10
|
-
uploadEntityFile(file, params, url = "api/entity-files-upload") {
|
|
11
|
-
const formData = new FormData();
|
|
12
|
-
formData.append("fileData", file, file.name);
|
|
13
|
-
if (params?.entity_id) {
|
|
14
|
-
formData.append('entity_id', params.entity_id);
|
|
15
|
-
}
|
|
16
|
-
if (params?.entity_type) {
|
|
17
|
-
formData.append('entity_type', params.entity_type);
|
|
18
|
-
}
|
|
19
|
-
params?.disk ? formData.append('disk', params.disk) : null;
|
|
20
|
-
params?.sub_path ? formData.append('sub_path', params.sub_path) : null;
|
|
21
|
-
return this.http
|
|
22
|
-
.skipHeader()
|
|
23
|
-
.post(url, formData).toPromise();
|
|
24
|
-
}
|
|
25
|
-
bulkUpdate(model) {
|
|
26
|
-
return this.http.put(`api/entity-files-batch`, model).toPromise();
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileService, providedIn: 'root' }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EntityFileService, decorators: [{
|
|
32
|
-
type: Injectable,
|
|
33
|
-
args: [{
|
|
34
|
-
providedIn: 'root'
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [{ type: i1.HttpService }] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWZpbGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFFcEQsWUFBc0IsSUFBaUI7UUFDckMsS0FBSyxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztRQURSLFNBQUksR0FBSixJQUFJLENBQWE7SUFFdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVUsRUFBRSxNQUFZLEVBQUUsTUFBYyx5QkFBeUI7UUFDaEYsTUFBTSxRQUFRLEdBQWEsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDeEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMzRCxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUV2RSxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsVUFBVSxFQUFFO2FBQ1osSUFBSSxDQUNILEdBQUcsRUFDSCxRQUFRLENBQ1QsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BFLENBQUM7K0dBN0JVLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFRlY2hsaWZ5U2VydmljZSB9IGZyb20gXCIuLi9iYXNlLW1vZGVsXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVudGl0eUZpbGVTZXJ2aWNlIGV4dGVuZHMgVGVjaGxpZnlTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwLCAnZW50aXR5LWZpbGVzJyk7XG4gIH1cblxuICB1cGxvYWRFbnRpdHlGaWxlKGZpbGU6IEZpbGUsIHBhcmFtcz86IGFueSwgdXJsOiBzdHJpbmcgPSBcImFwaS9lbnRpdHktZmlsZXMtdXBsb2FkXCIpIHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoXCJmaWxlRGF0YVwiLCBmaWxlLCBmaWxlLm5hbWUpO1xuICAgIGlmIChwYXJhbXM/LmVudGl0eV9pZCkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdlbnRpdHlfaWQnLCBwYXJhbXMuZW50aXR5X2lkKTtcbiAgICB9XG4gICAgaWYgKHBhcmFtcz8uZW50aXR5X3R5cGUpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZW50aXR5X3R5cGUnLCBwYXJhbXMuZW50aXR5X3R5cGUpO1xuICAgIH1cblxuICAgIHBhcmFtcz8uZGlzayA/IGZvcm1EYXRhLmFwcGVuZCgnZGlzaycsIHBhcmFtcy5kaXNrKSA6IG51bGw7XG4gICAgcGFyYW1zPy5zdWJfcGF0aCA/IGZvcm1EYXRhLmFwcGVuZCgnc3ViX3BhdGgnLCBwYXJhbXMuc3ViX3BhdGgpIDogbnVsbDtcblxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5za2lwSGVhZGVyKClcbiAgICAgIC5wb3N0KFxuICAgICAgICB1cmwsXG4gICAgICAgIGZvcm1EYXRhLFxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGJ1bGtVcGRhdGUobW9kZWwpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgYXBpL2VudGl0eS1maWxlcy1iYXRjaGAsIG1vZGVsKS50b1Byb21pc2UoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './entity-file-list/entity-file-list.component';
|
|
2
|
-
export * from './entity-file-list-widget/entity-file-list-widget.component';
|
|
3
|
-
export * from './entity-file-form/entity-file-form.component';
|
|
4
|
-
export * from './entity-file.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2VudGl0eS1maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktZmlsZS1saXN0L2VudGl0eS1maWxlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LWZpbGUtbGlzdC13aWRnZXQvZW50aXR5LWZpbGUtbGlzdC13aWRnZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZW50aXR5LWZpbGUtZm9ybS9lbnRpdHktZmlsZS1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGl0eS1maWxlLnNlcnZpY2UnO1xuIl19
|