ngx-techlify-core 11.4.8 → 11.5.2
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/karma.conf.js +44 -0
- package/ng-package.json +27 -0
- package/package.json +29 -37
- package/src/lib/action-popup/action-popup.component.html +21 -0
- package/src/lib/action-popup/action-popup.component.scss +0 -0
- package/src/lib/action-popup/action-popup.component.spec.ts +25 -0
- package/src/lib/action-popup/action-popup.component.ts +31 -0
- package/{lib/action-popup/action-popup.model.d.ts → src/lib/action-popup/action-popup.model.ts} +2 -2
- package/src/lib/action-popup/action-popup.module.ts +23 -0
- package/{lib/action-popup/index.d.ts → src/lib/action-popup/index.ts} +1 -1
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +9 -0
- 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 +25 -0
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +49 -0
- package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +24 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +92 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +21 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +25 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +138 -0
- package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +28 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +49 -0
- 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 +26 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +74 -0
- package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +24 -0
- package/src/lib/audit-log/audit-log-routing.module.ts +18 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +46 -0
- 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 +25 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +54 -0
- package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +20 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +38 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +4 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +25 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +53 -0
- package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +20 -0
- package/src/lib/audit-log/audit-log.module.ts +20 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +10 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +4 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +4 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +25 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +28 -0
- package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +20 -0
- package/src/lib/base-model/index.ts +3 -0
- package/src/lib/base-model/techlify-form-component.class.ts +60 -0
- package/src/lib/base-model/techlify-listing-component.class.ts +67 -0
- package/src/lib/base-model/techlify-service.class.ts +73 -0
- package/src/lib/core/alert.service.ts +32 -0
- package/src/lib/core/api-prefix.interceptor.ts +22 -0
- package/src/lib/core/authentication.guard.ts +34 -0
- package/src/lib/core/authentication.service.ts +53 -0
- package/src/lib/core/cache.interceptor.ts +59 -0
- package/src/lib/core/config.service.ts +52 -0
- package/src/lib/core/core.module.ts +44 -0
- package/src/lib/core/credentials.service.ts +91 -0
- package/{lib/core/dataManager.service.d.ts → src/lib/core/dataManager.service.ts} +76 -22
- package/src/lib/core/error-handler.interceptor.ts +43 -0
- package/src/lib/core/error-handler.service.ts +61 -0
- package/src/lib/core/filter.service.ts +42 -0
- package/src/lib/core/form-validator.service.ts +23 -0
- package/src/lib/core/header.interceptor.ts +22 -0
- package/src/lib/core/http-cache.service.ts +122 -0
- package/src/lib/core/http.service.ts +137 -0
- package/{lib/core/index.d.ts → src/lib/core/index.ts} +2 -0
- package/src/lib/core/logger.service.ts +113 -0
- package/src/lib/core/route-reusable-strategy.ts +36 -0
- package/src/lib/core/snack/error-snack.html +8 -0
- package/src/lib/core/snack/snack.component.ts +19 -0
- package/src/lib/core/snack/snack.module.ts +22 -0
- package/src/lib/core/snack/snack.scss +18 -0
- package/src/lib/core/snack/success-snack.html +8 -0
- package/src/lib/core/storage.service.ts +38 -0
- package/src/lib/core/techlify-config.model.ts +32 -0
- package/src/lib/core/token.interceptor.ts +25 -0
- package/src/lib/data-table/data-table.component.html +139 -0
- package/src/lib/data-table/data-table.component.scss +54 -0
- package/src/lib/data-table/data-table.component.spec.ts +25 -0
- package/src/lib/data-table/data-table.component.ts +232 -0
- package/{lib/data-table/data-table.model.d.ts → src/lib/data-table/data-table.model.ts} +9 -6
- package/src/lib/data-table/data-table.module.ts +23 -0
- package/{lib/data-table/index.d.ts → src/lib/data-table/index.ts} +1 -1
- package/src/lib/date-validator.ts +12 -0
- package/src/lib/document-viewer/document-viewer.component.css +5 -0
- package/src/lib/document-viewer/document-viewer.component.html +19 -0
- package/src/lib/document-viewer/document-viewer.component.ts +66 -0
- package/src/lib/document-viewer/document-viewer.module.ts +22 -0
- package/{lib/document-viewer/index.d.ts → src/lib/document-viewer/index.ts} +1 -1
- package/src/lib/document-viewer/viewer-config.model.ts +5 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +25 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +23 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +4 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +25 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +74 -0
- package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +22 -0
- package/{lib/email-subscription/email-subscription-for-user/index.d.ts → src/lib/email-subscription/email-subscription-for-user/index.ts} +0 -0
- package/src/lib/email-subscription/email-subscription-routing.module.ts +10 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +10 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +47 -0
- 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 +25 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +113 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +28 -0
- package/{lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts → src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts} +0 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +29 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +76 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +4 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +25 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +170 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +26 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +1 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +11 -0
- package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +14 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +10 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +38 -0
- 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 +25 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +113 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +26 -0
- package/{lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts} +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +27 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +74 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +5 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +25 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +174 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +28 -0
- package/{lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts} +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +10 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +21 -0
- 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 +25 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +56 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +24 -0
- package/{lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts} +0 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +11 -0
- package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +14 -0
- package/src/lib/email-subscription/email-subscription.module.ts +15 -0
- 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 +45 -0
- package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +172 -0
- package/src/lib/entity-files/entity-file.service.ts +46 -0
- package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
- package/src/lib/entity-files/entity-files-view-all.component.html +236 -0
- package/src/lib/entity-files/entity-files-view-all.component.ts +325 -0
- package/src/lib/entity-files/entity-files-view-all.module.ts +38 -0
- package/src/lib/entity-files/index.ts +2 -0
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +1 -0
- 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 +25 -0
- package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +31 -0
- package/src/lib/export-excel/export-excel.module.ts +16 -0
- package/src/lib/file-dropper/file-dropper.component.html +41 -0
- package/src/lib/file-dropper/file-dropper.component.scss +8 -0
- package/src/lib/file-dropper/file-dropper.component.ts +139 -0
- package/src/lib/file-dropper/file-dropper.model.ts +10 -0
- package/src/lib/file-dropper/file-dropper.module.ts +18 -0
- package/{lib/file-dropper/index.d.ts → src/lib/file-dropper/index.ts} +1 -1
- package/src/lib/import-csv/data-import/data-import.component.html +11 -0
- 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 +28 -0
- package/src/lib/import-csv/data-import/data-import.component.ts +16 -0
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +61 -0
- 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 +28 -0
- package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +30 -0
- package/src/lib/import-csv/field-mapping/field-mapping.component.html +70 -0
- package/src/lib/import-csv/field-mapping/field-mapping.component.scss +15 -0
- package/src/lib/import-csv/field-mapping/field-mapping.component.ts +161 -0
- package/src/lib/import-csv/import-csv-config.ts +17 -0
- package/src/lib/import-csv/import-csv.component.html +71 -0
- package/src/lib/import-csv/import-csv.component.scss +15 -0
- package/src/lib/import-csv/import-csv.component.spec.ts +28 -0
- package/src/lib/import-csv/import-csv.component.ts +198 -0
- package/src/lib/import-csv/import-csv.module.ts +43 -0
- package/src/lib/import-csv/import-history-list/import-history-list.component.html +43 -0
- 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 +28 -0
- package/src/lib/import-csv/import-history-list/import-history-list.component.ts +74 -0
- package/src/lib/import-csv/import-success/import-success.component.html +22 -0
- 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 +28 -0
- package/src/lib/import-csv/import-success/import-success.component.ts +17 -0
- package/{lib/loader/index.d.ts → src/lib/loader/index.ts} +0 -0
- package/src/lib/loader/loader.component.html +4 -0
- package/src/lib/loader/loader.component.scss +8 -0
- package/src/lib/loader/loader.component.spec.ts +73 -0
- package/src/lib/loader/loader.component.ts +18 -0
- package/src/lib/loader/loader.module.ts +18 -0
- package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +18 -0
- package/src/lib/login-history-for-user/login-history-for-user.component.html +31 -0
- package/src/lib/login-history-for-user/login-history-for-user.component.scss +4 -0
- package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +25 -0
- package/src/lib/login-history-for-user/login-history-for-user.component.ts +94 -0
- package/src/lib/login-history-for-user/login-history-for-user.module.ts +26 -0
- package/src/lib/material.module.ts +68 -0
- package/src/lib/note/comment-form/comment-form.component.html +45 -0
- package/src/lib/note/comment-form/comment-form.component.scss +7 -0
- package/src/lib/note/comment-form/comment-form.component.spec.ts +24 -0
- package/src/lib/note/comment-form/comment-form.component.ts +84 -0
- package/{lib/note/index.d.ts → src/lib/note/index.ts} +0 -0
- package/src/lib/note/note-form/note-form.component.css +0 -0
- package/src/lib/note/note-form/note-form.component.html +26 -0
- package/src/lib/note/note-form/note-form.component.spec.ts +25 -0
- package/src/lib/note/note-form/note-form.component.ts +93 -0
- package/src/lib/note/note-list/note-list.component.css +4 -0
- package/src/lib/note/note-list/note-list.component.html +58 -0
- package/src/lib/note/note-list/note-list.component.spec.ts +25 -0
- package/src/lib/note/note-list/note-list.component.ts +156 -0
- package/src/lib/note/note.module.ts +33 -0
- package/src/lib/note/note.service.spec.ts +16 -0
- package/src/lib/note/note.service.ts +26 -0
- package/src/lib/read-more/read-more.component.html +3 -0
- package/src/lib/read-more/read-more.component.scss +8 -0
- package/src/lib/read-more/read-more.component.spec.ts +24 -0
- package/src/lib/read-more/read-more.component.ts +41 -0
- package/src/lib/read-more/read-more.module.ts +18 -0
- package/src/lib/request-helper/request-helper.service.ts +92 -0
- package/src/lib/searchable-selector/index.ts +2 -0
- package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +89 -0
- package/src/lib/searchable-selector/searchable-selector.component.html +21 -0
- package/src/lib/searchable-selector/searchable-selector.component.scss +8 -0
- package/src/lib/searchable-selector/searchable-selector.component.spec.ts +25 -0
- package/src/lib/searchable-selector/searchable-selector.component.ts +337 -0
- package/src/lib/searchable-selector/searchable-selector.module.ts +25 -0
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +4 -0
- 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 +28 -0
- package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +25 -0
- package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +71 -0
- package/src/lib/techlify-feature/techlify-feature-listing.component.html +65 -0
- package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
- package/src/lib/techlify-feature/techlify-feature-listing.component.ts +174 -0
- package/src/lib/techlify-feature/techlify-feature.module.ts +28 -0
- package/src/lib/techlify-feature/techlify-feature.routing.ts +13 -0
- package/src/lib/techlify-feature/techlify-feature.service.ts +23 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +25 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +18 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +6 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +25 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +308 -0
- package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +24 -0
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +8 -0
- 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 +25 -0
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +180 -0
- package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +28 -0
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +78 -0
- 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 +25 -0
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +113 -0
- package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +25 -0
- package/src/lib/techlify-update/techlify-update-history/index.ts +1 -0
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +21 -0
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +94 -0
- 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 +142 -0
- package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +25 -0
- package/src/lib/techlify-update/techlify-update-routing.module.ts +21 -0
- package/src/lib/techlify-update/techlify-update.module.ts +27 -0
- package/src/lib/techlify-update/techlify-update.service.spec.ts +16 -0
- package/src/lib/techlify-update/techlify-update.service.ts +42 -0
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +104 -0
- 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 +25 -0
- package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +167 -0
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +39 -0
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +57 -0
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +25 -0
- package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +76 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +3 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +25 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +56 -0
- package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +27 -0
- package/src/lib/techlify-update/update-view/update-view.component.html +63 -0
- package/src/lib/techlify-update/update-view/update-view.component.scss +19 -0
- package/src/lib/techlify-update/update-view/update-view.component.spec.ts +25 -0
- package/src/lib/techlify-update/update-view/update-view.component.ts +36 -0
- package/src/lib/techlify-update/update-view/update-view.module.ts +23 -0
- package/src/lib/timeline-filter/README.md +60 -0
- package/src/lib/timeline-filter/calculate-timeline.ts +109 -0
- package/{lib/timeline-filter/index.d.ts → src/lib/timeline-filter/index.ts} +1 -1
- package/src/lib/timeline-filter/timeline-filter-routing.module.ts +10 -0
- package/src/lib/timeline-filter/timeline-filter.component.html +54 -0
- package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
- package/src/lib/timeline-filter/timeline-filter.component.spec.ts +25 -0
- package/src/lib/timeline-filter/timeline-filter.component.ts +220 -0
- package/src/lib/timeline-filter/timeline-filter.module.ts +22 -0
- package/src/lib/timeline-filter/timeline.model.ts +17 -0
- package/src/lib/utility/date-utils.service.ts +51 -0
- package/{lib/utility/index.d.ts → src/lib/utility/index.ts} +1 -1
- package/src/lib/utility/num-items-selector.component.ts +29 -0
- package/src/lib/utility/num-items-selector.html +13 -0
- package/src/lib/utility/number-selector.component.ts +38 -0
- package/src/lib/utility/number-selector.html +6 -0
- package/src/lib/utility/utility.module.ts +20 -0
- package/{public-api.d.ts → src/public-api.ts} +31 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +26 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/tslint.json +17 -0
- package/bundles/ngx-techlify-core.umd.js +0 -8325
- package/bundles/ngx-techlify-core.umd.js.map +0 -1
- package/bundles/ngx-techlify-core.umd.min.js +0 -2
- package/bundles/ngx-techlify-core.umd.min.js.map +0 -1
- package/esm2015/lib/action-popup/action-popup.component.js +0 -32
- package/esm2015/lib/action-popup/action-popup.model.js +0 -3
- package/esm2015/lib/action-popup/action-popup.module.js +0 -26
- package/esm2015/lib/action-popup/index.js +0 -3
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +0 -49
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +0 -25
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +0 -132
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +0 -29
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +0 -67
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +0 -25
- package/esm2015/lib/audit-log/audit-log-routing.module.js +0 -19
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +0 -60
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +0 -21
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +0 -57
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +0 -21
- package/esm2015/lib/audit-log/audit-log.module.js +0 -20
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +0 -12
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +0 -35
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +0 -21
- package/esm2015/lib/base-model/index.js +0 -4
- package/esm2015/lib/base-model/techlify-form-component.class.js +0 -51
- package/esm2015/lib/base-model/techlify-listing-component.class.js +0 -41
- package/esm2015/lib/base-model/techlify-service.class.js +0 -64
- package/esm2015/lib/core/alert.service.js +0 -40
- package/esm2015/lib/core/api-prefix.interceptor.js +0 -28
- package/esm2015/lib/core/authentication.guard.js +0 -39
- package/esm2015/lib/core/authentication.service.js +0 -59
- package/esm2015/lib/core/cache.interceptor.js +0 -60
- package/esm2015/lib/core/config.service.js +0 -47
- package/esm2015/lib/core/core.module.js +0 -42
- package/esm2015/lib/core/credentials.service.js +0 -84
- package/esm2015/lib/core/dataManager.service.js +0 -121
- package/esm2015/lib/core/error-handler.interceptor.js +0 -53
- package/esm2015/lib/core/error-handler.service.js +0 -60
- package/esm2015/lib/core/form-validator.service.js +0 -23
- package/esm2015/lib/core/header.interceptor.js +0 -22
- package/esm2015/lib/core/http-cache.service.js +0 -110
- package/esm2015/lib/core/http.service.js +0 -82
- package/esm2015/lib/core/index.js +0 -21
- package/esm2015/lib/core/logger.service.js +0 -100
- package/esm2015/lib/core/route-reusable-strategy.js +0 -35
- package/esm2015/lib/core/snack/snack.component.js +0 -33
- package/esm2015/lib/core/snack/snack.module.js +0 -25
- package/esm2015/lib/core/storage.service.js +0 -37
- package/esm2015/lib/core/techlify-config.model.js +0 -28
- package/esm2015/lib/core/token.interceptor.js +0 -30
- package/esm2015/lib/data-table/data-table.component.js +0 -190
- package/esm2015/lib/data-table/data-table.model.js +0 -11
- package/esm2015/lib/data-table/data-table.module.js +0 -25
- package/esm2015/lib/data-table/index.js +0 -3
- package/esm2015/lib/date-validator.js +0 -10
- package/esm2015/lib/document-viewer/document-viewer.component.js +0 -58
- package/esm2015/lib/document-viewer/document-viewer.module.js +0 -25
- package/esm2015/lib/document-viewer/index.js +0 -3
- package/esm2015/lib/document-viewer/viewer-config.model.js +0 -3
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +0 -26
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +0 -72
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +0 -23
- package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +0 -102
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +0 -28
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +0 -28
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +0 -153
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +0 -27
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +0 -15
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +0 -99
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +0 -27
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +0 -28
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +0 -155
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +0 -29
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +0 -50
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +0 -25
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +0 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +0 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +0 -15
- package/esm2015/lib/email-subscription/email-subscription.module.js +0 -15
- package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +0 -138
- package/esm2015/lib/entity-files/entity-file.service.js +0 -42
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +0 -208
- package/esm2015/lib/entity-files/entity-files-view-all.module.js +0 -34
- package/esm2015/lib/entity-files/index.js +0 -3
- package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +0 -32
- package/esm2015/lib/export-excel/export-excel.module.js +0 -17
- package/esm2015/lib/file-dropper/file-dropper.component.js +0 -122
- package/esm2015/lib/file-dropper/file-dropper.model.js +0 -3
- package/esm2015/lib/file-dropper/file-dropper.module.js +0 -21
- package/esm2015/lib/file-dropper/index.js +0 -3
- package/esm2015/lib/import-csv/data-import/data-import.component.js +0 -18
- package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +0 -33
- package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +0 -148
- package/esm2015/lib/import-csv/import-csv-config.js +0 -2
- package/esm2015/lib/import-csv/import-csv.component.js +0 -196
- package/esm2015/lib/import-csv/import-csv.module.js +0 -46
- package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +0 -71
- package/esm2015/lib/import-csv/import-success/import-success.component.js +0 -19
- package/esm2015/lib/loader/index.js +0 -2
- package/esm2015/lib/loader/loader.component.js +0 -22
- package/esm2015/lib/loader/loader.module.js +0 -21
- package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +0 -20
- package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +0 -88
- package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +0 -27
- package/esm2015/lib/material.module.js +0 -60
- package/esm2015/lib/note/comment-form/comment-form.component.js +0 -73
- package/esm2015/lib/note/index.js +0 -4
- package/esm2015/lib/note/note-form/note-form.component.js +0 -81
- package/esm2015/lib/note/note-list/note-list.component.js +0 -151
- package/esm2015/lib/note/note.module.js +0 -36
- package/esm2015/lib/note/note.service.js +0 -31
- package/esm2015/lib/read-more/read-more.component.js +0 -43
- package/esm2015/lib/read-more/read-more.module.js +0 -21
- package/esm2015/lib/searchable-selector/index.js +0 -3
- package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +0 -81
- package/esm2015/lib/searchable-selector/searchable-selector.component.js +0 -307
- package/esm2015/lib/searchable-selector/searchable-selector.module.js +0 -28
- package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +0 -27
- package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +0 -78
- package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +0 -177
- package/esm2015/lib/techlify-feature/techlify-feature.module.js +0 -30
- package/esm2015/lib/techlify-feature/techlify-feature.routing.js +0 -12
- package/esm2015/lib/techlify-feature/techlify-feature.service.js +0 -28
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +0 -15
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +0 -269
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +0 -25
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +0 -168
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +0 -29
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +0 -114
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +0 -28
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +0 -22
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +0 -143
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +0 -28
- package/esm2015/lib/techlify-update/techlify-update-routing.module.js +0 -22
- package/esm2015/lib/techlify-update/techlify-update.module.js +0 -30
- package/esm2015/lib/techlify-update/techlify-update.service.js +0 -43
- package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +0 -161
- package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +0 -82
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +0 -62
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +0 -29
- package/esm2015/lib/techlify-update/update-view/update-view.component.js +0 -36
- package/esm2015/lib/techlify-update/update-view/update-view.module.js +0 -24
- package/esm2015/lib/timeline-filter/calculate-timeline.js +0 -102
- package/esm2015/lib/timeline-filter/index.js +0 -4
- package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +0 -12
- package/esm2015/lib/timeline-filter/timeline-filter.component.js +0 -213
- package/esm2015/lib/timeline-filter/timeline-filter.module.js +0 -23
- package/esm2015/lib/timeline-filter/timeline.model.js +0 -18
- package/esm2015/lib/utility/date-utils.service.js +0 -48
- package/esm2015/lib/utility/index.js +0 -4
- package/esm2015/lib/utility/num-items-selector.component.js +0 -30
- package/esm2015/lib/utility/number-selector.component.js +0 -38
- package/esm2015/lib/utility/utility.module.js +0 -21
- package/esm2015/ngx-techlify-core.js +0 -60
- package/esm2015/public-api.js +0 -96
- package/fesm2015/ngx-techlify-core.js +0 -7039
- package/fesm2015/ngx-techlify-core.js.map +0 -1
- package/lib/action-popup/action-popup.component.d.ts +0 -14
- package/lib/action-popup/action-popup.module.d.ts +0 -2
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -12
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -2
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -32
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -2
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -19
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -2
- package/lib/audit-log/audit-log-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -17
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -2
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -15
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -2
- package/lib/audit-log/audit-log.module.d.ts +0 -2
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -2
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -11
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -2
- package/lib/base-model/index.d.ts +0 -3
- package/lib/base-model/techlify-form-component.class.d.ts +0 -43
- package/lib/base-model/techlify-listing-component.class.d.ts +0 -47
- package/lib/base-model/techlify-service.class.d.ts +0 -52
- package/lib/core/alert.service.d.ts +0 -12
- package/lib/core/api-prefix.interceptor.d.ts +0 -11
- package/lib/core/authentication.guard.d.ts +0 -10
- package/lib/core/authentication.service.d.ts +0 -23
- package/lib/core/cache.interceptor.d.ts +0 -21
- package/lib/core/config.service.d.ts +0 -19
- package/lib/core/core.module.d.ts +0 -3
- package/lib/core/credentials.service.d.ts +0 -36
- package/lib/core/error-handler.interceptor.d.ts +0 -14
- package/lib/core/error-handler.service.d.ts +0 -14
- package/lib/core/form-validator.service.d.ts +0 -8
- package/lib/core/header.interceptor.d.ts +0 -8
- package/lib/core/http-cache.service.d.ts +0 -54
- package/lib/core/http.service.d.ts +0 -56
- package/lib/core/logger.service.d.ts +0 -85
- package/lib/core/route-reusable-strategy.d.ts +0 -13
- package/lib/core/snack/snack.component.d.ts +0 -8
- package/lib/core/snack/snack.module.d.ts +0 -2
- package/lib/core/storage.service.d.ts +0 -15
- package/lib/core/techlify-config.model.d.ts +0 -18
- package/lib/core/token.interceptor.d.ts +0 -11
- package/lib/data-table/data-table.component.d.ts +0 -60
- package/lib/data-table/data-table.module.d.ts +0 -2
- package/lib/date-validator.d.ts +0 -1
- package/lib/document-viewer/document-viewer.component.d.ts +0 -16
- package/lib/document-viewer/document-viewer.module.d.ts +0 -2
- package/lib/document-viewer/viewer-config.model.d.ts +0 -5
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -7
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -17
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -32
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -9
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -30
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -32
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -9
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -32
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -13
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -2
- package/lib/email-subscription/email-subscription.module.d.ts +0 -2
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -34
- package/lib/entity-files/entity-file.service.d.ts +0 -10
- package/lib/entity-files/entity-files-view-all.component.d.ts +0 -45
- package/lib/entity-files/entity-files-view-all.module.d.ts +0 -2
- package/lib/entity-files/index.d.ts +0 -2
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -8
- package/lib/export-excel/export-excel.module.d.ts +0 -2
- package/lib/file-dropper/file-dropper.component.d.ts +0 -33
- package/lib/file-dropper/file-dropper.model.d.ts +0 -10
- package/lib/file-dropper/file-dropper.module.d.ts +0 -2
- package/lib/import-csv/data-import/data-import.component.d.ts +0 -6
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -12
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -34
- package/lib/import-csv/import-csv-config.d.ts +0 -17
- package/lib/import-csv/import-csv.component.d.ts +0 -33
- package/lib/import-csv/import-csv.module.d.ts +0 -2
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -21
- package/lib/import-csv/import-success/import-success.component.d.ts +0 -8
- package/lib/loader/loader.component.d.ts +0 -8
- package/lib/loader/loader.module.d.ts +0 -2
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -2
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -23
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -2
- package/lib/material.module.d.ts +0 -2
- package/lib/note/comment-form/comment-form.component.d.ts +0 -22
- package/lib/note/note-form/note-form.component.d.ts +0 -27
- package/lib/note/note-list/note-list.component.d.ts +0 -28
- package/lib/note/note.module.d.ts +0 -2
- package/lib/note/note.service.d.ts +0 -9
- package/lib/read-more/read-more.component.d.ts +0 -12
- package/lib/read-more/read-more.module.d.ts +0 -2
- package/lib/searchable-selector/index.d.ts +0 -2
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +0 -23
- package/lib/searchable-selector/searchable-selector.component.d.ts +0 -81
- package/lib/searchable-selector/searchable-selector.module.d.ts +0 -2
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -9
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -17
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -37
- package/lib/techlify-feature/techlify-feature.module.d.ts +0 -2
- package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
- package/lib/techlify-feature/techlify-feature.service.d.ts +0 -8
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -76
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -2
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -58
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -30
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -31
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update.module.d.ts +0 -2
- package/lib/techlify-update/techlify-update.service.d.ts +0 -13
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -31
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -25
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -16
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -2
- package/lib/techlify-update/update-view/update-view.component.d.ts +0 -14
- package/lib/techlify-update/update-view/update-view.module.d.ts +0 -2
- package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -2
- package/lib/timeline-filter/timeline-filter.component.d.ts +0 -61
- package/lib/timeline-filter/timeline-filter.module.d.ts +0 -2
- package/lib/timeline-filter/timeline.model.d.ts +0 -17
- package/lib/utility/date-utils.service.d.ts +0 -21
- package/lib/utility/num-items-selector.component.d.ts +0 -16
- package/lib/utility/number-selector.component.d.ts +0 -20
- package/lib/utility/utility.module.d.ts +0 -2
- package/ngx-techlify-core.d.ts +0 -59
- package/ngx-techlify-core.metadata.json +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Component, OnInit, OnDestroy, Input, ViewChild } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { Router } from '@angular/router';
|
|
5
|
+
import { MatSort } from '@angular/material/sort';
|
|
6
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
7
|
+
import { PageEvent } from '../../data-table/data-table.model';
|
|
8
|
+
import { DataManager } from '../../core/dataManager.service';
|
|
9
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
10
|
+
|
|
11
|
+
@UntilDestroy()
|
|
12
|
+
@Component({
|
|
13
|
+
selector: 'app-audit-log-list',
|
|
14
|
+
templateUrl: './audit-log-list.component.html',
|
|
15
|
+
styleUrls: ['./audit-log-list.component.scss'],
|
|
16
|
+
})
|
|
17
|
+
export class AuditLogListComponent implements OnInit, OnDestroy {
|
|
18
|
+
|
|
19
|
+
auditLogList: any[] = [];
|
|
20
|
+
@Input() objectId: any;
|
|
21
|
+
@Input() objectType: any;
|
|
22
|
+
@Input() showFilter: boolean = true;
|
|
23
|
+
@Input() showExportButtons: boolean = true;
|
|
24
|
+
@Input() userId: any;
|
|
25
|
+
|
|
26
|
+
pageEvent: PageEvent = { page: 1, perPage: 25, lastPage: 1 };
|
|
27
|
+
filters: any = { sort_by: 'created_at|desc' };
|
|
28
|
+
displayedColumns: any[] = ['index', 'id', 'object_type', 'object_id', 'action', 'changes', 'created_at', 'user.email'];
|
|
29
|
+
|
|
30
|
+
@ViewChild(MatSort, { static: true }) sort: MatSort;
|
|
31
|
+
|
|
32
|
+
constructor(
|
|
33
|
+
private dataManager: DataManager,
|
|
34
|
+
private router: Router,
|
|
35
|
+
public sanitizer: DomSanitizer
|
|
36
|
+
) { }
|
|
37
|
+
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
|
|
40
|
+
this.initializeData();
|
|
41
|
+
|
|
42
|
+
if (this.sort) {
|
|
43
|
+
this.sort.sortChange.pipe(untilDestroyed(this))
|
|
44
|
+
.subscribe((value: any) => {
|
|
45
|
+
this.changeSort(value);
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
get excelData(): any[] {
|
|
52
|
+
if (this.auditLogList.length > 0) {
|
|
53
|
+
return this.auditLogList.map(item => {
|
|
54
|
+
return {
|
|
55
|
+
'Type': item?.object_type,
|
|
56
|
+
'Action': item?.action,
|
|
57
|
+
'Data': JSON.stringify(item?.data || {}),
|
|
58
|
+
'Object': JSON.stringify(item?.object || {}),
|
|
59
|
+
'Pre-Object': JSON.stringify(item?.pre_object || {}),
|
|
60
|
+
'Created At': new Date(item?.created_at).toDateString(),
|
|
61
|
+
'Created By': item?.user?.email
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
changeSort(event: any) {
|
|
69
|
+
if (event.direction) {
|
|
70
|
+
this.filters.sort_by = `${event.active}|${event.direction}`;
|
|
71
|
+
this.reload();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
logClicked(log: any) {
|
|
76
|
+
this.router.navigate(['/system/audit-logs/log-view', log.id]);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
async initializeData() {
|
|
81
|
+
if (this.objectType) {
|
|
82
|
+
this.filters = { ...this.filters, object_type: this.objectType }
|
|
83
|
+
}
|
|
84
|
+
if (this.objectId) {
|
|
85
|
+
this.filters = { ...this.filters, object_id: this.objectId }
|
|
86
|
+
}
|
|
87
|
+
if (this.userId) {
|
|
88
|
+
this.filters = { ...this.filters, user_id: this.userId }
|
|
89
|
+
}
|
|
90
|
+
const result = await this.dataManager.GET(`api/audit-logs`, { ...this.filters, ...this.pageEvent });
|
|
91
|
+
this.auditLogList = this.auditLogList.concat(result.data);
|
|
92
|
+
this.pageEvent.page = result.current_page;
|
|
93
|
+
this.pageEvent.lastPage = result.last_page;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
filterChange(event: any) {
|
|
97
|
+
if (this.showFilter) {
|
|
98
|
+
this.filters = {
|
|
99
|
+
...this.filters,
|
|
100
|
+
...event,
|
|
101
|
+
object_type: this.objectType || event?.object_type || '',
|
|
102
|
+
object_id: this.objectId || '',
|
|
103
|
+
};
|
|
104
|
+
this.reload();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
onScroll() {
|
|
109
|
+
if (this.pageEvent.lastPage > this.pageEvent.page) {
|
|
110
|
+
this.pageEvent.page += 1;
|
|
111
|
+
this.initializeData();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
reload() {
|
|
116
|
+
this.auditLogList = [];
|
|
117
|
+
this.pageEvent = { page: 1, perPage: 25, lastPage: 1 };
|
|
118
|
+
this.initializeData();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
getTransformedChanges(log: any) {
|
|
122
|
+
if (log?.data?.changes) {
|
|
123
|
+
const changes = Object.keys(log?.data?.changes) || [];
|
|
124
|
+
let value = '<div>';
|
|
125
|
+
changes.forEach((key: any) => {
|
|
126
|
+
const displayAttribute = (key as string).split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
|
|
127
|
+
value = `${value} <div><b>${displayAttribute}:</b> <span id="old-value">${log?.pre_object[key] ?? ''}</span><span id="new-value">${log?.object[key] ?? ''}</span></div>`;
|
|
128
|
+
});
|
|
129
|
+
value = `${value} </div>`;
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
return '';
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
ngOnDestroy() {
|
|
136
|
+
// Needed for automatic unsubscribe with untilDestroyed
|
|
137
|
+
}
|
|
138
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
|
|
4
|
+
import { AuditLogListRoutingModule } from './audit-log-list-routing.module';
|
|
5
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
6
|
+
import { AuditLogListComponent } from './audit-log-list.component';
|
|
7
|
+
import { AuditLogListFilterModule } from '../audit-log-list-filter/audit-log-list-filter.module';
|
|
8
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
9
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
10
|
+
import { ExportExcelModule } from '../../export-excel/export-excel.module';
|
|
11
|
+
import { MaterialModule } from '../../material.module';
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@NgModule({
|
|
15
|
+
declarations: [AuditLogListComponent],
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
AuditLogListRoutingModule,
|
|
19
|
+
ExportExcelModule,
|
|
20
|
+
FlexLayoutModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
MaterialModule,
|
|
23
|
+
InfiniteScrollModule,
|
|
24
|
+
AuditLogListFilterModule
|
|
25
|
+
],
|
|
26
|
+
exports: [AuditLogListComponent]
|
|
27
|
+
})
|
|
28
|
+
export class AuditLogListModule { }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { Routes, RouterModule } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
const routes: Routes = [];
|
|
5
|
+
|
|
6
|
+
@NgModule({
|
|
7
|
+
imports: [RouterModule.forChild(routes)],
|
|
8
|
+
exports: [RouterModule]
|
|
9
|
+
})
|
|
10
|
+
export class AuditLogListFilterRoutingModule { }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<form [formGroup]="auditLogFilterForm" fxLayout="row wrap" fxLayoutGap="1rem" fxLayoutAlign="start center">
|
|
2
|
+
<mat-form-field *ngIf="showObjectFilter">
|
|
3
|
+
<mat-label>Model</mat-label>
|
|
4
|
+
<app-searchable-selector formControlName="object_type" apiUrl="api/audit-log-types" titleField="object_type"
|
|
5
|
+
valueField="object_type" [sort]="false" [enableSearch]="false">
|
|
6
|
+
</app-searchable-selector>
|
|
7
|
+
<button mat-button *ngIf="getFieldValue('object_type')" matSuffix mat-icon-button
|
|
8
|
+
(click)="resetFieldValue('object_type')">
|
|
9
|
+
<mat-icon>close</mat-icon>
|
|
10
|
+
</button>
|
|
11
|
+
</mat-form-field>
|
|
12
|
+
|
|
13
|
+
<mat-form-field>
|
|
14
|
+
<mat-label>Action</mat-label>
|
|
15
|
+
<mat-select formControlName="action">
|
|
16
|
+
<mat-option value="created">Created</mat-option>
|
|
17
|
+
<mat-option value="updated">Updated</mat-option>
|
|
18
|
+
<mat-option value="deleted">Deleted</mat-option>
|
|
19
|
+
</mat-select>
|
|
20
|
+
<button mat-button *ngIf="getFieldValue('action')" matSuffix mat-icon-button
|
|
21
|
+
(click)="resetFieldValue('action')">
|
|
22
|
+
<mat-icon>close</mat-icon>
|
|
23
|
+
</button>
|
|
24
|
+
</mat-form-field>
|
|
25
|
+
|
|
26
|
+
<mat-form-field>
|
|
27
|
+
<input matInput formControlName="date_from" [matDatepicker]="fromPicker" (click)="fromPicker.open()"
|
|
28
|
+
placeholder="From Date (MM/DD/YYYY)" />
|
|
29
|
+
<mat-datepicker-toggle matSuffix [for]="fromPicker"></mat-datepicker-toggle>
|
|
30
|
+
<mat-datepicker #fromPicker></mat-datepicker>
|
|
31
|
+
<button mat-button *ngIf="getFieldValue('date_from')" matSuffix mat-icon-button
|
|
32
|
+
(click)="resetFieldValue('date_from')">
|
|
33
|
+
<mat-icon>close</mat-icon>
|
|
34
|
+
</button>
|
|
35
|
+
<mat-error *ngIf="isFieldValid('date_from')">Invalid Date</mat-error>
|
|
36
|
+
</mat-form-field>
|
|
37
|
+
|
|
38
|
+
<mat-form-field>
|
|
39
|
+
<input matInput formControlName="date_to" [matDatepicker]="toPicker" (click)="toPicker.open()"
|
|
40
|
+
placeholder="To Date (MM/DD/YYYY)" />
|
|
41
|
+
<mat-datepicker-toggle matSuffix [for]=""></mat-datepicker-toggle>
|
|
42
|
+
<mat-datepicker #toPicker></mat-datepicker>
|
|
43
|
+
<button mat-button *ngIf="getFieldValue('date_to')" matSuffix mat-icon-button
|
|
44
|
+
(click)="resetFieldValue('date_to')">
|
|
45
|
+
<mat-icon>close</mat-icon>
|
|
46
|
+
</button>
|
|
47
|
+
<mat-error *ngIf="isFieldValid('date_to')">Invalid Date</mat-error>
|
|
48
|
+
</mat-form-field>
|
|
49
|
+
</form>
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
3
|
+
import { AuditLogListFilterComponent } from './audit-log-list-filter.component';
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
describe('AuditLogListFilterComponent', () => {
|
|
7
|
+
let component: AuditLogListFilterComponent;
|
|
8
|
+
let fixture: ComponentFixture<AuditLogListFilterComponent>;
|
|
9
|
+
|
|
10
|
+
beforeEach(async(() => {
|
|
11
|
+
TestBed.configureTestingModule({
|
|
12
|
+
declarations: [AuditLogListFilterComponent]
|
|
13
|
+
})
|
|
14
|
+
.compileComponents();
|
|
15
|
+
}));
|
|
16
|
+
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
fixture = TestBed.createComponent(AuditLogListFilterComponent);
|
|
19
|
+
component = fixture.componentInstance;
|
|
20
|
+
fixture.detectChanges();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should create', () => {
|
|
24
|
+
expect(component).toBeTruthy();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import { FormGroup, FormBuilder } from '@angular/forms';
|
|
3
|
+
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
5
|
+
import { FormValidatorService } from '../../core/form-validator.service';
|
|
6
|
+
import { DateValidator } from '../../date-validator';
|
|
7
|
+
|
|
8
|
+
@UntilDestroy()
|
|
9
|
+
@Component({
|
|
10
|
+
selector: 'app-audit-log-list-filter',
|
|
11
|
+
templateUrl: './audit-log-list-filter.component.html',
|
|
12
|
+
styleUrls: ['./audit-log-list-filter.component.scss']
|
|
13
|
+
})
|
|
14
|
+
export class AuditLogListFilterComponent implements OnInit {
|
|
15
|
+
|
|
16
|
+
auditLogFilterForm: FormGroup;
|
|
17
|
+
|
|
18
|
+
@Input() objectId: any;
|
|
19
|
+
@Input() objectType: any;
|
|
20
|
+
|
|
21
|
+
@Output() valueChange = new EventEmitter();
|
|
22
|
+
|
|
23
|
+
constructor(private fb: FormBuilder, private formValidatorService: FormValidatorService) {
|
|
24
|
+
this.createForm();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
get showObjectFilter() {
|
|
28
|
+
return !(this.objectId || this.objectType);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private createForm() {
|
|
32
|
+
|
|
33
|
+
//TODO: Finialize and add more validations.
|
|
34
|
+
this.auditLogFilterForm = this.fb.group({
|
|
35
|
+
object_type: [''],
|
|
36
|
+
action: [''],
|
|
37
|
+
data: [''],
|
|
38
|
+
date_to: ['', DateValidator()],
|
|
39
|
+
date_from: ['', DateValidator()]
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ngOnInit(): void {
|
|
44
|
+
|
|
45
|
+
this.auditLogFilterForm.valueChanges.pipe(
|
|
46
|
+
debounceTime(500),
|
|
47
|
+
distinctUntilChanged(),
|
|
48
|
+
untilDestroyed(this)
|
|
49
|
+
).subscribe((value: any) => {
|
|
50
|
+
value.date_from = value.date_from ? (value.date_from as Date).toISOString() : '';
|
|
51
|
+
value.date_to = value.date_to ? (value.date_to as Date).toISOString() : '';
|
|
52
|
+
this.valueChange.emit(value);
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
resetFieldValue(field: string) {
|
|
58
|
+
this.auditLogFilterForm.get(field).setValue('');
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
getFieldValue(field: string) {
|
|
62
|
+
return this.auditLogFilterForm.get(field).value;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
isFieldValid(field: string) {
|
|
66
|
+
return this.formValidatorService.isFieldValid(field, this.auditLogFilterForm, true);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
|
|
4
|
+
import { AuditLogListFilterRoutingModule } from './audit-log-list-filter-routing.module';
|
|
5
|
+
import { AuditLogListFilterComponent } from './audit-log-list-filter.component';
|
|
6
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
7
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { MaterialModule } from '../../material.module';
|
|
9
|
+
import { SearchableSelectorModule } from '../../searchable-selector/searchable-selector.module';
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@NgModule({
|
|
13
|
+
declarations: [AuditLogListFilterComponent],
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
AuditLogListFilterRoutingModule,
|
|
17
|
+
FlexLayoutModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
MaterialModule,
|
|
20
|
+
SearchableSelectorModule,
|
|
21
|
+
],
|
|
22
|
+
exports: [AuditLogListFilterComponent]
|
|
23
|
+
})
|
|
24
|
+
export class AuditLogListFilterModule { }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { Routes, RouterModule } from '@angular/router';
|
|
3
|
+
import { AuthenticationGuard } from '../core/authentication.guard';
|
|
4
|
+
import { AuditLogListComponent } from './audit-log-list/audit-log-list.component';
|
|
5
|
+
import { AuditLogViewComponent } from './audit-log-view/audit-log-view.component';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
const routes: Routes = [
|
|
9
|
+
{ path: 'log-list', component: AuditLogListComponent, canActivate: [AuthenticationGuard] },
|
|
10
|
+
{ path: 'log-view/:id', component: AuditLogViewComponent, canActivate: [AuthenticationGuard] },
|
|
11
|
+
{ path: '**', redirectTo: 'log-list', pathMatch: 'full' }
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
@NgModule({
|
|
15
|
+
imports: [RouterModule.forChild(routes)],
|
|
16
|
+
exports: [RouterModule]
|
|
17
|
+
})
|
|
18
|
+
export class AuditLogRoutingModule { }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { Routes, RouterModule } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
const routes: Routes = [];
|
|
5
|
+
|
|
6
|
+
@NgModule({
|
|
7
|
+
imports: [RouterModule.forChild(routes)],
|
|
8
|
+
exports: [RouterModule]
|
|
9
|
+
})
|
|
10
|
+
export class AuditLogViewRoutingModule { }
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<div fxLayout="column" class="m-4" fxLayoutGap="1.5rem">
|
|
2
|
+
<h3 class="text-center">Audit Log</h3>
|
|
3
|
+
<div fxLayout="column" fxLayoutGap="0.5rem" *ngIf="logInfo">
|
|
4
|
+
<div>Object Type: {{logInfo?.object_type}}</div>
|
|
5
|
+
<div>Object Id: {{logInfo?.object_id}}</div>
|
|
6
|
+
<div>Action: {{logInfo?.action}}</div>
|
|
7
|
+
<div>Created At: {{logInfo?.created_at | date:'medium'}}</div>
|
|
8
|
+
<div>Created By: {{logInfo?.user?.email}}</div>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<div fxLayout="column" *ngIf="logInfo?.action !== 'deleted'">
|
|
13
|
+
<div>
|
|
14
|
+
<button mat-raised-button color="primary" (click)="showDeltaChanges = !showDeltaChanges">
|
|
15
|
+
{{showDeltaChanges?'Hide JSON Changes': 'Show JSON Changes'}}
|
|
16
|
+
</button>
|
|
17
|
+
</div>
|
|
18
|
+
<div [hidden]="!showDeltaChanges">
|
|
19
|
+
<h4 class="font-weight-bold" *ngIf="logInfo">Changes in JSON</h4>
|
|
20
|
+
<div id="jsondiff"></div>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<div class="container" *ngIf="changeList.length > 0">
|
|
25
|
+
<h4 class="font-weight-bold"> Changes in Attributes</h4>
|
|
26
|
+
<table class="table table-striped table-sm border">
|
|
27
|
+
<thead>
|
|
28
|
+
<tr>
|
|
29
|
+
<th scope="col">#</th>
|
|
30
|
+
<th scope="col">Attribute</th>
|
|
31
|
+
<th scope="col">Old Value</th>
|
|
32
|
+
<th scope="col">New Value</th>
|
|
33
|
+
</tr>
|
|
34
|
+
</thead>
|
|
35
|
+
<tbody>
|
|
36
|
+
<tr *ngFor="let change of changeList; let i= index;">
|
|
37
|
+
<th scope="row">{{i+1}}</th>
|
|
38
|
+
<td>{{change?.displayAttribute}}</td>
|
|
39
|
+
<td>{{change?.oldValue}}</td>
|
|
40
|
+
<td>{{change?.newValue}}</td>
|
|
41
|
+
</tr>
|
|
42
|
+
</tbody>
|
|
43
|
+
</table>
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { AuditLogViewComponent } from './audit-log-view.component';
|
|
4
|
+
|
|
5
|
+
describe('AuditLogViewComponent', () => {
|
|
6
|
+
let component: AuditLogViewComponent;
|
|
7
|
+
let fixture: ComponentFixture<AuditLogViewComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
declarations: [ AuditLogViewComponent ]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
fixture = TestBed.createComponent(AuditLogViewComponent);
|
|
18
|
+
component = fixture.componentInstance;
|
|
19
|
+
fixture.detectChanges();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should create', () => {
|
|
23
|
+
expect(component).toBeTruthy();
|
|
24
|
+
});
|
|
25
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, OnInit } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { Location } from '@angular/common';
|
|
4
|
+
import * as jsondiffpatch from "jsondiffpatch"
|
|
5
|
+
import { DataManager } from '../../core/dataManager.service';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'app-audit-log-view',
|
|
9
|
+
templateUrl: './audit-log-view.component.html',
|
|
10
|
+
styleUrls: ['./audit-log-view.component.scss']
|
|
11
|
+
})
|
|
12
|
+
export class AuditLogViewComponent implements OnInit {
|
|
13
|
+
|
|
14
|
+
logInfo: any;
|
|
15
|
+
showDeltaChanges: boolean = false;
|
|
16
|
+
changeList: any[] = [];
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
private dataManager: DataManager,
|
|
20
|
+
private route: ActivatedRoute,
|
|
21
|
+
private location: Location
|
|
22
|
+
) { }
|
|
23
|
+
|
|
24
|
+
ngOnInit(): void {
|
|
25
|
+
this.route.paramMap.subscribe(params => {
|
|
26
|
+
if (params.get('id')) {
|
|
27
|
+
this.fetchLogDetail(params.get('id'));
|
|
28
|
+
} else {
|
|
29
|
+
this.location.back();
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
getTransformedChanges() {
|
|
35
|
+
const changes = ((this.logInfo?.action === 'deleted') ? Object.keys(this.logInfo?.object) : Object.keys(this.logInfo?.data?.changes)) || [];
|
|
36
|
+
changes.forEach((key: any) => {
|
|
37
|
+
const displayAttribute = (key as string).split('_').map(x => x.charAt(0).toUpperCase() + x.slice(1)).join(' ');
|
|
38
|
+
this.changeList.push({ displayAttribute: displayAttribute, attribute: key, newValue: (this.logInfo?.action === 'deleted') ? '' : (this.logInfo?.object[key] ?? ''), oldValue: this.logInfo?.pre_object[key] ?? '' });
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
async fetchLogDetail(logId: any) {
|
|
43
|
+
const result = await this.dataManager.GET(`api/audit-logs/${logId}`);
|
|
44
|
+
this.logInfo = result.item;
|
|
45
|
+
this.getTransformedChanges();
|
|
46
|
+
this.patchDelta();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
patchDelta() {
|
|
50
|
+
const delta = jsondiffpatch.diff(this.logInfo?.pre_object, this.logInfo?.object);
|
|
51
|
+
document.getElementById('jsondiff').innerHTML = jsondiffpatch.formatters.html.format(delta, this.logInfo?.pre_object);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
|
|
4
|
+
import { AuditLogViewRoutingModule } from './audit-log-view-routing.module';
|
|
5
|
+
import { AuditLogViewComponent } from './audit-log-view.component';
|
|
6
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
7
|
+
import { MaterialModule } from '../../material.module';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@NgModule({
|
|
11
|
+
declarations: [AuditLogViewComponent],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
AuditLogViewRoutingModule,
|
|
15
|
+
FlexLayoutModule,
|
|
16
|
+
MaterialModule
|
|
17
|
+
],
|
|
18
|
+
exports: [AuditLogViewComponent]
|
|
19
|
+
})
|
|
20
|
+
export class AuditLogViewModule { }
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { Routes, RouterModule } from '@angular/router';
|
|
3
|
+
|
|
4
|
+
const routes: Routes = [];
|
|
5
|
+
|
|
6
|
+
@NgModule({
|
|
7
|
+
imports: [RouterModule.forChild(routes)],
|
|
8
|
+
exports: [RouterModule]
|
|
9
|
+
})
|
|
10
|
+
export class AuditLogViewModelRoutingModule { }
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
<div fxLayout="column" class="m-4" fxLayoutGap="1.5rem">
|
|
2
|
+
<h3 class="text-center">Audit Log</h3>
|
|
3
|
+
<div fxLayout="column" fxLayoutGap="0.5rem" *ngIf="logInfo">
|
|
4
|
+
<div>Object Type: {{logInfo?.object_type}}</div>
|
|
5
|
+
<div>Object Id: {{logInfo?.object_id}}</div>
|
|
6
|
+
<div>Action: {{logInfo?.action}}</div>
|
|
7
|
+
<div>Created At: {{logInfo?.created_at | date:'medium'}}</div>
|
|
8
|
+
<div>Created By: {{logInfo?.user?.email}}</div>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<div class="container" *ngIf="changeList.length > 0">
|
|
13
|
+
<h4 class="font-weight-bold"> Changes in Attributes</h4>
|
|
14
|
+
<table class="table table-striped table-sm border">
|
|
15
|
+
<thead>
|
|
16
|
+
<tr>
|
|
17
|
+
<th scope="col">#</th>
|
|
18
|
+
<th scope="col">Attribute</th>
|
|
19
|
+
<th scope="col">Old Value</th>
|
|
20
|
+
<th scope="col">New Value</th>
|
|
21
|
+
</tr>
|
|
22
|
+
</thead>
|
|
23
|
+
<tbody>
|
|
24
|
+
<tr *ngFor="let change of changeList; let i= index;">
|
|
25
|
+
<th scope="row">{{i+1}}</th>
|
|
26
|
+
<td>{{change?.displayAttribute}}</td>
|
|
27
|
+
<td>{{change?.oldValue}}</td>
|
|
28
|
+
<td>{{change?.newValue}}</td>
|
|
29
|
+
</tr>
|
|
30
|
+
</tbody>
|
|
31
|
+
</table>
|
|
32
|
+
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div>
|
|
36
|
+
<button mat-raised-button (click)="close()">Close</button>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { AuditLogViewModelComponent } from './audit-log-view-model.component';
|
|
4
|
+
|
|
5
|
+
describe('AuditLogViewComponent', () => {
|
|
6
|
+
let component: AuditLogViewModelComponent;
|
|
7
|
+
let fixture: ComponentFixture<AuditLogViewModelComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(async(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
declarations: [AuditLogViewModelComponent]
|
|
12
|
+
})
|
|
13
|
+
.compileComponents();
|
|
14
|
+
}));
|
|
15
|
+
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
fixture = TestBed.createComponent(AuditLogViewModelComponent);
|
|
18
|
+
component = fixture.componentInstance;
|
|
19
|
+
fixture.detectChanges();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('should create', () => {
|
|
23
|
+
expect(component).toBeTruthy();
|
|
24
|
+
});
|
|
25
|
+
});
|