ngx-techlify-core 11.4.8-beta.2 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,56 +5,56 @@ export * from './public-api';
5
5
  export { ActionPopupComponent as ɵg } from './lib/action-popup/action-popup.component';
6
6
  export { ActionPopup as ɵh } from './lib/action-popup/action-popup.model';
7
7
  export { AlertService as ɵn } from './lib/core/alert.service';
8
- export { AuthenticationGuard as ɵbg } from './lib/core/authentication.guard';
9
- export { ConfigService as ɵx } from './lib/core/config.service';
10
- export { CredentialsService as ɵw } from './lib/core/credentials.service';
11
- export { DataManager as ɵbv } from './lib/core/dataManager.service';
12
- export { ErrorHandlerService as ɵbw } from './lib/core/error-handler.service';
8
+ export { AuthenticationGuard as ɵbh } from './lib/core/authentication.guard';
9
+ export { ConfigService as ɵz } from './lib/core/config.service';
10
+ export { CredentialsService as ɵy } from './lib/core/credentials.service';
11
+ export { DataManager as ɵbw } from './lib/core/dataManager.service';
12
+ export { ErrorHandlerService as ɵp } from './lib/core/error-handler.service';
13
13
  export { FormValidatorService as ɵl } from './lib/core/form-validator.service';
14
14
  export { HTTP_DYNAMIC_INTERCEPTORS as ɵd, HttpService as ɵe } from './lib/core/http.service';
15
15
  export { RouteReusableStrategy as ɵf } from './lib/core/route-reusable-strategy';
16
16
  export { ErrorSnackComponent as ɵc, SuccessSnackComponent as ɵb } from './lib/core/snack/snack.component';
17
17
  export { SnackModule as ɵa } from './lib/core/snack/snack.module';
18
18
  export { StorageService as ɵcc } from './lib/core/storage.service';
19
- export { TechlifyConfig as ɵy } from './lib/core/techlify-config.model';
19
+ export { TechlifyConfig as ɵq } from './lib/core/techlify-config.model';
20
20
  export { DataTableComponent as ɵi } from './lib/data-table/data-table.component';
21
21
  export { DocumentViewerComponent as ɵj } from './lib/document-viewer/document-viewer.component';
22
- export { EmailSubscriptionForUserComponent as ɵbk } from './lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component';
23
- export { EmailSubscriptionTypeFormComponent as ɵbi } from './lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component';
24
- export { EmailSubscriptionTypeListComponent as ɵbj } from './lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component';
25
- export { EmailSubscriptionUserFormComponent as ɵbe } from './lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component';
26
- export { EmailSubscriptionUserListFilterComponent as ɵbh } from './lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component';
27
- export { EmailSubscriptionUserListComponent as ɵbf } from './lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component';
22
+ export { EmailSubscriptionForUserComponent as ɵbl } from './lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component';
23
+ export { EmailSubscriptionTypeFormComponent as ɵbj } from './lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component';
24
+ export { EmailSubscriptionTypeListComponent as ɵbk } from './lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component';
25
+ export { EmailSubscriptionUserFormComponent as ɵbf } from './lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component';
26
+ export { EmailSubscriptionUserListFilterComponent as ɵbi } from './lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component';
27
+ export { EmailSubscriptionUserListComponent as ɵbg } from './lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component';
28
28
  export { EntityFileFormComponent as ɵk } from './lib/entity-files/entity-file-form/entity-file-form.component';
29
29
  export { EntityFileService as ɵm } from './lib/entity-files/entity-file.service';
30
30
  export { EntityFilesViewAllComponent as ɵo } from './lib/entity-files/entity-files-view-all.component';
31
- export { FileDropperComponent as ɵp } from './lib/file-dropper/file-dropper.component';
31
+ export { FileDropperComponent as ɵr } from './lib/file-dropper/file-dropper.component';
32
32
  export { DataImportComponent as ɵcb } from './lib/import-csv/data-import/data-import.component';
33
33
  export { FailedItemsListComponent as ɵby } from './lib/import-csv/failed-items-list/failed-items-list.component';
34
34
  export { FieldMappingComponent as ɵbx } from './lib/import-csv/field-mapping/field-mapping.component';
35
35
  export { ImportHistoryListComponent as ɵbz } from './lib/import-csv/import-history-list/import-history-list.component';
36
36
  export { ImportSuccessComponent as ɵca } from './lib/import-csv/import-success/import-success.component';
37
- export { LoaderComponent as ɵbd } from './lib/loader/loader.component';
38
- export { CommentFormComponent as ɵv } from './lib/note/comment-form/comment-form.component';
39
- export { NoteFormComponent as ɵu } from './lib/note/note-form/note-form.component';
40
- export { NoteListComponent as ɵs } from './lib/note/note-list/note-list.component';
41
- export { NoteService as ɵt } from './lib/note/note.service';
42
- export { MatSelectInfiniteScrollDirective as ɵr } from './lib/searchable-selector/mat-select-infinite-scroll.directive';
43
- export { SearchableSelectorComponent as ɵq } from './lib/searchable-selector/searchable-selector.component';
37
+ export { LoaderComponent as ɵbe } from './lib/loader/loader.component';
38
+ export { CommentFormComponent as ɵx } from './lib/note/comment-form/comment-form.component';
39
+ export { NoteFormComponent as ɵw } from './lib/note/note-form/note-form.component';
40
+ export { NoteListComponent as ɵu } from './lib/note/note-list/note-list.component';
41
+ export { NoteService as ɵv } from './lib/note/note.service';
42
+ export { MatSelectInfiniteScrollDirective as ɵt } from './lib/searchable-selector/mat-select-infinite-scroll.directive';
43
+ export { SearchableSelectorComponent as ɵs } from './lib/searchable-selector/searchable-selector.component';
44
44
  export { OnOffSwitchComponent as ɵce } from './lib/techlify-feature/on-off-switch/on-off-switch.component';
45
45
  export { TechlifyFeatureService as ɵcd } from './lib/techlify-feature/techlify-feature.service';
