ngx-techlify-core 11.5.2 → 14.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/action-popup/action-popup.component.mjs +34 -0
- package/esm2020/lib/action-popup/action-popup.model.mjs +3 -0
- package/esm2020/lib/action-popup/action-popup.module.mjs +32 -0
- package/esm2020/lib/action-popup/index.mjs +3 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +51 -0
- package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +40 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +139 -0
- package/esm2020/lib/audit-log/audit-log-list/audit-log-list.module.mjs +48 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +74 -0
- package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +40 -0
- package/esm2020/lib/audit-log/audit-log-routing.module.mjs +25 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +51 -0
- package/esm2020/lib/audit-log/audit-log-view/audit-log-view.module.mjs +32 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +56 -0
- package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +32 -0
- package/esm2020/lib/audit-log/audit-log.module.mjs +31 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +18 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +37 -0
- package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +32 -0
- package/esm2020/lib/base-model/index.mjs +4 -0
- package/esm2020/lib/base-model/techlify-form-component.class.mjs +49 -0
- package/esm2020/lib/base-model/techlify-listing-component.class.mjs +41 -0
- package/esm2020/lib/base-model/techlify-service.class.mjs +64 -0
- package/esm2020/lib/core/alert.service.mjs +38 -0
- package/esm2020/lib/core/api-prefix.interceptor.mjs +26 -0
- package/esm2020/lib/core/authentication.guard.mjs +35 -0
- package/esm2020/lib/core/authentication.service.mjs +54 -0
- package/esm2020/lib/core/cache.interceptor.mjs +58 -0
- package/esm2020/lib/core/config.service.mjs +45 -0
- package/esm2020/lib/core/core.module.mjs +63 -0
- package/esm2020/lib/core/credentials.service.mjs +79 -0
- package/esm2020/lib/core/dataManager.service.mjs +119 -0
- package/esm2020/lib/core/error-handler.interceptor.mjs +48 -0
- package/esm2020/lib/core/error-handler.service.mjs +55 -0
- package/esm2020/lib/core/filter.service.mjs +37 -0
- package/esm2020/lib/core/form-validator.service.mjs +24 -0
- package/esm2020/lib/core/header.interceptor.mjs +24 -0
- package/esm2020/lib/core/http-cache.service.mjs +107 -0
- package/esm2020/lib/core/http.service.mjs +84 -0
- package/esm2020/lib/core/index.mjs +22 -0
- package/esm2020/lib/core/logger.service.mjs +100 -0
- package/esm2020/lib/core/route-reusable-strategy.mjs +36 -0
- package/esm2020/lib/core/snack/snack.component.mjs +33 -0
- package/esm2020/lib/core/snack/snack.module.mjs +36 -0
- package/esm2020/lib/core/storage.service.mjs +38 -0
- package/esm2020/lib/core/techlify-config.model.mjs +28 -0
- package/esm2020/lib/core/token.interceptor.mjs +28 -0
- package/esm2020/lib/data-table/data-table.component.mjs +208 -0
- package/esm2020/lib/data-table/data-table.model.mjs +11 -0
- package/esm2020/lib/data-table/data-table.module.mjs +36 -0
- package/esm2020/lib/data-table/index.mjs +3 -0
- package/esm2020/lib/date-validator.mjs +10 -0
- package/esm2020/lib/document-viewer/document-viewer.component.mjs +65 -0
- package/esm2020/lib/document-viewer/document-viewer.module.mjs +36 -0
- package/esm2020/lib/document-viewer/index.mjs +3 -0
- package/esm2020/lib/document-viewer/viewer-config.model.mjs +3 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +32 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +76 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +36 -0
- package/esm2020/lib/email-subscription/email-subscription-for-user/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +105 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +44 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +34 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +161 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +44 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +22 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +101 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +43 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +34 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +165 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +48 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +52 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +40 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +2 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +18 -0
- package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +22 -0
- package/esm2020/lib/email-subscription/email-subscription.module.mjs +22 -0
- package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +144 -0
- package/esm2020/lib/entity-files/entity-file.service.mjs +43 -0
- package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +320 -0
- package/esm2020/lib/entity-files/entity-files-view-all.module.mjs +66 -0
- package/esm2020/lib/entity-files/index.mjs +3 -0
- package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +32 -0
- package/esm2020/lib/export-excel/export-excel.module.mjs +24 -0
- package/esm2020/lib/file-dropper/file-dropper.component.mjs +125 -0
- package/esm2020/lib/file-dropper/file-dropper.model.mjs +3 -0
- package/esm2020/lib/file-dropper/file-dropper.module.mjs +30 -0
- package/esm2020/lib/file-dropper/index.mjs +3 -0
- package/esm2020/lib/import-csv/data-import/data-import.component.mjs +18 -0
- package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +35 -0
- package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +153 -0
- package/esm2020/lib/import-csv/import-csv-config.mjs +2 -0
- package/esm2020/lib/import-csv/import-csv.component.mjs +198 -0
- package/esm2020/lib/import-csv/import-csv.module.mjs +74 -0
- package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +71 -0
- package/esm2020/lib/import-csv/import-success/import-success.component.mjs +24 -0
- package/esm2020/lib/loader/index.mjs +2 -0
- package/esm2020/lib/loader/loader.component.mjs +23 -0
- package/esm2020/lib/loader/loader.module.mjs +28 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user-routing.module.mjs +26 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +92 -0
- package/esm2020/lib/login-history-for-user/login-history-for-user.module.mjs +44 -0
- package/esm2020/lib/material.module.mjs +115 -0
- package/esm2020/lib/note/comment-form/comment-form.component.mjs +77 -0
- package/esm2020/lib/note/index.mjs +4 -0
- package/esm2020/lib/note/note-form/note-form.component.mjs +79 -0
- package/esm2020/lib/note/note-list/note-list.component.mjs +148 -0
- package/esm2020/lib/note/note.module.mjs +54 -0
- package/esm2020/lib/note/note.service.mjs +29 -0
- package/esm2020/lib/read-more/read-more.component.mjs +43 -0
- package/esm2020/lib/read-more/read-more.module.mjs +30 -0
- package/esm2020/lib/request-helper/request-helper.service.mjs +105 -0
- package/esm2020/lib/searchable-selector/index.mjs +3 -0
- package/esm2020/lib/searchable-selector/mat-select-infinite-scroll.directive.mjs +84 -0
- package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +350 -0
- package/esm2020/lib/searchable-selector/searchable-selector.module.mjs +41 -0
- package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +24 -0
- package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +73 -0
- package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +172 -0
- package/esm2020/lib/techlify-feature/techlify-feature.module.mjs +48 -0
- package/esm2020/lib/techlify-feature/techlify-feature.routing.mjs +12 -0
- package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +26 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +15 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +285 -0
- package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +38 -0
- package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +180 -0
- package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +46 -0
- package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +114 -0
- package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +38 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +28 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +144 -0
- package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +47 -0
- package/esm2020/lib/techlify-update/techlify-update-routing.module.mjs +28 -0
- package/esm2020/lib/techlify-update/techlify-update.module.mjs +51 -0
- package/esm2020/lib/techlify-update/techlify-update.service.mjs +41 -0
- package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +162 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +77 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +53 -0
- package/esm2020/lib/techlify-update/update-notifier/update-notifier.module.mjs +39 -0
- package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +38 -0
- package/esm2020/lib/techlify-update/update-view/update-view.module.mjs +30 -0
- package/esm2020/lib/timeline-filter/calculate-timeline.mjs +101 -0
- package/esm2020/lib/timeline-filter/index.mjs +4 -0
- package/esm2020/lib/timeline-filter/timeline-filter-routing.module.mjs +18 -0
- package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +237 -0
- package/esm2020/lib/timeline-filter/timeline-filter.module.mjs +60 -0
- package/esm2020/lib/timeline-filter/timeline.model.mjs +18 -0
- package/esm2020/lib/utility/date-utils.service.mjs +50 -0
- package/esm2020/lib/utility/index.mjs +4 -0
- package/esm2020/lib/utility/num-items-selector.component.mjs +31 -0
- package/esm2020/lib/utility/number-selector.component.mjs +42 -0
- package/esm2020/lib/utility/utility.module.mjs +28 -0
- package/esm2020/ngx-techlify-core.mjs +5 -0
- package/esm2020/public-api.mjs +97 -0
- package/fesm2015/ngx-techlify-core.mjs +7888 -0
- package/fesm2015/ngx-techlify-core.mjs.map +1 -0
- package/fesm2020/ngx-techlify-core.mjs +7793 -0
- package/fesm2020/ngx-techlify-core.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/action-popup/action-popup.component.d.ts +18 -0
- package/lib/action-popup/action-popup.component.d.ts.map +1 -0
- package/lib/action-popup/action-popup.model.d.ts +6 -0
- package/lib/action-popup/action-popup.model.d.ts.map +1 -0
- package/lib/action-popup/action-popup.module.d.ts +11 -0
- package/lib/action-popup/action-popup.module.d.ts.map +1 -0
- package/lib/action-popup/index.d.ts +3 -0
- package/lib/action-popup/index.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +16 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +14 -0
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +36 -0
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +16 -0
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +23 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +14 -0
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +21 -0
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +12 -0
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +19 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +12 -0
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts.map +1 -0
- package/lib/audit-log/audit-log.module.d.ts +11 -0
- package/lib/audit-log/audit-log.module.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +8 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +15 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts.map +1 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +12 -0
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts.map +1 -0
- package/lib/base-model/index.d.ts +4 -0
- package/lib/base-model/index.d.ts.map +1 -0
- package/lib/base-model/techlify-form-component.class.d.ts +44 -0
- package/lib/base-model/techlify-form-component.class.d.ts.map +1 -0
- package/lib/base-model/techlify-listing-component.class.d.ts +48 -0
- package/lib/base-model/techlify-listing-component.class.d.ts.map +1 -0
- package/lib/base-model/techlify-service.class.d.ts +53 -0
- package/lib/base-model/techlify-service.class.d.ts.map +1 -0
- package/lib/core/alert.service.d.ts +16 -0
- package/lib/core/alert.service.d.ts.map +1 -0
- package/lib/core/api-prefix.interceptor.d.ts +15 -0
- package/lib/core/api-prefix.interceptor.d.ts.map +1 -0
- package/lib/core/authentication.guard.d.ts +14 -0
- package/lib/core/authentication.guard.d.ts.map +1 -0
- package/lib/core/authentication.service.d.ts +27 -0
- package/lib/core/authentication.service.d.ts.map +1 -0
- package/lib/core/cache.interceptor.d.ts +25 -0
- package/lib/core/cache.interceptor.d.ts.map +1 -0
- package/lib/core/config.service.d.ts +23 -0
- package/lib/core/config.service.d.ts.map +1 -0
- package/lib/core/core.module.d.ts +12 -0
- package/lib/core/core.module.d.ts.map +1 -0
- package/lib/core/credentials.service.d.ts +40 -0
- package/lib/core/credentials.service.d.ts.map +1 -0
- package/{src/lib/core/dataManager.service.ts → lib/core/dataManager.service.d.ts} +26 -76
- package/lib/core/dataManager.service.d.ts.map +1 -0
- package/lib/core/error-handler.interceptor.d.ts +18 -0
- package/lib/core/error-handler.interceptor.d.ts.map +1 -0
- package/lib/core/error-handler.service.d.ts +18 -0
- package/lib/core/error-handler.service.d.ts.map +1 -0
- package/lib/core/filter.service.d.ts +12 -0
- package/lib/core/filter.service.d.ts.map +1 -0
- package/lib/core/form-validator.service.d.ts +12 -0
- package/lib/core/form-validator.service.d.ts.map +1 -0
- package/lib/core/header.interceptor.d.ts +12 -0
- package/lib/core/header.interceptor.d.ts.map +1 -0
- package/lib/core/http-cache.service.d.ts +58 -0
- package/lib/core/http-cache.service.d.ts.map +1 -0
- package/lib/core/http.service.d.ts +60 -0
- package/lib/core/http.service.d.ts.map +1 -0
- package/{src/lib/core/index.ts → lib/core/index.d.ts} +1 -1
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/logger.service.d.ts +86 -0
- package/lib/core/logger.service.d.ts.map +1 -0
- package/lib/core/route-reusable-strategy.d.ts +17 -0
- package/lib/core/route-reusable-strategy.d.ts.map +1 -0
- package/lib/core/snack/snack.component.d.ts +14 -0
- package/lib/core/snack/snack.component.d.ts.map +1 -0
- package/lib/core/snack/snack.module.d.ts +11 -0
- package/lib/core/snack/snack.module.d.ts.map +1 -0
- package/lib/core/storage.service.d.ts +19 -0
- package/lib/core/storage.service.d.ts.map +1 -0
- package/lib/core/techlify-config.model.d.ts +19 -0
- package/lib/core/techlify-config.model.d.ts.map +1 -0
- package/lib/core/token.interceptor.d.ts +15 -0
- package/lib/core/token.interceptor.d.ts.map +1 -0
- package/lib/data-table/data-table.component.d.ts +64 -0
- package/lib/data-table/data-table.component.d.ts.map +1 -0
- package/{src/lib/data-table/data-table.model.ts → lib/data-table/data-table.model.d.ts} +7 -9
- package/lib/data-table/data-table.model.d.ts.map +1 -0
- package/lib/data-table/data-table.module.d.ts +12 -0
- package/lib/data-table/data-table.module.d.ts.map +1 -0
- package/lib/data-table/index.d.ts +3 -0
- package/lib/data-table/index.d.ts.map +1 -0
- package/lib/date-validator.d.ts +2 -0
- package/lib/date-validator.d.ts.map +1 -0
- package/lib/document-viewer/document-viewer.component.d.ts +20 -0
- package/lib/document-viewer/document-viewer.component.d.ts.map +1 -0
- package/lib/document-viewer/document-viewer.module.d.ts +12 -0
- package/lib/document-viewer/document-viewer.module.d.ts.map +1 -0
- package/lib/document-viewer/index.d.ts +3 -0
- package/lib/document-viewer/index.d.ts.map +1 -0
- package/lib/document-viewer/viewer-config.model.d.ts +6 -0
- package/lib/document-viewer/viewer-config.model.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +13 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +21 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +13 -0
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-for-user/index.ts → lib/email-subscription/email-subscription-for-user/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-for-user/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts → lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +34 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +2 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +15 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +36 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +16 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +17 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +14 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts.map +1 -0
- package/{src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts → lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts} +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +8 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts.map +1 -0
- package/lib/email-subscription/email-subscription.module.d.ts +9 -0
- package/lib/email-subscription/email-subscription.module.d.ts.map +1 -0
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +42 -0
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts.map +1 -0
- package/lib/entity-files/entity-file.service.d.ts +15 -0
- package/lib/entity-files/entity-file.service.d.ts.map +1 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts +69 -0
- package/lib/entity-files/entity-files-view-all.component.d.ts.map +1 -0
- package/lib/entity-files/entity-files-view-all.module.d.ts +20 -0
- package/lib/entity-files/entity-files-view-all.module.d.ts.map +1 -0
- package/lib/entity-files/index.d.ts +3 -0
- package/lib/entity-files/index.d.ts.map +1 -0
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +12 -0
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts.map +1 -0
- package/lib/export-excel/export-excel.module.d.ts +10 -0
- package/lib/export-excel/export-excel.module.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.component.d.ts +37 -0
- package/lib/file-dropper/file-dropper.component.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.model.d.ts +11 -0
- package/lib/file-dropper/file-dropper.model.d.ts.map +1 -0
- package/lib/file-dropper/file-dropper.module.d.ts +11 -0
- package/lib/file-dropper/file-dropper.module.d.ts.map +1 -0
- package/lib/file-dropper/index.d.ts +3 -0
- package/lib/file-dropper/index.d.ts.map +1 -0
- package/lib/import-csv/data-import/data-import.component.d.ts +10 -0
- package/lib/import-csv/data-import/data-import.component.d.ts.map +1 -0
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +16 -0
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts.map +1 -0
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +38 -0
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts.map +1 -0
- package/lib/import-csv/import-csv-config.d.ts +18 -0
- package/lib/import-csv/import-csv-config.d.ts.map +1 -0
- package/lib/import-csv/import-csv.component.d.ts +37 -0
- package/lib/import-csv/import-csv.component.d.ts.map +1 -0
- package/lib/import-csv/import-csv.module.d.ts +21 -0
- package/lib/import-csv/import-csv.module.d.ts.map +1 -0
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +25 -0
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts.map +1 -0
- package/lib/import-csv/import-success/import-success.component.d.ts +12 -0
- package/lib/import-csv/import-success/import-success.component.d.ts.map +1 -0
- package/{src/lib/loader/index.ts → lib/loader/index.d.ts} +1 -0
- package/lib/loader/index.d.ts.map +1 -0
- package/lib/loader/loader.component.d.ts +12 -0
- package/lib/loader/loader.component.d.ts.map +1 -0
- package/lib/loader/loader.module.d.ts +10 -0
- package/lib/loader/loader.module.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +8 -0
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +27 -0
- package/lib/login-history-for-user/login-history-for-user.component.d.ts.map +1 -0
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +15 -0
- package/lib/login-history-for-user/login-history-for-user.module.d.ts.map +1 -0
- package/lib/material.module.d.ts +27 -0
- package/lib/material.module.d.ts.map +1 -0
- package/lib/note/comment-form/comment-form.component.d.ts +26 -0
- package/lib/note/comment-form/comment-form.component.d.ts.map +1 -0
- package/{src/lib/note/index.ts → lib/note/index.d.ts} +1 -0
- package/lib/note/index.d.ts.map +1 -0
- package/lib/note/note-form/note-form.component.d.ts +31 -0
- package/lib/note/note-form/note-form.component.d.ts.map +1 -0
- package/lib/note/note-list/note-list.component.d.ts +32 -0
- package/lib/note/note-list/note-list.component.d.ts.map +1 -0
- package/lib/note/note.module.d.ts +17 -0
- package/lib/note/note.module.d.ts.map +1 -0
- package/lib/note/note.service.d.ts +13 -0
- package/lib/note/note.service.d.ts.map +1 -0
- package/lib/read-more/read-more.component.d.ts +16 -0
- package/lib/read-more/read-more.component.d.ts.map +1 -0
- package/lib/read-more/read-more.module.d.ts +11 -0
- package/lib/read-more/read-more.module.d.ts.map +1 -0
- package/lib/request-helper/request-helper.service.d.ts +41 -0
- package/lib/request-helper/request-helper.service.d.ts.map +1 -0
- package/lib/searchable-selector/index.d.ts +3 -0
- package/lib/searchable-selector/index.d.ts.map +1 -0
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +27 -0
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts.map +1 -0
- package/lib/searchable-selector/searchable-selector.component.d.ts +85 -0
- package/lib/searchable-selector/searchable-selector.component.d.ts.map +1 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts +13 -0
- package/lib/searchable-selector/searchable-selector.module.d.ts.map +1 -0
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +13 -0
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +21 -0
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts +41 -0
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.module.d.ts +17 -0
- package/lib/techlify-feature/techlify-feature.module.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.routing.d.ts +3 -0
- package/lib/techlify-feature/techlify-feature.routing.d.ts.map +1 -0
- package/lib/techlify-feature/techlify-feature.service.d.ts +12 -0
- package/lib/techlify-feature/techlify-feature.service.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +13 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +80 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +13 -0
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +62 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts.map +1 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +15 -0
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +34 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +13 -0
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +8 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +35 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +16 -0
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update-routing.module.d.ts +8 -0
- package/lib/techlify-update/techlify-update-routing.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update.module.d.ts +17 -0
- package/lib/techlify-update/techlify-update.module.d.ts.map +1 -0
- package/lib/techlify-update/techlify-update.service.d.ts +17 -0
- package/lib/techlify-update/techlify-update.service.d.ts.map +1 -0
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +35 -0
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +29 -0
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +20 -0
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts.map +1 -0
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +14 -0
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts.map +1 -0
- package/lib/techlify-update/update-view/update-view.component.d.ts +18 -0
- package/lib/techlify-update/update-view/update-view.component.d.ts.map +1 -0
- package/lib/techlify-update/update-view/update-view.module.d.ts +11 -0
- package/lib/techlify-update/update-view/update-view.module.d.ts.map +1 -0
- package/lib/timeline-filter/calculate-timeline.d.ts +7 -0
- package/lib/timeline-filter/calculate-timeline.d.ts.map +1 -0
- package/lib/timeline-filter/index.d.ts +4 -0
- package/lib/timeline-filter/index.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +8 -0
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts +66 -0
- package/lib/timeline-filter/timeline-filter.component.d.ts.map +1 -0
- package/lib/timeline-filter/timeline-filter.module.d.ts +19 -0
- package/lib/timeline-filter/timeline-filter.module.d.ts.map +1 -0
- package/lib/timeline-filter/timeline.model.d.ts +18 -0
- package/lib/timeline-filter/timeline.model.d.ts.map +1 -0
- package/lib/utility/date-utils.service.d.ts +25 -0
- package/lib/utility/date-utils.service.d.ts.map +1 -0
- package/{src/lib/utility/index.ts → lib/utility/index.d.ts} +2 -1
- package/lib/utility/index.d.ts.map +1 -0
- package/lib/utility/num-items-selector.component.d.ts +20 -0
- package/lib/utility/num-items-selector.component.d.ts.map +1 -0
- package/lib/utility/number-selector.component.d.ts +24 -0
- package/lib/utility/number-selector.component.d.ts.map +1 -0
- package/lib/utility/utility.module.d.ts +11 -0
- package/lib/utility/utility.module.d.ts.map +1 -0
- package/ngx-techlify-core.d.ts.map +1 -0
- package/package.json +49 -29
- package/{src/public-api.ts → public-api.d.ts} +1 -30
- package/public-api.d.ts.map +1 -0
- package/karma.conf.js +0 -44
- package/ng-package.json +0 -27
- package/src/lib/action-popup/action-popup.component.html +0 -21
- package/src/lib/action-popup/action-popup.component.scss +0 -0
- package/src/lib/action-popup/action-popup.component.spec.ts +0 -25
- package/src/lib/action-popup/action-popup.component.ts +0 -31
- package/src/lib/action-popup/action-popup.model.ts +0 -5
- package/src/lib/action-popup/action-popup.module.ts +0 -23
- package/src/lib/action-popup/index.ts +0 -2
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +0 -9
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.scss +0 -0
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +0 -49
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +0 -24
- package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +0 -92
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +0 -21
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +0 -138
- package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +0 -28
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +0 -49
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.scss +0 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.spec.ts +0 -26
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +0 -74
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +0 -24
- package/src/lib/audit-log/audit-log-routing.module.ts +0 -18
- package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +0 -46
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.scss +0 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +0 -54
- package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +0 -20
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +0 -38
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +0 -4
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +0 -53
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +0 -20
- package/src/lib/audit-log/audit-log.module.ts +0 -20
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +0 -10
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +0 -4
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +0 -4
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +0 -25
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +0 -28
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +0 -20
- package/src/lib/base-model/index.ts +0 -3
- package/src/lib/base-model/techlify-form-component.class.ts +0 -60
- package/src/lib/base-model/techlify-listing-component.class.ts +0 -67
- package/src/lib/base-model/techlify-service.class.ts +0 -73
- package/src/lib/core/alert.service.ts +0 -32
- package/src/lib/core/api-prefix.interceptor.ts +0 -22
- package/src/lib/core/authentication.guard.ts +0 -34
- package/src/lib/core/authentication.service.ts +0 -53
- package/src/lib/core/cache.interceptor.ts +0 -59
- package/src/lib/core/config.service.ts +0 -52
- package/src/lib/core/core.module.ts +0 -44
- package/src/lib/core/credentials.service.ts +0 -91
- package/src/lib/core/error-handler.interceptor.ts +0 -43
- package/src/lib/core/error-handler.service.ts +0 -61
- package/src/lib/core/filter.service.ts +0 -42
- package/src/lib/core/form-validator.service.ts +0 -23
- package/src/lib/core/header.interceptor.ts +0 -22
- package/src/lib/core/http-cache.service.ts +0 -122
- package/src/lib/core/http.service.ts +0 -137
- package/src/lib/core/logger.service.ts +0 -113
- package/src/lib/core/route-reusable-strategy.ts +0 -36
- package/src/lib/core/snack/error-snack.html +0 -8
- package/src/lib/core/snack/snack.component.ts +0 -19
- package/src/lib/core/snack/snack.module.ts +0 -22
- package/src/lib/core/snack/snack.scss +0 -18
- package/src/lib/core/snack/success-snack.html +0 -8
- package/src/lib/core/storage.service.ts +0 -38
- package/src/lib/core/techlify-config.model.ts +0 -32
- package/src/lib/core/token.interceptor.ts +0 -25
- package/src/lib/data-table/data-table.component.html +0 -139
- package/src/lib/data-table/data-table.component.scss +0 -54
- package/src/lib/data-table/data-table.component.spec.ts +0 -25
- package/src/lib/data-table/data-table.component.ts +0 -232
- package/src/lib/data-table/data-table.module.ts +0 -23
- package/src/lib/data-table/index.ts +0 -2
- package/src/lib/date-validator.ts +0 -12
- package/src/lib/document-viewer/document-viewer.component.css +0 -5
- package/src/lib/document-viewer/document-viewer.component.html +0 -19
- package/src/lib/document-viewer/document-viewer.component.ts +0 -66
- package/src/lib/document-viewer/document-viewer.module.ts +0 -22
- package/src/lib/document-viewer/index.ts +0 -2
- package/src/lib/document-viewer/viewer-config.model.ts +0 -5
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +0 -25
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +0 -23
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +0 -4
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +0 -74
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +0 -22
- package/src/lib/email-subscription/email-subscription-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +0 -47
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +0 -113
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +0 -28
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +0 -29
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +0 -76
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +0 -4
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +0 -170
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +0 -26
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +0 -1
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +0 -11
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +0 -14
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +0 -38
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +0 -113
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +0 -26
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +0 -27
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +0 -74
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +0 -5
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +0 -174
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +0 -28
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +0 -10
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +0 -21
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.scss +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.spec.ts +0 -25
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +0 -56
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +0 -24
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +0 -11
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +0 -14
- package/src/lib/email-subscription/email-subscription.module.ts +0 -15
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.css +0 -0
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.html +0 -45
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +0 -172
- package/src/lib/entity-files/entity-file.service.ts +0 -46
- package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
- package/src/lib/entity-files/entity-files-view-all.component.html +0 -236
- package/src/lib/entity-files/entity-files-view-all.component.ts +0 -325
- package/src/lib/entity-files/entity-files-view-all.module.ts +0 -38
- package/src/lib/entity-files/index.ts +0 -2
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +0 -1
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.scss +0 -0
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.spec.ts +0 -25
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +0 -31
- package/src/lib/export-excel/export-excel.module.ts +0 -16
- package/src/lib/file-dropper/file-dropper.component.html +0 -41
- package/src/lib/file-dropper/file-dropper.component.scss +0 -8
- package/src/lib/file-dropper/file-dropper.component.ts +0 -139
- package/src/lib/file-dropper/file-dropper.model.ts +0 -10
- package/src/lib/file-dropper/file-dropper.module.ts +0 -18
- package/src/lib/file-dropper/index.ts +0 -2
- package/src/lib/import-csv/data-import/data-import.component.html +0 -11
- package/src/lib/import-csv/data-import/data-import.component.scss +0 -0
- package/src/lib/import-csv/data-import/data-import.component.spec.ts +0 -28
- package/src/lib/import-csv/data-import/data-import.component.ts +0 -16
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +0 -61
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.scss +0 -0
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.spec.ts +0 -28
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +0 -30
- package/src/lib/import-csv/field-mapping/field-mapping.component.html +0 -70
- package/src/lib/import-csv/field-mapping/field-mapping.component.scss +0 -15
- package/src/lib/import-csv/field-mapping/field-mapping.component.ts +0 -161
- package/src/lib/import-csv/import-csv-config.ts +0 -17
- package/src/lib/import-csv/import-csv.component.html +0 -71
- package/src/lib/import-csv/import-csv.component.scss +0 -15
- package/src/lib/import-csv/import-csv.component.spec.ts +0 -28
- package/src/lib/import-csv/import-csv.component.ts +0 -198
- package/src/lib/import-csv/import-csv.module.ts +0 -43
- package/src/lib/import-csv/import-history-list/import-history-list.component.html +0 -43
- package/src/lib/import-csv/import-history-list/import-history-list.component.scss +0 -0
- package/src/lib/import-csv/import-history-list/import-history-list.component.spec.ts +0 -28
- package/src/lib/import-csv/import-history-list/import-history-list.component.ts +0 -74
- package/src/lib/import-csv/import-success/import-success.component.html +0 -22
- package/src/lib/import-csv/import-success/import-success.component.scss +0 -0
- package/src/lib/import-csv/import-success/import-success.component.spec.ts +0 -28
- package/src/lib/import-csv/import-success/import-success.component.ts +0 -17
- package/src/lib/loader/loader.component.html +0 -4
- package/src/lib/loader/loader.component.scss +0 -8
- package/src/lib/loader/loader.component.spec.ts +0 -73
- package/src/lib/loader/loader.component.ts +0 -18
- package/src/lib/loader/loader.module.ts +0 -18
- package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +0 -18
- package/src/lib/login-history-for-user/login-history-for-user.component.html +0 -31
- package/src/lib/login-history-for-user/login-history-for-user.component.scss +0 -4
- package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +0 -25
- package/src/lib/login-history-for-user/login-history-for-user.component.ts +0 -94
- package/src/lib/login-history-for-user/login-history-for-user.module.ts +0 -26
- package/src/lib/material.module.ts +0 -68
- package/src/lib/note/comment-form/comment-form.component.html +0 -45
- package/src/lib/note/comment-form/comment-form.component.scss +0 -7
- package/src/lib/note/comment-form/comment-form.component.spec.ts +0 -24
- package/src/lib/note/comment-form/comment-form.component.ts +0 -84
- package/src/lib/note/note-form/note-form.component.css +0 -0
- package/src/lib/note/note-form/note-form.component.html +0 -26
- package/src/lib/note/note-form/note-form.component.spec.ts +0 -25
- package/src/lib/note/note-form/note-form.component.ts +0 -93
- package/src/lib/note/note-list/note-list.component.css +0 -4
- package/src/lib/note/note-list/note-list.component.html +0 -58
- package/src/lib/note/note-list/note-list.component.spec.ts +0 -25
- package/src/lib/note/note-list/note-list.component.ts +0 -156
- package/src/lib/note/note.module.ts +0 -33
- package/src/lib/note/note.service.spec.ts +0 -16
- package/src/lib/note/note.service.ts +0 -26
- package/src/lib/read-more/read-more.component.html +0 -3
- package/src/lib/read-more/read-more.component.scss +0 -8
- package/src/lib/read-more/read-more.component.spec.ts +0 -24
- package/src/lib/read-more/read-more.component.ts +0 -41
- package/src/lib/read-more/read-more.module.ts +0 -18
- package/src/lib/request-helper/request-helper.service.ts +0 -92
- package/src/lib/searchable-selector/index.ts +0 -2
- package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +0 -89
- package/src/lib/searchable-selector/searchable-selector.component.html +0 -21
- package/src/lib/searchable-selector/searchable-selector.component.scss +0 -8
- package/src/lib/searchable-selector/searchable-selector.component.spec.ts +0 -25
- package/src/lib/searchable-selector/searchable-selector.component.ts +0 -337
- package/src/lib/searchable-selector/searchable-selector.module.ts +0 -25
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +0 -4
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.scss +0 -0
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.spec.ts +0 -28
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +0 -25
- package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +0 -71
- package/src/lib/techlify-feature/techlify-feature-listing.component.html +0 -65
- package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
- package/src/lib/techlify-feature/techlify-feature-listing.component.ts +0 -174
- package/src/lib/techlify-feature/techlify-feature.module.ts +0 -28
- package/src/lib/techlify-feature/techlify-feature.routing.ts +0 -13
- package/src/lib/techlify-feature/techlify-feature.service.ts +0 -23
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +0 -25
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +0 -18
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +0 -6
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +0 -25
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +0 -308
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +0 -24
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +0 -8
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.scss +0 -0
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.spec.ts +0 -25
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +0 -180
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +0 -28
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +0 -78
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.scss +0 -0
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.spec.ts +0 -25
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +0 -113
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +0 -25
- package/src/lib/techlify-update/techlify-update-history/index.ts +0 -1
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +0 -21
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +0 -94
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.scss +0 -0
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.ts +0 -142
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +0 -25
- package/src/lib/techlify-update/techlify-update-routing.module.ts +0 -21
- package/src/lib/techlify-update/techlify-update.module.ts +0 -27
- package/src/lib/techlify-update/techlify-update.service.spec.ts +0 -16
- package/src/lib/techlify-update/techlify-update.service.ts +0 -42
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +0 -104
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.scss +0 -0
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.spec.ts +0 -25
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +0 -167
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +0 -39
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +0 -57
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +0 -76
- package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +0 -3
- package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +0 -56
- package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +0 -27
- package/src/lib/techlify-update/update-view/update-view.component.html +0 -63
- package/src/lib/techlify-update/update-view/update-view.component.scss +0 -19
- package/src/lib/techlify-update/update-view/update-view.component.spec.ts +0 -25
- package/src/lib/techlify-update/update-view/update-view.component.ts +0 -36
- package/src/lib/techlify-update/update-view/update-view.module.ts +0 -23
- package/src/lib/timeline-filter/calculate-timeline.ts +0 -109
- package/src/lib/timeline-filter/index.ts +0 -3
- package/src/lib/timeline-filter/timeline-filter-routing.module.ts +0 -10
- package/src/lib/timeline-filter/timeline-filter.component.html +0 -54
- package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
- package/src/lib/timeline-filter/timeline-filter.component.spec.ts +0 -25
- package/src/lib/timeline-filter/timeline-filter.component.ts +0 -220
- package/src/lib/timeline-filter/timeline-filter.module.ts +0 -22
- package/src/lib/timeline-filter/timeline.model.ts +0 -17
- package/src/lib/utility/date-utils.service.ts +0 -51
- package/src/lib/utility/num-items-selector.component.ts +0 -29
- package/src/lib/utility/num-items-selector.html +0 -13
- package/src/lib/utility/number-selector.component.ts +0 -38
- package/src/lib/utility/number-selector.html +0 -6
- package/src/lib/utility/utility.module.ts +0 -20
- package/src/test.ts +0 -26
- package/tsconfig.lib.json +0 -26
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
2
|
+
/*
|
|
3
|
+
* This module imports and re-exports all Angular Material modules for convenience,
|
|
4
|
+
* so only 1 module import is needed in your feature modules.
|
|
5
|
+
* See https://material.angular.io/guide/getting-started#step-3-import-the-component-modules.
|
|
6
|
+
*
|
|
7
|
+
* To optimize your production builds, you should only import the components used in your app.
|
|
8
|
+
*/
|
|
9
|
+
import { NgModule } from "@angular/core";
|
|
10
|
+
import { MatCommonModule, MatLineModule, MatNativeDateModule, MatOptionModule, MatPseudoCheckboxModule, MatRippleModule } from "@angular/material/core";
|
|
11
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
12
|
+
import { MatCheckboxModule } from "@angular/material/checkbox";
|
|
13
|
+
import { MatDialogModule } from "@angular/material/dialog";
|
|
14
|
+
import { MatFormFieldModule } from "@angular/material/form-field";
|
|
15
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
16
|
+
import { MatInputModule } from "@angular/material/input";
|
|
17
|
+
import { MatMenuModule } from "@angular/material/menu";
|
|
18
|
+
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
|
|
19
|
+
import { MatSelectModule } from "@angular/material/select";
|
|
20
|
+
import { MatSortModule } from "@angular/material/sort";
|
|
21
|
+
import { MatTableModule } from "@angular/material/table";
|
|
22
|
+
import { MatCardModule } from "@angular/material/card";
|
|
23
|
+
import { MatDividerModule } from "@angular/material/divider";
|
|
24
|
+
import { MatChipsModule } from "@angular/material/chips";
|
|
25
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
26
|
+
import { MatListModule } from '@angular/material/list';
|
|
27
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
28
|
+
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
29
|
+
import * as i0 from "@angular/core";
|
|
30
|
+
export class MaterialModule {
|
|
31
|
+
}
|
|
32
|
+
MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
33
|
+
MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: MaterialModule, exports: [MatButtonModule,
|
|
34
|
+
MatCheckboxModule,
|
|
35
|
+
MatCommonModule,
|
|
36
|
+
MatDialogModule,
|
|
37
|
+
MatFormFieldModule,
|
|
38
|
+
MatIconModule,
|
|
39
|
+
MatInputModule,
|
|
40
|
+
MatLineModule,
|
|
41
|
+
MatMenuModule,
|
|
42
|
+
MatNativeDateModule,
|
|
43
|
+
MatOptionModule,
|
|
44
|
+
MatProgressSpinnerModule,
|
|
45
|
+
MatPseudoCheckboxModule,
|
|
46
|
+
MatRippleModule,
|
|
47
|
+
MatSelectModule,
|
|
48
|
+
MatSortModule,
|
|
49
|
+
MatTableModule,
|
|
50
|
+
MatCardModule,
|
|
51
|
+
MatDividerModule,
|
|
52
|
+
MatChipsModule,
|
|
53
|
+
MatDatepickerModule,
|
|
54
|
+
MatListModule,
|
|
55
|
+
MatTooltipModule,
|
|
56
|
+
MatButtonToggleModule,
|
|
57
|
+
MatSidenavModule] });
|
|
58
|
+
MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MaterialModule, imports: [MatButtonModule,
|
|
59
|
+
MatCheckboxModule,
|
|
60
|
+
MatCommonModule,
|
|
61
|
+
MatDialogModule,
|
|
62
|
+
MatFormFieldModule,
|
|
63
|
+
MatIconModule,
|
|
64
|
+
MatInputModule,
|
|
65
|
+
MatLineModule,
|
|
66
|
+
MatMenuModule,
|
|
67
|
+
MatNativeDateModule,
|
|
68
|
+
MatOptionModule,
|
|
69
|
+
MatProgressSpinnerModule,
|
|
70
|
+
MatPseudoCheckboxModule,
|
|
71
|
+
MatRippleModule,
|
|
72
|
+
MatSelectModule,
|
|
73
|
+
MatSortModule,
|
|
74
|
+
MatTableModule,
|
|
75
|
+
MatCardModule,
|
|
76
|
+
MatDividerModule,
|
|
77
|
+
MatChipsModule,
|
|
78
|
+
MatDatepickerModule,
|
|
79
|
+
MatListModule,
|
|
80
|
+
MatTooltipModule,
|
|
81
|
+
MatButtonToggleModule,
|
|
82
|
+
MatSidenavModule] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MaterialModule, decorators: [{
|
|
84
|
+
type: NgModule,
|
|
85
|
+
args: [{
|
|
86
|
+
exports: [
|
|
87
|
+
MatButtonModule,
|
|
88
|
+
MatCheckboxModule,
|
|
89
|
+
MatCommonModule,
|
|
90
|
+
MatDialogModule,
|
|
91
|
+
MatFormFieldModule,
|
|
92
|
+
MatIconModule,
|
|
93
|
+
MatInputModule,
|
|
94
|
+
MatLineModule,
|
|
95
|
+
MatMenuModule,
|
|
96
|
+
MatNativeDateModule,
|
|
97
|
+
MatOptionModule,
|
|
98
|
+
MatProgressSpinnerModule,
|
|
99
|
+
MatPseudoCheckboxModule,
|
|
100
|
+
MatRippleModule,
|
|
101
|
+
MatSelectModule,
|
|
102
|
+
MatSortModule,
|
|
103
|
+
MatTableModule,
|
|
104
|
+
MatCardModule,
|
|
105
|
+
MatDividerModule,
|
|
106
|
+
MatChipsModule,
|
|
107
|
+
MatDatepickerModule,
|
|
108
|
+
MatListModule,
|
|
109
|
+
MatTooltipModule,
|
|
110
|
+
MatButtonToggleModule,
|
|
111
|
+
MatSidenavModule
|
|
112
|
+
]
|
|
113
|
+
}]
|
|
114
|
+
}] });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0Q7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixlQUFlLEVBQ2hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFnQzdELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUEzQnZCLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsYUFBYTtRQUNiLGNBQWM7UUFDZCxhQUFhO1FBQ2IsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLGdCQUFnQjs0R0FHUCxjQUFjLFlBM0J2QixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjO1FBQ2QsYUFBYTtRQUNiLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixnQkFBZ0I7MkZBR1AsY0FBYztrQkE3QjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbi8qXHJcbiAqIFRoaXMgbW9kdWxlIGltcG9ydHMgYW5kIHJlLWV4cG9ydHMgYWxsIEFuZ3VsYXIgTWF0ZXJpYWwgbW9kdWxlcyBmb3IgY29udmVuaWVuY2UsXHJcbiAqIHNvIG9ubHkgMSBtb2R1bGUgaW1wb3J0IGlzIG5lZWRlZCBpbiB5b3VyIGZlYXR1cmUgbW9kdWxlcy5cclxuICogU2VlIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQjc3RlcC0zLWltcG9ydC10aGUtY29tcG9uZW50LW1vZHVsZXMuXHJcbiAqXHJcbiAqIFRvIG9wdGltaXplIHlvdXIgcHJvZHVjdGlvbiBidWlsZHMsIHlvdSBzaG91bGQgb25seSBpbXBvcnQgdGhlIGNvbXBvbmVudHMgdXNlZCBpbiB5b3VyIGFwcC5cclxuICovXHJcblxyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gIE1hdExpbmVNb2R1bGUsXHJcbiAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgTWF0UHNldWRvQ2hlY2tib3hNb2R1bGUsXHJcbiAgTWF0UmlwcGxlTW9kdWxlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jYXJkXCI7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0J1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRMaW5lTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRQc2V1ZG9DaGVja2JveE1vZHVsZSxcclxuICAgIE1hdFJpcHBsZU1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRTaWRlbmF2TW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/forms";
|
|
4
|
+
import * as i2 from "../../core/credentials.service";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
import * as i4 from "@angular/flex-layout/flex";
|
|
7
|
+
import * as i5 from "@angular/flex-layout/extended";
|
|
8
|
+
import * as i6 from "@angular/material/button";
|
|
9
|
+
import * as i7 from "@angular/material/form-field";
|
|
10
|
+
import * as i8 from "@angular/material/icon";
|
|
11
|
+
import * as i9 from "@angular/material/input";
|
|
12
|
+
import * as i10 from "../../read-more/read-more.component";
|
|
13
|
+
export class CommentFormComponent {
|
|
14
|
+
constructor(fb, credentialService) {
|
|
15
|
+
this.fb = fb;
|
|
16
|
+
this.credentialService = credentialService;
|
|
17
|
+
this.action = new EventEmitter();
|
|
18
|
+
this.createForm();
|
|
19
|
+
}
|
|
20
|
+
set commentData(data) {
|
|
21
|
+
this.view = !!data;
|
|
22
|
+
this._commentData = data;
|
|
23
|
+
this.commentFormGroup.patchValue(data);
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() { }
|
|
26
|
+
get isLoggedIn() {
|
|
27
|
+
return this.credentialService.isAuthenticated;
|
|
28
|
+
}
|
|
29
|
+
get currentUser() {
|
|
30
|
+
return this.credentialService.credentials.user;
|
|
31
|
+
}
|
|
32
|
+
createForm() {
|
|
33
|
+
//TODO: Finialize and add more validations.
|
|
34
|
+
this.commentFormGroup = this.fb.group({
|
|
35
|
+
id: [""],
|
|
36
|
+
note: [""],
|
|
37
|
+
model_type: [""],
|
|
38
|
+
related_model_id: [""],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
submit() {
|
|
42
|
+
if (this.commentFormGroup.get("note").value) {
|
|
43
|
+
if (this._commentData) {
|
|
44
|
+
this.view = !this.view;
|
|
45
|
+
}
|
|
46
|
+
this.action.emit({ type: "save", value: this.commentFormGroup.value });
|
|
47
|
+
this.commentFormGroup.reset();
|
|
48
|
+
}
|
|
49
|
+
else if (this.commentFormGroup.get("id").value) {
|
|
50
|
+
this.deleteComment();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
hideEdit() {
|
|
54
|
+
if (this.commentFormGroup.get("id").value) {
|
|
55
|
+
this.view = !this.view;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
editComment() {
|
|
59
|
+
this.view = !this.view;
|
|
60
|
+
this.commentFormGroup.patchValue(this._commentData);
|
|
61
|
+
}
|
|
62
|
+
deleteComment() {
|
|
63
|
+
this.action.emit({ type: "delete", value: this.commentFormGroup.value });
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() { }
|
|
66
|
+
}
|
|
67
|
+
CommentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CommentFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.CredentialsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
CommentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: CommentFormComponent, selector: "app-comment-form", inputs: { commentData: "commentData" }, outputs: { action: "action" }, ngImport: i0, template: "<form (ngSubmit)=\"submit()\" [formGroup]=\"commentFormGroup\">\r\n <div fxLayout=\"column\" class=\"my-2\" [ngClass]=\"{ 'border border-primary shadow rounded ': view}\">\r\n <div *ngIf=\"!view\" fxLayout=\"column\">\r\n <mat-form-field appearance=\"outline\" style=\"background-color:white;\">\r\n <mat-label>Comment</mat-label>\r\n <textarea matInput rows=\"5\" placeholder=\"Add a comment...\" formControlName=\"note\" autocomplete=\"off\"></textarea>\r\n </mat-form-field>\r\n\r\n <div fxLayout fxLayoutGap=\"1rem\" class=\"mt-2\">\r\n <span fxFlex></span>\r\n <button *ngIf=\"_commentData\" mat-button type=\"button\" (click)=\"view = !view\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button color=\"primary\" type=\"submit\">\r\n {{ _commentData ? \"Update\" : \"Post comment\" }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div fxLayout=\"column\" *ngIf=\"view\" class=\"p-2 m-2\">\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\".5rem\">\r\n <div fxFlex=\"20%\" fxLayoutAlign=\"start\">\r\n <button mat-icon-button type=\"button\" style=\"color:grey\">\r\n <mat-icon style=\"font-size:60px\">account_circle</mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"75%\">\r\n <div fxLayout=\"column\" fxLayoutGap=\".5rem\">\r\n <div class=\"font-weight-bold\">{{ _commentData?.creator?.name }}</div>\r\n <div class=\"text-muted\">{{ _commentData.updated_at | date:'medium' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-read-more class=\"mt-2\" [text]=\"_commentData.note\"></app-read-more>\r\n <div fxLayout class=\"mt-1\" fxLayoutGap=\"1rem\" *ngIf=\"isLoggedIn && currentUser.id === _commentData.creator_id\">\r\n <a href=\"javascript:;\" (click)=\"editComment()\">\r\n Edit\r\n </a>\r\n <a href=\"javascript:;\" (click)=\"deleteComment()\">\r\n Delete\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [":host ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important;margin:0!important}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i4.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i4.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.ReadMoreComponent, selector: "app-read-more", inputs: ["text", "maxLength"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: CommentFormComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: "app-comment-form", template: "<form (ngSubmit)=\"submit()\" [formGroup]=\"commentFormGroup\">\r\n <div fxLayout=\"column\" class=\"my-2\" [ngClass]=\"{ 'border border-primary shadow rounded ': view}\">\r\n <div *ngIf=\"!view\" fxLayout=\"column\">\r\n <mat-form-field appearance=\"outline\" style=\"background-color:white;\">\r\n <mat-label>Comment</mat-label>\r\n <textarea matInput rows=\"5\" placeholder=\"Add a comment...\" formControlName=\"note\" autocomplete=\"off\"></textarea>\r\n </mat-form-field>\r\n\r\n <div fxLayout fxLayoutGap=\"1rem\" class=\"mt-2\">\r\n <span fxFlex></span>\r\n <button *ngIf=\"_commentData\" mat-button type=\"button\" (click)=\"view = !view\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button color=\"primary\" type=\"submit\">\r\n {{ _commentData ? \"Update\" : \"Post comment\" }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div fxLayout=\"column\" *ngIf=\"view\" class=\"p-2 m-2\">\r\n <div fxLayout=\"row wrap\" fxLayoutGap=\".5rem\">\r\n <div fxFlex=\"20%\" fxLayoutAlign=\"start\">\r\n <button mat-icon-button type=\"button\" style=\"color:grey\">\r\n <mat-icon style=\"font-size:60px\">account_circle</mat-icon>\r\n </button>\r\n </div>\r\n <div fxFlex=\"75%\">\r\n <div fxLayout=\"column\" fxLayoutGap=\".5rem\">\r\n <div class=\"font-weight-bold\">{{ _commentData?.creator?.name }}</div>\r\n <div class=\"text-muted\">{{ _commentData.updated_at | date:'medium' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <app-read-more class=\"mt-2\" [text]=\"_commentData.note\"></app-read-more>\r\n <div fxLayout class=\"mt-1\" fxLayoutGap=\"1rem\" *ngIf=\"isLoggedIn && currentUser.id === _commentData.creator_id\">\r\n <a href=\"javascript:;\" (click)=\"editComment()\">\r\n Edit\r\n </a>\r\n <a href=\"javascript:;\" (click)=\"deleteComment()\">\r\n Delete\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [":host ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important;margin:0!important}\n"] }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.CredentialsService }]; }, propDecorators: { commentData: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], action: [{
|
|
75
|
+
type: Output
|
|
76
|
+
}] } });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9jb21tZW50LWZvcm0vY29tbWVudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9jb21tZW50LWZvcm0vY29tbWVudC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBRWIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7OztBQVN2QixNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQW9CLEVBQXNCLEVBQ2hDLGlCQUFxQztRQUQzQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBSHJDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3BDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBWkQsSUFBYSxXQUFXLENBQUMsSUFBUztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBVUQsUUFBUSxLQUFLLENBQUM7SUFFZCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVPLFVBQVU7UUFDaEIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNwQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDVixVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEIsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFdBQVcsS0FBSyxDQUFDOztpSEFsRU4sb0JBQW9CO3FHQUFwQixvQkFBb0IsK0hDaEJqQyw2aUVBNENPOzJGRDVCTSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzBJQVNmLFdBQVc7c0JBQXZCLEtBQUs7Z0JBTUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENyZWRlbnRpYWxzU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2NyZWRlbnRpYWxzLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1jb21tZW50LWZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbW1lbnQtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9jb21tZW50LWZvcm0uY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1lbnRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbW1lbnRGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgdmlldzogYm9vbGVhbjtcclxuICBfY29tbWVudERhdGE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2V0IGNvbW1lbnREYXRhKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy52aWV3ID0gISFkYXRhO1xyXG4gICAgdGhpcy5fY29tbWVudERhdGEgPSBkYXRhO1xyXG4gICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLnBhdGNoVmFsdWUoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxTZXJ2aWNlOiBDcmVkZW50aWFsc1NlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgZ2V0IGlzTG9nZ2VkSW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFsU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgY3VycmVudFVzZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFsU2VydmljZS5jcmVkZW50aWFscy51c2VyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xyXG4gICAgLy9UT0RPOiBGaW5pYWxpemUgYW5kIGFkZCBtb3JlIHZhbGlkYXRpb25zLlxyXG4gICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlkOiBbXCJcIl0sXHJcbiAgICAgIG5vdGU6IFtcIlwiXSxcclxuICAgICAgbW9kZWxfdHlwZTogW1wiXCJdLFxyXG4gICAgICByZWxhdGVkX21vZGVsX2lkOiBbXCJcIl0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0KFwibm90ZVwiKS52YWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy5fY29tbWVudERhdGEpIHtcclxuICAgICAgICB0aGlzLnZpZXcgPSAhdGhpcy52aWV3O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWN0aW9uLmVtaXQoeyB0eXBlOiBcInNhdmVcIiwgdmFsdWU6IHRoaXMuY29tbWVudEZvcm1Hcm91cC52YWx1ZSB9KTtcclxuICAgICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLnJlc2V0KCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoXCJpZFwiKS52YWx1ZSkge1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVFZGl0KCkge1xyXG4gICAgaWYgKHRoaXMuY29tbWVudEZvcm1Hcm91cC5nZXQoXCJpZFwiKS52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZpZXcgPSAhdGhpcy52aWV3O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZWRpdENvbW1lbnQoKSB7XHJcbiAgICB0aGlzLnZpZXcgPSAhdGhpcy52aWV3O1xyXG4gICAgdGhpcy5jb21tZW50Rm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy5fY29tbWVudERhdGEpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQ29tbWVudCgpIHtcclxuICAgIHRoaXMuYWN0aW9uLmVtaXQoeyB0eXBlOiBcImRlbGV0ZVwiLCB2YWx1ZTogdGhpcy5jb21tZW50Rm9ybUdyb3VwLnZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7IH1cclxufVxyXG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwic3VibWl0KClcIiBbZm9ybUdyb3VwXT1cImNvbW1lbnRGb3JtR3JvdXBcIj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJteS0yXCIgW25nQ2xhc3NdPVwieyAnYm9yZGVyIGJvcmRlci1wcmltYXJ5IHNoYWRvdyByb3VuZGVkICc6IHZpZXd9XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIXZpZXdcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6d2hpdGU7XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5Db21tZW50PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IHJvd3M9XCI1XCIgcGxhY2Vob2xkZXI9XCJBZGQgYSBjb21tZW50Li4uXCIgZm9ybUNvbnRyb2xOYW1lPVwibm90ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPjwvdGV4dGFyZWE+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0R2FwPVwiMXJlbVwiIGNsYXNzPVwibXQtMlwiPlxyXG4gICAgICAgIDxzcGFuIGZ4RmxleD48L3NwYW4+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIl9jb21tZW50RGF0YVwiIG1hdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ2aWV3ID0gIXZpZXdcIj5cclxuICAgICAgICAgIENhbmNlbFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAgICAgICAge3sgX2NvbW1lbnREYXRhID8gXCJVcGRhdGVcIiA6IFwiUG9zdCBjb21tZW50XCIgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgKm5nSWY9XCJ2aWV3XCIgY2xhc3M9XCJwLTIgbS0yXCI+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cclxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjIwJVwiIGZ4TGF5b3V0QWxpZ249XCJzdGFydFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIHN0eWxlPVwiY29sb3I6Z3JleVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gc3R5bGU9XCJmb250LXNpemU6NjBweFwiPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgZnhGbGV4PVwiNzUlXCI+XHJcbiAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIuNXJlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiPnt7IF9jb21tZW50RGF0YT8uY3JlYXRvcj8ubmFtZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tdXRlZFwiPnt7IF9jb21tZW50RGF0YS51cGRhdGVkX2F0IHwgZGF0ZTonbWVkaXVtJyB9fTwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YXBwLXJlYWQtbW9yZSBjbGFzcz1cIm10LTJcIiBbdGV4dF09XCJfY29tbWVudERhdGEubm90ZVwiPjwvYXBwLXJlYWQtbW9yZT5cclxuICAgICAgPGRpdiBmeExheW91dCBjbGFzcz1cIm10LTFcIiBmeExheW91dEdhcD1cIjFyZW1cIiAqbmdJZj1cImlzTG9nZ2VkSW4gJiYgY3VycmVudFVzZXIuaWQgPT09IF9jb21tZW50RGF0YS5jcmVhdG9yX2lkXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIChjbGljayk9XCJlZGl0Q29tbWVudCgpXCI+XHJcbiAgICAgICAgICBFZGl0XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwiZGVsZXRlQ29tbWVudCgpXCI+XHJcbiAgICAgICAgICBEZWxldGVcclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './note-list/note-list.component';
|
|
2
|
+
export * from './note-form/note-form.component';
|
|
3
|
+
export * from './comment-form/comment-form.component';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL25vdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25vdGUtbGlzdC9ub3RlLWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RlLWZvcm0vbm90ZS1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tbWVudC1mb3JtL2NvbW1lbnQtZm9ybS5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Component, Inject } from "@angular/core";
|
|
2
|
+
import { Validators } from "@angular/forms";
|
|
3
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
import * as i3 from "../../core/form-validator.service";
|
|
8
|
+
import * as i4 from "../../core/alert.service";
|
|
9
|
+
import * as i5 from "../note.service";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
import * as i7 from "@angular/flex-layout/flex";
|
|
12
|
+
import * as i8 from "@angular/material/button";
|
|
13
|
+
import * as i9 from "@angular/material/form-field";
|
|
14
|
+
import * as i10 from "@angular/material/input";
|
|
15
|
+
const errorMessages = {
|
|
16
|
+
note: {
|
|
17
|
+
required: "Note is required"
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export class NoteFormComponent {
|
|
21
|
+
constructor(dialogRef, data, fb, formValidatorService, alertService, noteService) {
|
|
22
|
+
this.dialogRef = dialogRef;
|
|
23
|
+
this.data = data;
|
|
24
|
+
this.fb = fb;
|
|
25
|
+
this.formValidatorService = formValidatorService;
|
|
26
|
+
this.alertService = alertService;
|
|
27
|
+
this.noteService = noteService;
|
|
28
|
+
this.createForm();
|
|
29
|
+
}
|
|
30
|
+
/** Method to create a form **/
|
|
31
|
+
createForm() {
|
|
32
|
+
//TODO: Finialize and add more validations.
|
|
33
|
+
this.noteFormGroup = this.fb.group({
|
|
34
|
+
id: [""],
|
|
35
|
+
note: ["", Validators.compose([Validators.required])],
|
|
36
|
+
model_type: [""],
|
|
37
|
+
related_model_id: [""],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
if (this.data.update) {
|
|
42
|
+
this.updateMode = true;
|
|
43
|
+
}
|
|
44
|
+
this.noteFormGroup.patchValue(this.data.note);
|
|
45
|
+
}
|
|
46
|
+
//Method to trigger login
|
|
47
|
+
async submit() {
|
|
48
|
+
this.noteFormFirstAttempt = true;
|
|
49
|
+
if (this.noteFormGroup.valid) {
|
|
50
|
+
const model = this.noteFormGroup.value;
|
|
51
|
+
const result = this.updateMode
|
|
52
|
+
? await this.noteService.editNote(model)
|
|
53
|
+
: await this.noteService.addNote(model);
|
|
54
|
+
this.alertService.addAlert(`${this.data?.labelText} saved successfully`, "success");
|
|
55
|
+
this.dialogRef.close(result);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
cancel() {
|
|
59
|
+
this.dialogRef.close();
|
|
60
|
+
}
|
|
61
|
+
/**Method to evaluate form fields*/
|
|
62
|
+
isFieldValid(field) {
|
|
63
|
+
return this.formValidatorService.isFieldValid(field, this.noteFormGroup, this.noteFormFirstAttempt);
|
|
64
|
+
}
|
|
65
|
+
/**Method to find error in form fields*/
|
|
66
|
+
getErrorMessage(field) {
|
|
67
|
+
return this.formValidatorService.getErrorMessage(field, this.noteFormGroup, errorMessages);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
NoteFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NoteFormComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.UntypedFormBuilder }, { token: i3.FormValidatorService }, { token: i4.AlertService }, { token: i5.NoteService }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
NoteFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NoteFormComponent, selector: "app-note-form", ngImport: i0, template: "<form [formGroup]=\"noteFormGroup\" (ngSubmit)=\"submit()\">\r\n <div fxLayout=\"column\" class=\"mat-typography\">\r\n <div mat-dialog-title class=\"text-center\">\r\n <div>{{data?.labelText}}</div>\r\n </div>\r\n\r\n <div mat-dialog-content fxLayout=\"column\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\">\r\n <mat-form-field fxFlex=\"100%\">\r\n <textarea matInput formControlName=\"note\" placeholder=\"{{data?.labelText}}\" autocomplete=\"off\"\r\n required></textarea>\r\n <mat-error *ngIf=\"isFieldValid('note')\">{{\r\n getErrorMessage(\"note\")\r\n }}</mat-error>\r\n </mat-form-field>\r\n\r\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.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"] }] });
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NoteFormComponent, decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{ selector: 'app-note-form', template: "<form [formGroup]=\"noteFormGroup\" (ngSubmit)=\"submit()\">\r\n <div fxLayout=\"column\" class=\"mat-typography\">\r\n <div mat-dialog-title class=\"text-center\">\r\n <div>{{data?.labelText}}</div>\r\n </div>\r\n\r\n <div mat-dialog-content fxLayout=\"column\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\">\r\n <mat-form-field fxFlex=\"100%\">\r\n <textarea matInput formControlName=\"note\" placeholder=\"{{data?.labelText}}\" autocomplete=\"off\"\r\n required></textarea>\r\n <mat-error *ngIf=\"isFieldValid('note')\">{{\r\n getErrorMessage(\"note\")\r\n }}</mat-error>\r\n </mat-form-field>\r\n\r\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\r\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\r\n Cancel\r\n </button>\r\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</form>" }]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
76
|
+
type: Inject,
|
|
77
|
+
args: [MAT_DIALOG_DATA]
|
|
78
|
+
}] }, { type: i2.UntypedFormBuilder }, { type: i3.FormValidatorService }, { type: i4.AlertService }, { type: i5.NoteService }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9ub3RlLWZvcm0vbm90ZS1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9ub3RlLWZvcm0vbm90ZS1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBd0MsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBS3pFLE1BQU0sYUFBYSxHQUFRO0lBQ3pCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxrQkFBa0I7S0FDN0I7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUNTLFNBQTBDLEVBQ2pCLElBQVMsRUFDakMsRUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLFlBQTBCLEVBQzFCLFdBQXdCO1FBTHpCLGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELCtCQUErQjtJQUN2QixVQUFVO1FBQ2hCLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2pDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNSLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDckQsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHlCQUF5QjtJQUN6QixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVTtnQkFDNUIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDeEIsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMscUJBQXFCLEVBQzVDLFNBQVMsQ0FDVixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxZQUFZLENBQUMsS0FBYTtRQUN4QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQzNDLEtBQUssRUFDTCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQzFCLENBQUM7SUFDSixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FDOUMsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLEVBQ2xCLGFBQWEsQ0FDZCxDQUFDO0lBQ0osQ0FBQzs7OEdBeEVVLGlCQUFpQiw4Q0FRbEIsZUFBZTtrR0FSZCxpQkFBaUIscURDbEI5Qiw2dUNBeUJPOzJGRFBNLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxlQUFlOzswQkFZdEIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgTm90ZVNlcnZpY2UgfSBmcm9tIFwiLi4vbm90ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEZvcm1WYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvYWxlcnQuc2VydmljZVwiO1xyXG5cclxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xyXG4gIG5vdGU6IHtcclxuICAgIHJlcXVpcmVkOiBcIk5vdGUgaXMgcmVxdWlyZWRcIlxyXG4gIH1cclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW5vdGUtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGUtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90ZS1mb3JtLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90ZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICB1cGRhdGVNb2RlOiBib29sZWFuO1xyXG4gIG5vdGVGb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgbm90ZUZvcm1GaXJzdEF0dGVtcHQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5vdGVGb3JtQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RlU2VydmljZTogTm90ZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIE1ldGhvZCB0byBjcmVhdGUgYSBmb3JtICoqL1xyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIC8vVE9ETzogRmluaWFsaXplIGFuZCBhZGQgbW9yZSB2YWxpZGF0aW9ucy5cclxuICAgIHRoaXMubm90ZUZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBpZDogW1wiXCJdLFxyXG4gICAgICBub3RlOiBbXCJcIiwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICBtb2RlbF90eXBlOiBbXCJcIl0sXHJcbiAgICAgIHJlbGF0ZWRfbW9kZWxfaWQ6IFtcIlwiXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLnVwZGF0ZSkge1xyXG4gICAgICB0aGlzLnVwZGF0ZU1vZGUgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ub3RlRm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy5kYXRhLm5vdGUpO1xyXG4gIH1cclxuXHJcbiAgLy9NZXRob2QgdG8gdHJpZ2dlciBsb2dpblxyXG4gIGFzeW5jIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMubm90ZUZvcm1GaXJzdEF0dGVtcHQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubm90ZUZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICBjb25zdCBtb2RlbCA9IHRoaXMubm90ZUZvcm1Hcm91cC52YWx1ZTtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy51cGRhdGVNb2RlXHJcbiAgICAgICAgPyBhd2FpdCB0aGlzLm5vdGVTZXJ2aWNlLmVkaXROb3RlKG1vZGVsKVxyXG4gICAgICAgIDogYXdhaXQgdGhpcy5ub3RlU2VydmljZS5hZGROb3RlKG1vZGVsKTtcclxuXHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxyXG4gICAgICAgIGAke3RoaXMuZGF0YT8ubGFiZWxUZXh0fSBzYXZlZCBzdWNjZXNzZnVsbHlgLFxyXG4gICAgICAgIFwic3VjY2Vzc1wiXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqTWV0aG9kIHRvIGV2YWx1YXRlIGZvcm0gZmllbGRzKi9cclxuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKFxyXG4gICAgICBmaWVsZCxcclxuICAgICAgdGhpcy5ub3RlRm9ybUdyb3VwLFxyXG4gICAgICB0aGlzLm5vdGVGb3JtRmlyc3RBdHRlbXB0XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqTWV0aG9kIHRvIGZpbmQgZXJyb3IgaW4gZm9ybSBmaWVsZHMqL1xyXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoXHJcbiAgICAgIGZpZWxkLFxyXG4gICAgICB0aGlzLm5vdGVGb3JtR3JvdXAsXHJcbiAgICAgIGVycm9yTWVzc2FnZXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIm5vdGVGb3JtR3JvdXBcIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+XHJcbiAgICAgICAgPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdj57e2RhdGE/LmxhYmVsVGV4dH19PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3cgd3JhcFwiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJub3RlXCIgcGxhY2Vob2xkZXI9XCJ7e2RhdGE/LmxhYmVsVGV4dH19XCIgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdub3RlJylcIj57e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRFcnJvck1lc3NhZ2UoXCJub3RlXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteS0yXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjMwcHhcIiBmeExheW91dEFsaWduPVwiZW5kXCIgZnhGbGV4PVwiMTAwJVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBDYW5jZWxcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjb2xvcj1cInByaW1hcnlcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NoteFormComponent } from '../note-form/note-form.component';
|
|
3
|
+
import { ActionPopupComponent } from '../../action-popup/action-popup.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../note.service";
|
|
6
|
+
import * as i2 from "@angular/material/dialog";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "ngx-infinite-scroll";
|
|
9
|
+
import * as i5 from "@angular/flex-layout/flex";
|
|
10
|
+
import * as i6 from "@angular/material/button";
|
|
11
|
+
import * as i7 from "@angular/material/icon";
|
|
12
|
+
import * as i8 from "@angular/material/table";
|
|
13
|
+
import * as i9 from "../comment-form/comment-form.component";
|
|
14
|
+
export class NoteListComponent {
|
|
15
|
+
constructor(noteService, dialog) {
|
|
16
|
+
this.noteService = noteService;
|
|
17
|
+
this.dialog = dialog;
|
|
18
|
+
this.readonly = false;
|
|
19
|
+
this.labelText = 'Note';
|
|
20
|
+
this.commentsView = false;
|
|
21
|
+
this.notes = [];
|
|
22
|
+
this.displayedColumns = [
|
|
23
|
+
'index',
|
|
24
|
+
'note',
|
|
25
|
+
'actions'
|
|
26
|
+
];
|
|
27
|
+
this.page = 1;
|
|
28
|
+
this.lastPage = 1;
|
|
29
|
+
this.filters = {};
|
|
30
|
+
this.filters.sort_by = "created_at|DESC";
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
if (this.readonly) {
|
|
34
|
+
this.displayedColumns = this.displayedColumns.filter(x => x !== 'actions');
|
|
35
|
+
}
|
|
36
|
+
this.filters.related_model_id = this.relatedModelId;
|
|
37
|
+
this.filters.model_type = this.modelType;
|
|
38
|
+
this.loadData();
|
|
39
|
+
}
|
|
40
|
+
async loadData() {
|
|
41
|
+
const result = await this.noteService.getNotes({ ...this.filters, page: this.page });
|
|
42
|
+
this.notes = this.notes.concat(result.data);
|
|
43
|
+
this.page = result.current_page;
|
|
44
|
+
this.lastPage = result.last_page;
|
|
45
|
+
}
|
|
46
|
+
addNote() {
|
|
47
|
+
const dialogRef = this.dialog.open(NoteFormComponent, {
|
|
48
|
+
width: "400px",
|
|
49
|
+
data: {
|
|
50
|
+
note: { related_model_id: this.relatedModelId, model_type: this.modelType },
|
|
51
|
+
labelText: this.labelText,
|
|
52
|
+
},
|
|
53
|
+
autoFocus: false
|
|
54
|
+
});
|
|
55
|
+
dialogRef.afterClosed().subscribe(result => {
|
|
56
|
+
if (result) {
|
|
57
|
+
this.resetScroll();
|
|
58
|
+
this.loadData();
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
editNote(note) {
|
|
63
|
+
const dialogRef = this.dialog.open(NoteFormComponent, {
|
|
64
|
+
width: "400px",
|
|
65
|
+
data: {
|
|
66
|
+
note: note,
|
|
67
|
+
update: true,
|
|
68
|
+
labelText: this.labelText
|
|
69
|
+
},
|
|
70
|
+
autoFocus: false
|
|
71
|
+
});
|
|
72
|
+
dialogRef.afterClosed().subscribe(result => {
|
|
73
|
+
if (result) {
|
|
74
|
+
this.resetScroll();
|
|
75
|
+
this.loadData();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
async deleteNote(note) {
|
|
80
|
+
const dialogRef = this.dialog.open(ActionPopupComponent, {
|
|
81
|
+
width: "400px",
|
|
82
|
+
data: {
|
|
83
|
+
title: `Delete ${this.labelText}`,
|
|
84
|
+
message: `Are you sure to delete?`
|
|
85
|
+
},
|
|
86
|
+
autoFocus: false
|
|
87
|
+
});
|
|
88
|
+
dialogRef.afterClosed().subscribe(async (result) => {
|
|
89
|
+
if (result) {
|
|
90
|
+
//Action confirmed
|
|
91
|
+
const result = await this.noteService.deleteNote(note);
|
|
92
|
+
this.notes = this.notes.filter((item) => item.id !== note.id);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
resetScroll() {
|
|
97
|
+
this.page = 1;
|
|
98
|
+
this.lastPage = 1;
|
|
99
|
+
this.notes = [];
|
|
100
|
+
}
|
|
101
|
+
onScroll() {
|
|
102
|
+
if (this.page < this.lastPage) {
|
|
103
|
+
this.page += 1;
|
|
104
|
+
this.loadData();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
commentAction(event) {
|
|
108
|
+
if (event.type === "save") {
|
|
109
|
+
if (event.value.id) {
|
|
110
|
+
this.editComment(event.value);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
this.addComment(event.value);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.deleteNote(event.value);
|
|
117
|
+
}
|
|
118
|
+
async editComment(comment) {
|
|
119
|
+
const result = await this.noteService.editNote(comment);
|
|
120
|
+
let index = this.notes.findIndex((x) => x.id === comment.id);
|
|
121
|
+
if (index !== -1) {
|
|
122
|
+
this.notes[index] = result.item;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
async addComment(comment) {
|
|
126
|
+
comment.related_model_id = this.relatedModelId;
|
|
127
|
+
comment.model_type = this.modelType;
|
|
128
|
+
const result = await this.noteService.addNote(comment);
|
|
129
|
+
this.notes.push(result.item);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
NoteListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NoteListComponent, deps: [{ token: i1.NoteService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
NoteListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NoteListComponent, selector: "app-note-list", inputs: { relatedModelId: "relatedModelId", modelType: "modelType", readonly: "readonly", labelText: "labelText", commentsView: "commentsView" }, ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"1.5rem\" class=\"m-4\" *ngIf=\"!commentsView\">\r\n\r\n <div fxLayout fxLayoutAlign=\"center center\" fxLayoutGap=\"1rem\">\r\n <h3 class=\"m-0 font-weight-bold mr-3\">{{labelText}}s</h3>\r\n <button class=\"d-print-none\" *ngIf=\"!readonly\" mat-raised-button color=\"primary\" type=\"button\" (click)=\"addNote()\">+\r\n Add</button>\r\n </div>\r\n\r\n <div class=\"w-100 scroll-container\" infiniteScroll [infiniteScrollDistance]=\"1\" [infiniteScrollThrottle]=\"50\"\r\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\r\n <table mat-table [dataSource]=\"notes\" class=\"w-100\" multiTemplateDataRows>\r\n\r\n <!-- Index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef> # </th>\r\n <td mat-cell *matCellDef=\"let note; let i = dataIndex\"> {{ i+1 }} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"note\">\r\n <th mat-header-cell *matHeaderCellDef> {{labelText}} </th>\r\n <td mat-cell *matCellDef=\"let note\">\r\n {{note?.note}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef class=\"d-print-none\"> Actions </th>\r\n <td mat-cell *matCellDef=\"let note\" class=\"d-print-none\">\r\n <button type=\"button\" mat-icon-button (click)=\"editNote(note)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"deleteNote(note)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n </div>\r\n\r\n</div>\r\n\r\n<div fxLayout=\"column\" fxLayoutGap=\"1.5rem\" *ngIf=\"commentsView\">\r\n <div fxLayout fxLayoutAlign=\"center center\" fxLayoutGap=\"1rem\">\r\n <h3 class=\"m-0 font-weight-bold mr-3\">{{labelText}}s</h3>\r\n </div>\r\n\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start\" fxFlex=\"100%\">\r\n <div class=\"w-100 scroll-container jumbotron\" infiniteScroll [infiniteScrollDistance]=\"1\"\r\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\r\n <app-comment-form [commentData]=\"comment\" (action)=\"commentAction($event)\" *ngFor=\"let comment of notes\">\r\n </app-comment-form>\r\n <app-comment-form (action)=\"commentAction($event)\"></app-comment-form>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".scroll-container{max-height:400px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i9.CommentFormComponent, selector: "app-comment-form", inputs: ["commentData"], outputs: ["action"] }] });
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NoteListComponent, decorators: [{
|
|
135
|
+
type: Component,
|
|
136
|
+
args: [{ selector: 'app-note-list', template: "<div fxLayout=\"column\" fxLayoutGap=\"1.5rem\" class=\"m-4\" *ngIf=\"!commentsView\">\r\n\r\n <div fxLayout fxLayoutAlign=\"center center\" fxLayoutGap=\"1rem\">\r\n <h3 class=\"m-0 font-weight-bold mr-3\">{{labelText}}s</h3>\r\n <button class=\"d-print-none\" *ngIf=\"!readonly\" mat-raised-button color=\"primary\" type=\"button\" (click)=\"addNote()\">+\r\n Add</button>\r\n </div>\r\n\r\n <div class=\"w-100 scroll-container\" infiniteScroll [infiniteScrollDistance]=\"1\" [infiniteScrollThrottle]=\"50\"\r\n (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\r\n <table mat-table [dataSource]=\"notes\" class=\"w-100\" multiTemplateDataRows>\r\n\r\n <!-- Index Column -->\r\n <ng-container matColumnDef=\"index\">\r\n <th mat-header-cell *matHeaderCellDef> # </th>\r\n <td mat-cell *matCellDef=\"let note; let i = dataIndex\"> {{ i+1 }} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"note\">\r\n <th mat-header-cell *matHeaderCellDef> {{labelText}} </th>\r\n <td mat-cell *matCellDef=\"let note\">\r\n {{note?.note}}\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"actions\">\r\n <th mat-header-cell *matHeaderCellDef class=\"d-print-none\"> Actions </th>\r\n <td mat-cell *matCellDef=\"let note\" class=\"d-print-none\">\r\n <button type=\"button\" mat-icon-button (click)=\"editNote(note)\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n <button type=\"button\" mat-icon-button (click)=\"deleteNote(note)\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n </div>\r\n\r\n</div>\r\n\r\n<div fxLayout=\"column\" fxLayoutGap=\"1.5rem\" *ngIf=\"commentsView\">\r\n <div fxLayout fxLayoutAlign=\"center center\" fxLayoutGap=\"1rem\">\r\n <h3 class=\"m-0 font-weight-bold mr-3\">{{labelText}}s</h3>\r\n </div>\r\n\r\n <div fxLayout=\"column\" fxLayoutAlign=\"start\" fxFlex=\"100%\">\r\n <div class=\"w-100 scroll-container jumbotron\" infiniteScroll [infiniteScrollDistance]=\"1\"\r\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" [scrollWindow]=\"false\">\r\n <app-comment-form [commentData]=\"comment\" (action)=\"commentAction($event)\" *ngFor=\"let comment of notes\">\r\n </app-comment-form>\r\n <app-comment-form (action)=\"commentAction($event)\"></app-comment-form>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".scroll-container{max-height:400px;overflow-y:auto}\n"] }]
|
|
137
|
+
}], ctorParameters: function () { return [{ type: i1.NoteService }, { type: i2.MatDialog }]; }, propDecorators: { relatedModelId: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], modelType: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], readonly: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], labelText: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], commentsView: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}] } });
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9ub3RlLWxpc3Qvbm90ZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9ub3RlLWxpc3Qvbm90ZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7OztBQVFqRixNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUFvQixXQUF3QixFQUNsQyxNQUFpQjtRQURQLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFoQmxCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUMzQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUV2QyxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBRWxCLHFCQUFnQixHQUFHO1lBQ2pCLE9BQU87WUFDUCxNQUFNO1lBQ04sU0FBUztTQUNWLENBQUM7UUFFRixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUtYLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLGlCQUFpQixDQUFDO0lBQzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1NBQzVFO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUVaLE1BQU0sTUFBTSxHQUFRLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNwRCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUMzRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUI7WUFDRCxTQUFTLEVBQUUsS0FBSztTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pDLElBQUksTUFBTSxFQUFFO2dCQUNWLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ2pCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVM7UUFDaEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDcEQsS0FBSyxFQUFFLE9BQU87WUFDZCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzFCO1lBQ0QsU0FBUyxFQUFFLEtBQUs7U0FDakIsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QyxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBUztRQUN4QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN2RCxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBZTtnQkFDakIsS0FBSyxFQUFFLFVBQVUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDakMsT0FBTyxFQUFFLHlCQUF5QjthQUNuQztZQUNELFNBQVMsRUFBRSxLQUFLO1NBQ2pCLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxFQUFFO1lBQy9DLElBQUksTUFBTSxFQUFFO2dCQUNWLGtCQUFrQjtnQkFFbEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFFcEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDekIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQVk7UUFDNUIsTUFBTSxNQUFNLEdBQVEsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FDOUIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FDaEMsQ0FBQztRQUNGLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQVk7UUFDM0IsT0FBTyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFRLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzhHQTdJVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1TUNaOUIscW5GQTBEQTsyRkQ5Q2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGVBQWU7MEhBTWhCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RlU2VydmljZSB9IGZyb20gJy4uL25vdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE5vdGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90ZS1mb3JtL25vdGUtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3Rpb25Qb3B1cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aW9uUG9wdXAgfSBmcm9tICcuLi8uLi9hY3Rpb24tcG9wdXAvYWN0aW9uLXBvcHVwLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW5vdGUtbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90ZS1saXN0LmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTm90ZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSByZWxhdGVkTW9kZWxJZCAhOiBhbnk7XHJcbiAgQElucHV0KCkgbW9kZWxUeXBlICE6IGFueTtcclxuICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dDogc3RyaW5nID0gJ05vdGUnO1xyXG4gIEBJbnB1dCgpIGNvbW1lbnRzVmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBub3RlczogYW55W10gPSBbXTtcclxuICBmaWx0ZXJzOiBhbnk7XHJcbiAgZGlzcGxheWVkQ29sdW1ucyA9IFtcclxuICAgICdpbmRleCcsXHJcbiAgICAnbm90ZScsXHJcbiAgICAnYWN0aW9ucydcclxuICBdO1xyXG5cclxuICBwYWdlID0gMTtcclxuICBsYXN0UGFnZSA9IDE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90ZVNlcnZpY2U6IE5vdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZ1xyXG4gICkge1xyXG4gICAgdGhpcy5maWx0ZXJzID0ge307XHJcbiAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9IFwiY3JlYXRlZF9hdHxERVNDXCI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5maWx0ZXIoeCA9PiB4ICE9PSAnYWN0aW9ucycpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWx0ZXJzLnJlbGF0ZWRfbW9kZWxfaWQgPSB0aGlzLnJlbGF0ZWRNb2RlbElkO1xyXG4gICAgdGhpcy5maWx0ZXJzLm1vZGVsX3R5cGUgPSB0aGlzLm1vZGVsVHlwZTtcclxuICAgIHRoaXMubG9hZERhdGEoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGxvYWREYXRhKCkge1xyXG5cclxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgdGhpcy5ub3RlU2VydmljZS5nZXROb3Rlcyh7IC4uLnRoaXMuZmlsdGVycywgcGFnZTogdGhpcy5wYWdlIH0pO1xyXG4gICAgdGhpcy5ub3RlcyA9IHRoaXMubm90ZXMuY29uY2F0KHJlc3VsdC5kYXRhKTtcclxuICAgIHRoaXMucGFnZSA9IHJlc3VsdC5jdXJyZW50X3BhZ2U7XHJcbiAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZTtcclxuICB9XHJcblxyXG4gIGFkZE5vdGUoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE5vdGVGb3JtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBub3RlOiB7IHJlbGF0ZWRfbW9kZWxfaWQ6IHRoaXMucmVsYXRlZE1vZGVsSWQsIG1vZGVsX3R5cGU6IHRoaXMubW9kZWxUeXBlIH0sXHJcbiAgICAgICAgbGFiZWxUZXh0OiB0aGlzLmxhYmVsVGV4dCxcclxuICAgICAgfSxcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLnJlc2V0U2Nyb2xsKCk7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVkaXROb3RlKG5vdGU6IGFueSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihOb3RlRm9ybUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI0MDBweFwiLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbm90ZTogbm90ZSxcclxuICAgICAgICB1cGRhdGU6IHRydWUsXHJcbiAgICAgICAgbGFiZWxUZXh0OiB0aGlzLmxhYmVsVGV4dFxyXG4gICAgICB9LFxyXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMucmVzZXRTY3JvbGwoKTtcclxuICAgICAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlTm90ZShub3RlOiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aW9uUG9wdXBDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IFwiNDAwcHhcIixcclxuICAgICAgZGF0YTogPEFjdGlvblBvcHVwPntcclxuICAgICAgICB0aXRsZTogYERlbGV0ZSAke3RoaXMubGFiZWxUZXh0fWAsXHJcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB0byBkZWxldGU/YFxyXG4gICAgICB9LFxyXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgcmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIC8vQWN0aW9uIGNvbmZpcm1lZFxyXG5cclxuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLm5vdGVTZXJ2aWNlLmRlbGV0ZU5vdGUobm90ZSk7XHJcbiAgICAgICAgdGhpcy5ub3RlcyA9IHRoaXMubm90ZXMuZmlsdGVyKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQgIT09IG5vdGUuaWQpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZXNldFNjcm9sbCgpIHtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLmxhc3RQYWdlID0gMTtcclxuICAgIHRoaXMubm90ZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIG9uU2Nyb2xsKCkge1xyXG4gICAgaWYgKHRoaXMucGFnZSA8IHRoaXMubGFzdFBhZ2UpIHtcclxuICAgICAgdGhpcy5wYWdlICs9IDE7XHJcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbW1lbnRBY3Rpb24oZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09IFwic2F2ZVwiKSB7XHJcbiAgICAgIGlmIChldmVudC52YWx1ZS5pZCkge1xyXG4gICAgICAgIHRoaXMuZWRpdENvbW1lbnQoZXZlbnQudmFsdWUpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZENvbW1lbnQoZXZlbnQudmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlbGV0ZU5vdGUoZXZlbnQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZWRpdENvbW1lbnQoY29tbWVudDogYW55KSB7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHRoaXMubm90ZVNlcnZpY2UuZWRpdE5vdGUoY29tbWVudCk7XHJcbiAgICBsZXQgaW5kZXggPSB0aGlzLm5vdGVzLmZpbmRJbmRleChcclxuICAgICAgKHg6IGFueSkgPT4geC5pZCA9PT0gY29tbWVudC5pZFxyXG4gICAgKTtcclxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgdGhpcy5ub3Rlc1tpbmRleF0gPSByZXN1bHQuaXRlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZENvbW1lbnQoY29tbWVudDogYW55KSB7XHJcbiAgICBjb21tZW50LnJlbGF0ZWRfbW9kZWxfaWQgPSB0aGlzLnJlbGF0ZWRNb2RlbElkO1xyXG4gICAgY29tbWVudC5tb2RlbF90eXBlID0gdGhpcy5tb2RlbFR5cGU7XHJcbiAgICBjb25zdCByZXN1bHQ6IGFueSA9IGF3YWl0IHRoaXMubm90ZVNlcnZpY2UuYWRkTm90ZShjb21tZW50KTtcclxuICAgIHRoaXMubm90ZXMucHVzaChyZXN1bHQuaXRlbSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxLjVyZW1cIiBjbGFzcz1cIm0tNFwiICpuZ0lmPVwiIWNvbW1lbnRzVmlld1wiPlxyXG5cclxuICA8ZGl2IGZ4TGF5b3V0IGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcbiAgICA8aDMgY2xhc3M9XCJtLTAgZm9udC13ZWlnaHQtYm9sZCBtci0zXCI+e3tsYWJlbFRleHR9fXM8L2gzPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImQtcHJpbnQtbm9uZVwiICpuZ0lmPVwiIXJlYWRvbmx5XCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhZGROb3RlKClcIj4rXHJcbiAgICAgIEFkZDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidy0xMDAgc2Nyb2xsLWNvbnRhaW5lclwiIGluZmluaXRlU2Nyb2xsIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjFcIiBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiXHJcbiAgICAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIj5cclxuICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwibm90ZXNcIiBjbGFzcz1cInctMTAwXCIgbXVsdGlUZW1wbGF0ZURhdGFSb3dzPlxyXG5cclxuICAgICAgPCEtLSBJbmRleCBDb2x1bW4gLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IG5vdGU7IGxldCBpID0gZGF0YUluZGV4XCI+IHt7IGkrMSB9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5vdGVcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiB7e2xhYmVsVGV4dH19IDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IG5vdGVcIj5cclxuICAgICAgICAgIHt7bm90ZT8ubm90ZX19XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvbnNcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZC1wcmludC1ub25lXCI+IEFjdGlvbnMgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgbm90ZVwiIGNsYXNzPVwiZC1wcmludC1ub25lXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXROb3RlKG5vdGUpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkZWxldGVOb3RlKG5vdGUpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxLjVyZW1cIiAqbmdJZj1cImNvbW1lbnRzVmlld1wiPlxyXG4gIDxkaXYgZnhMYXlvdXQgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIiBmeExheW91dEdhcD1cIjFyZW1cIj5cclxuICAgIDxoMyBjbGFzcz1cIm0tMCBmb250LXdlaWdodC1ib2xkIG1yLTNcIj57e2xhYmVsVGV4dH19czwvaDM+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEFsaWduPVwic3RhcnRcIiBmeEZsZXg9XCIxMDAlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidy0xMDAgc2Nyb2xsLWNvbnRhaW5lciBqdW1ib3Ryb25cIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIxXCJcclxuICAgICAgW2luZmluaXRlU2Nyb2xsVGhyb3R0bGVdPVwiNTBcIiAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiIFtzY3JvbGxXaW5kb3ddPVwiZmFsc2VcIj5cclxuICAgICAgPGFwcC1jb21tZW50LWZvcm0gW2NvbW1lbnREYXRhXT1cImNvbW1lbnRcIiAoYWN0aW9uKT1cImNvbW1lbnRBY3Rpb24oJGV2ZW50KVwiICpuZ0Zvcj1cImxldCBjb21tZW50IG9mIG5vdGVzXCI+XHJcbiAgICAgIDwvYXBwLWNvbW1lbnQtZm9ybT5cclxuICAgICAgPGFwcC1jb21tZW50LWZvcm0gKGFjdGlvbik9XCJjb21tZW50QWN0aW9uKCRldmVudClcIj48L2FwcC1jb21tZW50LWZvcm0+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|