ngx-techlify-core 11.4.6 → 11.4.7
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/README.md +24 -24
- package/bundles/ngx-techlify-core.umd.js +7861 -7849
- package/bundles/ngx-techlify-core.umd.js.map +1 -1
- package/bundles/ngx-techlify-core.umd.min.js +2 -2
- package/bundles/ngx-techlify-core.umd.min.js.map +1 -1
- package/esm2015/lib/action-popup/action-popup.component.js +32 -32
- package/esm2015/lib/action-popup/action-popup.model.js +3 -3
- package/esm2015/lib/action-popup/action-popup.module.js +26 -26
- package/esm2015/lib/action-popup/index.js +3 -3
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +49 -49
- package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +25 -25
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +132 -132
- package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +29 -29
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +67 -67
- package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +25 -25
- package/esm2015/lib/audit-log/audit-log-routing.module.js +19 -19
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +60 -60
- package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +21 -21
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +57 -57
- package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +21 -21
- package/esm2015/lib/audit-log/audit-log.module.js +20 -20
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +12 -12
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +35 -35
- package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +21 -21
- package/esm2015/lib/core/alert.service.js +39 -39
- package/esm2015/lib/core/api-prefix.interceptor.js +28 -28
- package/esm2015/lib/core/authentication.guard.js +39 -39
- package/esm2015/lib/core/authentication.service.js +59 -59
- package/esm2015/lib/core/cache.interceptor.js +60 -60
- package/esm2015/lib/core/config.service.js +47 -47
- package/esm2015/lib/core/core.module.js +42 -42
- package/esm2015/lib/core/credentials.service.js +84 -84
- package/esm2015/lib/core/dataManager.service.js +120 -120
- package/esm2015/lib/core/error-handler.interceptor.js +53 -53
- package/esm2015/lib/core/error-handler.service.js +59 -59
- package/esm2015/lib/core/form-validator.service.js +23 -23
- package/esm2015/lib/core/header.interceptor.js +22 -22
- package/esm2015/lib/core/http-cache.service.js +110 -110
- package/esm2015/lib/core/http.service.js +82 -82
- package/esm2015/lib/core/index.js +21 -21
- package/esm2015/lib/core/logger.service.js +100 -100
- package/esm2015/lib/core/route-reusable-strategy.js +35 -35
- package/esm2015/lib/core/snack/snack.component.js +33 -33
- package/esm2015/lib/core/snack/snack.module.js +25 -25
- package/esm2015/lib/core/storage.service.js +36 -36
- package/esm2015/lib/core/techlify-config.model.js +28 -28
- package/esm2015/lib/core/token.interceptor.js +30 -30
- package/esm2015/lib/data-table/data-table.component.js +190 -190
- package/esm2015/lib/data-table/data-table.model.js +11 -11
- package/esm2015/lib/data-table/data-table.module.js +25 -25
- package/esm2015/lib/data-table/index.js +3 -3
- package/esm2015/lib/date-validator.js +10 -10
- package/esm2015/lib/document-viewer/document-viewer.component.js +58 -58
- package/esm2015/lib/document-viewer/document-viewer.module.js +25 -25
- package/esm2015/lib/document-viewer/index.js +3 -3
- package/esm2015/lib/document-viewer/viewer-config.model.js +3 -3
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +26 -26
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +72 -72
- package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +23 -23
- package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +2 -2
- package/esm2015/lib/email-subscription/email-subscription-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +102 -102
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +28 -28
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +2 -2
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +28 -28
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +153 -153
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +27 -27
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +1 -1
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +15 -15
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +99 -99
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +27 -27
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +2 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +28 -28
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +155 -155
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +29 -29
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +2 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +50 -50
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +25 -25
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +2 -2
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +12 -12
- package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +15 -15
- package/esm2015/lib/email-subscription/email-subscription.module.js +15 -15
- package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +138 -138
- package/esm2015/lib/entity-files/entity-file.service.js +42 -42
- package/esm2015/lib/entity-files/entity-files-view-all.component.js +208 -204
- package/esm2015/lib/entity-files/entity-files-view-all.module.js +34 -34
- package/esm2015/lib/entity-files/index.js +3 -3
- package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +32 -32
- package/esm2015/lib/export-excel/export-excel.module.js +17 -17
- package/esm2015/lib/file-dropper/file-dropper.component.js +122 -122
- package/esm2015/lib/file-dropper/file-dropper.model.js +3 -3
- package/esm2015/lib/file-dropper/file-dropper.module.js +21 -21
- package/esm2015/lib/file-dropper/index.js +3 -3
- package/esm2015/lib/import-csv/data-import/data-import.component.js +18 -18
- package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +33 -33
- package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +148 -148
- package/esm2015/lib/import-csv/import-csv-config.js +2 -2
- package/esm2015/lib/import-csv/import-csv.component.js +196 -196
- package/esm2015/lib/import-csv/import-csv.module.js +46 -46
- package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +71 -71
- package/esm2015/lib/import-csv/import-success/import-success.component.js +19 -19
- package/esm2015/lib/loader/index.js +2 -2
- package/esm2015/lib/loader/loader.component.js +22 -22
- package/esm2015/lib/loader/loader.module.js +21 -21
- package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +20 -20
- package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +88 -88
- package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +27 -27
- package/esm2015/lib/material.module.js +60 -60
- package/esm2015/lib/note/comment-form/comment-form.component.js +73 -73
- package/esm2015/lib/note/index.js +4 -4
- package/esm2015/lib/note/note-form/note-form.component.js +81 -81
- package/esm2015/lib/note/note-list/note-list.component.js +151 -151
- package/esm2015/lib/note/note.module.js +36 -36
- package/esm2015/lib/note/note.service.js +31 -31
- package/esm2015/lib/read-more/read-more.component.js +43 -43
- package/esm2015/lib/read-more/read-more.module.js +21 -21
- package/esm2015/lib/searchable-selector/index.js +3 -3
- package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +81 -81
- package/esm2015/lib/searchable-selector/searchable-selector.component.js +307 -307
- package/esm2015/lib/searchable-selector/searchable-selector.module.js +28 -28
- package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +27 -27
- package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +78 -78
- package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +177 -177
- package/esm2015/lib/techlify-feature/techlify-feature.module.js +30 -30
- package/esm2015/lib/techlify-feature/techlify-feature.routing.js +12 -12
- package/esm2015/lib/techlify-feature/techlify-feature.service.js +28 -28
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +15 -15
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +269 -269
- package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +25 -25
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +168 -168
- package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +29 -29
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +114 -114
- package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +28 -28
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +22 -22
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +143 -143
- package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +28 -28
- package/esm2015/lib/techlify-update/techlify-update-routing.module.js +22 -22
- package/esm2015/lib/techlify-update/techlify-update.module.js +30 -30
- package/esm2015/lib/techlify-update/techlify-update.service.js +43 -43
- package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +161 -161
- package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +82 -82
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +62 -62
- package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +29 -29
- package/esm2015/lib/techlify-update/update-view/update-view.component.js +36 -36
- package/esm2015/lib/techlify-update/update-view/update-view.module.js +24 -24
- package/esm2015/lib/timeline-filter/calculate-timeline.js +102 -102
- package/esm2015/lib/timeline-filter/index.js +4 -4
- package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +12 -12
- package/esm2015/lib/timeline-filter/timeline-filter.component.js +213 -213
- package/esm2015/lib/timeline-filter/timeline-filter.module.js +23 -23
- package/esm2015/lib/timeline-filter/timeline.model.js +18 -18
- package/esm2015/lib/utility/date-utils.service.js +48 -48
- package/esm2015/lib/utility/index.js +4 -4
- package/esm2015/lib/utility/num-items-selector.component.js +29 -29
- package/esm2015/lib/utility/number-selector.component.js +38 -38
- package/esm2015/lib/utility/utility.module.js +20 -20
- package/esm2015/ngx-techlify-core.js +59 -59
- package/esm2015/public-api.js +95 -95
- package/fesm2015/ngx-techlify-core.js +6726 -6722
- package/fesm2015/ngx-techlify-core.js.map +1 -1
- package/lib/action-popup/action-popup.component.d.ts +14 -14
- package/lib/action-popup/action-popup.model.d.ts +5 -5
- package/lib/action-popup/action-popup.module.d.ts +2 -2
- package/lib/action-popup/index.d.ts +2 -2
- package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +12 -12
- package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +2 -2
- package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +32 -32
- package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +2 -2
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +19 -19
- package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +2 -2
- package/lib/audit-log/audit-log-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +17 -17
- package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +2 -2
- package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +15 -15
- package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +2 -2
- package/lib/audit-log/audit-log.module.d.ts +2 -2
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +2 -2
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +11 -11
- package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +2 -2
- package/lib/core/alert.service.d.ts +12 -12
- package/lib/core/api-prefix.interceptor.d.ts +11 -11
- package/lib/core/authentication.guard.d.ts +10 -10
- package/lib/core/authentication.service.d.ts +23 -23
- package/lib/core/cache.interceptor.d.ts +21 -21
- package/lib/core/config.service.d.ts +19 -19
- package/lib/core/core.module.d.ts +3 -3
- package/lib/core/credentials.service.d.ts +36 -36
- package/lib/core/dataManager.service.d.ts +70 -70
- package/lib/core/error-handler.interceptor.d.ts +14 -14
- package/lib/core/error-handler.service.d.ts +14 -14
- package/lib/core/form-validator.service.d.ts +8 -8
- package/lib/core/header.interceptor.d.ts +8 -8
- package/lib/core/http-cache.service.d.ts +54 -54
- package/lib/core/http.service.d.ts +56 -56
- package/lib/core/index.d.ts +20 -20
- package/lib/core/logger.service.d.ts +85 -85
- package/lib/core/route-reusable-strategy.d.ts +13 -13
- package/lib/core/snack/snack.component.d.ts +8 -8
- package/lib/core/snack/snack.module.d.ts +2 -2
- package/lib/core/storage.service.d.ts +15 -15
- package/lib/core/techlify-config.model.d.ts +18 -18
- package/lib/core/token.interceptor.d.ts +11 -11
- package/lib/data-table/data-table.component.d.ts +60 -60
- package/lib/data-table/data-table.model.d.ts +46 -46
- package/lib/data-table/data-table.module.d.ts +2 -2
- package/lib/data-table/index.d.ts +2 -2
- package/lib/date-validator.d.ts +1 -1
- package/lib/document-viewer/document-viewer.component.d.ts +16 -16
- package/lib/document-viewer/document-viewer.module.d.ts +2 -2
- package/lib/document-viewer/index.d.ts +2 -2
- package/lib/document-viewer/viewer-config.model.d.ts +5 -5
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +7 -7
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +17 -17
- package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-for-user/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +32 -32
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +9 -9
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +30 -30
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +32 -32
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +9 -9
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +32 -32
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +13 -13
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts +1 -1
- package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +2 -2
- package/lib/email-subscription/email-subscription.module.d.ts +2 -2
- package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +34 -34
- package/lib/entity-files/entity-file.service.d.ts +10 -10
- package/lib/entity-files/entity-files-view-all.component.d.ts +45 -44
- package/lib/entity-files/entity-files-view-all.module.d.ts +2 -2
- package/lib/entity-files/index.d.ts +2 -2
- package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +8 -8
- package/lib/export-excel/export-excel.module.d.ts +2 -2
- package/lib/file-dropper/file-dropper.component.d.ts +33 -33
- package/lib/file-dropper/file-dropper.model.d.ts +10 -10
- package/lib/file-dropper/file-dropper.module.d.ts +2 -2
- package/lib/file-dropper/index.d.ts +2 -2
- package/lib/import-csv/data-import/data-import.component.d.ts +6 -6
- package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +12 -12
- package/lib/import-csv/field-mapping/field-mapping.component.d.ts +34 -34
- package/lib/import-csv/import-csv-config.d.ts +17 -17
- package/lib/import-csv/import-csv.component.d.ts +33 -33
- package/lib/import-csv/import-csv.module.d.ts +2 -2
- package/lib/import-csv/import-history-list/import-history-list.component.d.ts +21 -21
- package/lib/import-csv/import-success/import-success.component.d.ts +8 -8
- package/lib/loader/index.d.ts +1 -1
- package/lib/loader/loader.component.d.ts +8 -8
- package/lib/loader/loader.module.d.ts +2 -2
- package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +2 -2
- package/lib/login-history-for-user/login-history-for-user.component.d.ts +23 -23
- package/lib/login-history-for-user/login-history-for-user.module.d.ts +2 -2
- package/lib/material.module.d.ts +2 -2
- package/lib/note/comment-form/comment-form.component.d.ts +22 -22
- package/lib/note/index.d.ts +3 -3
- package/lib/note/note-form/note-form.component.d.ts +27 -27
- package/lib/note/note-list/note-list.component.d.ts +28 -28
- package/lib/note/note.module.d.ts +2 -2
- package/lib/note/note.service.d.ts +9 -9
- package/lib/read-more/read-more.component.d.ts +12 -12
- package/lib/read-more/read-more.module.d.ts +2 -2
- package/lib/searchable-selector/index.d.ts +2 -2
- package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +23 -23
- package/lib/searchable-selector/searchable-selector.component.d.ts +81 -81
- package/lib/searchable-selector/searchable-selector.module.d.ts +2 -2
- package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +9 -9
- package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +17 -17
- package/lib/techlify-feature/techlify-feature-listing.component.d.ts +37 -37
- package/lib/techlify-feature/techlify-feature.module.d.ts +2 -2
- package/lib/techlify-feature/techlify-feature.routing.d.ts +2 -2
- package/lib/techlify-feature/techlify-feature.service.d.ts +8 -8
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +12 -12
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +76 -76
- package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +2 -2
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +58 -58
- package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +30 -30
- package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +31 -31
- package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update-routing.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update.module.d.ts +2 -2
- package/lib/techlify-update/techlify-update.service.d.ts +13 -13
- package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +31 -31
- package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +25 -25
- package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +16 -16
- package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +2 -2
- package/lib/techlify-update/update-view/update-view.component.d.ts +14 -14
- package/lib/techlify-update/update-view/update-view.module.d.ts +2 -2
- package/lib/timeline-filter/calculate-timeline.d.ts +6 -6
- package/lib/timeline-filter/index.d.ts +3 -3
- package/lib/timeline-filter/timeline-filter-routing.module.d.ts +2 -2
- package/lib/timeline-filter/timeline-filter.component.d.ts +61 -61
- package/lib/timeline-filter/timeline-filter.module.d.ts +2 -2
- package/lib/timeline-filter/timeline.model.d.ts +17 -17
- package/lib/utility/date-utils.service.d.ts +21 -21
- package/lib/utility/index.d.ts +3 -3
- package/lib/utility/num-items-selector.component.d.ts +16 -16
- package/lib/utility/number-selector.component.d.ts +20 -20
- package/lib/utility/utility.module.d.ts +2 -2
- package/ngx-techlify-core.d.ts +59 -59
- package/ngx-techlify-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +91 -91
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { LoginHistoryForUserRoutingModule } from './login-history-for-user-routing.module';
|
|
4
|
-
import { LoginHistoryForUserComponent } from './login-history-for-user.component';
|
|
5
|
-
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
6
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
7
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
-
import { MaterialModule } from '../material.module';
|
|
9
|
-
import { TimelineFilterModule } from '../timeline-filter/timeline-filter.module';
|
|
10
|
-
export class LoginHistoryForUserModule {
|
|
11
|
-
}
|
|
12
|
-
LoginHistoryForUserModule.decorators = [
|
|
13
|
-
{ type: NgModule, args: [{
|
|
14
|
-
declarations: [LoginHistoryForUserComponent],
|
|
15
|
-
imports: [
|
|
16
|
-
CommonModule,
|
|
17
|
-
LoginHistoryForUserRoutingModule,
|
|
18
|
-
InfiniteScrollModule,
|
|
19
|
-
MaterialModule,
|
|
20
|
-
FlexLayoutModule,
|
|
21
|
-
ReactiveFormsModule,
|
|
22
|
-
TimelineFilterModule
|
|
23
|
-
],
|
|
24
|
-
exports: [LoginHistoryForUserComponent]
|
|
25
|
-
},] }
|
|
26
|
-
];
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { LoginHistoryForUserRoutingModule } from './login-history-for-user-routing.module';
|
|
4
|
+
import { LoginHistoryForUserComponent } from './login-history-for-user.component';
|
|
5
|
+
import { InfiniteScrollModule } from 'ngx-infinite-scroll';
|
|
6
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
7
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { MaterialModule } from '../material.module';
|
|
9
|
+
import { TimelineFilterModule } from '../timeline-filter/timeline-filter.module';
|
|
10
|
+
export class LoginHistoryForUserModule {
|
|
11
|
+
}
|
|
12
|
+
LoginHistoryForUserModule.decorators = [
|
|
13
|
+
{ type: NgModule, args: [{
|
|
14
|
+
declarations: [LoginHistoryForUserComponent],
|
|
15
|
+
imports: [
|
|
16
|
+
CommonModule,
|
|
17
|
+
LoginHistoryForUserRoutingModule,
|
|
18
|
+
InfiniteScrollModule,
|
|
19
|
+
MaterialModule,
|
|
20
|
+
FlexLayoutModule,
|
|
21
|
+
ReactiveFormsModule,
|
|
22
|
+
TimelineFilterModule
|
|
23
|
+
],
|
|
24
|
+
exports: [LoginHistoryForUserComponent]
|
|
25
|
+
},] }
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIvbG9naW4taGlzdG9yeS1mb3ItdXNlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBZ0JqRixNQUFNLE9BQU8seUJBQXlCOzs7WUFickMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLDRCQUE0QixDQUFDO2dCQUM1QyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixnQ0FBZ0M7b0JBQ2hDLG9CQUFvQjtvQkFDcEIsY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsb0JBQW9CO2lCQUNyQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzthQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBMb2dpbkhpc3RvcnlGb3JVc2VyUm91dGluZ01vZHVsZSB9IGZyb20gJy4vbG9naW4taGlzdG9yeS1mb3ItdXNlci1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IExvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnQgfSBmcm9tICcuL2xvZ2luLWhpc3RvcnktZm9yLXVzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUZpbHRlck1vZHVsZSB9IGZyb20gJy4uL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW0xvZ2luSGlzdG9yeUZvclVzZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIExvZ2luSGlzdG9yeUZvclVzZXJSb3V0aW5nTW9kdWxlLFxyXG4gICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXHJcbiAgICBNYXRlcmlhbE1vZHVsZSxcclxuICAgIEZsZXhMYXlvdXRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVGltZWxpbmVGaWx0ZXJNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtMb2dpbkhpc3RvcnlGb3JVc2VyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5IaXN0b3J5Rm9yVXNlck1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,60 +1,60 @@
|
|
|
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
|
-
export class MaterialModule {
|
|
29
|
-
}
|
|
30
|
-
MaterialModule.decorators = [
|
|
31
|
-
{ type: NgModule, args: [{
|
|
32
|
-
exports: [
|
|
33
|
-
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
|
-
]
|
|
58
|
-
},] }
|
|
59
|
-
];
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
export class MaterialModule {
|
|
29
|
+
}
|
|
30
|
+
MaterialModule.decorators = [
|
|
31
|
+
{ type: NgModule, args: [{
|
|
32
|
+
exports: [
|
|
33
|
+
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
|
+
]
|
|
58
|
+
},] }
|
|
59
|
+
];
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0Q7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixlQUFlLEVBQ2hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQStCeEUsTUFBTSxPQUFPLGNBQWM7OztZQTVCMUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixlQUFlO29CQUNmLGtCQUFrQjtvQkFDbEIsYUFBYTtvQkFDYixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLGVBQWU7b0JBQ2Ysd0JBQXdCO29CQUN4Qix1QkFBdUI7b0JBQ3ZCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsbUJBQW1CO29CQUNuQixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIscUJBQXFCO2lCQUN0QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG4vKlxyXG4gKiBUaGlzIG1vZHVsZSBpbXBvcnRzIGFuZCByZS1leHBvcnRzIGFsbCBBbmd1bGFyIE1hdGVyaWFsIG1vZHVsZXMgZm9yIGNvbnZlbmllbmNlLFxyXG4gKiBzbyBvbmx5IDEgbW9kdWxlIGltcG9ydCBpcyBuZWVkZWQgaW4geW91ciBmZWF0dXJlIG1vZHVsZXMuXHJcbiAqIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvZ2V0dGluZy1zdGFydGVkI3N0ZXAtMy1pbXBvcnQtdGhlLWNvbXBvbmVudC1tb2R1bGVzLlxyXG4gKlxyXG4gKiBUbyBvcHRpbWl6ZSB5b3VyIHByb2R1Y3Rpb24gYnVpbGRzLCB5b3Ugc2hvdWxkIG9ubHkgaW1wb3J0IHRoZSBjb21wb25lbnRzIHVzZWQgaW4geW91ciBhcHAuXHJcbiAqL1xyXG5cclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIE1hdENvbW1vbk1vZHVsZSxcclxuICBNYXRMaW5lTW9kdWxlLFxyXG4gIE1hdE5hdGl2ZURhdGVNb2R1bGUsXHJcbiAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlLFxyXG4gIE1hdFJpcHBsZU1vZHVsZVxyXG59IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3hcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyXCI7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xyXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXJcIjtcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCdcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdExpbmVNb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0UmlwcGxlTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0U29ydE1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRDaGlwc01vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from "@angular/core";
|
|
2
|
-
import { FormBuilder } from "@angular/forms";
|
|
3
|
-
import { CredentialsService } from "../../core/credentials.service";
|
|
4
|
-
export class CommentFormComponent {
|
|
5
|
-
constructor(fb, credentialService) {
|
|
6
|
-
this.fb = fb;
|
|
7
|
-
this.credentialService = credentialService;
|
|
8
|
-
this.action = new EventEmitter();
|
|
9
|
-
this.createForm();
|
|
10
|
-
}
|
|
11
|
-
set commentData(data) {
|
|
12
|
-
this.view = !!data;
|
|
13
|
-
this._commentData = data;
|
|
14
|
-
this.commentFormGroup.patchValue(data);
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() { }
|
|
17
|
-
get isLoggedIn() {
|
|
18
|
-
return this.credentialService.isAuthenticated;
|
|
19
|
-
}
|
|
20
|
-
get currentUser() {
|
|
21
|
-
return this.credentialService.credentials.user;
|
|
22
|
-
}
|
|
23
|
-
createForm() {
|
|
24
|
-
//TODO: Finialize and add more validations.
|
|
25
|
-
this.commentFormGroup = this.fb.group({
|
|
26
|
-
id: [""],
|
|
27
|
-
note: [""],
|
|
28
|
-
model_type: [""],
|
|
29
|
-
related_model_id: [""],
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
submit() {
|
|
33
|
-
if (this.commentFormGroup.get("note").value) {
|
|
34
|
-
if (this._commentData) {
|
|
35
|
-
this.view = !this.view;
|
|
36
|
-
}
|
|
37
|
-
this.action.emit({ type: "save", value: this.commentFormGroup.value });
|
|
38
|
-
this.commentFormGroup.reset();
|
|
39
|
-
}
|
|
40
|
-
else if (this.commentFormGroup.get("id").value) {
|
|
41
|
-
this.deleteComment();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
hideEdit() {
|
|
45
|
-
if (this.commentFormGroup.get("id").value) {
|
|
46
|
-
this.view = !this.view;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
editComment() {
|
|
50
|
-
this.view = !this.view;
|
|
51
|
-
this.commentFormGroup.patchValue(this._commentData);
|
|
52
|
-
}
|
|
53
|
-
deleteComment() {
|
|
54
|
-
this.action.emit({ type: "delete", value: this.commentFormGroup.value });
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() { }
|
|
57
|
-
}
|
|
58
|
-
CommentFormComponent.decorators = [
|
|
59
|
-
{ type: Component, args: [{
|
|
60
|
-
selector: "app-comment-form",
|
|
61
|
-
template: "<form (ngSubmit)=\"submit()\" [formGroup]=\"commentFormGroup\">\n <div fxLayout=\"column\" class=\"my-2\" [ngClass]=\"{ 'border border-primary shadow rounded ': view}\">\n <div *ngIf=\"!view\" fxLayout=\"column\">\n <mat-form-field appearance=\"outline\" style=\"background-color:white;\">\n <mat-label>Comment</mat-label>\n <textarea matInput rows=\"5\" placeholder=\"Add a comment...\" formControlName=\"note\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n\n <div fxLayout fxLayoutGap=\"1rem\" class=\"mt-2\">\n <span fxFlex></span>\n <button *ngIf=\"_commentData\" mat-button type=\"button\" (click)=\"view = !view\">\n Cancel\n </button>\n <button mat-raised-button color=\"primary\" type=\"submit\">\n {{ _commentData ? \"Update\" : \"Post comment\" }}\n </button>\n </div>\n </div>\n\n <div fxLayout=\"column\" *ngIf=\"view\" class=\"p-2 m-2\">\n <div fxLayout=\"row wrap\" fxLayoutGap=\".5rem\">\n <div fxFlex=\"20%\" fxLayoutAlign=\"start\">\n <button mat-icon-button type=\"button\" style=\"color:grey\">\n <mat-icon style=\"font-size:60px\">account_circle</mat-icon>\n </button>\n </div>\n <div fxFlex=\"75%\">\n <div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div class=\"font-weight-bold\">{{ _commentData?.creator?.name }}</div>\n <div class=\"text-muted\">{{ _commentData.updated_at | date:'medium' }}</div>\n </div>\n </div>\n </div>\n <app-read-more class=\"mt-2\" [text]=\"_commentData.note\"></app-read-more>\n <div fxLayout class=\"mt-1\" fxLayoutGap=\"1rem\" *ngIf=\"isLoggedIn && currentUser.id === _commentData.creator_id\">\n <a href=\"javascript:;\" (click)=\"editComment()\">\n Edit\n </a>\n <a href=\"javascript:;\" (click)=\"deleteComment()\">\n Delete\n </a>\n </div>\n </div>\n </div>\n</form>",
|
|
62
|
-
styles: [":host ::ng-deep .mat-form-field-wrapper{margin:0!important;padding-bottom:0!important}"]
|
|
63
|
-
},] }
|
|
64
|
-
];
|
|
65
|
-
CommentFormComponent.ctorParameters = () => [
|
|
66
|
-
{ type: FormBuilder },
|
|
67
|
-
{ type: CredentialsService }
|
|
68
|
-
];
|
|
69
|
-
CommentFormComponent.propDecorators = {
|
|
70
|
-
commentData: [{ type: Input }],
|
|
71
|
-
action: [{ type: Output }]
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input, Output, EventEmitter } from "@angular/core";
|
|
2
|
+
import { FormBuilder } from "@angular/forms";
|
|
3
|
+
import { CredentialsService } from "../../core/credentials.service";
|
|
4
|
+
export class CommentFormComponent {
|
|
5
|
+
constructor(fb, credentialService) {
|
|
6
|
+
this.fb = fb;
|
|
7
|
+
this.credentialService = credentialService;
|
|
8
|
+
this.action = new EventEmitter();
|
|
9
|
+
this.createForm();
|
|
10
|
+
}
|
|
11
|
+
set commentData(data) {
|
|
12
|
+
this.view = !!data;
|
|
13
|
+
this._commentData = data;
|
|
14
|
+
this.commentFormGroup.patchValue(data);
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() { }
|
|
17
|
+
get isLoggedIn() {
|
|
18
|
+
return this.credentialService.isAuthenticated;
|
|
19
|
+
}
|
|
20
|
+
get currentUser() {
|
|
21
|
+
return this.credentialService.credentials.user;
|
|
22
|
+
}
|
|
23
|
+
createForm() {
|
|
24
|
+
//TODO: Finialize and add more validations.
|
|
25
|
+
this.commentFormGroup = this.fb.group({
|
|
26
|
+
id: [""],
|
|
27
|
+
note: [""],
|
|
28
|
+
model_type: [""],
|
|
29
|
+
related_model_id: [""],
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
submit() {
|
|
33
|
+
if (this.commentFormGroup.get("note").value) {
|
|
34
|
+
if (this._commentData) {
|
|
35
|
+
this.view = !this.view;
|
|
36
|
+
}
|
|
37
|
+
this.action.emit({ type: "save", value: this.commentFormGroup.value });
|
|
38
|
+
this.commentFormGroup.reset();
|
|
39
|
+
}
|
|
40
|
+
else if (this.commentFormGroup.get("id").value) {
|
|
41
|
+
this.deleteComment();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
hideEdit() {
|
|
45
|
+
if (this.commentFormGroup.get("id").value) {
|
|
46
|
+
this.view = !this.view;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
editComment() {
|
|
50
|
+
this.view = !this.view;
|
|
51
|
+
this.commentFormGroup.patchValue(this._commentData);
|
|
52
|
+
}
|
|
53
|
+
deleteComment() {
|
|
54
|
+
this.action.emit({ type: "delete", value: this.commentFormGroup.value });
|
|
55
|
+
}
|
|
56
|
+
ngOnDestroy() { }
|
|
57
|
+
}
|
|
58
|
+
CommentFormComponent.decorators = [
|
|
59
|
+
{ type: Component, args: [{
|
|
60
|
+
selector: "app-comment-form",
|
|
61
|
+
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>",
|
|
62
|
+
styles: [":host ::ng-deep .mat-form-field-wrapper{margin:0!important;padding-bottom:0!important}"]
|
|
63
|
+
},] }
|
|
64
|
+
];
|
|
65
|
+
CommentFormComponent.ctorParameters = () => [
|
|
66
|
+
{ type: FormBuilder },
|
|
67
|
+
{ type: CredentialsService }
|
|
68
|
+
];
|
|
69
|
+
CommentFormComponent.propDecorators = {
|
|
70
|
+
commentData: [{ type: Input }],
|
|
71
|
+
action: [{ type: Output }]
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9jb21tZW50LWZvcm0vY29tbWVudC1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU9wRSxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQW9CLEVBQWUsRUFDekIsaUJBQXFDO1FBRDNCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDekIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFvQjtRQUhyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUtwQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQVpELElBQWEsV0FBVyxDQUFDLElBQVM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQVVELFFBQVEsS0FBSyxDQUFDO0lBRWQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFTyxVQUFVO1FBQ2hCLDJDQUEyQztRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDcEMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1YsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLGdCQUFnQixFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUMzQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7YUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2hELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxXQUFXLEtBQUssQ0FBQzs7O1lBdkVsQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsdWpFQUE0Qzs7YUFFN0M7OztZQVBtQixXQUFXO1lBQ3RCLGtCQUFrQjs7OzBCQVl4QixLQUFLO3FCQU1MLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENyZWRlbnRpYWxzU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2NyZWRlbnRpYWxzLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC1jb21tZW50LWZvcm1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbW1lbnQtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9jb21tZW50LWZvcm0uY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1lbnRGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGNvbW1lbnRGb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICB2aWV3OiBib29sZWFuO1xyXG4gIF9jb21tZW50RGF0YTogYW55O1xyXG5cclxuICBASW5wdXQoKSBzZXQgY29tbWVudERhdGEoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnZpZXcgPSAhIWRhdGE7XHJcbiAgICB0aGlzLl9jb21tZW50RGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLmNvbW1lbnRGb3JtR3JvdXAucGF0Y2hWYWx1ZShkYXRhKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBjcmVkZW50aWFsU2VydmljZTogQ3JlZGVudGlhbHNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkgeyB9XHJcblxyXG4gIGdldCBpc0xvZ2dlZEluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlZGVudGlhbFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGN1cnJlbnRVc2VyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlZGVudGlhbFNlcnZpY2UuY3JlZGVudGlhbHMudXNlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgIC8vVE9ETzogRmluaWFsaXplIGFuZCBhZGQgbW9yZSB2YWxpZGF0aW9ucy5cclxuICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBpZDogW1wiXCJdLFxyXG4gICAgICBub3RlOiBbXCJcIl0sXHJcbiAgICAgIG1vZGVsX3R5cGU6IFtcIlwiXSxcclxuICAgICAgcmVsYXRlZF9tb2RlbF9pZDogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5jb21tZW50Rm9ybUdyb3VwLmdldChcIm5vdGVcIikudmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMuX2NvbW1lbnREYXRhKSB7XHJcbiAgICAgICAgdGhpcy52aWV3ID0gIXRoaXMudmlldztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFjdGlvbi5lbWl0KHsgdHlwZTogXCJzYXZlXCIsIHZhbHVlOiB0aGlzLmNvbW1lbnRGb3JtR3JvdXAudmFsdWUgfSk7XHJcbiAgICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5yZXNldCgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0KFwiaWRcIikudmFsdWUpIHtcclxuICAgICAgdGhpcy5kZWxldGVDb21tZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlRWRpdCgpIHtcclxuICAgIGlmICh0aGlzLmNvbW1lbnRGb3JtR3JvdXAuZ2V0KFwiaWRcIikudmFsdWUpIHtcclxuICAgICAgdGhpcy52aWV3ID0gIXRoaXMudmlldztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVkaXRDb21tZW50KCkge1xyXG4gICAgdGhpcy52aWV3ID0gIXRoaXMudmlldztcclxuICAgIHRoaXMuY29tbWVudEZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuX2NvbW1lbnREYXRhKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUNvbW1lbnQoKSB7XHJcbiAgICB0aGlzLmFjdGlvbi5lbWl0KHsgdHlwZTogXCJkZWxldGVcIiwgdmFsdWU6IHRoaXMuY29tbWVudEZvcm1Hcm91cC52YWx1ZSB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkgeyB9XHJcbn1cclxuIl19
|
|
@@ -1,4 +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,
|
|
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=
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Inject } from "@angular/core";
|
|
3
|
-
import { FormBuilder, Validators } from "@angular/forms";
|
|
4
|
-
import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
5
|
-
import { NoteService } from "../note.service";
|
|
6
|
-
import { FormValidatorService } from '../../core/form-validator.service';
|
|
7
|
-
import { AlertService } from "../../core/alert.service";
|
|
8
|
-
const errorMessages = {
|
|
9
|
-
note: {
|
|
10
|
-
required: "Note is required"
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
export class NoteFormComponent {
|
|
14
|
-
constructor(dialogRef, data, fb, formValidatorService, alertService, noteService) {
|
|
15
|
-
this.dialogRef = dialogRef;
|
|
16
|
-
this.data = data;
|
|
17
|
-
this.fb = fb;
|
|
18
|
-
this.formValidatorService = formValidatorService;
|
|
19
|
-
this.alertService = alertService;
|
|
20
|
-
this.noteService = noteService;
|
|
21
|
-
this.createForm();
|
|
22
|
-
}
|
|
23
|
-
/** Method to create a form **/
|
|
24
|
-
createForm() {
|
|
25
|
-
//TODO: Finialize and add more validations.
|
|
26
|
-
this.noteFormGroup = this.fb.group({
|
|
27
|
-
id: [""],
|
|
28
|
-
note: ["", Validators.compose([Validators.required])],
|
|
29
|
-
model_type: [""],
|
|
30
|
-
related_model_id: [""],
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
if (this.data.update) {
|
|
35
|
-
this.updateMode = true;
|
|
36
|
-
}
|
|
37
|
-
this.noteFormGroup.patchValue(this.data.note);
|
|
38
|
-
}
|
|
39
|
-
//Method to trigger login
|
|
40
|
-
submit() {
|
|
41
|
-
var _a;
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
this.noteFormFirstAttempt = true;
|
|
44
|
-
if (this.noteFormGroup.valid) {
|
|
45
|
-
const model = this.noteFormGroup.value;
|
|
46
|
-
const result = this.updateMode
|
|
47
|
-
? yield this.noteService.editNote(model)
|
|
48
|
-
: yield this.noteService.addNote(model);
|
|
49
|
-
this.alertService.addAlert(`${(_a = this.data) === null || _a === void 0 ? void 0 : _a.labelText} saved successfully`, "success");
|
|
50
|
-
this.dialogRef.close(result);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
cancel() {
|
|
55
|
-
this.dialogRef.close();
|
|
56
|
-
}
|
|
57
|
-
/**Method to evaluate form fields*/
|
|
58
|
-
isFieldValid(field) {
|
|
59
|
-
return this.formValidatorService.isFieldValid(field, this.noteFormGroup, this.noteFormFirstAttempt);
|
|
60
|
-
}
|
|
61
|
-
/**Method to find error in form fields*/
|
|
62
|
-
getErrorMessage(field) {
|
|
63
|
-
return this.formValidatorService.getErrorMessage(field, this.noteFormGroup, errorMessages);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
NoteFormComponent.decorators = [
|
|
67
|
-
{ type: Component, args: [{
|
|
68
|
-
selector: 'app-note-form',
|
|
69
|
-
template: "<form [formGroup]=\"noteFormGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>{{data?.labelText}}</div>\n </div>\n\n <div mat-dialog-content fxLayout=\"column\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between\">\n <mat-form-field fxFlex=\"100%\">\n <textarea matInput formControlName=\"note\" placeholder=\"{{data?.labelText}}\" autocomplete=\"off\"\n required></textarea>\n <mat-error *ngIf=\"isFieldValid('note')\">{{\n getErrorMessage(\"note\")\n }}</mat-error>\n </mat-form-field>\n\n <div class=\"my-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n </div>\n</form>",
|
|
70
|
-
styles: [""]
|
|
71
|
-
},] }
|
|
72
|
-
];
|
|
73
|
-
NoteFormComponent.ctorParameters = () => [
|
|
74
|
-
{ type: MatDialogRef },
|
|
75
|
-
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
76
|
-
{ type: FormBuilder },
|
|
77
|
-
{ type: FormValidatorService },
|
|
78
|
-
{ type: AlertService },
|
|
79
|
-
{ type: NoteService }
|
|
80
|
-
];
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, Inject } from "@angular/core";
|
|
3
|
+
import { FormBuilder, Validators } from "@angular/forms";
|
|
4
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
5
|
+
import { NoteService } from "../note.service";
|
|
6
|
+
import { FormValidatorService } from '../../core/form-validator.service';
|
|
7
|
+
import { AlertService } from "../../core/alert.service";
|
|
8
|
+
const errorMessages = {
|
|
9
|
+
note: {
|
|
10
|
+
required: "Note is required"
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export class NoteFormComponent {
|
|
14
|
+
constructor(dialogRef, data, fb, formValidatorService, alertService, noteService) {
|
|
15
|
+
this.dialogRef = dialogRef;
|
|
16
|
+
this.data = data;
|
|
17
|
+
this.fb = fb;
|
|
18
|
+
this.formValidatorService = formValidatorService;
|
|
19
|
+
this.alertService = alertService;
|
|
20
|
+
this.noteService = noteService;
|
|
21
|
+
this.createForm();
|
|
22
|
+
}
|
|
23
|
+
/** Method to create a form **/
|
|
24
|
+
createForm() {
|
|
25
|
+
//TODO: Finialize and add more validations.
|
|
26
|
+
this.noteFormGroup = this.fb.group({
|
|
27
|
+
id: [""],
|
|
28
|
+
note: ["", Validators.compose([Validators.required])],
|
|
29
|
+
model_type: [""],
|
|
30
|
+
related_model_id: [""],
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (this.data.update) {
|
|
35
|
+
this.updateMode = true;
|
|
36
|
+
}
|
|
37
|
+
this.noteFormGroup.patchValue(this.data.note);
|
|
38
|
+
}
|
|
39
|
+
//Method to trigger login
|
|
40
|
+
submit() {
|
|
41
|
+
var _a;
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
this.noteFormFirstAttempt = true;
|
|
44
|
+
if (this.noteFormGroup.valid) {
|
|
45
|
+
const model = this.noteFormGroup.value;
|
|
46
|
+
const result = this.updateMode
|
|
47
|
+
? yield this.noteService.editNote(model)
|
|
48
|
+
: yield this.noteService.addNote(model);
|
|
49
|
+
this.alertService.addAlert(`${(_a = this.data) === null || _a === void 0 ? void 0 : _a.labelText} saved successfully`, "success");
|
|
50
|
+
this.dialogRef.close(result);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
cancel() {
|
|
55
|
+
this.dialogRef.close();
|
|
56
|
+
}
|
|
57
|
+
/**Method to evaluate form fields*/
|
|
58
|
+
isFieldValid(field) {
|
|
59
|
+
return this.formValidatorService.isFieldValid(field, this.noteFormGroup, this.noteFormFirstAttempt);
|
|
60
|
+
}
|
|
61
|
+
/**Method to find error in form fields*/
|
|
62
|
+
getErrorMessage(field) {
|
|
63
|
+
return this.formValidatorService.getErrorMessage(field, this.noteFormGroup, errorMessages);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
NoteFormComponent.decorators = [
|
|
67
|
+
{ type: Component, args: [{
|
|
68
|
+
selector: 'app-note-form',
|
|
69
|
+
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>",
|
|
70
|
+
styles: [""]
|
|
71
|
+
},] }
|
|
72
|
+
];
|
|
73
|
+
NoteFormComponent.ctorParameters = () => [
|
|
74
|
+
{ type: MatDialogRef },
|
|
75
|
+
{ type: undefined, decorators: [{ type: Inject, args: [MAT_DIALOG_DATA,] }] },
|
|
76
|
+
{ type: FormBuilder },
|
|
77
|
+
{ type: FormValidatorService },
|
|
78
|
+
{ type: AlertService },
|
|
79
|
+
{ type: NoteService }
|
|
80
|
+
];
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvbm90ZS9ub3RlLWZvcm0vbm90ZS1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsTUFBTSxhQUFhLEdBQVE7SUFDekIsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGtCQUFrQjtLQUM3QjtDQUNGLENBQUM7QUFPRixNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQ1MsU0FBMEMsRUFDakIsSUFBUyxFQUNqQyxFQUFlLEVBQ2Ysb0JBQTBDLEVBQzFDLFlBQTBCLEVBQzFCLFdBQXdCO1FBTHpCLGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFFaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCwrQkFBK0I7SUFDdkIsVUFBVTtRQUNoQiwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNqQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3JELFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoQixnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCx5QkFBeUI7SUFDbkIsTUFBTTs7O1lBQ1YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztnQkFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVU7b0JBQzVCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztvQkFDeEMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUN4QixHQUFHLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsU0FBUyxxQkFBcUIsRUFDNUMsU0FBUyxDQUNWLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUI7O0tBQ0Y7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FDM0MsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsZUFBZSxDQUFDLEtBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUM5QyxLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsRUFDbEIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDOzs7WUE3RUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qix1dkNBQXlDOzthQUUxQzs7O1lBZlEsWUFBWTs0Q0F3QmhCLE1BQU0sU0FBQyxlQUFlO1lBekJQLFdBQVc7WUFHdEIsb0JBQW9CO1lBQ3BCLFlBQVk7WUFGWixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE5vdGVTZXJ2aWNlIH0gZnJvbSBcIi4uL25vdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2FsZXJ0LnNlcnZpY2VcIjtcclxuXHJcbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcclxuICBub3RlOiB7XHJcbiAgICByZXF1aXJlZDogXCJOb3RlIGlzIHJlcXVpcmVkXCJcclxuICB9XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ub3RlLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ub3RlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25vdGUtZm9ybS5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgdXBkYXRlTW9kZTogYm9vbGVhbjtcclxuICBub3RlRm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgbm90ZUZvcm1GaXJzdEF0dGVtcHQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE5vdGVGb3JtQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIGZvcm1WYWxpZGF0b3JTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yU2VydmljZSxcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5vdGVTZXJ2aWNlOiBOb3RlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICAvKiogTWV0aG9kIHRvIGNyZWF0ZSBhIGZvcm0gKiovXHJcbiAgcHJpdmF0ZSBjcmVhdGVGb3JtKCkge1xyXG4gICAgLy9UT0RPOiBGaW5pYWxpemUgYW5kIGFkZCBtb3JlIHZhbGlkYXRpb25zLlxyXG4gICAgdGhpcy5ub3RlRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlkOiBbXCJcIl0sXHJcbiAgICAgIG5vdGU6IFtcIlwiLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgIG1vZGVsX3R5cGU6IFtcIlwiXSxcclxuICAgICAgcmVsYXRlZF9tb2RlbF9pZDogW1wiXCJdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmRhdGEudXBkYXRlKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlTW9kZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5vdGVGb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmRhdGEubm90ZSk7XHJcbiAgfVxyXG5cclxuICAvL01ldGhvZCB0byB0cmlnZ2VyIGxvZ2luXHJcbiAgYXN5bmMgc3VibWl0KCkge1xyXG4gICAgdGhpcy5ub3RlRm9ybUZpcnN0QXR0ZW1wdCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5ub3RlRm9ybUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5ub3RlRm9ybUdyb3VwLnZhbHVlO1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnVwZGF0ZU1vZGVcclxuICAgICAgICA/IGF3YWl0IHRoaXMubm90ZVNlcnZpY2UuZWRpdE5vdGUobW9kZWwpXHJcbiAgICAgICAgOiBhd2FpdCB0aGlzLm5vdGVTZXJ2aWNlLmFkZE5vdGUobW9kZWwpO1xyXG5cclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoXHJcbiAgICAgICAgYCR7dGhpcy5kYXRhPy5sYWJlbFRleHR9IHNhdmVkIHN1Y2Nlc3NmdWxseWAsXHJcbiAgICAgICAgXCJzdWNjZXNzXCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbCgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICAvKipNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xyXG4gIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5pc0ZpZWxkVmFsaWQoXHJcbiAgICAgIGZpZWxkLFxyXG4gICAgICB0aGlzLm5vdGVGb3JtR3JvdXAsXHJcbiAgICAgIHRoaXMubm90ZUZvcm1GaXJzdEF0dGVtcHRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShcclxuICAgICAgZmllbGQsXHJcbiAgICAgIHRoaXMubm90ZUZvcm1Hcm91cCxcclxuICAgICAgZXJyb3JNZXNzYWdlc1xyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|