@indice/ng-components 0.2.174 → 0.3.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.
- package/_styles.scss +63 -15
- package/{esm2020 → esm2022}/indice-ng-components.mjs +4 -4
- package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +156 -0
- package/esm2022/lib/controls/advanced-search/models.mjs +109 -0
- package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +48 -0
- package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb-item.mjs +14 -14
- package/{esm2020 → esm2022}/lib/controls/breadcrumb/breadcrumb.component.mjs +26 -26
- package/{esm2020 → esm2022}/lib/controls/collapsible-panel/collapsible-panel.component.mjs +20 -20
- package/esm2022/lib/controls/combobox/combobox.component.mjs +121 -0
- package/esm2022/lib/controls/content-tile/content-tile-header/content-tile-header.component.mjs +17 -0
- package/esm2022/lib/controls/content-tile/content-tile-item/content-tile-item.component.mjs +19 -0
- package/esm2022/lib/controls/content-tile/content-tile.component.mjs +63 -0
- package/esm2022/lib/controls/date-picker/date-picker.component.mjs +300 -0
- package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +72 -0
- package/{esm2020 → esm2022}/lib/controls/kpi-tile/kpi-tile.component.mjs +43 -43
- package/esm2022/lib/controls/language-selection/language-selection.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/controls/list-view/list-column.component.mjs +25 -25
- package/{esm2020 → esm2022}/lib/controls/list-view/list-details-section.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/controls/list-view/list-tile.component.mjs +17 -17
- package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +29 -0
- package/esm2022/lib/controls/list-view/list-view.component.mjs +210 -0
- package/{esm2020 → esm2022}/lib/controls/nav-links-list/nav-links-list.component.mjs +54 -54
- package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +79 -0
- package/esm2022/lib/controls/pager/pager.component.mjs +130 -0
- package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +46 -0
- package/esm2022/lib/controls/side-pane/side-pane.component.mjs +87 -0
- package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +29 -0
- package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +49 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-info.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/stepper/lib-step-label.directive.mjs +16 -16
- package/esm2022/lib/controls/stepper/lib-step.component.mjs +81 -0
- package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +108 -0
- package/{esm2020 → esm2022}/lib/controls/stepper/types/step-selected-event.mjs +3 -3
- package/{esm2020 → esm2022}/lib/controls/stepper/types/stepper-type.mjs +11 -11
- package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +66 -0
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab-label.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/controls/tabs/lib-tab.component.mjs +57 -57
- package/{esm2020 → esm2022}/lib/controls/toaster/toaster-container.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/controls/toaster/toaster.component.mjs +31 -31
- package/esm2022/lib/controls/toggle/toggle.component.mjs +64 -0
- package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +87 -0
- package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +34 -0
- package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +71 -0
- package/esm2022/lib/directives/click-outside.directive.mjs +189 -0
- package/{esm2020 → esm2022}/lib/directives/dynamic-component-host.directive.mjs +17 -17
- package/esm2022/lib/helpers/base-list.component.mjs +230 -0
- package/esm2022/lib/icons.mjs +36 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-footer/shell-footer.component.mjs +19 -19
- package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +130 -0
- package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +54 -54
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +45 -45
- package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +30 -0
- package/{esm2020 → esm2022}/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +20 -20
- package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +86 -0
- package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +101 -0
- package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +106 -0
- package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +104 -0
- package/esm2022/lib/ng-components.module.mjs +320 -0
- package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +30 -0
- package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/pages/auth/logged-out/logged-out.component.mjs +28 -28
- package/{esm2020 → esm2022}/lib/pages/http-status/error/error.component.mjs +17 -17
- package/{esm2020 → esm2022}/lib/pages/http-status/page-not-found/page-not-found.component.mjs +15 -15
- package/{esm2020 → esm2022}/lib/pages/http-status/unauthorized/unauthorized.component.mjs +14 -14
- package/esm2022/lib/pipes/address.pipe.mjs +21 -0
- package/esm2022/lib/pipes/duration-format.pipe.mjs +64 -0
- package/esm2022/lib/pipes/short-number.pipe.mjs +43 -0
- package/esm2022/lib/services/breadcrumb.service.mjs +174 -0
- package/{esm2020 → esm2022}/lib/services/component-loader/component-loader-options.class.mjs +7 -7
- package/esm2022/lib/services/component-loader/component-loader.class.mjs +188 -0
- package/esm2022/lib/services/component-loader/component-loader.factory.mjs +32 -0
- package/{esm2020 → esm2022}/lib/services/component-loader/content-ref.class.mjs +12 -12
- package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +44 -0
- package/esm2022/lib/services/modal-service/modal-container-component.mjs +126 -0
- package/{esm2020 → esm2022}/lib/services/modal-service/modal-options.class.mjs +35 -35
- package/esm2022/lib/services/modal-service/modal-service.mjs +220 -0
- package/{esm2020 → esm2022}/lib/services/modal-service/modal-styles.class.mjs +10 -10
- package/{esm2020 → esm2022}/lib/services/modal-service/modal.class.mjs +27 -27
- package/{esm2020 → esm2022}/lib/services/toaster.service.mjs +26 -26
- package/esm2022/lib/services/user-settings.service.mjs +35 -0
- package/esm2022/lib/services/utilities.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/tokens.mjs +7 -7
- package/esm2022/lib/types.mjs +133 -0
- package/{esm2020 → esm2022}/public-api.mjs +78 -70
- package/{fesm2020 → fesm2022}/indice-ng-components.mjs +4898 -4592
- package/fesm2022/indice-ng-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/controls/advanced-search/advanced-search.component.d.ts +40 -40
- package/lib/controls/advanced-search/models.d.ts +91 -91
- package/lib/controls/avatar-initials/avatar-initials.component.d.ts +14 -14
- package/lib/controls/breadcrumb/breadcrumb-item.d.ts +7 -7
- package/lib/controls/breadcrumb/breadcrumb.component.d.ts +12 -12
- package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +10 -10
- package/lib/controls/combobox/combobox.component.d.ts +35 -34
- package/lib/controls/content-tile/content-tile-header/content-tile-header.component.d.ts +7 -0
- package/lib/controls/content-tile/content-tile-item/content-tile-item.component.d.ts +8 -0
- package/lib/controls/content-tile/content-tile.component.d.ts +23 -0
- package/lib/controls/date-picker/date-picker.component.d.ts +53 -53
- package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +26 -26
- package/lib/controls/kpi-tile/kpi-tile.component.d.ts +15 -15
- package/lib/controls/language-selection/language-selection.component.d.ts +14 -14
- package/lib/controls/list-view/list-column.component.d.ts +9 -9
- package/lib/controls/list-view/list-details-section.component.d.ts +7 -7
- package/lib/controls/list-view/list-tile.component.d.ts +7 -7
- package/lib/controls/list-view/list-view-empty-state.component.d.ts +11 -11
- package/lib/controls/list-view/list-view.component.d.ts +62 -61
- package/lib/controls/nav-links-list/nav-links-list.component.d.ts +21 -21
- package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +22 -22
- package/lib/controls/pager/pager.component.d.ts +36 -36
- package/lib/controls/progress-bar/progress-bar.component.d.ts +16 -0
- package/lib/controls/side-pane/side-pane.component.d.ts +22 -18
- package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +12 -11
- package/lib/controls/stats-grid/stats-grid.component.d.ts +16 -0
- package/lib/controls/stepper/lib-step-info.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step-label.directive.d.ts +8 -8
- package/lib/controls/stepper/lib-step.component.d.ts +34 -34
- package/lib/controls/stepper/lib-stepper.component.d.ts +43 -43
- package/lib/controls/stepper/types/step-selected-event.d.ts +12 -12
- package/lib/controls/stepper/types/stepper-type.d.ts +10 -10
- package/lib/controls/tabs/lib-tab-group.component.d.ts +21 -21
- package/lib/controls/tabs/lib-tab-label.directive.d.ts +8 -8
- package/lib/controls/tabs/lib-tab.component.d.ts +24 -24
- package/lib/controls/toaster/toaster-container.component.d.ts +13 -13
- package/lib/controls/toaster/toaster.component.d.ts +15 -15
- package/lib/controls/toggle/toggle.component.d.ts +19 -19
- package/lib/controls/toggle-button/toggle-button.component.d.ts +25 -25
- package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +15 -14
- package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +24 -24
- package/lib/directives/click-outside.directive.d.ts +40 -40
- package/lib/directives/dynamic-component-host.directive.d.ts +9 -9
- package/lib/helpers/base-list.component.d.ts +54 -53
- package/lib/icons.d.ts +34 -34
- package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +8 -8
- package/lib/layouts/shell/shell-header/shell-header.component.d.ts +39 -39
- package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +26 -26
- package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +20 -20
- package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +14 -14
- package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +15 -15
- package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +10 -10
- package/lib/layouts/views/form-layout/form-layout.component.d.ts +26 -24
- package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +42 -42
- package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +29 -28
- package/lib/layouts/views/view-layout/view-layout.component.d.ts +31 -31
- package/lib/ng-components.module.d.ts +71 -65
- package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +13 -13
- package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +12 -12
- package/lib/pages/auth/logged-out/logged-out.component.d.ts +12 -12
- package/lib/pages/http-status/error/error.component.d.ts +8 -8
- package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +8 -8
- package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +8 -8
- package/lib/pipes/address.pipe.d.ts +8 -8
- package/lib/pipes/duration-format.pipe.d.ts +8 -8
- package/lib/pipes/short-number.pipe.d.ts +7 -0
- package/lib/services/breadcrumb.service.d.ts +29 -29
- package/lib/services/component-loader/component-loader-options.class.d.ts +30 -30
- package/lib/services/component-loader/component-loader.class.d.ts +92 -92
- package/lib/services/component-loader/component-loader.factory.d.ts +24 -24
- package/lib/services/component-loader/content-ref.class.d.ts +12 -12
- package/lib/services/modal-service/modal-backdrop-component.d.ts +20 -20
- package/lib/services/modal-service/modal-container-component.d.ts +33 -33
- package/lib/services/modal-service/modal-options.class.d.ts +81 -81
- package/lib/services/modal-service/modal-service.d.ts +58 -58
- package/lib/services/modal-service/modal-styles.class.d.ts +10 -10
- package/lib/services/modal-service/modal.class.d.ts +43 -43
- package/lib/services/toaster.service.d.ts +11 -11
- package/lib/services/user-settings.service.d.ts +13 -13
- package/lib/services/utilities.service.d.ts +11 -11
- package/lib/tokens.d.ts +10 -10
- package/lib/types.d.ts +179 -177
- package/package.json +14 -21
- package/public-api.d.ts +68 -60
- package/esm2020/lib/controls/advanced-search/advanced-search.component.mjs +0 -156
- package/esm2020/lib/controls/advanced-search/models.mjs +0 -109
- package/esm2020/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
- package/esm2020/lib/controls/combobox/combobox.component.mjs +0 -117
- package/esm2020/lib/controls/date-picker/date-picker.component.mjs +0 -292
- package/esm2020/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
- package/esm2020/lib/controls/language-selection/language-selection.component.mjs +0 -31
- package/esm2020/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
- package/esm2020/lib/controls/list-view/list-view.component.mjs +0 -206
- package/esm2020/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
- package/esm2020/lib/controls/pager/pager.component.mjs +0 -130
- package/esm2020/lib/controls/side-pane/side-pane.component.mjs +0 -72
- package/esm2020/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -25
- package/esm2020/lib/controls/stepper/lib-step.component.mjs +0 -81
- package/esm2020/lib/controls/stepper/lib-stepper.component.mjs +0 -108
- package/esm2020/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
- package/esm2020/lib/controls/toggle/toggle.component.mjs +0 -64
- package/esm2020/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
- package/esm2020/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -31
- package/esm2020/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -71
- package/esm2020/lib/directives/click-outside.directive.mjs +0 -189
- package/esm2020/lib/helpers/base-list.component.mjs +0 -226
- package/esm2020/lib/icons.mjs +0 -36
- package/esm2020/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -130
- package/esm2020/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -90
- package/esm2020/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -30
- package/esm2020/lib/layouts/views/form-layout/form-layout.component.mjs +0 -80
- package/esm2020/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -101
- package/esm2020/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -98
- package/esm2020/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
- package/esm2020/lib/ng-components.module.mjs +0 -288
- package/esm2020/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
- package/esm2020/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
- package/esm2020/lib/pipes/address.pipe.mjs +0 -21
- package/esm2020/lib/pipes/duration-format.pipe.mjs +0 -64
- package/esm2020/lib/services/breadcrumb.service.mjs +0 -174
- package/esm2020/lib/services/component-loader/component-loader.class.mjs +0 -188
- package/esm2020/lib/services/component-loader/component-loader.factory.mjs +0 -32
- package/esm2020/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
- package/esm2020/lib/services/modal-service/modal-container-component.mjs +0 -126
- package/esm2020/lib/services/modal-service/modal-service.mjs +0 -220
- package/esm2020/lib/services/user-settings.service.mjs +0 -35
- package/esm2020/lib/services/utilities.service.mjs +0 -47
- package/esm2020/lib/types.mjs +0 -132
- package/fesm2015/indice-ng-components.mjs +0 -4852
- package/fesm2015/indice-ng-components.mjs.map +0 -1
- package/fesm2020/indice-ng-components.mjs.map +0 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { FilterClause, QueryParameters } from './../controls/advanced-search/models';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { Component } from '@angular/core';
|
|
4
|
+
import { RouterViewAction, ViewAction, ListViewType } from '../types';
|
|
5
|
+
import { Icons } from '../icons';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
export class BaseListComponent {
|
|
9
|
+
constructor(route$, router$) {
|
|
10
|
+
this.route$ = route$;
|
|
11
|
+
this.router$ = router$;
|
|
12
|
+
this.items = null;
|
|
13
|
+
this.view = ListViewType.Tiles;
|
|
14
|
+
this.title = null;
|
|
15
|
+
this.actions = [];
|
|
16
|
+
this.loaderItems = [1, 2, 3, 4, 5];
|
|
17
|
+
this.page = 1;
|
|
18
|
+
this.pageSize = 20;
|
|
19
|
+
this.count = 0;
|
|
20
|
+
this.sort = '';
|
|
21
|
+
this.sortdir = '';
|
|
22
|
+
this.search = '';
|
|
23
|
+
this.filters = [];
|
|
24
|
+
this.searchOptions = [];
|
|
25
|
+
this.sortOptions = [];
|
|
26
|
+
this.metaItems = [];
|
|
27
|
+
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
if (this.routeSub$) {
|
|
30
|
+
this.routeSub$.unsubscribe();
|
|
31
|
+
}
|
|
32
|
+
if (this.loadSub$) {
|
|
33
|
+
this.loadSub$.unsubscribe();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
getViewActions() {
|
|
37
|
+
const actions = [
|
|
38
|
+
new ViewAction('search', null, null, Icons.Search, 'αναζήτηση'),
|
|
39
|
+
new ViewAction('refresh', null, null, Icons.Refresh, 'ανανέωση στοιχείων')
|
|
40
|
+
];
|
|
41
|
+
if (this.newItemLink) {
|
|
42
|
+
actions.push(new RouterViewAction(Icons.Add, this.newItemLink, 'rightpane', 'προσθήκη νέας εγγραφής;'));
|
|
43
|
+
}
|
|
44
|
+
return of(actions);
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
this.getViewActions().subscribe(actions => {
|
|
48
|
+
this.actions = actions || [];
|
|
49
|
+
});
|
|
50
|
+
this.metaItems = [
|
|
51
|
+
{ key: 'count', icon: Icons.ItemsCount, text: 'παρακαλώ περιμένετε...' }
|
|
52
|
+
];
|
|
53
|
+
// disabled external route changes monitoring due to sync issues - which is bad :) - refresh from url will not work
|
|
54
|
+
// until i come up with a solution...
|
|
55
|
+
this.routeSub$ = this.route$.queryParamMap.subscribe(params => {
|
|
56
|
+
if (params.keys.length === 0) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// changing the view mode does not require reloading...
|
|
60
|
+
this.view = params.get('view') || ListViewType.Tiles;
|
|
61
|
+
// console.log('route changes ', this.view);
|
|
62
|
+
if (params.get('search') !== null && params.get('search') !== this.search) {
|
|
63
|
+
this.searchChanged(params.get('search'));
|
|
64
|
+
}
|
|
65
|
+
const page = +(params.get('page') || 1);
|
|
66
|
+
if (page !== this.page) {
|
|
67
|
+
this.page = page;
|
|
68
|
+
}
|
|
69
|
+
const size = +(params.get('pagesize') || 20);
|
|
70
|
+
if (this.pageSize !== size) {
|
|
71
|
+
this.pageSize = size;
|
|
72
|
+
}
|
|
73
|
+
if (params.get('search') !== this.search) {
|
|
74
|
+
this.search = params.get('search');
|
|
75
|
+
}
|
|
76
|
+
if (params.get('sort') !== this.sort) {
|
|
77
|
+
this.sort = params.get('sort');
|
|
78
|
+
}
|
|
79
|
+
if (params.get('dir') !== this.sortdir) {
|
|
80
|
+
this.sortdir = params.get('dir');
|
|
81
|
+
}
|
|
82
|
+
// initialize filters that may reside in the query string
|
|
83
|
+
this.filters = this.getFiltersFrom(params);
|
|
84
|
+
});
|
|
85
|
+
// just to sync params in query
|
|
86
|
+
this.setRouteParams(true);
|
|
87
|
+
this.load();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get filters from a querystring
|
|
91
|
+
* @param queryParamMap
|
|
92
|
+
* @returns filters found from a paramMap
|
|
93
|
+
*/
|
|
94
|
+
getFiltersFrom(queryParamMap) {
|
|
95
|
+
let filterResult = [];
|
|
96
|
+
if (queryParamMap.has(QueryParameters.FILTER) && queryParamMap.get(QueryParameters.FILTER).length > 0) {
|
|
97
|
+
let filterValue = queryParamMap.get(QueryParameters.FILTER);
|
|
98
|
+
const filterValues = filterValue?.split(","); // we may have multiple filters in filter query param
|
|
99
|
+
if (filterValues && filterValues.length > 0) {
|
|
100
|
+
// create the filterClauses derived from the query params
|
|
101
|
+
for (var index in filterValues) {
|
|
102
|
+
let filterClause = FilterClause.parse(filterValues[index]);
|
|
103
|
+
const parsed = new FilterClause(filterClause.member, filterClause.value, filterClause.operator, filterClause.dataType, this.searchOptions);
|
|
104
|
+
if (parsed !== undefined) {
|
|
105
|
+
filterResult.push(parsed);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return filterResult;
|
|
111
|
+
}
|
|
112
|
+
setRouteParams(locationChange = false) {
|
|
113
|
+
this.router$.navigate([], {
|
|
114
|
+
relativeTo: this.route$, queryParams: {
|
|
115
|
+
view: this.view,
|
|
116
|
+
page: this.page,
|
|
117
|
+
pagesize: this.pageSize,
|
|
118
|
+
search: this.search,
|
|
119
|
+
sort: this.sort,
|
|
120
|
+
dir: this.sortdir,
|
|
121
|
+
filter: this.filterClausesToString(this.filters)
|
|
122
|
+
}, queryParamsHandling: 'merge', skipLocationChange: locationChange
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
filterClausesToString(filters) {
|
|
126
|
+
return filters?.map((f) => {
|
|
127
|
+
if (f.dataType === 'datetime') {
|
|
128
|
+
f.value = (new Date(f.value)).toISOString();
|
|
129
|
+
}
|
|
130
|
+
return f.toString();
|
|
131
|
+
}).join(',');
|
|
132
|
+
}
|
|
133
|
+
actionHandler($event) {
|
|
134
|
+
// console.log('BaseListComponent actionHandler', $event);
|
|
135
|
+
if ($event.key === 'refresh') {
|
|
136
|
+
this.refresh();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
load() {
|
|
140
|
+
// console.log('BaseListComponent LOAD');
|
|
141
|
+
this.count = 0;
|
|
142
|
+
this.items = null;
|
|
143
|
+
this.loadSub$ = this.loadItems().subscribe(result => {
|
|
144
|
+
this.count = result ? result.count : 0;
|
|
145
|
+
this.items = result?.items;
|
|
146
|
+
this.updateHeaderMeta();
|
|
147
|
+
}, err => {
|
|
148
|
+
this.count = 0;
|
|
149
|
+
this.items = null;
|
|
150
|
+
this.updateHeaderMeta();
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
updateHeaderMeta() {
|
|
154
|
+
const count = this.metaItems?.filter(m => m.key === 'count')[0];
|
|
155
|
+
if (count) {
|
|
156
|
+
this.count === 1 ? count.text = `${this.count} αποτέλεσμα` : count.text = `${this.count} αποτελέσματα`;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
clear() {
|
|
160
|
+
this.count = 0;
|
|
161
|
+
this.page = 1;
|
|
162
|
+
this.items = null;
|
|
163
|
+
this.search = null;
|
|
164
|
+
this.setRouteParams();
|
|
165
|
+
this.load();
|
|
166
|
+
}
|
|
167
|
+
refresh() {
|
|
168
|
+
this.count = 0;
|
|
169
|
+
this.updateHeaderMeta();
|
|
170
|
+
this.page = 1;
|
|
171
|
+
this.items = null;
|
|
172
|
+
this.setRouteParams();
|
|
173
|
+
this.load();
|
|
174
|
+
}
|
|
175
|
+
pageChanged(page) {
|
|
176
|
+
if (this.page !== page) {
|
|
177
|
+
this.page = page;
|
|
178
|
+
this.setRouteParams();
|
|
179
|
+
this.load();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
pageSizeChanged(pageSize) {
|
|
183
|
+
if (this.pageSize !== pageSize) {
|
|
184
|
+
this.pageSize = pageSize;
|
|
185
|
+
this.page = 1;
|
|
186
|
+
this.setRouteParams();
|
|
187
|
+
this.refresh();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
sortChanged(sort) {
|
|
191
|
+
// console.log('base-list sortChanged', sort);
|
|
192
|
+
if (this.sort !== sort) {
|
|
193
|
+
this.page = 1;
|
|
194
|
+
this.sort = sort;
|
|
195
|
+
this.setRouteParams();
|
|
196
|
+
this.refresh();
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
sortdirChanged(sortdir) {
|
|
200
|
+
if (this.sortdir !== sortdir) {
|
|
201
|
+
this.page = 1;
|
|
202
|
+
this.sortdir = sortdir;
|
|
203
|
+
this.setRouteParams();
|
|
204
|
+
this.refresh();
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
advancedSearchChanged(filters) {
|
|
208
|
+
this.count = 0;
|
|
209
|
+
this.page = 1;
|
|
210
|
+
this.items = null;
|
|
211
|
+
this.filters = filters;
|
|
212
|
+
this.setRouteParams();
|
|
213
|
+
this.load();
|
|
214
|
+
}
|
|
215
|
+
searchChanged(searchText) {
|
|
216
|
+
this.count = 0;
|
|
217
|
+
this.page = 1;
|
|
218
|
+
this.items = null;
|
|
219
|
+
this.search = searchText;
|
|
220
|
+
this.setRouteParams();
|
|
221
|
+
this.load();
|
|
222
|
+
}
|
|
223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: BaseListComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
|
225
|
+
}
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: BaseListComponent, decorators: [{
|
|
227
|
+
type: Component,
|
|
228
|
+
args: [{ template: '' }]
|
|
229
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }] });
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9oZWxwZXJzL2Jhc2UtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQWdCLE1BQU0sc0NBQXNDLENBQUM7QUFDbkcsT0FBTyxFQUE0QixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUEwQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUdqQyxNQUFNLE9BQWdCLGlCQUFpQjtJQW9CckMsWUFBb0IsTUFBc0IsRUFBVSxPQUFlO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQW5CNUQsVUFBSyxHQUEyQixJQUFJLENBQUM7UUFDckMsU0FBSSxHQUFXLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsZ0JBQVcsR0FBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixTQUFJLEdBQWtCLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUM1QixXQUFNLEdBQWtCLEVBQUUsQ0FBQztRQUMzQixZQUFPLEdBQW1CLEVBQUUsQ0FB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QUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUF5QjtRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7OEdBclBtQixpQkFBaUI7a0dBQWpCLGlCQUFpQixvREFEaEIsRUFBRTs7MkZBQ0gsaUJBQWlCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckNsYXVzZSwgUXVlcnlQYXJhbWV0ZXJzLCBTZWFyY2hPcHRpb24gfSBmcm9tICcuLy4uL2NvbnRyb2xzL2FkdmFuY2VkLXNlYXJjaC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBIZWFkZXJNZXRhSXRlbSwgSVJlc3VsdFNldCwgTWVudU9wdGlvbiwgUm91dGVyVmlld0FjdGlvbiwgVmlld0FjdGlvbiwgTGlzdFZpZXdUeXBlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL2ljb25zJztcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VMaXN0Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBpdGVtczogVFtdIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XHJcbiAgcHVibGljIHZpZXc6IHN0cmluZyA9IExpc3RWaWV3VHlwZS5UaWxlcztcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBhY3Rpb25zOiBWaWV3QWN0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgbG9hZGVySXRlbXM6IGFueVtdID0gWzEsIDIsIDMsIDQsIDVdO1xyXG4gIHB1YmxpYyBwYWdlID0gMTtcclxuICBwdWJsaWMgcGFnZVNpemUgPSAyMDtcclxuICBwdWJsaWMgY291bnQgPSAwO1xyXG4gIHB1YmxpYyBzb3J0OiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIHNvcnRkaXI6IHN0cmluZyB8IG51bGwgPSAnJztcclxuICBwdWJsaWMgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gJyc7XHJcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlckNsYXVzZVtdID0gW107XHJcbiAgcHVibGljIHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbltdID0gW107XHJcbiAgcHVibGljIHNvcnRPcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgbWV0YUl0ZW1zOiBIZWFkZXJNZXRhSXRlbVtdID0gW107XHJcbiAgcHVibGljIGFic3RyYWN0IG5ld0l0ZW1MaW5rOiBzdHJpbmcgfCBudWxsO1xyXG4gIHByaXZhdGUgcm91dGVTdWIkOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBsb2FkU3ViJDogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlJDogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyJDogUm91dGVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJvdXRlU3ViJCkge1xyXG4gICAgICB0aGlzLnJvdXRlU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5sb2FkU3ViJCkge1xyXG4gICAgICB0aGlzLmxvYWRTdWIkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Vmlld0FjdGlvbnMoKTogT2JzZXJ2YWJsZTxWaWV3QWN0aW9uW10+IHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSBbXHJcbiAgICAgIG5ldyBWaWV3QWN0aW9uKCdzZWFyY2gnLCBudWxsLCBudWxsLCBJY29ucy5TZWFyY2gsICfOsc69zrHOts6uz4TOt8+DzrcnKSxcclxuICAgICAgbmV3IFZpZXdBY3Rpb24oJ3JlZnJlc2gnLCBudWxsLCBudWxsLCBJY29ucy5SZWZyZXNoLCAnzrHOvc6xzr3Orc+Jz4POtyDPg8+Ezr/Ouc+HzrXOr8+Jzr0nKVxyXG4gICAgXTtcclxuICAgIGlmICh0aGlzLm5ld0l0ZW1MaW5rKSB7XHJcbiAgICAgIGFjdGlvbnMucHVzaChuZXcgUm91dGVyVmlld0FjdGlvbihJY29ucy5BZGQsIHRoaXMubmV3SXRlbUxpbmssICdyaWdodHBhbmUnLCAnz4DPgc6/z4POuM6uzrrOtyDOvc6tzrHPgiDOtc6zzrPPgc6xz4bOrs+COycpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihhY3Rpb25zKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRWaWV3QWN0aW9ucygpLnN1YnNjcmliZShhY3Rpb25zID0+IHtcclxuICAgICAgdGhpcy5hY3Rpb25zID0gYWN0aW9ucyB8fCBbXTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMubWV0YUl0ZW1zID0gW1xyXG4gICAgICB7IGtleTogJ2NvdW50JywgaWNvbjogSWNvbnMuSXRlbXNDb3VudCwgdGV4dDogJ8+AzrHPgc6xzrrOsc67z44gz4DOtc+BzrnOvM6tzr3Otc+EzrUuLi4nIH1cclxuICAgIF07XHJcblxyXG4gICAgLy8gZGlzYWJsZWQgZXh0ZXJuYWwgcm91dGUgY2hhbmdlcyBtb25pdG9yaW5nIGR1ZSB0byBzeW5jIGlzc3VlcyAtIHdoaWNoIGlzIGJhZCA6KSAtIHJlZnJlc2ggZnJvbSB1cmwgd2lsbCBub3Qgd29ya1xyXG4gICAgLy8gdW50aWwgaSBjb21lIHVwIHdpdGggYSBzb2x1dGlvbi4uLlxyXG5cclxuICAgIHRoaXMucm91dGVTdWIkID0gdGhpcy5yb3V0ZSQucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgaWYgKHBhcmFtcy5rZXlzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gY2hhbmdpbmcgdGhlIHZpZXcgbW9kZSBkb2VzIG5vdCByZXF1aXJlIHJlbG9hZGluZy4uLlxyXG4gICAgICB0aGlzLnZpZXcgPSBwYXJhbXMuZ2V0KCd2aWV3JykgfHwgTGlzdFZpZXdUeXBlLlRpbGVzO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZygncm91dGUgY2hhbmdlcyAnLCB0aGlzLnZpZXcpO1xyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NlYXJjaCcpICE9PSBudWxsICYmIHBhcmFtcy5nZXQoJ3NlYXJjaCcpICE9PSB0aGlzLnNlYXJjaCkge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlZChwYXJhbXMuZ2V0KCdzZWFyY2gnKSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHBhZ2UgPSArKHBhcmFtcy5nZXQoJ3BhZ2UnKSB8fCAxKTtcclxuICAgICAgaWYgKHBhZ2UgIT09IHRoaXMucGFnZSkge1xyXG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNpemUgPSArKHBhcmFtcy5nZXQoJ3BhZ2VzaXplJykgfHwgMjApO1xyXG4gICAgICBpZiAodGhpcy5wYWdlU2l6ZSAhPT0gc2l6ZSkge1xyXG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBzaXplO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnc2VhcmNoJykgIT09IHRoaXMuc2VhcmNoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2ggPSBwYXJhbXMuZ2V0KCdzZWFyY2gnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHBhcmFtcy5nZXQoJ3NvcnQnKSAhPT0gdGhpcy5zb3J0KSB7XHJcbiAgICAgICAgdGhpcy5zb3J0ID0gcGFyYW1zLmdldCgnc29ydCcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAocGFyYW1zLmdldCgnZGlyJykgIT09IHRoaXMuc29ydGRpcikge1xyXG4gICAgICAgIHRoaXMuc29ydGRpciA9IHBhcmFtcy5nZXQoJ2RpcicpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGluaXRpYWxpemUgZmlsdGVycyB0aGF0IG1heSByZXNpZGUgaW4gdGhlIHF1ZXJ5IHN0cmluZ1xyXG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmdldEZpbHRlcnNGcm9tKHBhcmFtcyk7XHJcbiAgICB9KTtcclxuICAgIC8vIGp1c3QgdG8gc3luYyBwYXJhbXMgaW4gcXVlcnlcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXModHJ1ZSk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBHZXQgZmlsdGVycyBmcm9tIGEgcXVlcnlzdHJpbmdcclxuICogQHBhcmFtIHF1ZXJ5UGFyYW1NYXBcclxuICogQHJldHVybnMgZmlsdGVycyBmb3VuZCBmcm9tIGEgcGFyYW1NYXBcclxuICovXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJzRnJvbShxdWVyeVBhcmFtTWFwOiBQYXJhbU1hcCk6IEZpbHRlckNsYXVzZVtdIHtcclxuICAgIGxldCBmaWx0ZXJSZXN1bHQ6IEZpbHRlckNsYXVzZVtdID0gW107XHJcbiAgICBpZiAocXVlcnlQYXJhbU1hcC5oYXMoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUikgJiYgcXVlcnlQYXJhbU1hcC5nZXQoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUikhLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGZpbHRlclZhbHVlID0gcXVlcnlQYXJhbU1hcC5nZXQoUXVlcnlQYXJhbWV0ZXJzLkZJTFRFUik7XHJcbiAgICAgIGNvbnN0IGZpbHRlclZhbHVlcyA9IGZpbHRlclZhbHVlPy5zcGxpdChcIixcIik7IC8vIHdlIG1heSBoYXZlIG11bHRpcGxlIGZpbHRlcnMgaW4gZmlsdGVyIHF1ZXJ5IHBhcmFtXHJcbiAgICAgIGlmIChmaWx0ZXJWYWx1ZXMgJiYgZmlsdGVyVmFsdWVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBjcmVhdGUgdGhlIGZpbHRlckNsYXVzZXMgZGVyaXZlZCBmcm9tIHRoZSBxdWVyeSBwYXJhbXNcclxuICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBmaWx0ZXJWYWx1ZXMpIHtcclxuICAgICAgICAgIGxldCBmaWx0ZXJDbGF1c2UgPSBGaWx0ZXJDbGF1c2UucGFyc2UoZmlsdGVyVmFsdWVzW2luZGV4XSk7XHJcbiAgICAgICAgICBjb25zdCBwYXJzZWQgPSBuZXcgRmlsdGVyQ2xhdXNlKGZpbHRlckNsYXVzZSEubWVtYmVyLCBmaWx0ZXJDbGF1c2UhLnZhbHVlLCBmaWx0ZXJDbGF1c2UhLm9wZXJhdG9yLCBmaWx0ZXJDbGF1c2UhLmRhdGFUeXBlLCB0aGlzLnNlYXJjaE9wdGlvbnMpO1xyXG4gICAgICAgICAgaWYgKHBhcnNlZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdC5wdXNoKHBhcnNlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmlsdGVyUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRSb3V0ZVBhcmFtcyhsb2NhdGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoW10sIHtcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSQsIHF1ZXJ5UGFyYW1zOiB7XHJcbiAgICAgICAgdmlldzogdGhpcy52aWV3LFxyXG4gICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcclxuICAgICAgICBwYWdlc2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICBzZWFyY2g6IHRoaXMuc2VhcmNoLFxyXG4gICAgICAgIHNvcnQ6IHRoaXMuc29ydCxcclxuICAgICAgICBkaXI6IHRoaXMuc29ydGRpcixcclxuICAgICAgICBmaWx0ZXI6IHRoaXMuZmlsdGVyQ2xhdXNlc1RvU3RyaW5nKHRoaXMuZmlsdGVycylcclxuICAgICAgfSwgcXVlcnlQYXJhbXNIYW5kbGluZzogJ21lcmdlJywgc2tpcExvY2F0aW9uQ2hhbmdlOiBsb2NhdGlvbkNoYW5nZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckNsYXVzZXNUb1N0cmluZyhmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSB8IHVuZGVmaW5lZCkge1xyXG4gICAgcmV0dXJuIGZpbHRlcnM/Lm1hcCgoZjogRmlsdGVyQ2xhdXNlKSA9PiB7XHJcbiAgICAgIGlmIChmLmRhdGFUeXBlID09PSAnZGF0ZXRpbWUnKSB7XHJcbiAgICAgICAgZi52YWx1ZSA9IChuZXcgRGF0ZShmLnZhbHVlKSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZi50b1N0cmluZygpO1xyXG4gICAgfSkuam9pbignLCcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdGlvbkhhbmRsZXIoJGV2ZW50OiBWaWV3QWN0aW9uKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnQmFzZUxpc3RDb21wb25lbnQgYWN0aW9uSGFuZGxlcicsICRldmVudCk7XHJcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ3JlZnJlc2gnKSB7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2FkKCk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ0Jhc2VMaXN0Q29tcG9uZW50IExPQUQnKTtcclxuICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLmxvYWRTdWIkID0gdGhpcy5sb2FkSXRlbXMoKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5jb3VudCA9IHJlc3VsdCA/IHJlc3VsdC5jb3VudCA6IDA7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSByZXN1bHQ/Lml0ZW1zO1xyXG4gICAgICB0aGlzLnVwZGF0ZUhlYWRlck1ldGEoKTtcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIHRoaXMuY291bnQgPSAwO1xyXG4gICAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgICAgdGhpcy51cGRhdGVIZWFkZXJNZXRhKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlSGVhZGVyTWV0YSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5tZXRhSXRlbXM/LmZpbHRlcihtID0+IG0ua2V5ID09PSAnY291bnQnKVswXTtcclxuICAgIGlmIChjb3VudCkge1xyXG4gICAgICB0aGlzLmNvdW50ID09PSAxID8gY291bnQudGV4dCA9IGAke3RoaXMuY291bnR9IM6xz4DOv8+Ezq3Ou861z4POvM6xYCA6IGNvdW50LnRleHQgPSBgJHt0aGlzLmNvdW50fSDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrFgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFic3RyYWN0IGxvYWRJdGVtcygpOiBPYnNlcnZhYmxlPElSZXN1bHRTZXQ8VD4gfCBudWxsIHwgdW5kZWZpbmVkPjtcclxuXHJcbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLnNlYXJjaCA9IG51bGw7XHJcbiAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmxvYWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnVwZGF0ZUhlYWRlck1ldGEoKTtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VDaGFuZ2VkKHBhZ2U6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFnZSAhPT0gcGFnZSkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSBwYWdlO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhZ2VTaXplQ2hhbmdlZChwYWdlU2l6ZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlU2l6ZSAhPT0gcGFnZVNpemUpIHtcclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRDaGFuZ2VkKHNvcnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ2Jhc2UtbGlzdCBzb3J0Q2hhbmdlZCcsIHNvcnQpO1xyXG4gICAgaWYgKHRoaXMuc29ydCAhPT0gc29ydCkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNvcnRkaXJDaGFuZ2VkKHNvcnRkaXI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc29ydGRpciAhPT0gc29ydGRpcikge1xyXG4gICAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNvcnRkaXIgPSBzb3J0ZGlyO1xyXG4gICAgICB0aGlzLnNldFJvdXRlUGFyYW1zKCk7XHJcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkdmFuY2VkU2VhcmNoQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJDbGF1c2VbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jb3VudCA9IDA7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pdGVtcyA9IG51bGw7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgdGhpcy5zZXRSb3V0ZVBhcmFtcygpO1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoQ2hhbmdlZChzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvdW50ID0gMDtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLml0ZW1zID0gbnVsbDtcclxuICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoVGV4dDtcclxuICAgIHRoaXMuc2V0Um91dGVQYXJhbXMoKTtcclxuICAgIHRoaXMubG9hZCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export class Icons {
|
|
2
|
+
// https://uifabricicons.azurewebsites.net/
|
|
3
|
+
static { this.Dashboard = `ms-Icon ms-Icon--HomeGroup `; }
|
|
4
|
+
static { this.Locations = `ms-Icon ms-Icon--MapPin `; }
|
|
5
|
+
static { this.ChargePoints = `ms-Icon ms-Icon--ChatBot `; }
|
|
6
|
+
static { this.Transations = `ms-Icon ms-Icon--LightningBolt `; }
|
|
7
|
+
static { this.Badges = `ms-Icon ms-Icon--IDBadge `; }
|
|
8
|
+
static { this.Information = `ms-Icon ms-Icon--Info`; }
|
|
9
|
+
static { this.Refresh = `ms-Icon ms-Icon--Refresh`; }
|
|
10
|
+
static { this.Search = `ms-Icon ms-Icon--Search`; }
|
|
11
|
+
static { this.Add = `ms-Icon ms-Icon--Add`; }
|
|
12
|
+
static { this.Delete = `ms-Icon ms-Icon--Delete`; }
|
|
13
|
+
static { this.SendEmail = `ms-Icon ms-Icon--NewMail`; }
|
|
14
|
+
static { this.Filter = `ms-Icon ms-Icon--Filter`; }
|
|
15
|
+
static { this.Export = `ms-Icon ms-Icon--ExcelDocument`; }
|
|
16
|
+
static { this.Import = `ms-Icon ms-Icon--PeopleAdd`; }
|
|
17
|
+
static { this.TilesView = `ms-Icon ms-Icon--AppIconDefault`; }
|
|
18
|
+
static { this.TableView = `ms-Icon ms-Icon--Table`; }
|
|
19
|
+
static { this.MapView = `ms-Icon ms-Icon--MapPin`; }
|
|
20
|
+
static { this.EntryView = `ms-Icon ms-Icon--EntryView`; }
|
|
21
|
+
static { this.Separator = `ms-Icon ms-Icon--Separator text-white`; }
|
|
22
|
+
static { this.ItemsCount = 'ms-Icon ms-Icon--Boards'; }
|
|
23
|
+
static { this.Heart = 'ms-Icon ms-Icon--Heart'; }
|
|
24
|
+
static { this.HeartBroken = 'ms-Icon ms-Icon--HeartBroken'; }
|
|
25
|
+
static { this.DateTime = 'ms-Icon ms-Icon--ReminderTime'; }
|
|
26
|
+
static { this.Expand = 'ms-Icon ms-Icon--ChevronDown'; }
|
|
27
|
+
static { this.Collapse = 'ms-Icon ms-Icon--ChevronUp'; }
|
|
28
|
+
static { this.SortAsc = 'ms-Icon ms-Icon--Ascending'; }
|
|
29
|
+
static { this.SortDesc = 'ms-Icon ms-Icon--Descending'; }
|
|
30
|
+
static { this.Details = ' ms-Icon ms-Icon--AccountActivity'; }
|
|
31
|
+
static { this.Messages = ' ms-Icon ms-Icon--Message'; }
|
|
32
|
+
static { this.MessagesUnread = ' ms-Icon ms-Icon--MessageFill'; }
|
|
33
|
+
static { this.External = ' ms-Icon ms-Icon--FileSymlink'; }
|
|
34
|
+
static { this.Statistics = ' ms-Icon ms-Icon--BIDashboard'; }
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvaWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLEtBQUs7SUFDaEIsMkNBQTJDO2FBQzdCLGNBQVMsR0FBRyw2QkFBNkIsQ0FBQzthQUMxQyxjQUFTLEdBQUcsMEJBQTBCLENBQUM7YUFDdkMsaUJBQVksR0FBRywyQkFBMkIsQ0FBQzthQUMzQyxnQkFBVyxHQUFHLGlDQUFpQyxDQUFDO2FBQ2hELFdBQU0sR0FBRywyQkFBMkIsQ0FBQzthQUVyQyxnQkFBVyxHQUFHLHVCQUF1QixDQUFDO2FBQ3RDLFlBQU8sR0FBRywwQkFBMEIsQ0FBQzthQUNyQyxXQUFNLEdBQUcseUJBQXlCLENBQUM7YUFDbkMsUUFBRyxHQUFHLHNCQUFzQixDQUFDO2FBQzdCLFdBQU0sR0FBRyx5QkFBeUIsQ0FBQzthQUNuQyxjQUFTLEdBQUcsMEJBQTBCLENBQUM7YUFDdkMsV0FBTSxHQUFHLHlCQUF5QixDQUFDO2FBQ25DLFdBQU0sR0FBRyxnQ0FBZ0MsQ0FBQzthQUMxQyxXQUFNLEdBQUcsNEJBQTRCLENBQUM7YUFFdEMsY0FBUyxHQUFHLGlDQUFpQyxDQUFDO2FBQzlDLGNBQVMsR0FBRyx3QkFBd0IsQ0FBQzthQUNyQyxZQUFPLEdBQUcseUJBQXlCLENBQUM7YUFDcEMsY0FBUyxHQUFHLDRCQUE0QixDQUFDO2FBRXpDLGNBQVMsR0FBRyx1Q0FBdUMsQ0FBQzthQUVwRCxlQUFVLEdBQUcseUJBQXlCLENBQUM7YUFFdkMsVUFBSyxHQUFHLHdCQUF3QixDQUFDO2FBQ2pDLGdCQUFXLEdBQUcsOEJBQThCLENBQUM7YUFDN0MsYUFBUSxHQUFHLCtCQUErQixDQUFDO2FBRTNDLFdBQU0sR0FBRyw4QkFBOEIsQ0FBQzthQUN4QyxhQUFRLEdBQUcsNEJBQTRCLENBQUM7YUFFeEMsWUFBTyxHQUFHLDRCQUE0QixDQUFDO2FBQ3ZDLGFBQVEsR0FBRyw2QkFBNkIsQ0FBQzthQUV6QyxZQUFPLEdBQUcsbUNBQW1DLENBQUM7YUFFOUMsYUFBUSxHQUFHLDJCQUEyQixDQUFDO2FBQ3ZDLG1CQUFjLEdBQUcsK0JBQStCLENBQUM7YUFFakQsYUFBUSxHQUFHLCtCQUErQixDQUFDO2FBQzNDLGVBQVUsR0FBRywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJY29ucyB7XHJcbiAgLy8gaHR0cHM6Ly91aWZhYnJpY2ljb25zLmF6dXJld2Vic2l0ZXMubmV0L1xyXG4gIHB1YmxpYyBzdGF0aWMgRGFzaGJvYXJkID0gYG1zLUljb24gbXMtSWNvbi0tSG9tZUdyb3VwIGA7XHJcbiAgcHVibGljIHN0YXRpYyBMb2NhdGlvbnMgPSBgbXMtSWNvbiBtcy1JY29uLS1NYXBQaW4gYDtcclxuICBwdWJsaWMgc3RhdGljIENoYXJnZVBvaW50cyA9IGBtcy1JY29uIG1zLUljb24tLUNoYXRCb3QgYDtcclxuICBwdWJsaWMgc3RhdGljIFRyYW5zYXRpb25zID0gYG1zLUljb24gbXMtSWNvbi0tTGlnaHRuaW5nQm9sdCBgO1xyXG4gIHB1YmxpYyBzdGF0aWMgQmFkZ2VzID0gYG1zLUljb24gbXMtSWNvbi0tSURCYWRnZSBgO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEluZm9ybWF0aW9uID0gYG1zLUljb24gbXMtSWNvbi0tSW5mb2A7XHJcbiAgcHVibGljIHN0YXRpYyBSZWZyZXNoID0gYG1zLUljb24gbXMtSWNvbi0tUmVmcmVzaGA7XHJcbiAgcHVibGljIHN0YXRpYyBTZWFyY2ggPSBgbXMtSWNvbiBtcy1JY29uLS1TZWFyY2hgO1xyXG4gIHB1YmxpYyBzdGF0aWMgQWRkID0gYG1zLUljb24gbXMtSWNvbi0tQWRkYDtcclxuICBwdWJsaWMgc3RhdGljIERlbGV0ZSA9IGBtcy1JY29uIG1zLUljb24tLURlbGV0ZWA7XHJcbiAgcHVibGljIHN0YXRpYyBTZW5kRW1haWwgPSBgbXMtSWNvbiBtcy1JY29uLS1OZXdNYWlsYDtcclxuICBwdWJsaWMgc3RhdGljIEZpbHRlciA9IGBtcy1JY29uIG1zLUljb24tLUZpbHRlcmA7XHJcbiAgcHVibGljIHN0YXRpYyBFeHBvcnQgPSBgbXMtSWNvbiBtcy1JY29uLS1FeGNlbERvY3VtZW50YDtcclxuICBwdWJsaWMgc3RhdGljIEltcG9ydCA9IGBtcy1JY29uIG1zLUljb24tLVBlb3BsZUFkZGA7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgVGlsZXNWaWV3ID0gYG1zLUljb24gbXMtSWNvbi0tQXBwSWNvbkRlZmF1bHRgO1xyXG4gIHB1YmxpYyBzdGF0aWMgVGFibGVWaWV3ID0gYG1zLUljb24gbXMtSWNvbi0tVGFibGVgO1xyXG4gIHB1YmxpYyBzdGF0aWMgTWFwVmlldyA9IGBtcy1JY29uIG1zLUljb24tLU1hcFBpbmA7XHJcbiAgcHVibGljIHN0YXRpYyBFbnRyeVZpZXcgPSBgbXMtSWNvbiBtcy1JY29uLS1FbnRyeVZpZXdgO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIFNlcGFyYXRvciA9IGBtcy1JY29uIG1zLUljb24tLVNlcGFyYXRvciB0ZXh0LXdoaXRlYDtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBJdGVtc0NvdW50ID0gJ21zLUljb24gbXMtSWNvbi0tQm9hcmRzJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBIZWFydCA9ICdtcy1JY29uIG1zLUljb24tLUhlYXJ0JztcclxuICBwdWJsaWMgc3RhdGljIEhlYXJ0QnJva2VuID0gJ21zLUljb24gbXMtSWNvbi0tSGVhcnRCcm9rZW4nO1xyXG4gIHB1YmxpYyBzdGF0aWMgRGF0ZVRpbWUgPSAnbXMtSWNvbiBtcy1JY29uLS1SZW1pbmRlclRpbWUnO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEV4cGFuZCA9ICdtcy1JY29uIG1zLUljb24tLUNoZXZyb25Eb3duJztcclxuICBwdWJsaWMgc3RhdGljIENvbGxhcHNlID0gJ21zLUljb24gbXMtSWNvbi0tQ2hldnJvblVwJztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBTb3J0QXNjID0gJ21zLUljb24gbXMtSWNvbi0tQXNjZW5kaW5nJztcclxuICBwdWJsaWMgc3RhdGljIFNvcnREZXNjID0gJ21zLUljb24gbXMtSWNvbi0tRGVzY2VuZGluZyc7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgRGV0YWlscyA9ICcgbXMtSWNvbiBtcy1JY29uLS1BY2NvdW50QWN0aXZpdHknO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIE1lc3NhZ2VzID0gJyBtcy1JY29uIG1zLUljb24tLU1lc3NhZ2UnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTWVzc2FnZXNVbnJlYWQgPSAnIG1zLUljb24gbXMtSWNvbi0tTWVzc2FnZUZpbGwnO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIEV4dGVybmFsID0gJyBtcy1JY29uIG1zLUljb24tLUZpbGVTeW1saW5rJztcclxuICBwdWJsaWMgc3RhdGljIFN0YXRpc3RpY3MgPSAnIG1zLUljb24gbXMtSWNvbi0tQklEYXNoYm9hcmQnO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import { APP_LINKS } from '../../../tokens';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class ShellFooterComponent {
|
|
6
|
-
constructor(links) {
|
|
7
|
-
this.links = links;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'lib-shell-footer', template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n" }]
|
|
15
|
-
}], ctorParameters:
|
|
16
|
-
type: Inject,
|
|
17
|
-
args: [APP_LINKS]
|
|
18
|
-
}] }]
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { APP_LINKS } from '../../../tokens';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class ShellFooterComponent {
|
|
6
|
+
constructor(links) {
|
|
7
|
+
this.links = links;
|
|
8
|
+
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellFooterComponent, deps: [{ token: APP_LINKS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ShellFooterComponent, selector: "lib-shell-footer", ngImport: i0, template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ShellFooterComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'lib-shell-footer', template: "<footer class=\"shell-footer-component-container\">\r\n <div class=\"shell-footer-paddings\">\r\n <div class=\"shell-footer-component-container-inner\">\r\n <div class=\"shell-footer-sections-container\">\r\n <div class=\"shell-footer-section\">\r\n <img class=\"shell-footer-logo-h\" src=\"assets/images/branding/indice.png\" alt=\"INDICE logo\" />\r\n <nav class=\"mt-4\">\r\n <ul class=\"space-y-2\">\r\n <ng-container *ngFor=\"let link of links.brand | async\">\r\n <li>\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Legal</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <ng-container *ngFor=\"let link of links.legal | async\">\r\n <li class=\"mb-2\">\r\n <a [href]=\"link.path\" class=\"shell-footer-link\">{{ link.text }}</a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </nav>\r\n </div>\r\n <div class=\"shell-footer-section-links\">\r\n <h5 class=\"shell-footer-section-title\">Follow us</h5>\r\n <nav class=\"mt-4\">\r\n <ul class=\"grid lg:grid-cols-2\">\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path d=\"M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84\"/>\r\n </svg>\r\n <span> Twitter </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\r\n <path fill-rule=\"evenodd\" d=\"M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Instagram </span>\r\n </a>\r\n </li>\r\n <li class=\"mb-2\">\r\n <a href=\"#\" class=\"shell-footer-social\">\r\n <svg class=\"shell-footer-social-icon\" aria-hidden=\"true\" fill=\"currentColor\" viewBox=\"0 0 24 24\" >\r\n <path fill-rule=\"evenodd\" d=\"M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z\" clip-rule=\"evenodd\"/>\r\n </svg>\r\n <span> Facebook </span>\r\n </a>\r\n </li>\r\n </ul>\r\n </nav>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"shell-footer-copyright\">\r\n <!--<nav class=\"flex flex-wrap justify-center space-x-6\">\r\n <a href=\"#\" class=\"font-normal text-sm hover:text-gray-100 mb-2\">Cookie settings</a>\r\n </nav>-->\r\n <p class=\"text-sm text-center sm:text-right\">\r\n \u00A9 2021 INDICE. All rights reserved.\r\n </p>\r\n </div>\r\n </div>\r\n</footer>\r\n" }]
|
|
15
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
16
|
+
type: Inject,
|
|
17
|
+
args: [APP_LINKS]
|
|
18
|
+
}] }] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbXBvbmVudHMvc3JjL2xpYi9sYXlvdXRzL3NoZWxsL3NoZWxsLWZvb3Rlci9zaGVsbC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvc2hlbGwvc2hlbGwtZm9vdGVyL3NoZWxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVM1QyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQXNDLEtBQWdCO1FBQWhCLFVBQUssR0FBTCxLQUFLLENBQVc7SUFDdEQsQ0FBQzs4R0FGUSxvQkFBb0Isa0JBQ1QsU0FBUztrR0FEcEIsb0JBQW9CLHdEQ1ZqQyxrNEtBdUVBOzsyRkQ3RGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQjs7MEJBTWIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVBQX0xJTktTIH0gZnJvbSAnLi4vLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgSUFwcExpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2hlbGwtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtZm9vdGVyLmNvbXBvbmVudC5odG1sJ1xyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTaGVsbEZvb3RlckNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9MSU5LUykgcHVibGljIGxpbmtzOiBJQXBwTGlua3MpIHtcclxuICAgIH1cclxufVxyXG4iLCI8Zm9vdGVyIGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXBhZGRpbmdzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLWNvbXBvbmVudC1jb250YWluZXItaW5uZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJzaGVsbC1mb290ZXItbG9nby1oXCIgc3JjPVwiYXNzZXRzL2ltYWdlcy9icmFuZGluZy9pbmRpY2UucG5nXCIgYWx0PVwiSU5ESUNFIGxvZ29cIiAvPlxyXG4gICAgICAgICAgPG5hdiBjbGFzcz1cIm10LTRcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwic3BhY2UteS0yXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBsaW5rcy5icmFuZCB8IGFzeW5jXCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsucGF0aFwiIGNsYXNzPVwic2hlbGwtZm9vdGVyLWxpbmtcIj57eyBsaW5rLnRleHQgfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgPC9uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLWxpbmtzXCI+XHJcbiAgICAgICAgICA8aDUgY2xhc3M9XCJzaGVsbC1mb290ZXItc2VjdGlvbi10aXRsZVwiPkxlZ2FsPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGxpbmtzLmxlZ2FsIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay5wYXRoXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItbGlua1wiPnt7IGxpbmsudGV4dCB9fTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICA8L25hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2hlbGwtZm9vdGVyLXNlY3Rpb24tbGlua3NcIj5cclxuICAgICAgICAgIDxoNSBjbGFzcz1cInNoZWxsLWZvb3Rlci1zZWN0aW9uLXRpdGxlXCI+Rm9sbG93IHVzPC9oNT5cclxuICAgICAgICAgIDxuYXYgY2xhc3M9XCJtdC00XCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgbGc6Z3JpZC1jb2xzLTJcIj5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnICBjbGFzcz1cInNoZWxsLWZvb3Rlci1zb2NpYWwtaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjI5IDIwLjI1MWM3LjU0NyAwIDExLjY3NS02LjI1MyAxMS42NzUtMTEuNjc1IDAtLjE3OCAwLS4zNTUtLjAxMi0uNTNBOC4zNDggOC4zNDggMCAwMDIyIDUuOTJhOC4xOSA4LjE5IDAgMDEtMi4zNTcuNjQ2IDQuMTE4IDQuMTE4IDAgMDAxLjgwNC0yLjI3IDguMjI0IDguMjI0IDAgMDEtMi42MDUuOTk2IDQuMTA3IDQuMTA3IDAgMDAtNi45OTMgMy43NDMgMTEuNjUgMTEuNjUgMCAwMS04LjQ1Ny00LjI4NyA0LjEwNiA0LjEwNiAwIDAwMS4yNyA1LjQ3N0E0LjA3MiA0LjA3MiAwIDAxMi44IDkuNzEzdi4wNTJhNC4xMDUgNC4xMDUgMCAwMDMuMjkyIDQuMDIyIDQuMDk1IDQuMDk1IDAgMDEtMS44NTMuMDcgNC4xMDggNC4xMDggMCAwMDMuODM0IDIuODVBOC4yMzMgOC4yMzMgMCAwMTIgMTguNDA3YTExLjYxNiAxMS42MTYgMCAwMDYuMjkgMS44NFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBUd2l0dGVyIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJzaGVsbC1mb290ZXItc29jaWFsLWljb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTEyLjMxNSAyYzIuNDMgMCAyLjc4NC4wMTMgMy44MDguMDYgMS4wNjQuMDQ5IDEuNzkxLjIxOCAyLjQyNy40NjVhNC45MDIgNC45MDIgMCAwMTEuNzcyIDEuMTUzIDQuOTAyIDQuOTAyIDAgMDExLjE1MyAxLjc3MmMuMjQ3LjYzNi40MTYgMS4zNjMuNDY1IDIuNDI3LjA0OCAxLjA2Ny4wNiAxLjQwNy4wNiA0LjEyM3YuMDhjMCAyLjY0My0uMDEyIDIuOTg3LS4wNiA0LjA0My0uMDQ5IDEuMDY0LS4yMTggMS43OTEtLjQ2NSAyLjQyN2E0LjkwMiA0LjkwMiAwIDAxLTEuMTUzIDEuNzcyIDQuOTAyIDQuOTAyIDAgMDEtMS43NzIgMS4xNTNjLS42MzYuMjQ3LTEuMzYzLjQxNi0yLjQyNy40NjUtMS4wNjcuMDQ4LTEuNDA3LjA2LTQuMTIzLjA2aC0uMDhjLTIuNjQzIDAtMi45ODctLjAxMi00LjA0My0uMDYtMS4wNjQtLjA0OS0xLjc5MS0uMjE4LTIuNDI3LS40NjVhNC45MDIgNC45MDIgMCAwMS0xLjc3Mi0xLjE1MyA0LjkwMiA0LjkwMiAwIDAxLTEuMTUzLTEuNzcyYy0uMjQ3LS42MzYtLjQxNi0xLjM2My0uNDY1LTIuNDI3LS4wNDctMS4wMjQtLjA2LTEuMzc5LS4wNi0zLjgwOHYtLjYzYzAtMi40My4wMTMtMi43ODQuMDYtMy44MDguMDQ5LTEuMDY0LjIxOC0xLjc5MS40NjUtMi40MjdhNC45MDIgNC45MDIgMCAwMTEuMTUzLTEuNzcyQTQuOTAyIDQuOTAyIDAgMDE1LjQ1IDIuNTI1Yy42MzYtLjI0NyAxLjM2My0uNDE2IDIuNDI3LS40NjVDOC45MDEgMi4wMTMgOS4yNTYgMiAxMS42ODUgMmguNjN6bS0uMDgxIDEuODAyaC0uNDY4Yy0yLjQ1NiAwLTIuNzg0LjAxMS0zLjgwNy4wNTgtLjk3NS4wNDUtMS41MDQuMjA3LTEuODU3LjM0NC0uNDY3LjE4Mi0uOC4zOTgtMS4xNS43NDgtLjM1LjM1LS41NjYuNjgzLS43NDggMS4xNS0uMTM3LjM1My0uMy44ODItLjM0NCAxLjg1Ny0uMDQ3IDEuMDIzLS4wNTggMS4zNTEtLjA1OCAzLjgwN3YuNDY4YzAgMi40NTYuMDExIDIuNzg0LjA1OCAzLjgwNy4wNDUuOTc1LjIwNyAxLjUwNC4zNDQgMS44NTcuMTgyLjQ2Ni4zOTkuOC43NDggMS4xNS4zNS4zNS42ODMuNTY2IDEuMTUuNzQ4LjM1My4xMzcuODgyLjMgMS44NTcuMzQ0IDEuMDU0LjA0OCAxLjM3LjA1OCA0LjA0MS4wNThoLjA4YzIuNTk3IDAgMi45MTctLjAxIDMuOTYtLjA1OC45NzYtLjA0NSAxLjUwNS0uMjA3IDEuODU4LS4zNDQuNDY2LS4xODIuOC0uMzk4IDEuMTUtLjc0OC4zNS0uMzUuNTY2LS42ODMuNzQ4LTEuMTUuMTM3LS4zNTMuMy0uODgyLjM0NC0xLjg1Ny4wNDgtMS4wNTUuMDU4LTEuMzcuMDU4LTQuMDQxdi0uMDhjMC0yLjU5Ny0uMDEtMi45MTctLjA1OC0zLjk2LS4wNDUtLjk3Ni0uMjA3LTEuNTA1LS4zNDQtMS44NThhMy4wOTcgMy4wOTcgMCAwMC0uNzQ4LTEuMTUgMy4wOTggMy4wOTggMCAwMC0xLjE1LS43NDhjLS4zNTMtLjEzNy0uODgyLS4zLTEuODU3LS4zNDQtMS4wMjMtLjA0Ny0xLjM1MS0uMDU4LTMuODA3LS4wNTh6TTEyIDYuODY1YTUuMTM1IDUuMTM1IDAgMTEwIDEwLjI3IDUuMTM1IDUuMTM1IDAgMDEwLTEwLjI3em0wIDEuODAyYTMuMzMzIDMuMzMzIDAgMTAwIDYuNjY2IDMuMzMzIDMuMzMzIDAgMDAwLTYuNjY2em01LjMzOC0zLjIwNWExLjIgMS4yIDAgMTEwIDIuNCAxLjIgMS4yIDAgMDEwLTIuNHpcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIvPlxyXG4gICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+IEluc3RhZ3JhbSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwic2hlbGwtZm9vdGVyLXNvY2lhbC1pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMjIgMTJjMC01LjUyMy00LjQ3Ny0xMC0xMC0xMFMyIDYuNDc3IDIgMTJjMCA0Ljk5MSAzLjY1NyA5LjEyOCA4LjQzOCA5Ljg3OHYtNi45ODdoLTIuNTRWMTJoMi41NFY5Ljc5N2MwLTIuNTA2IDEuNDkyLTMuODkgMy43NzctMy44OSAxLjA5NCAwIDIuMjM4LjE5NSAyLjIzOC4xOTV2Mi40NmgtMS4yNmMtMS4yNDMgMC0xLjYzLjc3MS0xLjYzIDEuNTYyVjEyaDIuNzczbC0uNDQzIDIuODloLTIuMzN2Ni45ODhDMTguMzQzIDIxLjEyOCAyMiAxNi45OTEgMjIgMTJ6XCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiLz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPiBGYWNlYm9vayA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgIDwvbmF2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNoZWxsLWZvb3Rlci1jb3B5cmlnaHRcIj5cclxuICAgICAgPCEtLTxuYXYgY2xhc3M9XCJmbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNlbnRlciBzcGFjZS14LTZcIj5cclxuICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImZvbnQtbm9ybWFsIHRleHQtc20gaG92ZXI6dGV4dC1ncmF5LTEwMCBtYi0yXCI+Q29va2llIHNldHRpbmdzPC9hPlxyXG4gICAgPC9uYXY+LS0+XHJcbiAgICAgIDxwIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWNlbnRlciBzbTp0ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgwqkgMjAyMSBJTkRJQ0UuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvb3Rlcj5cclxuIl19
|