46
- export { TechlifyUpdateFormComponent as ɵbp } from './lib/techlify-update/techlify-update-form/techlify-update-form.component';
47
- export { TechlifyUpdateFormModule as ɵbo } from './lib/techlify-update/techlify-update-form/techlify-update-form.module';
48
- export { TechlifyUpdateHistoryRoutingModule as ɵbq } from './lib/techlify-update/techlify-update-history/techlify-update-history-routing.module';
49
- export { TechlifyUpdateHistoryComponent as ɵbr } from './lib/techlify-update/techlify-update-history/techlify-update-history.component';
50
- export { TechlifyUpdateRoutingModule as ɵbn } from './lib/techlify-update/techlify-update-routing.module';
51
- export { TechlifyUpdateService as ɵbm } from './lib/techlify-update/techlify-update.service';
52
- export { TechlifyUpdatesListComponent as ɵbl } from './lib/techlify-update/techlify-updates-list/techlify-updates-list.component';
53
- export { UpdateNotifierSnackComponent as ɵbs } from './lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component';
54
- export { UpdateViewComponent as ɵbu } from './lib/techlify-update/update-view/update-view.component';
55
- export { UpdateViewModule as ɵbt } from './lib/techlify-update/update-view/update-view.module';
56
- export { TimelineFilterRoutingModule as ɵbc } from './lib/timeline-filter/timeline-filter-routing.module';
57
- export { TimelineFilterComponent as ɵbb } from './lib/timeline-filter/timeline-filter.component';
58
- export { NumItemsSelector as ɵz } from './lib/utility/num-items-selector.component';
59
- export { NumberSelector as ɵba } from './lib/utility/number-selector.component';
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRlY2hsaWZ5LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbmd4LXRlY2hsaWZ5LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkcsT0FBTyxFQUFDLFdB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QUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNoSSxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sNkZBQTZGLENBQUM7QUFDaEosT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FjdGlvblBvcHVwQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5jb21wb25lbnQnO1xuZXhwb3J0IHtBY3Rpb25Qb3B1cCBhcyDJtWh9IGZyb20gJy4vbGliL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAubW9kZWwnO1xuZXhwb3J0IHtBbGVydFNlcnZpY2UgYXMgybVufSBmcm9tICcuL2xpYi9jb3JlL2FsZXJ0LnNlcnZpY2UnO1xuZXhwb3J0IHtBdXRoZW50aWNhdGlvbkd1YXJkIGFzIMm1Ymd9IGZyb20gJy4vbGliL2NvcmUvYXV0aGVudGljYXRpb24uZ3VhcmQnO1xuZXhwb3J0IHtDb25maWdTZXJ2aWNlIGFzIMm1eH0gZnJvbSAnLi9saWIvY29yZS9jb25maWcuc2VydmljZSc7XG5leHBvcnQge0NyZWRlbnRpYWxzU2VydmljZSBhcyDJtXd9IGZyb20gJy4vbGliL2NvcmUvY3JlZGVudGlhbHMuc2VydmljZSc7XG5leHBvcnQge0RhdGFNYW5hZ2VyIGFzIMm1YnZ9IGZyb20gJy4vbGliL2NvcmUvZGF0YU1hbmFnZXIuc2VydmljZSc7XG5leHBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2UgYXMgybVid30gZnJvbSAnLi9saWIvY29yZS9lcnJvci1oYW5kbGVyLnNlcnZpY2UnO1xuZXhwb3J0IHtGb3JtVmFsaWRhdG9yU2VydmljZSBhcyDJtWx9IGZyb20gJy4vbGliL2NvcmUvZm9ybS12YWxpZGF0b3Iuc2VydmljZSc7XG5leHBvcnQge0hUVFBfRFlOQU1JQ19JTlRFUkNFUFRPUlMgYXMgybVkLEh0dHBTZXJ2aWNlIGFzIMm1ZX0gZnJvbSAnLi9saWIvY29yZS9odHRwLnNlcnZpY2UnO1xuZXhwb3J0IHtSb3V0ZVJldXNhYmxlU3RyYXRlZ3kgYXMgybVmfSBmcm9tICcuL2xpYi9jb3JlL3JvdXRlLXJldXNhYmxlLXN0cmF0ZWd5JztcbmV4cG9ydCB7RXJyb3JTbmFja0NvbXBvbmVudCBhcyDJtWMsU3VjY2Vzc1NuYWNrQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9saWIvY29yZS9zbmFjay9zbmFjay5jb21wb25lbnQnO1xuZXhwb3J0IHtTbmFja01vZHVsZSBhcyDJtWF9IGZyb20gJy4vbGliL2NvcmUvc25hY2svc25hY2subW9kdWxlJztcbmV4cG9ydCB7U3RvcmFnZVNlcnZpY2UgYXMgybVjY30gZnJvbSAnLi9saWIvY29yZS9zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0IHtUZWNobGlmeUNvbmZpZyBhcyDJtXl9IGZyb20gJy4vbGliL2NvcmUvdGVjaGxpZnktY29uZmlnLm1vZGVsJztcbmV4cG9ydCB7RGF0YVRhYmxlQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge0RvY3VtZW50Vmlld2VyQ29tcG9uZW50IGFzIMm1an0gZnJvbSAnLi9saWIvZG9jdW1lbnQtdmlld2VyL2RvY3VtZW50LXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFN1YnNjcmlwdGlvbkZvclVzZXJDb21wb25lbnQgYXMgybVia30gZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi1mb3ItdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tZm9yLXVzZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTdWJzY3JpcHRpb25UeXBlRm9ybUNvbXBvbmVudCBhcyDJtWJpfSBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtZm9ybS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0VtYWlsU3Vic2NyaXB0aW9uVHlwZUxpc3RDb21wb25lbnQgYXMgybVian0gZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWxpc3QvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFN1YnNjcmlwdGlvblVzZXJGb3JtQ29tcG9uZW50IGFzIMm1YmV9IGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1mb3JtL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdEZpbHRlckNvbXBvbmVudCBhcyDJtWJofSBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTdWJzY3JpcHRpb25Vc2VyTGlzdENvbXBvbmVudCBhcyDJtWJmfSBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXIvZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eUZpbGVGb3JtQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlLWZvcm0vZW50aXR5LWZpbGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbnRpdHlGaWxlU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL2VudGl0eS1maWxlcy9lbnRpdHktZmlsZS5zZXJ2aWNlJztcbmV4cG9ydCB7RW50aXR5RmlsZXNWaWV3QWxsQ29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlcy12aWV3LWFsbC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlRHJvcHBlckNvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2ZpbGUtZHJvcHBlci9maWxlLWRyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUltcG9ydENvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2RhdGEtaW1wb3J0L2RhdGEtaW1wb3J0LmNvbXBvbmVudCc7XG5leHBvcnQge0ZhaWxlZEl0ZW1zTGlzdENvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2ZhaWxlZC1pdGVtcy1saXN0L2ZhaWxlZC1pdGVtcy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0ZpZWxkTWFwcGluZ0NvbXBvbmVudCBhcyDJtWJ4fSBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2ZpZWxkLW1hcHBpbmcvZmllbGQtbWFwcGluZy5jb21wb25lbnQnO1xuZXhwb3J0IHtJbXBvcnRIaXN0b3J5TGlzdENvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2xpYi9pbXBvcnQtY3N2L2ltcG9ydC1oaXN0b3J5LWxpc3QvaW1wb3J0LWhpc3RvcnktbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtJbXBvcnRTdWNjZXNzQ29tcG9uZW50IGFzIMm1Y2F9IGZyb20gJy4vbGliL2ltcG9ydC1jc3YvaW1wb3J0LXN1Y2Nlc3MvaW1wb3J0LXN1Y2Nlc3MuY29tcG9uZW50JztcbmV4cG9ydCB7TG9hZGVyQ29tcG9uZW50IGFzIMm1YmR9IGZyb20gJy4vbGliL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7Q29tbWVudEZvcm1Db21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9ub3RlL2NvbW1lbnQtZm9ybS9jb21tZW50LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7Tm90ZUZvcm1Db21wb25lbnQgYXMgybV1fSBmcm9tICcuL2xpYi9ub3RlL25vdGUtZm9ybS9ub3RlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7Tm90ZUxpc3RDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2xpYi9ub3RlL25vdGUtbGlzdC9ub3RlLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7Tm90ZVNlcnZpY2UgYXMgybV0fSBmcm9tICcuL2xpYi9ub3RlL25vdGUuc2VydmljZSc7XG5leHBvcnQge01hdFNlbGVjdEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIGFzIMm1cn0gZnJvbSAnLi9saWIvc2VhcmNoYWJsZS1zZWxlY3Rvci9tYXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2xpYi9zZWFyY2hhYmxlLXNlbGVjdG9yL3NlYXJjaGFibGUtc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7T25PZmZTd2l0Y2hDb21wb25lbnQgYXMgybVjZX0gZnJvbSAnLi9saWIvdGVjaGxpZnktZmVhdHVyZS9vbi1vZmYtc3dpdGNoL29uLW9mZi1zd2l0Y2guY29tcG9uZW50JztcbmV4cG9ydCB7VGVjaGxpZnlGZWF0dXJlU2VydmljZSBhcyDJtWNkfSBmcm9tICcuL2xpYi90ZWNobGlmeS1mZWF0dXJlL3RlY2hsaWZ5LWZlYXR1cmUuc2VydmljZSc7XG5leHBvcnQge1RlY2hsaWZ5VXBkYXRlRm9ybUNvbXBvbmVudCBhcyDJtWJwfSBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWZvcm0vdGVjaGxpZnktdXBkYXRlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7VGVjaGxpZnlVcGRhdGVGb3JtTW9kdWxlIGFzIMm1Ym99IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtZm9ybS90ZWNobGlmeS11cGRhdGUtZm9ybS5tb2R1bGUnO1xuZXhwb3J0IHtUZWNobGlmeVVwZGF0ZUhpc3RvcnlSb3V0aW5nTW9kdWxlIGFzIMm1YnF9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge1RlY2hsaWZ5VXBkYXRlSGlzdG9yeUNvbXBvbmVudCBhcyDJtWJyfSBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkvdGVjaGxpZnktdXBkYXRlLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCB7VGVjaGxpZnlVcGRhdGVSb3V0aW5nTW9kdWxlIGFzIMm1Ym59IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtcm91dGluZy5tb2R1bGUnO1xuZXhwb3J0IHtUZWNobGlmeVVwZGF0ZVNlcnZpY2UgYXMgybVibX0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCB7VGVjaGxpZnlVcGRhdGVzTGlzdENvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlcy1saXN0L3RlY2hsaWZ5LXVwZGF0ZXMtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtVcGRhdGVOb3RpZmllclNuYWNrQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS91cGRhdGUtbm90aWZpZXIvdXBkYXRlLW5vdGlmaWVyLXNuYWNrL3VwZGF0ZS1ub3RpZmllci1zbmFjay5jb21wb25lbnQnO1xuZXhwb3J0IHtVcGRhdGVWaWV3Q29tcG9uZW50IGFzIMm1YnV9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS91cGRhdGUtdmlldy91cGRhdGUtdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtVcGRhdGVWaWV3TW9kdWxlIGFzIMm1YnR9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS91cGRhdGUtdmlldy91cGRhdGUtdmlldy5tb2R1bGUnO1xuZXhwb3J0IHtUaW1lbGluZUZpbHRlclJvdXRpbmdNb2R1bGUgYXMgybViY30gZnJvbSAnLi9saWIvdGltZWxpbmUtZmlsdGVyL3RpbWVsaW5lLWZpbHRlci1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge1RpbWVsaW5lRmlsdGVyQ29tcG9uZW50IGFzIMm1YmJ9IGZyb20gJy4vbGliL3RpbWVsaW5lLWZpbHRlci90aW1lbGluZS1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7TnVtSXRlbXNTZWxlY3RvciBhcyDJtXp9IGZyb20gJy4vbGliL3V0aWxpdHkvbnVtLWl0ZW1zLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlclNlbGVjdG9yIGFzIMm1YmF9IGZyb20gJy4vbGliL3V0aWxpdHkvbnVtYmVyLXNlbGVjdG9yLmNvbXBvbmVudCc7Il19
46
+ export { TechlifyUpdateFormComponent as ɵbq } from './lib/techlify-update/techlify-update-form/techlify-update-form.component';
47
+ export { TechlifyUpdateFormModule as ɵbp } from './lib/techlify-update/techlify-update-form/techlify-update-form.module';
48
+ export { TechlifyUpdateHistoryRoutingModule as ɵbr } from './lib/techlify-update/techlify-update-history/techlify-update-history-routing.module';
49
+ export { TechlifyUpdateHistoryComponent as ɵbs } from './lib/techlify-update/techlify-update-history/techlify-update-history.component';
50
+ export { TechlifyUpdateRoutingModule as ɵbo } from './lib/techlify-update/techlify-update-routing.module';
51
+ export { TechlifyUpdateService as ɵbn } from './lib/techlify-update/techlify-update.service';
52
+ export { TechlifyUpdatesListComponent as ɵbm } from './lib/techlify-update/techlify-updates-list/techlify-updates-list.component';
53
+ export { UpdateNotifierSnackComponent as ɵbt } from './lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component';
54
+ export { UpdateViewComponent as ɵbv } from './lib/techlify-update/update-view/update-view.component';
55
+ export { UpdateViewModule as ɵbu } from './lib/techlify-update/update-view/update-view.module';
56
+ export { TimelineFilterRoutingModule as ɵbd } from './lib/timeline-filter/timeline-filter-routing.module';
57
+ export { TimelineFilterComponent as ɵbc } from './lib/timeline-filter/timeline-filter.component';
58
+ export { NumItemsSelector as ɵba } from './lib/utility/num-items-selector.component';
59
+ export { NumberSelector as ɵbb } from './lib/utility/number-selector.component';
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRlY2hsaWZ5LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbmd4LXRlY2hsaWZ5LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdkcsT0FBTyxFQUFDLFdB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QUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEdBQUcsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNoSSxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sNkZBQTZGLENBQUM7QUFDaEosT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDeEcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0FjdGlvblBvcHVwQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9saWIvYWN0aW9uLXBvcHVwL2FjdGlvbi1wb3B1cC5jb21wb25lbnQnO1xuZXhwb3J0IHtBY3Rpb25Qb3B1cCBhcyDJtWh9IGZyb20gJy4vbGliL2FjdGlvbi1wb3B1cC9hY3Rpb24tcG9wdXAubW9kZWwnO1xuZXhwb3J0IHtBbGVydFNlcnZpY2UgYXMgybVufSBmcm9tICcuL2xpYi9jb3JlL2FsZXJ0LnNlcnZpY2UnO1xuZXhwb3J0IHtBdXRoZW50aWNhdGlvbkd1YXJkIGFzIMm1Ymh9IGZyb20gJy4vbGliL2NvcmUvYXV0aGVudGljYXRpb24uZ3VhcmQnO1xuZXhwb3J0IHtDb25maWdTZXJ2aWNlIGFzIMm1en0gZnJvbSAnLi9saWIvY29yZS9jb25maWcuc2VydmljZSc7XG5leHBvcnQge0NyZWRlbnRpYWxzU2VydmljZSBhcyDJtXl9IGZyb20gJy4vbGliL2NvcmUvY3JlZGVudGlhbHMuc2VydmljZSc7XG5leHBvcnQge0RhdGFNYW5hZ2VyIGFzIMm1Ynd9IGZyb20gJy4vbGliL2NvcmUvZGF0YU1hbmFnZXIuc2VydmljZSc7XG5leHBvcnQge0Vycm9ySGFuZGxlclNlcnZpY2UgYXMgybVwfSBmcm9tICcuL2xpYi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQge0Zvcm1WYWxpZGF0b3JTZXJ2aWNlIGFzIMm1bH0gZnJvbSAnLi9saWIvY29yZS9mb3JtLXZhbGlkYXRvci5zZXJ2aWNlJztcbmV4cG9ydCB7SFRUUF9EWU5BTUlDX0lOVEVSQ0VQVE9SUyBhcyDJtWQsSHR0cFNlcnZpY2UgYXMgybVlfSBmcm9tICcuL2xpYi9jb3JlL2h0dHAuc2VydmljZSc7XG5leHBvcnQge1JvdXRlUmV1c2FibGVTdHJhdGVneSBhcyDJtWZ9IGZyb20gJy4vbGliL2NvcmUvcm91dGUtcmV1c2FibGUtc3RyYXRlZ3knO1xuZXhwb3J0IHtFcnJvclNuYWNrQ29tcG9uZW50IGFzIMm1YyxTdWNjZXNzU25hY2tDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb3JlL3NuYWNrL3NuYWNrLmNvbXBvbmVudCc7XG5leHBvcnQge1NuYWNrTW9kdWxlIGFzIMm1YX0gZnJvbSAnLi9saWIvY29yZS9zbmFjay9zbmFjay5tb2R1bGUnO1xuZXhwb3J0IHtTdG9yYWdlU2VydmljZSBhcyDJtWNjfSBmcm9tICcuL2xpYi9jb3JlL3N0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQge1RlY2hsaWZ5Q29uZmlnIGFzIMm1cX0gZnJvbSAnLi9saWIvY29yZS90ZWNobGlmeS1jb25maWcubW9kZWwnO1xuZXhwb3J0IHtEYXRhVGFibGVDb21wb25lbnQgYXMgybVpfSBmcm9tICcuL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCB7RG9jdW1lbnRWaWV3ZXJDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2xpYi9kb2N1bWVudC12aWV3ZXIvZG9jdW1lbnQtdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0VtYWlsU3Vic2NyaXB0aW9uRm9yVXNlckNvbXBvbmVudCBhcyDJtWJsfSBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLWZvci11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi1mb3ItdXNlci5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFN1YnNjcmlwdGlvblR5cGVGb3JtQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1mb3JtL2VtYWlsLXN1YnNjcmlwdGlvbi10eXBlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTdWJzY3JpcHRpb25UeXBlTGlzdENvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2xpYi9lbWFpbC1zdWJzY3JpcHRpb24vZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUvZW1haWwtc3Vic2NyaXB0aW9uLXR5cGUtbGlzdC9lbWFpbC1zdWJzY3JpcHRpb24tdHlwZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0VtYWlsU3Vic2NyaXB0aW9uVXNlckZvcm1Db21wb25lbnQgYXMgybViZn0gZnJvbSAnLi9saWIvZW1haWwtc3Vic2NyaXB0aW9uL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyL2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWZvcm0vZW1haWwtc3Vic2NyaXB0aW9uLXVzZXItZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFN1YnNjcmlwdGlvblVzZXJMaXN0RmlsdGVyQ29tcG9uZW50IGFzIMm1Yml9IGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0LWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFN1YnNjcmlwdGlvblVzZXJMaXN0Q29tcG9uZW50IGFzIMm1Ymd9IGZyb20gJy4vbGliL2VtYWlsLXN1YnNjcmlwdGlvbi9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci9lbWFpbC1zdWJzY3JpcHRpb24tdXNlci1saXN0L2VtYWlsLXN1YnNjcmlwdGlvbi11c2VyLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RW50aXR5RmlsZUZvcm1Db21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGUtZm9ybS9lbnRpdHktZmlsZS1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0VudGl0eUZpbGVTZXJ2aWNlIGFzIMm1bX0gZnJvbSAnLi9saWIvZW50aXR5LWZpbGVzL2VudGl0eS1maWxlLnNlcnZpY2UnO1xuZXhwb3J0IHtFbnRpdHlGaWxlc1ZpZXdBbGxDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9lbnRpdHktZmlsZXMvZW50aXR5LWZpbGVzLXZpZXctYWxsLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVEcm9wcGVyQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9saWIvZmlsZS1kcm9wcGVyL2ZpbGUtZHJvcHBlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhSW1wb3J0Q29tcG9uZW50IGFzIMm1Y2J9IGZyb20gJy4vbGliL2ltcG9ydC1jc3YvZGF0YS1pbXBvcnQvZGF0YS1pbXBvcnQuY29tcG9uZW50JztcbmV4cG9ydCB7RmFpbGVkSXRlbXNMaXN0Q29tcG9uZW50IGFzIMm1Ynl9IGZyb20gJy4vbGliL2ltcG9ydC1jc3YvZmFpbGVkLWl0ZW1zLWxpc3QvZmFpbGVkLWl0ZW1zLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RmllbGRNYXBwaW5nQ29tcG9uZW50IGFzIMm1Ynh9IGZyb20gJy4vbGliL2ltcG9ydC1jc3YvZmllbGQtbWFwcGluZy9maWVsZC1tYXBwaW5nLmNvbXBvbmVudCc7XG5leHBvcnQge0ltcG9ydEhpc3RvcnlMaXN0Q29tcG9uZW50IGFzIMm1Ynp9IGZyb20gJy4vbGliL2ltcG9ydC1jc3YvaW1wb3J0LWhpc3RvcnktbGlzdC9pbXBvcnQtaGlzdG9yeS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0ltcG9ydFN1Y2Nlc3NDb21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9saWIvaW1wb3J0LWNzdi9pbXBvcnQtc3VjY2Vzcy9pbXBvcnQtc3VjY2Vzcy5jb21wb25lbnQnO1xuZXhwb3J0IHtMb2FkZXJDb21wb25lbnQgYXMgybViZX0gZnJvbSAnLi9saWIvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21tZW50Rm9ybUNvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vbGliL25vdGUvY29tbWVudC1mb3JtL2NvbW1lbnQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtOb3RlRm9ybUNvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vbGliL25vdGUvbm90ZS1mb3JtL25vdGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtOb3RlTGlzdENvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL25vdGUvbm90ZS1saXN0L25vdGUtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtOb3RlU2VydmljZSBhcyDJtXZ9IGZyb20gJy4vbGliL25vdGUvbm90ZS5zZXJ2aWNlJztcbmV4cG9ydCB7TWF0U2VsZWN0SW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgYXMgybV0fSBmcm9tICcuL2xpYi9zZWFyY2hhYmxlLXNlbGVjdG9yL21hdC1zZWxlY3QtaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5leHBvcnQge1NlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0IHtPbk9mZlN3aXRjaENvbXBvbmVudCBhcyDJtWNlfSBmcm9tICcuL2xpYi90ZWNobGlmeS1mZWF0dXJlL29uLW9mZi1zd2l0Y2gvb24tb2ZmLXN3aXRjaC5jb21wb25lbnQnO1xuZXhwb3J0IHtUZWNobGlmeUZlYXR1cmVTZXJ2aWNlIGFzIMm1Y2R9IGZyb20gJy4vbGliL3RlY2hsaWZ5LWZlYXR1cmUvdGVjaGxpZnktZmVhdHVyZS5zZXJ2aWNlJztcbmV4cG9ydCB7VGVjaGxpZnlVcGRhdGVGb3JtQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtZm9ybS90ZWNobGlmeS11cGRhdGUtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtUZWNobGlmeVVwZGF0ZUZvcm1Nb2R1bGUgYXMgybVicH0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtL3RlY2hsaWZ5LXVwZGF0ZS1mb3JtLm1vZHVsZSc7XG5leHBvcnQge1RlY2hsaWZ5VXBkYXRlSGlzdG9yeVJvdXRpbmdNb2R1bGUgYXMgybVicn0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5L3RlY2hsaWZ5LXVwZGF0ZS1oaXN0b3J5LXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7VGVjaGxpZnlVcGRhdGVIaXN0b3J5Q29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS90ZWNobGlmeS11cGRhdGUtaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtUZWNobGlmeVVwZGF0ZVJvdXRpbmdNb2R1bGUgYXMgybVib30gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3RlY2hsaWZ5LXVwZGF0ZS1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQge1RlY2hsaWZ5VXBkYXRlU2VydmljZSBhcyDJtWJufSBmcm9tICcuL2xpYi90ZWNobGlmeS11cGRhdGUvdGVjaGxpZnktdXBkYXRlLnNlcnZpY2UnO1xuZXhwb3J0IHtUZWNobGlmeVVwZGF0ZXNMaXN0Q29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vbGliL3RlY2hsaWZ5LXVwZGF0ZS90ZWNobGlmeS11cGRhdGVzLWxpc3QvdGVjaGxpZnktdXBkYXRlcy1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1VwZGF0ZU5vdGlmaWVyU25hY2tDb21wb25lbnQgYXMgybVidH0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3VwZGF0ZS1ub3RpZmllci91cGRhdGUtbm90aWZpZXItc25hY2svdXBkYXRlLW5vdGlmaWVyLXNuYWNrLmNvbXBvbmVudCc7XG5leHBvcnQge1VwZGF0ZVZpZXdDb21wb25lbnQgYXMgybVidn0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3VwZGF0ZS12aWV3L3VwZGF0ZS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge1VwZGF0ZVZpZXdNb2R1bGUgYXMgybVidX0gZnJvbSAnLi9saWIvdGVjaGxpZnktdXBkYXRlL3VwZGF0ZS12aWV3L3VwZGF0ZS12aWV3Lm1vZHVsZSc7XG5leHBvcnQge1RpbWVsaW5lRmlsdGVyUm91dGluZ01vZHVsZSBhcyDJtWJkfSBmcm9tICcuL2xpYi90aW1lbGluZS1maWx0ZXIvdGltZWxpbmUtZmlsdGVyLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCB7VGltZWxpbmVGaWx0ZXJDb21wb25lbnQgYXMgybViY30gZnJvbSAnLi9saWIvdGltZWxpbmUtZmlsdGVyL3RpbWVsaW5lLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtOdW1JdGVtc1NlbGVjdG9yIGFzIMm1YmF9IGZyb20gJy4vbGliL3V0aWxpdHkvbnVtLWl0ZW1zLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlclNlbGVjdG9yIGFzIMm1YmJ9IGZyb20gJy4vbGliL3V0aWxpdHkvbnVtYmVyLXNlbGVjdG9yLmNvbXBvbmVudCc7Il19
@@ -30,6 +30,7 @@ import { MatChipsModule } from '@angular/material/chips';
30
30
  import { MatDatepickerModule } from '@angular/material/datepicker';
