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,33 +1,33 @@
|
|
|
1
|
-
import { Location } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
export class FailedItemsListComponent {
|
|
4
|
-
constructor(location) {
|
|
5
|
-
this.location = location;
|
|
6
|
-
this.onReUpload = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
ngOnInit() {
|
|
9
|
-
}
|
|
10
|
-
isValidDate(d) {
|
|
11
|
-
var date = new Date(d);
|
|
12
|
-
return date instanceof Date && !isNaN(date.getTime());
|
|
13
|
-
}
|
|
14
|
-
reUpload() {
|
|
15
|
-
this.onReUpload.emit(true);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
FailedItemsListComponent.decorators = [
|
|
19
|
-
{ type: Component, args: [{
|
|
20
|
-
selector: 'app-failed-items-list',
|
|
21
|
-
template: "<div *ngIf=\"failedItems.length\" class=\"mt-4\" fxLayout=\"column\">\n <div fxLayout=\"row wrap\" class=\"pb-3\">\n <h5 fxFlex=\"30%\" class=\"primary-color\">Summary</h5>\n <div fxFlex=\"70%\" fxLayoutAlign=\"center center\">\n <h5 class=\"secondary-color\">\n <span class=\"font-weight-bold\">{{failedItems.length}}</span>\n </h5>\n <span class=\"text-muted ml-2\"> Error(s) Found In Uploaded File</span>\n </div>\n </div>\n\n <div>\n <mat-divider></mat-divider>\n </div>\n <div fxLayout=\"row wrap\" class=\"pt-3\">\n <h5 class=\"primary-color\">Errors</h5>\n <div style=\"overflow-x: auto;width: 1100px;\" class=\"pt-3\">\n <table class=\"table table-bordered table-striped table-hover table-sm ml-4 w-100\">\n <thead>\n <tr>\n <th>#</th>\n <th *ngFor=\"let field of selectedFields;\">{{field?.label}}</th>\n <th class=\"text-danger\">Error</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let timesheet of failedItems; let i=index\">\n <tr>\n <td>{{i + 1}}</td>\n <td *ngFor=\"let field of selectedFields;\">\n <ng-container *ngIf=\"(field.propertyType == 'date' || field.propertyType == 'dateTime')\n &&isValidDate(timesheet[field.property]);else elseProperty;\">\n {{ timesheet[field.property] | date: 'MMM d, y, H:mm:ss' }}\n </ng-container>\n <ng-template #elseProperty>\n {{ timesheet[field.property] }}\n </ng-template>\n </td>\n <td class=\"text-danger\">\n {{timesheet?.error}}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n </div>\n <div class=\"mt-1\" fxFlex=\"100%\" fxLayoutAlign=\"end\">\n <button mat-button class=\"mt-2 mr-2\" type=\"button\" (click)=\"location.back()\">\n Close\n </button>\n <button mat-stroked-button class=\"mt-2 mr-2 primary-color\" type=\"button\" (click)=\"reUpload()\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n file_upload\n </span>\n </mat-icon>\n Re-upload\n </button>\n </div>\n</div>\n",
|
|
22
|
-
styles: [""]
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
FailedItemsListComponent.ctorParameters = () => [
|
|
26
|
-
{ type: Location }
|
|
27
|
-
];
|
|
28
|
-
FailedItemsListComponent.propDecorators = {
|
|
29
|
-
failedItems: [{ type: Input }],
|
|
30
|
-
selectedFields: [{ type: Input }],
|
|
31
|
-
onReUpload: [{ type: Output }]
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Location } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
export class FailedItemsListComponent {
|
|
4
|
+
constructor(location) {
|
|
5
|
+
this.location = location;
|
|
6
|
+
this.onReUpload = new EventEmitter();
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
}
|
|
10
|
+
isValidDate(d) {
|
|
11
|
+
var date = new Date(d);
|
|
12
|
+
return date instanceof Date && !isNaN(date.getTime());
|
|
13
|
+
}
|
|
14
|
+
reUpload() {
|
|
15
|
+
this.onReUpload.emit(true);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
FailedItemsListComponent.decorators = [
|
|
19
|
+
{ type: Component, args: [{
|
|
20
|
+
selector: 'app-failed-items-list',
|
|
21
|
+
template: "<div *ngIf=\"failedItems.length\" class=\"mt-4\" fxLayout=\"column\">\r\n <div fxLayout=\"row wrap\" class=\"pb-3\">\r\n <h5 fxFlex=\"30%\" class=\"primary-color\">Summary</h5>\r\n <div fxFlex=\"70%\" fxLayoutAlign=\"center center\">\r\n <h5 class=\"secondary-color\">\r\n <span class=\"font-weight-bold\">{{failedItems.length}}</span>\r\n </h5>\r\n <span class=\"text-muted ml-2\"> Error(s) Found In Uploaded File</span>\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n <div fxLayout=\"row wrap\" class=\"pt-3\">\r\n <h5 class=\"primary-color\">Errors</h5>\r\n <div style=\"overflow-x: auto;width: 1100px;\" class=\"pt-3\">\r\n <table class=\"table table-bordered table-striped table-hover table-sm ml-4 w-100\">\r\n <thead>\r\n <tr>\r\n <th>#</th>\r\n <th *ngFor=\"let field of selectedFields;\">{{field?.label}}</th>\r\n <th class=\"text-danger\">Error</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let timesheet of failedItems; let i=index\">\r\n <tr>\r\n <td>{{i + 1}}</td>\r\n <td *ngFor=\"let field of selectedFields;\">\r\n <ng-container *ngIf=\"(field.propertyType == 'date' || field.propertyType == 'dateTime')\r\n &&isValidDate(timesheet[field.property]);else elseProperty;\">\r\n {{ timesheet[field.property] | date: 'MMM d, y, H:mm:ss' }}\r\n </ng-container>\r\n <ng-template #elseProperty>\r\n {{ timesheet[field.property] }}\r\n </ng-template>\r\n </td>\r\n <td class=\"text-danger\">\r\n {{timesheet?.error}}\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"mt-1\" fxFlex=\"100%\" fxLayoutAlign=\"end\">\r\n <button mat-button class=\"mt-2 mr-2\" type=\"button\" (click)=\"location.back()\">\r\n Close\r\n </button>\r\n <button mat-stroked-button class=\"mt-2 mr-2 primary-color\" type=\"button\" (click)=\"reUpload()\">\r\n <mat-icon>\r\n <span class=\"material-icons-outlined\">\r\n file_upload\r\n </span>\r\n </mat-icon>\r\n Re-upload\r\n </button>\r\n </div>\r\n</div>\r\n",
|
|
22
|
+
styles: [""]
|
|
23
|
+
},] }
|
|
24
|
+
];
|
|
25
|
+
FailedItemsListComponent.ctorParameters = () => [
|
|
26
|
+
{ type: Location }
|
|
27
|
+
];
|
|
28
|
+
FailedItemsListComponent.propDecorators = {
|
|
29
|
+
failedItems: [{ type: Input }],
|
|
30
|
+
selectedFields: [{ type: Input }],
|
|
31
|
+
onReUpload: [{ type: Output }]
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLWl0ZW1zLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9pbXBvcnQtY3N2L2ZhaWxlZC1pdGVtcy1saXN0L2ZhaWxlZC1pdGVtcy1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLFlBQ1MsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUhqQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUl0QyxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBTTtRQUNoQixJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixPQUFPLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7WUF4QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHk0RUFBaUQ7O2FBRWxEOzs7WUFQUSxRQUFROzs7MEJBU2QsS0FBSzs2QkFDTCxLQUFLO3lCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZhaWxlZC1pdGVtcy1saXN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLWl0ZW1zLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhaWxlZC1pdGVtcy1saXN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZhaWxlZEl0ZW1zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZmFpbGVkSXRlbXM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRmllbGRzOiBhbnlbXTtcclxuICBAT3V0cHV0KCkgb25SZVVwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgbG9jYXRpb246IExvY2F0aW9uXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkRGF0ZShkOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHZhciBkYXRlID0gbmV3IERhdGUoZCk7XHJcbiAgICByZXR1cm4gZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcclxuICB9XHJcblxyXG4gIHJlVXBsb2FkKCkge1xyXG4gICAgdGhpcy5vblJlVXBsb2FkLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
import { FormValidatorService } from '../../core/form-validator.service';
|
|
2
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { FormBuilder, FormControl, Validators } from '@angular/forms';
|
|
4
|
-
import { Location } from '@angular/common';
|
|
5
|
-
const errorMessages = {
|
|
6
|
-
property: {
|
|
7
|
-
required: "Property is required",
|
|
8
|
-
unavailable: "Duplicate entry"
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
export class FieldMappingComponent {
|
|
12
|
-
constructor(fb, formValidatorService, changeDetectorRef, location) {
|
|
13
|
-
this.fb = fb;
|
|
14
|
-
this.formValidatorService = formValidatorService;
|
|
15
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
16
|
-
this.location = location;
|
|
17
|
-
this.firstDataArray = [];
|
|
18
|
-
this.properties = [];
|
|
19
|
-
this.onSave = new EventEmitter();
|
|
20
|
-
this.onReUpload = new EventEmitter();
|
|
21
|
-
this.createImportMappingForm();
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.properties = this.config.properties;
|
|
25
|
-
;
|
|
26
|
-
this.reFectorAttributes(this.data[0]);
|
|
27
|
-
}
|
|
28
|
-
createImportMappingForm() {
|
|
29
|
-
this.importMappingForm = this.fb.group({
|
|
30
|
-
fields: this.fb.array([]),
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
get fieldsArray() {
|
|
34
|
-
return this.importMappingForm.get('fields');
|
|
35
|
-
}
|
|
36
|
-
createField(field) {
|
|
37
|
-
var fieldForm = this.fb.group({
|
|
38
|
-
id: new FormControl(field.id),
|
|
39
|
-
label: new FormControl(field.label),
|
|
40
|
-
value: new FormControl(field.value),
|
|
41
|
-
property: new FormControl(field.property, Validators.compose([
|
|
42
|
-
Validators.required
|
|
43
|
-
])),
|
|
44
|
-
propertyType: new FormControl(field.propertyType)
|
|
45
|
-
});
|
|
46
|
-
return fieldForm;
|
|
47
|
-
}
|
|
48
|
-
reFectorAttributes(data) {
|
|
49
|
-
for (var k in data) {
|
|
50
|
-
if (data.hasOwnProperty(k)) {
|
|
51
|
-
var dataValue = {
|
|
52
|
-
id: '',
|
|
53
|
-
label: k,
|
|
54
|
-
value: data[k],
|
|
55
|
-
property: '',
|
|
56
|
-
propertyType: ''
|
|
57
|
-
};
|
|
58
|
-
this.firstDataArray.push(dataValue);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
this.firstDataArray.forEach((element, mainIndex) => {
|
|
62
|
-
element.id = mainIndex;
|
|
63
|
-
this.properties.find((property, index) => {
|
|
64
|
-
if (property.label.toLowerCase().includes(element.label.toLowerCase())) {
|
|
65
|
-
element.property = property.value;
|
|
66
|
-
element.propertyType = property.type;
|
|
67
|
-
return element;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
next() {
|
|
73
|
-
this.importMappingForm.markAllAsTouched();
|
|
74
|
-
if (!this.importMappingForm.valid) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
this.onSave.emit(this.importMappingForm.value);
|
|
78
|
-
}
|
|
79
|
-
/** Method to evaluate form fields*/
|
|
80
|
-
isFieldValid(field, form) {
|
|
81
|
-
return this.formValidatorService.isFieldValid(field, form);
|
|
82
|
-
}
|
|
83
|
-
/** Method to find error in form fields*/
|
|
84
|
-
getErrorMessage(field, form) {
|
|
85
|
-
return this.formValidatorService.getErrorMessage(field, form, errorMessages);
|
|
86
|
-
}
|
|
87
|
-
ngAfterViewInit() {
|
|
88
|
-
//Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
|
|
89
|
-
//Add 'implements AfterViewInit' to the class.
|
|
90
|
-
setTimeout(x => {
|
|
91
|
-
this.firstDataArray.forEach((element) => {
|
|
92
|
-
this.fieldsArray.push(this.createField(element));
|
|
93
|
-
});
|
|
94
|
-
this.changeDetectorRef.detectChanges();
|
|
95
|
-
}, 500);
|
|
96
|
-
}
|
|
97
|
-
updatePropertyType(event, index) {
|
|
98
|
-
var field = this.properties.find((field) => field.value == event.value);
|
|
99
|
-
if (field) {
|
|
100
|
-
this.fieldsArray.controls[index].get('propertyType').setValue(field.type);
|
|
101
|
-
this.uniqueValidator();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
uniqueValidator() {
|
|
105
|
-
this.fieldsArray.value.forEach((field, index) => {
|
|
106
|
-
var control = this.fieldsArray.controls[index].get('property');
|
|
107
|
-
const isNameUnique = this.fieldsArray.value.find(propertyData => propertyData.property === control.value
|
|
108
|
-
&& propertyData.id != this.fieldsArray.controls[index].get('id').value)
|
|
109
|
-
? false
|
|
110
|
-
: true;
|
|
111
|
-
if (!isNameUnique) {
|
|
112
|
-
control.setErrors({ unavailable: true });
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
control.setErrors(null);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
removeField(index) {
|
|
120
|
-
if (index == -1) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
this.fieldsArray.removeAt(index);
|
|
124
|
-
}
|
|
125
|
-
reUpload() {
|
|
126
|
-
this.onReUpload.emit(true);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
FieldMappingComponent.decorators = [
|
|
130
|
-
{ type: Component, args: [{
|
|
131
|
-
selector: 'app-field-mapping',
|
|
132
|
-
template: "<div fxLayout=\"column\" class=\"mt-2\">\n <div fxLayout=\"row wrap\" class=\"pb-3\">\n <h5 fxFlex=\"30%\" class=\"primary-color\">Summary</h5>\n <div fxFlex=\"70%\" fxLayoutAlign=\"center center\">\n <h5 class=\"secondary-color\">\n <span class=\"font-weight-bold\">{{data.length}}</span>\n </h5>\n <span class=\"text-muted ml-2\"> Records Found In Uploaded File</span>\n </div>\n </div>\n\n <div>\n <mat-divider></mat-divider>\n </div>\n\n <form [formGroup]=\"importMappingForm\" (ngSubmit)=\"next()\" fxLayout=\"column\" class=\"pt-3\">\n <h5 class=\"primary-color pb-2\">Properties</h5>\n <table style=\"width: 100%;\" class=\"table table-sm table-striped\">\n <tr class=\"table-header-row\">\n <th>Column Headers From File</th>\n <th>Preview Information</th>\n <th>Property</th>\n </tr>\n <ng-container formArrayName=\"fields\">\n <tr *ngFor=\"let field of fieldsArray.controls; let i=index\" [formGroupName]=\"i\">\n <td>{{ field.get('label').value }}</td>\n <td>{{ field.get('value').value }}</td>\n <td>\n <mat-form-field fxFlex=\"100%\" appearance=\"outline\">\n <mat-label>Select Property</mat-label>\n <mat-select placeholder=\"Select Property\" formControlName=\"property\" required\n (selectionChange)=\"updatePropertyType($event, i)\">\n <mat-option *ngFor=\"let property of properties\" [value]=\"property.value\">\n {{property.label}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"isFieldValid('property', fieldsArray.controls[i])\">\n {{getErrorMessage('property', fieldsArray.controls[i])}}\n </mat-error>\n </mat-form-field>\n <button type=\"button\" mat-icon-button (click)=\"removeField(i)\" *ngIf=\"fieldsArray.length > 1\"\n matTooltip=\"Remove column\" matTooltipPosition=\"right\">\n <mat-icon class=\"text-danger\">remove_circle</mat-icon>\n </button>\n </td>\n </tr>\n </ng-container>\n </table>\n\n <div class=\"mt-1\" fxFlex=\"100%\" fxLayoutAlign=\"end\">\n <button mat-button class=\"mt-2 mr-2\" type=\"button\" (click)=\"location.back()\">\n Cancel\n </button>\n <button mat-stroked-button class=\"mt-2 mr-2 primary-color\" type=\"button\" (click)=\"reUpload()\">\n <mat-icon>\n <span class=\"material-icons-outlined\">\n file_upload\n </span>\n </mat-icon>\n Re-upload\n </button>\n <button mat-stroked-button class=\"mt-2 primary-bg text-white\" type=\"submit\">\n Next\n <mat-icon>\n chevron_right\n </mat-icon>\n </button>\n </div>\n </form>\n</div>\n",
|
|
133
|
-
styles: ["table{width:100%}td,th{padding:1%}.table-header-row{background-color:#e6e4e4;color:#000;font-weight:bolder}"]
|
|
134
|
-
},] }
|
|
135
|
-
];
|
|
136
|
-
FieldMappingComponent.ctorParameters = () => [
|
|
137
|
-
{ type: FormBuilder },
|
|
138
|
-
{ type: FormValidatorService },
|
|
139
|
-
{ type: ChangeDetectorRef },
|
|
140
|
-
{ type: Location }
|
|
141
|
-
];
|
|
142
|
-
FieldMappingComponent.propDecorators = {
|
|
143
|
-
data: [{ type: Input }],
|
|
144
|
-
config: [{ type: Input }],
|
|
145
|
-
onSave: [{ type: Output }],
|
|
146
|
-
onReUpload: [{ type: Output }]
|
|
147
|
-
};
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWFwcGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvZmllbGQtbWFwcGluZy9maWVsZC1tYXBwaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBYSxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxNQUFNLGFBQWEsR0FBUTtJQUN6QixRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFdBQVcsRUFBRSxpQkFBaUI7S0FDL0I7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsaUJBQW9DLEVBQ3JDLFFBQWtCO1FBSGpCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVQzQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFFLElBQUksWUFBWSxFQUFFLENBQUM7UUFRdkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVE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Ozs7bUJBa0JkLEtBQUs7cUJBQ0wsS0FBSztxQkFHTCxNQUFNO3lCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEltcG9ydENzdkNvbmZpZyB9IGZyb20gJy4uL2ltcG9ydC1jc3YtY29uZmlnJztcblxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xuICBwcm9wZXJ0eToge1xuICAgIHJlcXVpcmVkOiBcIlByb3BlcnR5IGlzIHJlcXVpcmVkXCIsXG4gICAgdW5hdmFpbGFibGU6IFwiRHVwbGljYXRlIGVudHJ5XCJcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWVsZC1tYXBwaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWVsZC1tYXBwaW5nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmllbGRNYXBwaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBpbXBvcnRNYXBwaW5nRm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcbiAgQElucHV0KCkgY29uZmlnOiBJbXBvcnRDc3ZDb25maWc7XG4gIGZpcnN0RGF0YUFycmF5OiBhbnlbXSA9IFtdO1xuICBwcm9wZXJ0aWVzOiBhbnlbXSA9IFtdO1xuICBAT3V0cHV0KCkgb25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25SZVVwbG9hZD0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7XG4gICAgdGhpcy5jcmVhdGVJbXBvcnRNYXBwaW5nRm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdGhpcy5jb25maWcucHJvcGVydGllczs7XG4gICAgdGhpcy5yZUZlY3RvckF0dHJpYnV0ZXModGhpcy5kYXRhWzBdKTtcbiAgfVxuXG4gIGNyZWF0ZUltcG9ydE1hcHBpbmdGb3JtKCkge1xuICAgIHRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGZpZWxkczogdGhpcy5mYi5hcnJheShbXSksXG4gICAgfSk7XG4gIH1cblxuICBnZXQgZmllbGRzQXJyYXkoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRNYXBwaW5nRm9ybS5nZXQoJ2ZpZWxkcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGNyZWF0ZUZpZWxkKGZpZWxkOiBhbnkpOiBGb3JtR3JvdXAge1xuICAgIHZhciBmaWVsZEZvcm06IEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5pZCksXG4gICAgICBsYWJlbDogbmV3IEZvcm1Db250cm9sKGZpZWxkLmxhYmVsKSxcbiAgICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woZmllbGQudmFsdWUpLFxuICAgICAgcHJvcGVydHk6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5wcm9wZXJ0eSxcbiAgICAgICAgVmFsaWRhdG9ycy5jb21wb3NlKFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgICAgICBdXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBwcm9wZXJ0eVR5cGU6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5wcm9wZXJ0eVR5cGUpXG4gICAgfSk7XG4gICAgcmV0dXJuIGZpZWxkRm9ybTtcbiAgfVxuXG4gIHJlRmVjdG9yQXR0cmlidXRlcyhkYXRhKSB7XG4gICAgZm9yICh2YXIgayBpbiBkYXRhKSB7XG4gICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICB2YXIgZGF0YVZhbHVlID0ge1xuICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICBsYWJlbDogayxcbiAgICAgICAgICB2YWx1ZTogZGF0YVtrXSxcbiAgICAgICAgICBwcm9wZXJ0eTogJycsXG4gICAgICAgICAgcHJvcGVydHlUeXBlOiAnJ1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLmZpcnN0RGF0YUFycmF5LnB1c2goZGF0YVZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5maXJzdERhdGFBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnksIG1haW5JbmRleDogYW55KSA9PiB7XG4gICAgICBlbGVtZW50LmlkID0gbWFpbkluZGV4O1xuICAgICAgdGhpcy5wcm9wZXJ0aWVzLmZpbmQoKHByb3BlcnR5OiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHByb3BlcnR5LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICAgIGVsZW1lbnQucHJvcGVydHkgPSBwcm9wZXJ0eS52YWx1ZTtcbiAgICAgICAgICBlbGVtZW50LnByb3BlcnR5VHlwZSA9IHByb3BlcnR5LnR5cGU7XG4gICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmV4dCgpIHtcbiAgICB0aGlzLmltcG9ydE1hcHBpbmdGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAoIXRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vblNhdmUuZW1pdCh0aGlzLmltcG9ydE1hcHBpbmdGb3JtLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZywgZm9ybTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCBmb3JtKTtcbiAgfVxuXG4gIC8qKiBNZXRob2QgdG8gZmluZCBlcnJvciBpbiBmb3JtIGZpZWxkcyovXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nLCBmb3JtOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdG9yU2VydmljZS5nZXRFcnJvck1lc3NhZ2UoZmllbGQsIGZvcm0sIGVycm9yTWVzc2FnZXMpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIG5nQWZ0ZXJDb250ZW50SW5pdCB3aGVuIHRoZSBjb21wb25lbnQncyB2aWV3IGhhcyBiZWVuIGluaXRpYWxpemVkLiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdJbml0JyB0byB0aGUgY2xhc3MuXG4gICAgc2V0VGltZW91dCh4ID0+IHtcbiAgICAgIHRoaXMuZmlyc3REYXRhQXJyYXkuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuZmllbGRzQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGVsZW1lbnQpKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHVwZGF0ZVByb3BlcnR5VHlwZShldmVudDogYW55LCBpbmRleDogYW55KTogdm9pZCB7XG4gICAgdmFyIGZpZWxkID0gdGhpcy5wcm9wZXJ0aWVzLmZpbmQoKGZpZWxkOiBhbnkpID0+IGZpZWxkLnZhbHVlID09IGV2ZW50LnZhbHVlKTtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIHRoaXMuZmllbGRzQXJyYXkuY29udHJvbHNbaW5kZXhdLmdldCgncHJvcGVydHlUeXBlJykuc2V0VmFsdWUoZmllbGQudHlwZSk7XG4gICAgICB0aGlzLnVuaXF1ZVZhbGlkYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIHVuaXF1ZVZhbGlkYXRvcigpIHtcbiAgICB0aGlzLmZpZWxkc0FycmF5LnZhbHVlLmZvckVhY2goKGZpZWxkOiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgIHZhciBjb250cm9sID0gdGhpcy5maWVsZHNBcnJheS5jb250cm9sc1tpbmRleF0uZ2V0KCdwcm9wZXJ0eScpO1xuICAgICAgY29uc3QgaXNOYW1lVW5pcXVlID0gdGhpcy5maWVsZHNBcnJheS52YWx1ZS5maW5kKHByb3BlcnR5RGF0YSA9PlxuICAgICAgICBwcm9wZXJ0eURhdGEucHJvcGVydHkgPT09IGNvbnRyb2wudmFsdWVcbiAgICAgICAgJiYgcHJvcGVydHlEYXRhLmlkICE9IHRoaXMuZmllbGRzQXJyYXkuY29udHJvbHNbaW5kZXhdLmdldCgnaWQnKS52YWx1ZVxuICAgICAgKVxuICAgICAgICA/IGZhbHNlXG4gICAgICAgIDogdHJ1ZTtcbiAgICAgIGlmICghaXNOYW1lVW5pcXVlKSB7XG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgdW5hdmFpbGFibGU6IHRydWUgfSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVGaWVsZChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4ID09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZmllbGRzQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICB9XG5cbiAgcmVVcGxvYWQoKSB7XG4gICAgdGhpcy5vblJlVXBsb2FkLmVtaXQodHJ1ZSk7XG4gIH1cblxufVxuIl19
|
|
1
|
+
import { FormValidatorService } from '../../core/form-validator.service';
|
|
2
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { FormBuilder, FormControl, Validators } from '@angular/forms';
|
|
4
|
+
import { Location } from '@angular/common';
|
|
5
|
+
const errorMessages = {
|
|
6
|
+
property: {
|
|
7
|
+
required: "Property is required",
|
|
8
|
+
unavailable: "Duplicate entry"
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
export class FieldMappingComponent {
|
|
12
|
+
constructor(fb, formValidatorService, changeDetectorRef, location) {
|
|
13
|
+
this.fb = fb;
|
|
14
|
+
this.formValidatorService = formValidatorService;
|
|
15
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
16
|
+
this.location = location;
|
|
17
|
+
this.firstDataArray = [];
|
|
18
|
+
this.properties = [];
|
|
19
|
+
this.onSave = new EventEmitter();
|
|
20
|
+
this.onReUpload = new EventEmitter();
|
|
21
|
+
this.createImportMappingForm();
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.properties = this.config.properties;
|
|
25
|
+
;
|
|
26
|
+
this.reFectorAttributes(this.data[0]);
|
|
27
|
+
}
|
|
28
|
+
createImportMappingForm() {
|
|
29
|
+
this.importMappingForm = this.fb.group({
|
|
30
|
+
fields: this.fb.array([]),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
get fieldsArray() {
|
|
34
|
+
return this.importMappingForm.get('fields');
|
|
35
|
+
}
|
|
36
|
+
createField(field) {
|
|
37
|
+
var fieldForm = this.fb.group({
|
|
38
|
+
id: new FormControl(field.id),
|
|
39
|
+
label: new FormControl(field.label),
|
|
40
|
+
value: new FormControl(field.value),
|
|
41
|
+
property: new FormControl(field.property, Validators.compose([
|
|
42
|
+
Validators.required
|
|
43
|
+
])),
|
|
44
|
+
propertyType: new FormControl(field.propertyType)
|
|
45
|
+
});
|
|
46
|
+
return fieldForm;
|
|
47
|
+
}
|
|
48
|
+
reFectorAttributes(data) {
|
|
49
|
+
for (var k in data) {
|
|
50
|
+
if (data.hasOwnProperty(k)) {
|
|
51
|
+
var dataValue = {
|
|
52
|
+
id: '',
|
|
53
|
+
label: k,
|
|
54
|
+
value: data[k],
|
|
55
|
+
property: '',
|
|
56
|
+
propertyType: ''
|
|
57
|
+
};
|
|
58
|
+
this.firstDataArray.push(dataValue);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this.firstDataArray.forEach((element, mainIndex) => {
|
|
62
|
+
element.id = mainIndex;
|
|
63
|
+
this.properties.find((property, index) => {
|
|
64
|
+
if (property.label.toLowerCase().includes(element.label.toLowerCase())) {
|
|
65
|
+
element.property = property.value;
|
|
66
|
+
element.propertyType = property.type;
|
|
67
|
+
return element;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
next() {
|
|
73
|
+
this.importMappingForm.markAllAsTouched();
|
|
74
|
+
if (!this.importMappingForm.valid) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
this.onSave.emit(this.importMappingForm.value);
|
|
78
|
+
}
|
|
79
|
+
/** Method to evaluate form fields*/
|
|
80
|
+
isFieldValid(field, form) {
|
|
81
|
+
return this.formValidatorService.isFieldValid(field, form);
|
|
82
|
+
}
|
|
83
|
+
/** Method to find error in form fields*/
|
|
84
|
+
getErrorMessage(field, form) {
|
|
85
|
+
return this.formValidatorService.getErrorMessage(field, form, errorMessages);
|
|
86
|
+
}
|
|
87
|
+
ngAfterViewInit() {
|
|
88
|
+
//Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
|
|
89
|
+
//Add 'implements AfterViewInit' to the class.
|
|
90
|
+
setTimeout(x => {
|
|
91
|
+
this.firstDataArray.forEach((element) => {
|
|
92
|
+
this.fieldsArray.push(this.createField(element));
|
|
93
|
+
});
|
|
94
|
+
this.changeDetectorRef.detectChanges();
|
|
95
|
+
}, 500);
|
|
96
|
+
}
|
|
97
|
+
updatePropertyType(event, index) {
|
|
98
|
+
var field = this.properties.find((field) => field.value == event.value);
|
|
99
|
+
if (field) {
|
|
100
|
+
this.fieldsArray.controls[index].get('propertyType').setValue(field.type);
|
|
101
|
+
this.uniqueValidator();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
uniqueValidator() {
|
|
105
|
+
this.fieldsArray.value.forEach((field, index) => {
|
|
106
|
+
var control = this.fieldsArray.controls[index].get('property');
|
|
107
|
+
const isNameUnique = this.fieldsArray.value.find(propertyData => propertyData.property === control.value
|
|
108
|
+
&& propertyData.id != this.fieldsArray.controls[index].get('id').value)
|
|
109
|
+
? false
|
|
110
|
+
: true;
|
|
111
|
+
if (!isNameUnique) {
|
|
112
|
+
control.setErrors({ unavailable: true });
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
control.setErrors(null);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
removeField(index) {
|
|
120
|
+
if (index == -1) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this.fieldsArray.removeAt(index);
|
|
124
|
+
}
|
|
125
|
+
reUpload() {
|
|
126
|
+
this.onReUpload.emit(true);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
FieldMappingComponent.decorators = [
|
|
130
|
+
{ type: Component, args: [{
|
|
131
|
+
selector: 'app-field-mapping',
|
|
132
|
+
template: "<div fxLayout=\"column\" class=\"mt-2\">\r\n <div fxLayout=\"row wrap\" class=\"pb-3\">\r\n <h5 fxFlex=\"30%\" class=\"primary-color\">Summary</h5>\r\n <div fxFlex=\"70%\" fxLayoutAlign=\"center center\">\r\n <h5 class=\"secondary-color\">\r\n <span class=\"font-weight-bold\">{{data.length}}</span>\r\n </h5>\r\n <span class=\"text-muted ml-2\"> Records Found In Uploaded File</span>\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <mat-divider></mat-divider>\r\n </div>\r\n\r\n <form [formGroup]=\"importMappingForm\" (ngSubmit)=\"next()\" fxLayout=\"column\" class=\"pt-3\">\r\n <h5 class=\"primary-color pb-2\">Properties</h5>\r\n <table style=\"width: 100%;\" class=\"table table-sm table-striped\">\r\n <tr class=\"table-header-row\">\r\n <th>Column Headers From File</th>\r\n <th>Preview Information</th>\r\n <th>Property</th>\r\n </tr>\r\n <ng-container formArrayName=\"fields\">\r\n <tr *ngFor=\"let field of fieldsArray.controls; let i=index\" [formGroupName]=\"i\">\r\n <td>{{ field.get('label').value }}</td>\r\n <td>{{ field.get('value').value }}</td>\r\n <td>\r\n <mat-form-field fxFlex=\"100%\" appearance=\"outline\">\r\n <mat-label>Select Property</mat-label>\r\n <mat-select placeholder=\"Select Property\" formControlName=\"property\" required\r\n (selectionChange)=\"updatePropertyType($event, i)\">\r\n <mat-option *ngFor=\"let property of properties\" [value]=\"property.value\">\r\n {{property.label}}\r\n </mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"isFieldValid('property', fieldsArray.controls[i])\">\r\n {{getErrorMessage('property', fieldsArray.controls[i])}}\r\n </mat-error>\r\n </mat-form-field>\r\n <button type=\"button\" mat-icon-button (click)=\"removeField(i)\" *ngIf=\"fieldsArray.length > 1\"\r\n matTooltip=\"Remove column\" matTooltipPosition=\"right\">\r\n <mat-icon class=\"text-danger\">remove_circle</mat-icon>\r\n </button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n\r\n <div class=\"mt-1\" fxFlex=\"100%\" fxLayoutAlign=\"end\">\r\n <button mat-button class=\"mt-2 mr-2\" type=\"button\" (click)=\"location.back()\">\r\n Cancel\r\n </button>\r\n <button mat-stroked-button class=\"mt-2 mr-2 primary-color\" type=\"button\" (click)=\"reUpload()\">\r\n <mat-icon>\r\n <span class=\"material-icons-outlined\">\r\n file_upload\r\n </span>\r\n </mat-icon>\r\n Re-upload\r\n </button>\r\n <button mat-stroked-button class=\"mt-2 primary-bg text-white\" type=\"submit\">\r\n Next\r\n <mat-icon>\r\n chevron_right\r\n </mat-icon>\r\n </button>\r\n </div>\r\n </form>\r\n</div>\r\n",
|
|
133
|
+
styles: ["table{width:100%}td,th{padding:1%}.table-header-row{background-color:#e6e4e4;color:#000;font-weight:bolder}"]
|
|
134
|
+
},] }
|
|
135
|
+
];
|
|
136
|
+
FieldMappingComponent.ctorParameters = () => [
|
|
137
|
+
{ type: FormBuilder },
|
|
138
|
+
{ type: FormValidatorService },
|
|
139
|
+
{ type: ChangeDetectorRef },
|
|
140
|
+
{ type: Location }
|
|
141
|
+
];
|
|
142
|
+
FieldMappingComponent.propDecorators = {
|
|
143
|
+
data: [{ type: Input }],
|
|
144
|
+
config: [{ type: Input }],
|
|
145
|
+
onSave: [{ type: Output }],
|
|
146
|
+
onReUpload: [{ type: Output }]
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWFwcGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvZmllbGQtbWFwcGluZy9maWVsZC1tYXBwaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBYSxXQUFXLEVBQUUsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUczQyxNQUFNLGFBQWEsR0FBUTtJQUN6QixRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFdBQVcsRUFBRSxpQkFBaUI7S0FDL0I7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUNVLEVBQWUsRUFDZixvQkFBMEMsRUFDMUMsaUJBQW9DLEVBQ3JDLFFBQWtCO1FBSGpCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVQzQixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFFLElBQUksWUFBWSxFQUFFLENBQUM7UUFRdkMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVE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Ozs7bUJBa0JkLEtBQUs7cUJBQ0wsS0FBSztxQkFHTCxNQUFNO3lCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW1wb3J0Q3N2Q29uZmlnIH0gZnJvbSAnLi4vaW1wb3J0LWNzdi1jb25maWcnO1xyXG5cclxuY29uc3QgZXJyb3JNZXNzYWdlczogYW55ID0ge1xyXG4gIHByb3BlcnR5OiB7XHJcbiAgICByZXF1aXJlZDogXCJQcm9wZXJ0eSBpcyByZXF1aXJlZFwiLFxyXG4gICAgdW5hdmFpbGFibGU6IFwiRHVwbGljYXRlIGVudHJ5XCJcclxuICB9LFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZmllbGQtbWFwcGluZycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLW1hcHBpbmcuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLW1hcHBpbmcuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmllbGRNYXBwaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaW1wb3J0TWFwcGluZ0Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBkYXRhOiBhbnlbXTtcclxuICBASW5wdXQoKSBjb25maWc6IEltcG9ydENzdkNvbmZpZztcclxuICBmaXJzdERhdGFBcnJheTogYW55W10gPSBbXTtcclxuICBwcm9wZXJ0aWVzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uUmVVcGxvYWQ9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgZm9ybVZhbGlkYXRvclNlcnZpY2U6IEZvcm1WYWxpZGF0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgbG9jYXRpb246IExvY2F0aW9uXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUltcG9ydE1hcHBpbmdGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucHJvcGVydGllcyA9IHRoaXMuY29uZmlnLnByb3BlcnRpZXM7O1xyXG4gICAgdGhpcy5yZUZlY3RvckF0dHJpYnV0ZXModGhpcy5kYXRhWzBdKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUltcG9ydE1hcHBpbmdGb3JtKCkge1xyXG4gICAgdGhpcy5pbXBvcnRNYXBwaW5nRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBmaWVsZHM6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZmllbGRzQXJyYXkoKTogRm9ybUFycmF5IHtcclxuICAgIHJldHVybiB0aGlzLmltcG9ydE1hcHBpbmdGb3JtLmdldCgnZmllbGRzJykgYXMgRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRmllbGQoZmllbGQ6IGFueSk6IEZvcm1Hcm91cCB7XHJcbiAgICB2YXIgZmllbGRGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5pZCksXHJcbiAgICAgIGxhYmVsOiBuZXcgRm9ybUNvbnRyb2woZmllbGQubGFiZWwpLFxyXG4gICAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKGZpZWxkLnZhbHVlKSxcclxuICAgICAgcHJvcGVydHk6IG5ldyBGb3JtQ29udHJvbChmaWVsZC5wcm9wZXJ0eSxcclxuICAgICAgICBWYWxpZGF0b3JzLmNvbXBvc2UoXHJcbiAgICAgICAgICBbXHJcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcclxuICAgICAgICAgIF1cclxuICAgICAgICApXHJcbiAgICAgICksXHJcbiAgICAgIHByb3BlcnR5VHlwZTogbmV3IEZvcm1Db250cm9sKGZpZWxkLnByb3BlcnR5VHlwZSlcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGZpZWxkRm9ybTtcclxuICB9XHJcblxyXG4gIHJlRmVjdG9yQXR0cmlidXRlcyhkYXRhKSB7XHJcbiAgICBmb3IgKHZhciBrIGluIGRhdGEpIHtcclxuICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoaykpIHtcclxuICAgICAgICB2YXIgZGF0YVZhbHVlID0ge1xyXG4gICAgICAgICAgaWQ6ICcnLFxyXG4gICAgICAgICAgbGFiZWw6IGssXHJcbiAgICAgICAgICB2YWx1ZTogZGF0YVtrXSxcclxuICAgICAgICAgIHByb3BlcnR5OiAnJyxcclxuICAgICAgICAgIHByb3BlcnR5VHlwZTogJydcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZmlyc3REYXRhQXJyYXkucHVzaChkYXRhVmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpcnN0RGF0YUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSwgbWFpbkluZGV4OiBhbnkpID0+IHtcclxuICAgICAgZWxlbWVudC5pZCA9IG1haW5JbmRleDtcclxuICAgICAgdGhpcy5wcm9wZXJ0aWVzLmZpbmQoKHByb3BlcnR5OiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocHJvcGVydHkubGFiZWwudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhlbGVtZW50LmxhYmVsLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgICBlbGVtZW50LnByb3BlcnR5ID0gcHJvcGVydHkudmFsdWU7XHJcbiAgICAgICAgICBlbGVtZW50LnByb3BlcnR5VHlwZSA9IHByb3BlcnR5LnR5cGU7XHJcbiAgICAgICAgICByZXR1cm4gZWxlbWVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCkge1xyXG4gICAgdGhpcy5pbXBvcnRNYXBwaW5nRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAoIXRoaXMuaW1wb3J0TWFwcGluZ0Zvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblNhdmUuZW1pdCh0aGlzLmltcG9ydE1hcHBpbmdGb3JtLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKiBNZXRob2QgdG8gZXZhbHVhdGUgZm9ybSBmaWVsZHMqL1xyXG4gIGlzRmllbGRWYWxpZChmaWVsZDogc3RyaW5nLCBmb3JtOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmlzRmllbGRWYWxpZChmaWVsZCwgZm9ybSk7XHJcbiAgfVxyXG5cclxuICAvKiogTWV0aG9kIHRvIGZpbmQgZXJyb3IgaW4gZm9ybSBmaWVsZHMqL1xyXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogc3RyaW5nLCBmb3JtOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShmaWVsZCwgZm9ybSwgZXJyb3JNZXNzYWdlcyk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvL0NhbGxlZCBhZnRlciBuZ0FmdGVyQ29udGVudEluaXQgd2hlbiB0aGUgY29tcG9uZW50J3MgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZC4gQXBwbGllcyB0byBjb21wb25lbnRzIG9ubHkuXHJcbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdJbml0JyB0byB0aGUgY2xhc3MuXHJcbiAgICBzZXRUaW1lb3V0KHggPT4ge1xyXG4gICAgICB0aGlzLmZpcnN0RGF0YUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZmllbGRzQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUZpZWxkKGVsZW1lbnQpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVByb3BlcnR5VHlwZShldmVudDogYW55LCBpbmRleDogYW55KTogdm9pZCB7XHJcbiAgICB2YXIgZmllbGQgPSB0aGlzLnByb3BlcnRpZXMuZmluZCgoZmllbGQ6IGFueSkgPT4gZmllbGQudmFsdWUgPT0gZXZlbnQudmFsdWUpO1xyXG4gICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgIHRoaXMuZmllbGRzQXJyYXkuY29udHJvbHNbaW5kZXhdLmdldCgncHJvcGVydHlUeXBlJykuc2V0VmFsdWUoZmllbGQudHlwZSk7XHJcbiAgICAgIHRoaXMudW5pcXVlVmFsaWRhdG9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bmlxdWVWYWxpZGF0b3IoKSB7XHJcbiAgICB0aGlzLmZpZWxkc0FycmF5LnZhbHVlLmZvckVhY2goKGZpZWxkOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgdmFyIGNvbnRyb2wgPSB0aGlzLmZpZWxkc0FycmF5LmNvbnRyb2xzW2luZGV4XS5nZXQoJ3Byb3BlcnR5Jyk7XHJcbiAgICAgIGNvbnN0IGlzTmFtZVVuaXF1ZSA9IHRoaXMuZmllbGRzQXJyYXkudmFsdWUuZmluZChwcm9wZXJ0eURhdGEgPT5cclxuICAgICAgICBwcm9wZXJ0eURhdGEucHJvcGVydHkgPT09IGNvbnRyb2wudmFsdWVcclxuICAgICAgICAmJiBwcm9wZXJ0eURhdGEuaWQgIT0gdGhpcy5maWVsZHNBcnJheS5jb250cm9sc1tpbmRleF0uZ2V0KCdpZCcpLnZhbHVlXHJcbiAgICAgIClcclxuICAgICAgICA/IGZhbHNlXHJcbiAgICAgICAgOiB0cnVlO1xyXG4gICAgICBpZiAoIWlzTmFtZVVuaXF1ZSkge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgdW5hdmFpbGFibGU6IHRydWUgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmllbGQoaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGluZGV4ID09IC0xKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZmllbGRzQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcmVVcGxvYWQoKSB7XHJcbiAgICB0aGlzLm9uUmVVcGxvYWQuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWNzdi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2ltcG9ydC1jc3YvaW1wb3J0LWNzdi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNsYXNzIEltcG9ydENzdkNvbmZpZyB7XHJcbiAgYXBpVXJsOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpbXBvcnRUeXBlOiBzdHJpbmc7XHJcbiAgcHJvcGVydGllczogYW55W107XHJcbiAgY3VzdG9tRXJyb3JNZXNzYWdlcz86IGFueVtdOyAvKiogT3B0aW9uYWwgKi9cclxuICBzYW1wbGVGaWxlPzoge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgcGF0aDogc3RyaW5nO1xyXG4gIH07IC8qKiBPcHRpb25hbCAqL1xyXG4gIHZpZXdSb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG4gIGltcG9ydEhpc3Rvcnk6IHtcclxuICAgIGlzRW5hYmxlZDogYm9vbGVhbjtcclxuICAgIHR5cGU/OiBzdHJpbmc7XHJcbiAgICBhcGlVcmw/OiBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|