31
31
  import { MatListModule } from '@angular/material/list';
32
32
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
33
+ import { MatSidenavModule } from '@angular/material/sidenav';
33
34
  import { FlexLayoutModule } from '@angular/flex-layout';
34
35
  import { InfiniteScrollModule } from 'ngx-infinite-scroll';
35
36
  import { NgxDocViewerModule } from 'ngx-doc-viewer';
@@ -1228,6 +1229,9 @@ class EntityFileService {
1228
1229
  .skipHeader()
1229
1230
  .post("api/entity-files-upload", formData).toPromise();
1230
1231
  }
1232
+ bulkUpdate(model) {
1233
+ return this.http.post(`api/entity-files/bulk-update`, model).toPromise();
1234
+ }
1231
1235
  }
1232
1236
  EntityFileService.ɵprov = ɵɵdefineInjectable({ factory: function EntityFileService_Factory() { return new EntityFileService(ɵɵinject(HttpService)); }, token: EntityFileService, providedIn: "root" });
1233
1237
  EntityFileService.decorators = [
@@ -1387,7 +1391,7 @@ class EntityFileFormComponent {
1387
1391
  EntityFileFormComponent.decorators = [
1388
1392
  { type: Component, args: [{
1389
1393
  selector: 'entity-file-form',
1390
- template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Entity File</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\n <ng-container *ngIf=\"!hideTitleAndDetails\">\n <mat-form-field>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\n </mat-form-field>\n <mat-form-field>\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n </ng-container>\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n [modelId]=\"entityFileGroup.get('id').value\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n <ng-template #fileUpload>\n <section fxFlex=\"100%\">\n <div>Entity File*</div>\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\n {{getErrorMessage(\"url\")}}\n </div>\n </section>\n </ng-template>\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\n </app-document-viewer>\n </div>\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n</form>\n",
1394
+ template: "<form [formGroup]=\"entityFileGroup\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div mat-dialog-title class=\"text-center\">\n <div>Entity File</div>\n </div>\n <div mat-dialog-content fxLayout=\"column\" fxLayoutAlign.=\"start\">\n <ng-container *ngIf=\"!hideTitleAndDetails\">\n <mat-form-field>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\">\n </mat-form-field>\n <mat-form-field>\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n </mat-form-field>\n </ng-container>\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n [modelId]=\"entityFileGroup.get('id').value\" placeholder=\"Enter new tag\"></app-techlify-tagger-tag-form-field>\n </mat-form-field>\n </ng-container>\n <ng-template #fileUpload>\n <section fxFlex=\"100%\">\n <div>Entity File*</div>\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n <div class=\"text-danger\" *ngIf=\"isFieldValid('url')\">\n {{getErrorMessage(\"url\")}}\n </div>\n </section>\n </ng-template>\n <div fxFlex=\"100%\" class=\"mt-2\" *ngIf=\"entityFileGroup.get('url').value;else fileUpload;\">\n <app-document-viewer [file]=\"entityFileGroup.get('file').value\" [fileUrl]=\"entityFileGroup.get('url').value\"\n [config]=\"this.viewerConfig\" (remove)=\"removeFile()\" [disableEdit]=\"updateMode\">\n </app-document-viewer>\n </div>\n <div class=\"mt-4 mb-2\" fxLayout=\"row\" fxLayoutGap=\"30px\" fxLayoutAlign=\"end\" fxFlex=\"100%\">\n <button mat-raised-button type=\"button\" (click)=\"dialogRef.close()\">\n Cancel\n </button>\n <button mat-raised-button type=\"submit\" color=\"primary\">Save</button>\n </div>\n </div>\n </div>\n</form>\n",
1391
1395
  styles: [""]
1392
1396
  },] }
1393
1397
  ];
@@ -1401,14 +1405,18 @@ EntityFileFormComponent.ctorParameters = () => [
1401
1405
  ];
1402
1406
 
1403
1407
  let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1404
- constructor(entityFileService, location, alertService, dialog, fb) {
1408
+ constructor(entityFileService, location, alertService, dialog, fb, errorHandler) {
1405
1409
  this.entityFileService = entityFileService;
1406
1410
  this.location = location;
1407
1411
  this.alertService = alertService;
1408
1412
  this.dialog = dialog;
1409
1413
  this.fb = fb;
1414
+ this.errorHandler = errorHandler;
1410
1415
  this.viewOnly = false;
1411
1416
  this.allowMultipleFiles = false;
1417
+ this.allowBulkUpdate = false;
1418
+ this.documentIds = [];
1419
+ this.isAllSelected = false;
1412
1420
  /**
1413
1421
  * Should we allow tagging entity-files?
1414
1422
  */
@@ -1428,10 +1436,17 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1428
1436
  this.perPage = 25;
1429
1437
  this.lastPage = 0;
1430
1438
  this.fileList = [];
1439
+ this.dataSource = new MatTableDataSource();
1440
+ this.isReload = false;
1431
1441
  this.filterFormGroup = this.fb.group({
1432
1442
  title: [""],
1433
1443
  tag_ids: [""]
1434
1444
  });
1445
+ this.updateRowForm = this.fb.group({
1446
+ title: [''],
1447
+ details: [''],
1448
+ tag_ids: [''],
1449
+ });
1435
1450
  }
1436
1451
  ngOnInit() {
1437
1452
  //File dropper config
@@ -1473,6 +1488,9 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1473
1488
  if (!this.viewOnly) {
1474
1489
  this.displayedColumns.push('actions');
1475
1490
  }
1491
+ if (this.allowBulkUpdate) {
1492
+ this.displayedColumns.push('select');
1493
+ }
1476
1494
  }
1477
1495
  listenRoutes() {
1478
1496
  this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
@@ -1491,10 +1509,12 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1491
1509
  const result = yield this.entityFileService.getEntityFiles(this.filters);
1492
1510
  this.lastPage = result.last_page || this.page;
1493
1511
  this.entityFiles = this.entityFiles.concat(result.data);
1512
+ this.dataSource = new MatTableDataSource(this.entityFiles);
1494
1513
  this.isWorking = false;
1495
1514
  });
1496
1515
  }
1497
1516
  addEntityFile() {
1517
+ this.isWorking = true;
1498
1518
  const dialogRef = this.dialog.open(EntityFileFormComponent, {
1499
1519
  width: "700px",
1500
1520
  data: {
@@ -1506,14 +1526,17 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1506
1526
  restoreFocus: false
1507
1527
  });
1508
1528
  dialogRef.afterClosed().subscribe((result) => __awaiter(this, void 0, void 0, function* () {
1529
+ this.isWorking = false;
1509
1530
  if (result) {
1510
1531
  const files = [...this.entityFiles];
1511
1532
  files.push(result);
1512
1533
  this.entityFiles = files;
1534
+ this.dataSource = new MatTableDataSource(this.entityFiles);
1513
1535
  }
1514
1536
  }));
1515
1537
  }
1516
1538
  editEntityFile(file) {
1539
+ this.isWorking = true;
1517
1540
  const dialogRef = this.dialog.open(EntityFileFormComponent, {
1518
1541
  width: "700px",
1519
1542
  autoFocus: false,
@@ -1524,6 +1547,7 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1524
1547
  } // Any data passed here will be injected into the model
1525
1548
  });
1526
1549
  dialogRef.afterClosed().subscribe(result => {
1550
+ this.isWorking = false;
1527
1551
  if (result) {
1528
1552
  this.reload();
1529
1553
  }
@@ -1555,6 +1579,8 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1555
1579
  }
1556
1580
  reload() {
1557
1581
  this.entityFiles = [];
1582
+ this.documentIds = [];
1583
+ this.isReload = false;
1558
1584
  this.page = 1;
1559
1585
  if (!this.isWorking) {
1560
1586
  this.fetchEntityFilesDetails();
@@ -1588,11 +1614,59 @@ let EntityFilesViewAllComponent = class EntityFilesViewAllComponent {
1588
1614
  }
1589
1615
  });
1590
1616
  }
1617
+ selectAll() {
1618
+ this.documentIds = [];
1619
+ this.entityFiles.map((employee) => {
1620
+ employee.is_selected = this.isAllSelected;
1621
+ if (this.isAllSelected) {
1622
+ this.documentIds.push(employee.id);
1623
+ }
1624
+ });
1625
+ this.dataSource = new MatTableDataSource(this.entityFiles);
1626
+ }
1627
+ employeeListModified(event, employee) {
1628
+ this.isAllSelected = false;
1629
+ if (event.checked) {
1630
+ this.documentIds.push(employee.id);
1631
+ }
1632
+ else {
1633
+ this.documentIds = this.documentIds.filter((employeeData) => employeeData != employee.id);
1634
+ }
1635
+ }
1636
+ unCheckAll() {
1637
+ this.isAllSelected = false;
1638
+ this.documentIds = [];
1639
+ this.entityFiles.map((employee) => {
1640
+ employee.is_selected = false;
1641
+ });
1642
+ this.dataSource = new MatTableDataSource(this.entityFiles);
1643
+ }
1644
+ resetFieldValueOfRow(field, event) {
1645
+ event.stopPropagation();
1646
+ this.updateRowForm.get(field).setValue("");
1647
+ }
1648
+ bulkUpdate(fieldName) {
1649
+ return __awaiter(this, void 0, void 0, function* () {
1650
+ var data = this.updateRowForm.value;
1651
+ this.isReload = this.isWorking = true;
1652
+ data.field_name = fieldName;
1653
+ data.document_ids = this.documentIds;
1654
+ try {
1655
+ yield this.entityFileService.bulkUpdate(data).then(res => {
1656
+ this.alertService.addAlert("Successfully updated", "success");
1657
+ this.isWorking = false;
1658
+ });
1659
+ }
1660
+ catch (error) {
1661
+ this.errorHandler.handleError(error);
1662
+ }
1663
+ });
1664
+ }
1591
1665
  };
1592
1666
  EntityFilesViewAllComponent.decorators = [
1593
1667
  { type: Component, args: [{
1594
1668
  selector: 'app-entity-files-view-all',
1595
- template: "<div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\n <mat-card fxFlex=\"70%\">\n <mat-card-title fxLayout fxLayoutGap=\"1rem\">\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\n <mat-icon>\n <span class=\"material-icons\">\n description\n </span>\n </mat-icon>\n {{title}}s\n </h3>\n <div>\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\n *ngIf=\"!viewOnly\">\n <mat-icon>\n <span class=\"material-icons\">\n add_circle_outline\n </span>\n </mat-icon>\n {{title}}\n </button>\n </div>\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\n (click)=\"resetFieldValue($event, 'title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags\">\n <mat-label>Tag</mat-label>\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\n placeHolder=\"Tag\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\n (click)=\"resetFieldValue($event, 'tag_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n </mat-card-title>\n <mat-card-content class=\"entity-file-card\">\n <table mat-table [dataSource]=\"entityFiles\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n <span>\n {{element.title}}\n </span>\n <span>\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\n <button mat-icon-button type=\"button\">\n <mat-icon>download</mat-icon>\n </button>\n </a>\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.details}} </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\n </ng-container>\n\n <!-- Tags Column -->\n <ng-container matColumnDef=\"tag\">\n <th mat-header-cell *matHeaderCellDef> Tag </th>\n <td mat-cell *matCellDef=\"let element\" class=\"text-muted\">\n <ng-container *ngFor=\"let taggerModel of element.tags\">\n {{taggerModel?.tag?.title}},\n </ng-container>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" style=\"min-width:110px\" class=\"text-muted\">\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n <section fxFlex=\"30%\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </div>\n</div>\n\n<div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of entityFiles\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n</div>\n",
1669
+ template: "<mat-drawer-container>\n <mat-drawer style=\"z-index: 1;\" fxLayout=\"column\" [fxHide]=\"!this.documentIds.length\" fxHide.xs fxHide.sm fxHide.lt-md\n mode=\"side\" position=\"end\" opened>\n <mat-card class=\"update_card\" *ngIf=\"this.documentIds.length\">\n <mat-card-header>\n <mat-card-title>\n <div mat-dialog-title class=\"mt-2 ml-2 text-center\">\n <div>Update Selected Rows</div>\n </div>\n </mat-card-title>\n </mat-card-header>\n <mat-card-content fxLayout=\"column\">\n <form [formGroup]=\"updateRowForm\">\n <div fxLayout=\"column\">\n\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\n <input matInput formControlName=\"title\" placeholder=\"Title\" autocomplete=\"off\" />\n <button mat-button *ngIf=\"updateRowForm.get('title').value || updateRowForm.get('title').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('title', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('title').value || updateRowForm.get('title').value===0)\n && updateRowForm.get('title').valid\" (click)=\"bulkUpdate('title')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\" class=\"px-1\">\n <textarea matInput formControlName=\"details\" placeholder=\"Details\" autocomplete=\"off\"></textarea>\n <button mat-button *ngIf=\"updateRowForm.get('details').value || updateRowForm.get('details').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('details', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('details').value || updateRowForm.get('details').value===0)\n && updateRowForm.get('details').valid\" (click)=\"bulkUpdate('details')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n\n <ng-container *ngIf=\"useTechlifyTags\">\n <mat-form-field>\n <mat-label>Tag</mat-label>\n <app-techlify-tagger-tag-form-field modelType=\"entity-file\" formControlName=\"tag_ids\"\n placeholder=\"Enter new tag\">\n </app-techlify-tagger-tag-form-field>\n <button mat-button *ngIf=\"updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0\"\n matSuffix mat-icon-button style=\"color:red\" (click)=\"resetFieldValueOfRow('tag_ids', $event)\">\n <mat-icon>close</mat-icon>\n </button>\n <button mat-button matSuffix mat-icon-button type=\"button\" style=\"color:green\" *ngIf=\"(updateRowForm.get('tag_ids').value || updateRowForm.get('tag_ids').value===0)\n && updateRowForm.get('tag_ids').valid\" (click)=\"bulkUpdate('tag_ids')\">\n <mat-icon>done</mat-icon>\n </button>\n </mat-form-field>\n </ng-container>\n </div>\n </form>\n </mat-card-content>\n </mat-card>\n\n </mat-drawer>\n\n <mat-drawer-content>\n <div class=\"mat-typography\" *ngIf=\"!displayMode\">\n <div fxLayout=\"row\" fxLayoutGap=\"1rem\">\n <mat-card [fxFlex]=\"this.documentIds.length ? '100%' : '70%'\">\n <mat-card-title>\n <div fxLayout fxLayoutGap=\"1rem\">\n <h3 class=\"font-weight-bold primary-color\" fxLayout=\"center center\">\n <mat-icon>\n <span class=\"material-icons\">\n description\n </span>\n </mat-icon>\n {{title}}s\n </h3>\n <div>\n <button type=\"button\" class=\"mx-1\" mat-raised-button color=\"primary\" (click)=\"addEntityFile()\"\n *ngIf=\"!viewOnly\">\n <mat-icon>\n <span class=\"material-icons\">\n add_circle_outline\n </span>\n </mat-icon>\n {{title}}\n </button>\n </div>\n </div>\n </mat-card-title>\n <mat-card-subtitle>\n <form [formGroup]=\"filterFormGroup\" style=\"font-size: 10px;\" fxLayout fxLayoutGap=\"1rem\">\n <mat-form-field *ngIf=\"!removeSearch\" appearance=\"outline\">\n <mat-label>Search</mat-label>\n <input type=\"text\" matInput formControlName=\"title\" placeholder=\"Search\" name=\"title\"\n autocomplete=\"off\" />\n <button mat-button *ngIf=\"filters.title\" matSuffix mat-icon-button\n (click)=\"resetFieldValue($event, 'title')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field appearance=\"outline\" *ngIf=\"useTechlifyTags && !isWorking\">\n <mat-label>Tag</mat-label>\n <app-searchable-selector formControlName=\"tag_ids\" apiUrl=\"api/techlify-tagger-tags\" [multiple]=\"true\"\n placeHolder=\"Tag\">\n </app-searchable-selector>\n <button mat-icon-button matSuffix *ngIf=\"filterFormGroup.get('tag_ids').value.length\"\n (click)=\"resetFieldValue($event, 'tag_ids')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <button mat-icon-button (click)=\"reload()\" *ngIf=\"isReload\" type=\"button\" matTooltip=\"Refresh\">\n <mat-icon>\n <span class=\"material-icons\">\n refresh\n </span>\n </mat-icon>\n </button>\n </form>\n </mat-card-subtitle>\n <mat-card-content class=\"entity-file-card\">\n <table mat-table [dataSource]=\"dataSource\" class=\"w-100\" matSort multiTemplateDataRows infiniteScroll\n [infiniteScrollDistance]=\"1.5\" [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\">\n\n <!-- Select Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef style=\"width:30px\">\n <mat-checkbox name=\"employee\" [(ngModel)]=\"isAllSelected\" (change)=\"selectAll()\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let element\" style=\"width:30px\">\n <mat-checkbox name=\"employee[{{element?.id}}]\" (click)=\"$event.stopPropagation()\"\n [(ngModel)]=\"element.is_selected\" (change)=\"employeeListModified($event, element)\"\n [disabled]=\"!entityFiles.length\">\n </mat-checkbox>\n </td>\n </ng-container>\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\"> {{ i+1 }} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef> Title </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n <span>\n {{element.title}}\n </span>\n <span>\n <a href=\"{{element.url}}\" target=\"_blank\" class=\"text-decoration-none text-muted\">\n <button mat-icon-button type=\"button\">\n <mat-icon>download</mat-icon>\n </button>\n </a>\n </span>\n </div>\n </td>\n </ng-container>\n\n <!-- Details Column -->\n <ng-container matColumnDef=\"details\">\n <th mat-header-cell *matHeaderCellDef> Details </th>\n <td mat-cell *matCellDef=\"let element\">\n <app-read-more [text]=\"element.details\" [maxLength]=\"50\"></app-read-more>\n </td>\n </ng-container>\n\n <!-- File size Column -->\n <ng-container matColumnDef=\"file_size\">\n <th mat-header-cell *matHeaderCellDef> File Size </th>\n <td mat-cell *matCellDef=\"let element\"> {{ sizeOf(element.file_size)}} </td>\n </ng-container>\n\n <!-- Tags Column -->\n <ng-container matColumnDef=\"tag\">\n <th mat-header-cell *matHeaderCellDef> Tag </th>\n <td mat-cell *matCellDef=\"let element\" class=\"p-1\">\n <mat-chip-list aria-label=\"Tags\">\n <mat-chip *ngFor=\"let taggerModel of element.tags\">\n {{taggerModel?.tag?.title}}\n </mat-chip>\n </mat-chip-list>\n </td>\n </ng-container>\n\n <!-- Uploaded On Column -->\n <ng-container matColumnDef=\"uploaded_on\">\n <th mat-header-cell *matHeaderCellDef> Uploaded On </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>\n {{element.created_at | date: 'mediumDate'}}\n </div>\n <div class=\"text-muted\">\n By {{element.creator?.name}}\n </div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" style=\"min-width:110px\" class=\"text-muted\">\n <button type=\"button\" mat-icon-button (click)=\"editEntityFile(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n <button type=\"button\" mat-icon-button (click)=\"deleteEntityFile(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card-content>\n </mat-card>\n <section fxFlex=\"30%\" *ngIf=\"!this.documentIds.length\">\n <app-file-dropper [config]=\"fileConfig\" (fileChanged)=\"fileChanged($event)\" [fileArray]=\"fileList\">\n </app-file-dropper>\n </section>\n </div>\n </div>\n </mat-drawer-content>\n\n <div fxLayout=\"row wrap\" fxLayoutGap=\"1rem\" class=\"mat-typography p-4\" *ngIf=\"displayMode\">\n <div *ngFor=\"let efile of entityFiles\">\n <app-document-viewer [file]=\"efile.file\" [fileUrl]=\"efile.url\" [config]=\"this.viewerConfig\" [disableEdit]=\"true\">\n </app-document-viewer>\n <a href=\"{{efile.url}}\" target=\"_blank\">\n <button mat-button type=\"button\">View</button>\n </a>\n </div>\n </div>\n",
1596
1670
  styles: [""]
1597
1671
  },] }
1598
1672
  ];
@@ -1601,7 +1675,8 @@ EntityFilesViewAllComponent.ctorParameters = () => [
1601
1675
  { type: Location },
1602
1676
  { type: AlertService },
1603
1677
  { type: MatDialog },
1604
- { type: FormBuilder }
1678
+ { type: FormBuilder },
1679
+ { type: ErrorHandlerService }
1605
1680
  ];
1606
1681
  EntityFilesViewAllComponent.propDecorators = {
1607
1682
  entityId: [{ type: Input }],
@@ -1611,6 +1686,7 @@ EntityFilesViewAllComponent.propDecorators = {
1611
1686
  hideTitleAndDetails: [{ type: Input }],
1612
1687
  displayMode: [{ type: Input }],
1613
1688
  allowMultipleFiles: [{ type: Input }],
1689
+ allowBulkUpdate: [{ type: Input }],
1614
1690
  useTechlifyTags: [{ type: Input }],
1615
1691
  title: [{ type: Input }]
1616
1692
  };
@@ -3194,7 +3270,8 @@ MaterialModule.decorators = [
3194
3270
  MatDatepickerModule,
3195
3271
  MatListModule,
3196
3272
  MatTooltipModule,
3197
- MatButtonToggleModule
3273
+ MatButtonToggleModule,
3274
+ MatSidenavModule
3198
3275
  ]
3199
3276
  },] }
3200
3277
  ];
@@ -3314,7 +3391,7 @@ class TechlifyTaggerTagFormConfigModel {
3314
3391
  this.selectable = true;
3315
3392
  this.removable = true;
3316
3393
  this.separatorKeysCodes = [ENTER, COMMA];
3317
- this.placeholder = 'New Tag..';
3394
+ this.placeholder = 'Enter new Tag..';
3318
3395
  this.apiUrl = 'api/techlify-tagger-tags';
3319
3396
  this.createApiUrl = 'api/techlify-tagger-tags';
3320
3397
  this.isCreateable = true;
@@ -3619,31 +3696,6 @@ SearchableSelectorModule.decorators = [
3619
3696
  },] }
3620
3697
  ];
3621
3698
 
3622
- class EntityFilesViewAllModule {
3623
- }
3624
- EntityFilesViewAllModule.decorators = [
3625
- { type: NgModule, args: [{
3626
- declarations: [EntityFileFormComponent, EntityFilesViewAllComponent],
3627
- imports: [
3628
- CommonModule,
3629
- FormsModule,
3630
- ReactiveFormsModule,
3631
- FlexLayoutModule,
3632
- FileDropperModule,
3633
- DocumentViewerModule,
3634
- InfiniteScrollModule,
3635
- ActionPopupModule,
3636
- MaterialModule,
3637
- TechlifyTaggerTagFormFieldModule,
3638
- SearchableSelectorModule
3639
- ],
3640
- exports: [
3641
- EntityFilesViewAllComponent
3642
- ],
3643
- entryComponents: [EntityFileFormComponent]
3644
- },] }
3645
- ];
3646
-
3647
3699
  class ReadMoreComponent {
3648
3700
  constructor() {
3649
3701
  this.maxLength = 100;
@@ -3702,6 +3754,32 @@ ReadMoreModule.decorators = [
3702
3754
  },] }
3703
3755
  ];
3704
3756
 
3757
+ class EntityFilesViewAllModule {
3758
+ }
3759
+ EntityFilesViewAllModule.decorators = [
3760
+ { type: NgModule, args: [{
3761
+ declarations: [EntityFileFormComponent, EntityFilesViewAllComponent],
3762
+ imports: [
3763
+ CommonModule,
3764
+ FormsModule,
3765
+ ReactiveFormsModule,
3766
+ FlexLayoutModule,
3767
+ FileDropperModule,
3768
+ DocumentViewerModule,
3769
+ InfiniteScrollModule,
3770
+ ActionPopupModule,
3771
+ MaterialModule,
3772
+ TechlifyTaggerTagFormFieldModule,
3773
+ SearchableSelectorModule,
3774
+ ReadMoreModule
3775
+ ],
3776
+ exports: [
3777
+ EntityFilesViewAllComponent
3778
+ ],
3779
+ entryComponents: [EntityFileFormComponent]
3780
+ },] }
3781
+ ];
3782
+
3705
3783
  class NoteModule {
3706
3784
  }
3707
3785
  NoteModule.decorators = [
@@ -7068,5 +7146,5 @@ TechlifyFeatureModule.decorators = [
7068
7146
  * Generated bundle index. Do not edit.
7069
7147
  */
7070
7148
 
7071
- export { ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, CommentFormComponent, ConfigService, CoreModule, CredentialsService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, ReadMoreComponent, ReadMoreModule, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr, SnackModule as ɵa, SuccessSnackComponent as ɵb, NumberSelector as ɵba, TimelineFilterComponent as ɵbb, TimelineFilterRoutingModule as ɵbc, LoaderComponent as ɵbd, EmailSubscriptionUserFormComponent as ɵbe, EmailSubscriptionUserListComponent as ɵbf, AuthenticationGuard as ɵbg, EmailSubscriptionUserListFilterComponent as ɵbh, EmailSubscriptionTypeFormComponent as ɵbi, EmailSubscriptionTypeListComponent as ɵbj, EmailSubscriptionForUserComponent as ɵbk, TechlifyUpdatesListComponent as ɵbl, TechlifyUpdateService as ɵbm, TechlifyUpdateRoutingModule as ɵbn, TechlifyUpdateFormModule as ɵbo, TechlifyUpdateFormComponent as ɵbp, TechlifyUpdateHistoryRoutingModule as ɵbq, TechlifyUpdateHistoryComponent as ɵbr, UpdateNotifierSnackComponent as ɵbs, UpdateViewModule as ɵbt, UpdateViewComponent as ɵbu, DataManager as ɵbv, ErrorHandlerService as ɵbw, FieldMappingComponent as ɵbx, FailedItemsListComponent as ɵby, ImportHistoryListComponent as ɵbz, ErrorSnackComponent as ɵc, ImportSuccessComponent as ɵca, DataImportComponent as ɵcb, StorageService as ɵcc, TechlifyFeatureService as ɵcd, OnOffSwitchComponent as ɵce, HTTP_DYNAMIC_INTERCEPTORS as ɵd, HttpService as ɵe, RouteReusableStrategy as ɵf, ActionPopupComponent as ɵg, ActionPopup as ɵh, DataTableComponent as ɵi, DocumentViewerComponent as ɵj, EntityFileFormComponent as ɵk, FormValidatorService as ɵl, EntityFileService as ɵm, AlertService as ɵn, EntityFilesViewAllComponent as ɵo, FileDropperComponent as ɵp, SearchableSelectorComponent as ɵq, MatSelectInfiniteScrollDirective as ɵr, NoteListComponent as ɵs, NoteService as ɵt, NoteFormComponent as ɵu, CommentFormComponent as ɵv, CredentialsService as ɵw, ConfigService as ɵx, TechlifyConfig as ɵy, NumItemsSelector as ɵz };
7149
+ export { ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, CommentFormComponent, ConfigService, CoreModule, CredentialsService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, ReadMoreComponent, ReadMoreModule, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr, SnackModule as ɵa, SuccessSnackComponent as ɵb, NumItemsSelector as ɵba, NumberSelector as ɵbb, TimelineFilterComponent as ɵbc, TimelineFilterRoutingModule as ɵbd, LoaderComponent as ɵbe, EmailSubscriptionUserFormComponent as ɵbf, EmailSubscriptionUserListComponent as ɵbg, AuthenticationGuard as ɵbh, EmailSubscriptionUserListFilterComponent as ɵbi, EmailSubscriptionTypeFormComponent as ɵbj, EmailSubscriptionTypeListComponent as ɵbk, EmailSubscriptionForUserComponent as ɵbl, TechlifyUpdatesListComponent as ɵbm, TechlifyUpdateService as ɵbn, TechlifyUpdateRoutingModule as ɵbo, TechlifyUpdateFormModule as ɵbp, TechlifyUpdateFormComponent as ɵbq, TechlifyUpdateHistoryRoutingModule as ɵbr, TechlifyUpdateHistoryComponent as ɵbs, UpdateNotifierSnackComponent as ɵbt, UpdateViewModule as ɵbu, UpdateViewComponent as ɵbv, DataManager as ɵbw, FieldMappingComponent as ɵbx, FailedItemsListComponent as ɵby, ImportHistoryListComponent as ɵbz, ErrorSnackComponent as ɵc, ImportSuccessComponent as ɵca, DataImportComponent as ɵcb, StorageService as ɵcc, TechlifyFeatureService as ɵcd, OnOffSwitchComponent as ɵce, HTTP_DYNAMIC_INTERCEPTORS as ɵd, HttpService as ɵe, RouteReusableStrategy as ɵf, ActionPopupComponent as ɵg, ActionPopup as ɵh, DataTableComponent as ɵi, DocumentViewerComponent as ɵj, EntityFileFormComponent as ɵk, FormValidatorService as ɵl, EntityFileService as ɵm, AlertService as ɵn, EntityFilesViewAllComponent as ɵo, ErrorHandlerService as ɵp, TechlifyConfig as ɵq, FileDropperComponent as ɵr, SearchableSelectorComponent as ɵs, MatSelectInfiniteScrollDirective as ɵt, NoteListComponent as ɵu, NoteService as ɵv, NoteFormComponent as ɵw, CommentFormComponent as ɵx, CredentialsService as ɵy, ConfigService as ɵz };
7072
7150
  //# sourceMappingURL=ngx-techlify-core.js.map