@valtimo/components 4.15.2-next-main.15 → 4.15.3-next-main.16
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/bundles/valtimo-components.umd.js +4731 -4795
- package/bundles/valtimo-components.umd.js.map +1 -1
- package/bundles/valtimo-components.umd.min.js +2 -2
- package/bundles/valtimo-components.umd.min.js.map +1 -1
- package/esm2015/lib/alert/alert.component.js +140 -142
- package/esm2015/lib/alert/alert.module.js +28 -28
- package/esm2015/lib/alert/alert.service.js +81 -81
- package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.component.js +160 -160
- package/esm2015/lib/bpmn-js-diagram/bpmn-js-diagram.module.js +28 -30
- package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.component.js +93 -93
- package/esm2015/lib/breadcrumb-navigation/breadcrumb-navigation.module.js +30 -34
- package/esm2015/lib/camunda/form/camunda-form.components.js +37 -37
- package/esm2015/lib/camunda/form/camunda-form.module.js +30 -38
- package/esm2015/lib/camunda/form/custom/camunda-custom-form.component.js +42 -42
- package/esm2015/lib/camunda/form/custom/camunda-custom-form.module.js +28 -34
- package/esm2015/lib/camunda/form/generated/camunda-generated-form.component.js +69 -69
- package/esm2015/lib/camunda/form/generated/camunda-generated-form.module.js +58 -63
- package/esm2015/lib/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.js +27 -28
- package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.js +64 -64
- package/esm2015/lib/camunda/form/generated/formfield/camunda-formfield.service.js +66 -67
- package/esm2015/lib/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.js +40 -38
- package/esm2015/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.js +66 -66
- package/esm2015/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.js +30 -31
- package/esm2015/lib/camunda/form/generated/formfield/formfield.model.js +16 -16
- package/esm2015/lib/camunda/form/generated/formfield/long/camunda-long-formfield.component.js +27 -28
- package/esm2015/lib/camunda/form/generated/formfield/string/camunda-string-formfield.component.js +27 -28
- package/esm2015/lib/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.js +27 -28
- package/esm2015/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.js +35 -36
- package/esm2015/lib/camunda/form/generated/formfield/validation/date.validators.js +60 -60
- package/esm2015/lib/card/card.component.js +36 -37
- package/esm2015/lib/card/card.module.js +28 -30
- package/esm2015/lib/components.module.js +22 -22
- package/esm2015/lib/data-list/data-list.component.js +33 -34
- package/esm2015/lib/data-list/data-list.module.js +28 -30
- package/esm2015/lib/dropzone/dropzone.component.js +143 -143
- package/esm2015/lib/dropzone/dropzone.module.js +32 -32
- package/esm2015/lib/field-auto-focus/field-auto-focus.directive.js +35 -35
- package/esm2015/lib/field-auto-focus/field-auto-focus.module.js +28 -32
- package/esm2015/lib/file-size/file-size.module.js +28 -30
- package/esm2015/lib/file-size/file-size.pipe.js +38 -45
- package/esm2015/lib/filter-sidebar/filter-sidebar.component.js +46 -46
- package/esm2015/lib/filter-sidebar/filter-sidebar.module.js +28 -30
- package/esm2015/lib/form-io/form-io-builder.component.js +38 -39
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader-edit-form.js +90 -90
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.component.js +74 -72
- package/esm2015/lib/form-io/form-io-uploader/form-io-uploader.formio.js +26 -26
- package/esm2015/lib/form-io/form-io.component.js +163 -158
- package/esm2015/lib/form-io/form-io.module.js +56 -56
- package/esm2015/lib/form-io/formio-config.js +22 -22
- package/esm2015/lib/form-io/services/form-io-dom.service.js +23 -23
- package/esm2015/lib/form-io/services/form-io-state.service.js +24 -24
- package/esm2015/lib/left-sidebar/left-sidebar.component.js +114 -114
- package/esm2015/lib/left-sidebar/left-sidebar.module.js +30 -34
- package/esm2015/lib/list/ListFilterPipe.directive.js +31 -35
- package/esm2015/lib/list/list.component.js +179 -177
- package/esm2015/lib/list/list.module.js +33 -33
- package/esm2015/lib/menu/menu-item-text.component.js +35 -33
- package/esm2015/lib/menu/menu-routing.module.js +27 -29
- package/esm2015/lib/menu/menu.component.js +65 -65
- package/esm2015/lib/menu/menu.init.js +34 -34
- package/esm2015/lib/menu/menu.module.js +34 -39
- package/esm2015/lib/menu/menu.service.js +126 -127
- package/esm2015/lib/menu/submenu-item-text.component.js +29 -29
- package/esm2015/lib/modal/modal.component.js +48 -48
- package/esm2015/lib/modal/modal.module.js +28 -28
- package/esm2015/lib/page-header/page-header.component.js +29 -29
- package/esm2015/lib/page-header/page-header.module.js +30 -34
- package/esm2015/lib/page-title/page-title.component.js +76 -76
- package/esm2015/lib/page-title/page-title.module.js +29 -32
- package/esm2015/lib/progress-bar/progress-bar.component.js +26 -26
- package/esm2015/lib/progress-bar/progress-bar.module.js +28 -30
- package/esm2015/lib/right-sidebar/right-sidebar.component.js +133 -131
- package/esm2015/lib/right-sidebar/right-sidebar.module.js +49 -49
- package/esm2015/lib/searchable-dropdown/searchable-dropdown.component.js +187 -185
- package/esm2015/lib/searchable-dropdown/searchable-dropdown.module.js +29 -29
- package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.component.js +52 -52
- package/esm2015/lib/searchable-dropdown-select/searchable-dropdown-select.module.js +30 -30
- package/esm2015/lib/spinner/spinner.component.js +45 -45
- package/esm2015/lib/spinner/spinner.module.js +30 -36
- package/esm2015/lib/timeline/timeline.component.js +29 -29
- package/esm2015/lib/timeline/timeline.module.js +29 -32
- package/esm2015/lib/topbar/topbar.component.js +28 -29
- package/esm2015/lib/topbar/topbar.module.js +29 -32
- package/esm2015/lib/uploader/uploader-drag-drop.directive.js +49 -49
- package/esm2015/lib/uploader/uploader.component.js +69 -70
- package/esm2015/lib/uploader/uploader.module.js +30 -33
- package/esm2015/lib/version/version.service.js +38 -38
- package/esm2015/lib/view-content/type-converters/booleanTypeConverter.js +29 -29
- package/esm2015/lib/view-content/type-converters/dateTypeConverter.js +30 -30
- package/esm2015/lib/view-content/type-converters/enumTypeConverter.js +24 -24
- package/esm2015/lib/view-content/type-converters/relatedFilesTypeConverter.js +24 -24
- package/esm2015/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.js +27 -27
- package/esm2015/lib/view-content/type-converters/stringTypeConverter.js +24 -24
- package/esm2015/lib/view-content/type-converters/type-converters.model.js +37 -37
- package/esm2015/lib/view-content/view-content.service.js +51 -51
- package/esm2015/lib/webcam/webcam.component.js +102 -103
- package/esm2015/lib/webcam/webcam.module.js +29 -32
- package/esm2015/lib/widget/widget.component.js +80 -80
- package/esm2015/lib/widget/widget.module.js +28 -30
- package/esm2015/public_api.js +84 -84
- package/esm2015/valtimo-components.js +27 -27
- package/fesm2015/valtimo-components.js +4221 -4309
- package/fesm2015/valtimo-components.js.map +1 -1
- package/lib/alert/alert.component.d.ts +21 -21
- package/lib/alert/alert.module.d.ts +2 -2
- package/lib/alert/alert.service.d.ts +21 -21
- package/lib/bpmn-js-diagram/bpmn-js-diagram.component.d.ts +27 -27
- package/lib/bpmn-js-diagram/bpmn-js-diagram.module.d.ts +2 -2
- package/lib/breadcrumb-navigation/breadcrumb-navigation.component.d.ts +14 -14
- package/lib/breadcrumb-navigation/breadcrumb-navigation.module.d.ts +2 -2
- package/lib/camunda/form/camunda-form.components.d.ts +9 -9
- package/lib/camunda/form/camunda-form.module.d.ts +2 -2
- package/lib/camunda/form/custom/camunda-custom-form.component.d.ts +8 -8
- package/lib/camunda/form/custom/camunda-custom-form.module.d.ts +2 -2
- package/lib/camunda/form/generated/camunda-generated-form.component.d.ts +19 -19
- package/lib/camunda/form/generated/camunda-generated-form.module.d.ts +2 -2
- package/lib/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.d.ts +7 -7
- package/lib/camunda/form/generated/formfield/camunda-formfield-generator.directive.d.ts +13 -13
- package/lib/camunda/form/generated/formfield/camunda-formfield.service.d.ts +7 -7
- package/lib/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.d.ts +12 -12
- package/lib/camunda/form/generated/formfield/date/camunda-date-formfield.component.d.ts +14 -14
- package/lib/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.d.ts +10 -10
- package/lib/camunda/form/generated/formfield/formfield.model.d.ts +20 -20
- package/lib/camunda/form/generated/formfield/long/camunda-long-formfield.component.d.ts +7 -7
- package/lib/camunda/form/generated/formfield/string/camunda-string-formfield.component.d.ts +7 -7
- package/lib/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.d.ts +7 -7
- package/lib/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.d.ts +10 -10
- package/lib/camunda/form/generated/formfield/validation/date.validators.d.ts +3 -3
- package/lib/card/card.component.d.ts +16 -16
- package/lib/card/card.module.d.ts +2 -2
- package/lib/components.module.d.ts +2 -2
- package/lib/data-list/data-list.component.d.ts +7 -7
- package/lib/data-list/data-list.module.d.ts +2 -2
- package/lib/dropzone/dropzone.component.d.ts +38 -38
- package/lib/dropzone/dropzone.module.d.ts +2 -2
- package/lib/field-auto-focus/field-auto-focus.directive.d.ts +6 -6
- package/lib/field-auto-focus/field-auto-focus.module.d.ts +2 -2
- package/lib/file-size/file-size.module.d.ts +2 -2
- package/lib/file-size/file-size.pipe.d.ts +5 -5
- package/lib/filter-sidebar/filter-sidebar.component.d.ts +8 -8
- package/lib/filter-sidebar/filter-sidebar.module.d.ts +2 -2
- package/lib/form-io/form-io-builder.component.d.ts +8 -8
- package/lib/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts +61 -61
- package/lib/form-io/form-io-uploader/form-io-uploader.component.d.ts +29 -29
- package/lib/form-io/form-io-uploader/form-io-uploader.formio.d.ts +3 -3
- package/lib/form-io/form-io.component.d.ts +47 -44
- package/lib/form-io/form-io.module.d.ts +2 -2
- package/lib/form-io/formio-config.d.ts +6 -6
- package/lib/form-io/services/form-io-dom.service.d.ts +6 -6
- package/lib/form-io/services/form-io-state.service.d.ts +10 -10
- package/lib/left-sidebar/left-sidebar.component.d.ts +34 -34
- package/lib/left-sidebar/left-sidebar.module.d.ts +2 -2
- package/lib/list/ListFilterPipe.directive.d.ts +4 -4
- package/lib/list/list.component.d.ts +43 -43
- package/lib/list/list.module.d.ts +2 -2
- package/lib/menu/menu-item-text.component.d.ts +4 -4
- package/lib/menu/menu-routing.module.d.ts +2 -2
- package/lib/menu/menu.component.d.ts +18 -18
- package/lib/menu/menu.init.d.ts +3 -3
- package/lib/menu/menu.module.d.ts +2 -2
- package/lib/menu/menu.service.d.ts +23 -23
- package/lib/menu/submenu-item-text.component.d.ts +4 -4
- package/lib/modal/modal.component.d.ts +12 -12
- package/lib/modal/modal.module.d.ts +2 -2
- package/lib/page-header/page-header.component.d.ts +5 -5
- package/lib/page-header/page-header.module.d.ts +2 -2
- package/lib/page-title/page-title.component.d.ts +19 -19
- package/lib/page-title/page-title.module.d.ts +2 -2
- package/lib/progress-bar/progress-bar.component.d.ts +2 -2
- package/lib/progress-bar/progress-bar.module.d.ts +2 -2
- package/lib/right-sidebar/right-sidebar.component.d.ts +34 -34
- package/lib/right-sidebar/right-sidebar.module.d.ts +2 -2
- package/lib/searchable-dropdown/searchable-dropdown.component.d.ts +39 -39
- package/lib/searchable-dropdown/searchable-dropdown.module.d.ts +2 -2
- package/lib/searchable-dropdown-select/searchable-dropdown-select.component.d.ts +19 -19
- package/lib/searchable-dropdown-select/searchable-dropdown-select.module.d.ts +2 -2
- package/lib/spinner/spinner.component.d.ts +10 -10
- package/lib/spinner/spinner.module.d.ts +2 -2
- package/lib/timeline/timeline.component.d.ts +4 -4
- package/lib/timeline/timeline.module.d.ts +2 -2
- package/lib/topbar/topbar.component.d.ts +3 -3
- package/lib/topbar/topbar.module.d.ts +2 -2
- package/lib/uploader/uploader-drag-drop.directive.d.ts +7 -7
- package/lib/uploader/uploader.component.d.ts +15 -15
- package/lib/uploader/uploader.module.d.ts +2 -2
- package/lib/version/version.service.d.ts +8 -8
- package/lib/view-content/type-converters/booleanTypeConverter.d.ts +5 -5
- package/lib/view-content/type-converters/dateTypeConverter.d.ts +5 -5
- package/lib/view-content/type-converters/enumTypeConverter.d.ts +5 -5
- package/lib/view-content/type-converters/relatedFilesTypeConverter.d.ts +5 -5
- package/lib/view-content/type-converters/stringReplaceUnderscoreTypeConverter.d.ts +6 -6
- package/lib/view-content/type-converters/stringTypeConverter.d.ts +5 -5
- package/lib/view-content/type-converters/type-converters.model.d.ts +5 -5
- package/lib/view-content/view-content.service.d.ts +8 -8
- package/lib/webcam/webcam.component.d.ts +20 -20
- package/lib/webcam/webcam.module.d.ts +2 -2
- package/lib/widget/widget.component.d.ts +28 -28
- package/lib/widget/widget.module.d.ts +2 -2
- package/package.json +1 -1
- package/public_api.d.ts +65 -65
- package/valtimo-components.d.ts +26 -26
- package/valtimo-components.metadata.json +1 -1
|
@@ -1,177 +1,179 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
17
|
-
import { NGXLogger } from 'ngx-logger';
|
|
18
|
-
import { BehaviorSubject, fromEvent } from 'rxjs';
|
|
19
|
-
import { debounceTime, take } from 'rxjs/operators';
|
|
20
|
-
import { ViewContentService } from '../view-content/view-content.service';
|
|
21
|
-
export class ListComponent {
|
|
22
|
-
constructor(viewContentService, logger) {
|
|
23
|
-
this.viewContentService = viewContentService;
|
|
24
|
-
this.logger = logger;
|
|
25
|
-
this.actions = [];
|
|
26
|
-
this.rowClicked = new EventEmitter();
|
|
27
|
-
this.paginationClicked = new EventEmitter();
|
|
28
|
-
this.paginationSet = new EventEmitter();
|
|
29
|
-
this.search = new EventEmitter();
|
|
30
|
-
this.sortChanged = new EventEmitter();
|
|
31
|
-
this.headerProvided = false;
|
|
32
|
-
this.regExpStringRemoveUnderscore = /_/g;
|
|
33
|
-
this.sort$ = new BehaviorSubject({
|
|
34
|
-
state: { name: '', direction: 'DESC' },
|
|
35
|
-
isSorting: false
|
|
36
|
-
});
|
|
37
|
-
this.viewListAs = localStorage.getItem('viewListAs') || 'table';
|
|
38
|
-
}
|
|
39
|
-
loadPaginationSize() {
|
|
40
|
-
const entries = localStorage.getItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`);
|
|
41
|
-
if (entries !== null) {
|
|
42
|
-
this.pagination.size = +entries;
|
|
43
|
-
this.paginationSet.emit(+entries);
|
|
44
|
-
this.logger.debug('Pagination loaded from local storage for this list. Current: ', entries);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.logger.debug('Pagination does NOT exist in local storage for this list. Will use default. Change it to create an entry.');
|
|
48
|
-
}
|
|
49
|
-
this.paginationSet.emit();
|
|
50
|
-
}
|
|
51
|
-
setPaginationSize(numberOfEntries) {
|
|
52
|
-
localStorage.setItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`, numberOfEntries);
|
|
53
|
-
this.pagination.size = numberOfEntries;
|
|
54
|
-
this.logger.debug('Pagination set in local storage for this list: ', numberOfEntries);
|
|
55
|
-
this.paginationSet.emit(numberOfEntries);
|
|
56
|
-
}
|
|
57
|
-
ngOnInit() {
|
|
58
|
-
if (this.pagination) {
|
|
59
|
-
this.loadPaginationSize();
|
|
60
|
-
}
|
|
61
|
-
if (this.initialSortState) {
|
|
62
|
-
this.sort$.next(this.initialSortState);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
ngOnChanges(changes) {
|
|
66
|
-
if (changes.items && changes.items.currentValue) {
|
|
67
|
-
this.transformListItemsMatchFields();
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
ngAfterViewInit() {
|
|
71
|
-
if (this.isSearchable) {
|
|
72
|
-
fromEvent(this.searchBox.nativeElement, 'keyup')
|
|
73
|
-
.pipe(debounceTime(500))
|
|
74
|
-
.subscribe(() => {
|
|
75
|
-
const value = this.searchBox.nativeElement.value;
|
|
76
|
-
if (this.search.observers.length > 0) {
|
|
77
|
-
// custom search callbak is specified, perhaps to query on the server side
|
|
78
|
-
this.search.emit(value);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.searchModel = value;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
transformListItemsMatchFields() {
|
|
87
|
-
if (this.items && this.fields) {
|
|
88
|
-
this.items.forEach(item => {
|
|
89
|
-
item.listItemFields = this.fields.map(field => ({
|
|
90
|
-
key: field.key,
|
|
91
|
-
label: field.label,
|
|
92
|
-
value: this.resolveObject(field, item)
|
|
93
|
-
}));
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
onClickRow(item) {
|
|
98
|
-
this.rowClicked.emit(item);
|
|
99
|
-
}
|
|
100
|
-
resolveObject(definition, obj) {
|
|
101
|
-
const definitionKey = definition.key;
|
|
102
|
-
const customPropString = '$.';
|
|
103
|
-
const key = definitionKey.includes(customPropString)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
},] }
|
|
155
|
-
]
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQU94RSxNQUFNLE9BQU8sYUFBYTtJQTZCeEIsWUFBb0Isa0JBQXNDLEVBQVUsTUFBaUI7UUFBakUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFwQjVFLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBWTtZQUM5QyxLQUFLLEVBQUUs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SyxLQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUM7cUJBQ3hFO2lCQUNGO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxHQUFHLEVBQUMsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO2FBQ25FO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXhKYyw2QkFBZSxHQUFHLGdCQUFnQixDQUFDOztZQU5uRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGl4TUFBb0M7O2FBRXJDOzs7WUFOTyxrQkFBa0I7WUFIbEIsU0FBUzs7O29CQWFkLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBQ0wsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7bUNBQ0wsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLE1BQU07Z0NBQ04sTUFBTTs0QkFDTixNQUFNO3FCQUNOLE1BQU07MEJBQ04sTUFBTTt3QkFNTixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTb3J0U3RhdGUsIERpcmVjdGlvbn0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWaWV3Q29udGVudFNlcnZpY2V9IGZyb20gJy4uL3ZpZXctY29udGVudC92aWV3LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIFBBR0lOQVRJT05fU0laRSA9ICdQYWdpbmF0aW9uU2l6ZSc7XG5cbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIGZpZWxkczogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcGFnaW5hdGlvbj86IGFueTtcbiAgQElucHV0KCkgdmlld01vZGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBpc1NlYXJjaGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBhY3Rpb25zOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdpbmF0aW9uSWRlbnRpZmllcj86IHN0cmluZztcbiAgQElucHV0KCkgaW5pdGlhbFNvcnRTdGF0ZTogU29ydFN0YXRlO1xuICBAT3V0cHV0KCkgcm93Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwYWdpbmF0aW9uU2V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlYXJjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPFNvcnRTdGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIGhlYWRlclByb3ZpZGVkID0gZmFsc2U7XG4gIHB1YmxpYyB2aWV3TGlzdEFzOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWFyY2hNb2RlbDogc3RyaW5nO1xuICBwdWJsaWMgcmVnRXhwU3RyaW5nUmVtb3ZlVW5kZXJzY29yZSA9IC9fL2c7XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpIHNlYXJjaEJveDogRWxlbWVudFJlZjtcblxuICByZWFkb25seSBzb3J0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U29ydFN0YXRlPih7XG4gICAgc3RhdGU6IHtuYW1lOiAnJywgZGlyZWN0aW9uOiAnREVTQyd9LFxuICAgIGlzU29ydGluZzogZmFsc2VcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGVudFNlcnZpY2U6IFZpZXdDb250ZW50U2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcikge1xuICAgIHRoaXMudmlld0xpc3RBcyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd2aWV3TGlzdEFzJykgfHwgJ3RhYmxlJztcbiAgfVxuXG4gIGxvYWRQYWdpbmF0aW9uU2l6ZSgpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oYCR7dGhpcy5wYWdpbmF0aW9uSWRlbnRpZmllcn0ke0xpc3RDb21wb25lbnQuUEFHSU5BVElPTl9TSVpFfWApO1xuICAgIGlmIChlbnRyaWVzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9ICtlbnRyaWVzO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uU2V0LmVtaXQoK2VudHJpZXMpO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2luYXRpb24gbG9hZGVkIGZyb20gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0LiBDdXJyZW50OiAnLCBlbnRyaWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICdQYWdpbmF0aW9uIGRvZXMgTk9UIGV4aXN0IGluIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdC4gV2lsbCB1c2UgZGVmYXVsdC4gQ2hhbmdlIGl0IHRvIGNyZWF0ZSBhbiBlbnRyeS4nXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnBhZ2luYXRpb25TZXQuZW1pdCgpO1xuICB9XG5cbiAgc2V0UGFnaW5hdGlvblNpemUobnVtYmVyT2ZFbnRyaWVzOiBzdHJpbmcpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShgJHt0aGlzLnBhZ2luYXRpb25JZGVudGlmaWVyfSR7TGlzdENvbXBvbmVudC5QQUdJTkFUSU9OX1NJWkV9YCwgbnVtYmVyT2ZFbnRyaWVzKTtcbiAgICB0aGlzLnBhZ2luYXRpb24uc2l6ZSA9IG51bWJlck9mRW50cmllcztcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnUGFnaW5hdGlvbiBzZXQgaW4gbG9jYWwgc3RvcmFnZSBmb3IgdGhpcyBsaXN0OiAnLCBudW1iZXJPZkVudHJpZXMpO1xuICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KG51bWJlck9mRW50cmllcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uKSB7XG4gICAgICB0aGlzLmxvYWRQYWdpbmF0aW9uU2l6ZSgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmluaXRpYWxTb3J0U3RhdGUpIHtcbiAgICAgIHRoaXMuc29ydCQubmV4dCh0aGlzLmluaXRpYWxTb3J0U3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVtcyAmJiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy50cmFuc2Zvcm1MaXN0SXRlbXNNYXRjaEZpZWxkcygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5pc1NlYXJjaGFibGUpIHtcbiAgICAgIGZyb21FdmVudCh0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaEJveC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgLy8gY3VzdG9tIHNlYXJjaCBjYWxsYmFrIGlzIHNwZWNpZmllZCwgcGVyaGFwcyB0byBxdWVyeSBvbiB0aGUgc2VydmVyIHNpZGVcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaE1vZGVsID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtTGlzdEl0ZW1zTWF0Y2hGaWVsZHMoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5maWVsZHMpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgaXRlbS5saXN0SXRlbUZpZWxkcyA9IHRoaXMuZmllbGRzLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCxcbiAgICAgICAgICB2YWx1ZTogdGhpcy5yZXNvbHZlT2JqZWN0KGZpZWxkLCBpdGVtKVxuICAgICAgICB9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1JvdyhpdGVtKSB7XG4gICAgdGhpcy5yb3dDbGlja2VkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZU9iamVjdChkZWZpbml0aW9uOiBhbnksIG9iajogYW55KSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbktleSA9IGRlZmluaXRpb24ua2V5O1xuICAgIGNvbnN0IGN1c3RvbVByb3BTdHJpbmcgPSAnJC4nO1xuICAgIGNvbnN0IGtleSA9IGRlZmluaXRpb25LZXkuaW5jbHVkZXMoY3VzdG9tUHJvcFN0cmluZykgPyBkZWZpbml0aW9uS2V5LnNwbGl0KGN1c3RvbVByb3BTdHJpbmcpWzFdIDogZGVmaW5pdGlvbktleTtcbiAgICBjb25zdCByZXNvbHZlZE9ialZhbHVlID0ga2V5LnNwbGl0KCcuJykucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBjdXJyKSB7XG4gICAgICByZXR1cm4gcHJldiA/IHByZXZbY3Vycl0gOiBudWxsO1xuICAgIH0sIG9iaiB8fCBzZWxmKTtcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGVudFNlcnZpY2UuZ2V0KHJlc29sdmVkT2JqVmFsdWUsIGRlZmluaXRpb24pO1xuICB9XG5cbiAgcHVibGljIHN3aXRjaFZpZXcodHlwZSkge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd2aWV3TGlzdEFzJywgdHlwZSk7XG4gICAgdGhpcy52aWV3TGlzdEFzID0gdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFBhZ2VDb3VudCgpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMucGFnaW5hdGlvbi5jb2xsZWN0aW9uU2l6ZSAvIHRoaXMucGFnaW5hdGlvbi5zaXplKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUGFnaW5hdGlvbihwYWdlKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uQ2xpY2tlZC5lbWl0KHBhZ2UpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUZpZWxkQ2xpY2soa2V5OiBzdHJpbmcsIHNvcnRhYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgZGVzYzogRGlyZWN0aW9uID0gJ0RFU0MnO1xuICAgIGNvbnN0IGFzYzogRGlyZWN0aW9uID0gJ0FTQyc7XG5cbiAgICBpZiAoIXNvcnRhYmxlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zb3J0JC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzb3J0ID0+IHtcbiAgICAgIGxldCBuZXdTdGF0ZTogU29ydFN0YXRlO1xuXG4gICAgICBpZiAoc29ydC5zdGF0ZS5uYW1lID09PSBrZXkpIHtcbiAgICAgICAgaWYgKCFzb3J0LmlzU29ydGluZykge1xuICAgICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiB0cnVlfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoc29ydC5zdGF0ZS5kaXJlY3Rpb24gPT09IGRlc2MpIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0gey4uLnNvcnQsIHN0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBhc2N9fTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3U3RhdGUgPSB7c3RhdGU6IHsuLi5zb3J0LnN0YXRlLCBkaXJlY3Rpb246IGRlc2N9LCBpc1NvcnRpbmc6IGZhbHNlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7bmFtZToga2V5LCBkaXJlY3Rpb246IGRlc2N9LCBpc1NvcnRpbmc6IHRydWV9O1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNvcnQkLm5leHQobmV3U3RhdGUpO1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlZC5lbWl0KG5ld1N0YXRlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
17
|
+
import { NGXLogger } from 'ngx-logger';
|
|
18
|
+
import { BehaviorSubject, fromEvent } from 'rxjs';
|
|
19
|
+
import { debounceTime, take } from 'rxjs/operators';
|
|
20
|
+
import { ViewContentService } from '../view-content/view-content.service';
|
|
21
|
+
export class ListComponent {
|
|
22
|
+
constructor(viewContentService, logger) {
|
|
23
|
+
this.viewContentService = viewContentService;
|
|
24
|
+
this.logger = logger;
|
|
25
|
+
this.actions = [];
|
|
26
|
+
this.rowClicked = new EventEmitter();
|
|
27
|
+
this.paginationClicked = new EventEmitter();
|
|
28
|
+
this.paginationSet = new EventEmitter();
|
|
29
|
+
this.search = new EventEmitter();
|
|
30
|
+
this.sortChanged = new EventEmitter();
|
|
31
|
+
this.headerProvided = false;
|
|
32
|
+
this.regExpStringRemoveUnderscore = /_/g;
|
|
33
|
+
this.sort$ = new BehaviorSubject({
|
|
34
|
+
state: { name: '', direction: 'DESC' },
|
|
35
|
+
isSorting: false,
|
|
36
|
+
});
|
|
37
|
+
this.viewListAs = localStorage.getItem('viewListAs') || 'table';
|
|
38
|
+
}
|
|
39
|
+
loadPaginationSize() {
|
|
40
|
+
const entries = localStorage.getItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`);
|
|
41
|
+
if (entries !== null) {
|
|
42
|
+
this.pagination.size = +entries;
|
|
43
|
+
this.paginationSet.emit(+entries);
|
|
44
|
+
this.logger.debug('Pagination loaded from local storage for this list. Current: ', entries);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.logger.debug('Pagination does NOT exist in local storage for this list. Will use default. Change it to create an entry.');
|
|
48
|
+
}
|
|
49
|
+
this.paginationSet.emit();
|
|
50
|
+
}
|
|
51
|
+
setPaginationSize(numberOfEntries) {
|
|
52
|
+
localStorage.setItem(`${this.paginationIdentifier}${ListComponent.PAGINATION_SIZE}`, numberOfEntries);
|
|
53
|
+
this.pagination.size = numberOfEntries;
|
|
54
|
+
this.logger.debug('Pagination set in local storage for this list: ', numberOfEntries);
|
|
55
|
+
this.paginationSet.emit(numberOfEntries);
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
if (this.pagination) {
|
|
59
|
+
this.loadPaginationSize();
|
|
60
|
+
}
|
|
61
|
+
if (this.initialSortState) {
|
|
62
|
+
this.sort$.next(this.initialSortState);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
ngOnChanges(changes) {
|
|
66
|
+
if (changes.items && changes.items.currentValue) {
|
|
67
|
+
this.transformListItemsMatchFields();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
ngAfterViewInit() {
|
|
71
|
+
if (this.isSearchable) {
|
|
72
|
+
fromEvent(this.searchBox.nativeElement, 'keyup')
|
|
73
|
+
.pipe(debounceTime(500))
|
|
74
|
+
.subscribe(() => {
|
|
75
|
+
const value = this.searchBox.nativeElement.value;
|
|
76
|
+
if (this.search.observers.length > 0) {
|
|
77
|
+
// custom search callbak is specified, perhaps to query on the server side
|
|
78
|
+
this.search.emit(value);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.searchModel = value;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
transformListItemsMatchFields() {
|
|
87
|
+
if (this.items && this.fields) {
|
|
88
|
+
this.items.forEach(item => {
|
|
89
|
+
item.listItemFields = this.fields.map(field => ({
|
|
90
|
+
key: field.key,
|
|
91
|
+
label: field.label,
|
|
92
|
+
value: this.resolveObject(field, item),
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
onClickRow(item) {
|
|
98
|
+
this.rowClicked.emit(item);
|
|
99
|
+
}
|
|
100
|
+
resolveObject(definition, obj) {
|
|
101
|
+
const definitionKey = definition.key;
|
|
102
|
+
const customPropString = '$.';
|
|
103
|
+
const key = definitionKey.includes(customPropString)
|
|
104
|
+
? definitionKey.split(customPropString)[1]
|
|
105
|
+
: definitionKey;
|
|
106
|
+
const resolvedObjValue = key.split('.').reduce(function (prev, curr) {
|
|
107
|
+
return prev ? prev[curr] : null;
|
|
108
|
+
}, obj || self);
|
|
109
|
+
return this.viewContentService.get(resolvedObjValue, definition);
|
|
110
|
+
}
|
|
111
|
+
switchView(type) {
|
|
112
|
+
localStorage.setItem('viewListAs', type);
|
|
113
|
+
this.viewListAs = type;
|
|
114
|
+
}
|
|
115
|
+
getTotalPageCount() {
|
|
116
|
+
return Math.ceil(this.pagination.collectionSize / this.pagination.size);
|
|
117
|
+
}
|
|
118
|
+
onClickPagination(page) {
|
|
119
|
+
this.paginationClicked.emit(page);
|
|
120
|
+
}
|
|
121
|
+
handleFieldClick(key, sortable) {
|
|
122
|
+
const desc = 'DESC';
|
|
123
|
+
const asc = 'ASC';
|
|
124
|
+
if (!sortable) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
this.sort$.pipe(take(1)).subscribe(sort => {
|
|
128
|
+
let newState;
|
|
129
|
+
if (sort.state.name === key) {
|
|
130
|
+
if (!sort.isSorting) {
|
|
131
|
+
newState = { state: Object.assign(Object.assign({}, sort.state), { direction: desc }), isSorting: true };
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
if (sort.state.direction === desc) {
|
|
135
|
+
newState = Object.assign(Object.assign({}, sort), { state: Object.assign(Object.assign({}, sort.state), { direction: asc }) });
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
newState = { state: Object.assign(Object.assign({}, sort.state), { direction: desc }), isSorting: false };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
newState = { state: { name: key, direction: desc }, isSorting: true };
|
|
144
|
+
}
|
|
145
|
+
this.sort$.next(newState);
|
|
146
|
+
this.sortChanged.emit(newState);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
ListComponent.PAGINATION_SIZE = 'PaginationSize';
|
|
151
|
+
ListComponent.decorators = [
|
|
152
|
+
{ type: Component, args: [{
|
|
153
|
+
selector: 'valtimo-list',
|
|
154
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div>\n <div *ngIf=\"(items?.length > 0 && fields?.length > 0) || header\">\n <div\n class=\"d-flex align-items-center search-holder bg-light\"\n [ngClass]=\"{'pb-4 pt-4': !header}\"\n *ngIf=\"isSearchable || viewMode || header\"\n >\n <div class=\"align-self-start\">\n <ng-content select=\"[header]\"></ng-content>\n </div>\n\n <div class=\"ml-auto row\">\n <input\n *ngIf=\"isSearchable\"\n class=\"form-control col-sm-8\"\n type=\"text\"\n placeholder=\"Search...\"\n #searchBox\n />\n\n <div\n class=\"switch-view-holder btn-group col-sm-4 mt-1 mt-sm-0\"\n role=\"group\"\n *ngIf=\"viewMode\"\n >\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'table' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('table')\"\n >\n <i class=\"mdi mdi-view-headline\"></i>\n </button>\n <button\n class=\"btn\"\n [ngClass]=\"viewListAs === 'tile' ? 'btn-primary' : 'btn-default'\"\n (click)=\"switchView('tile')\"\n >\n <i class=\"mdi mdi-view-module\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <ng-content select=\"[tabs]\"></ng-content>\n\n <div *ngIf=\"items?.length > 0 && fields?.length > 0\">\n <div class=\"table-responsive noSwipe\" *ngIf=\"!viewMode || viewListAs === 'table'\">\n <table class=\"table table-striped table-hover m-0\" *ngIf=\"sort$ | async as sort\">\n <thead>\n <tr>\n <th\n *ngFor=\"let field of fields\"\n (click)=\"handleFieldClick(field.key, field.sortable)\"\n [ngClass]=\"{\n sortable: field.sortable,\n 'is-being-sorted': field.key === sort.state.name && sort.isSorting,\n ascending: sort.state.direction === 'ASC'\n }\"\n >\n {{ field.label }}\n </th>\n <th *ngFor=\"let action of actions\">\n {{ action.columnName }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr\n [ngClass]=\"{'click-able': this.rowClicked.observers.length > 0}\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <td class=\"align-top\" *ngFor=\"let listItemField of item.listItemFields\">\n {{ listItemField.value || '-' }}\n </td>\n <td class=\"align-top\" *ngFor=\"let action of actions\">\n <i\n style=\"cursor: pointer\"\n [ngClass]=\"action.iconClass\"\n (click)=\"action.callback(item)\"\n ></i>\n </td>\n </tr>\n <tr>\n <td *ngIf=\"(items | listFilter: searchModel).length === 0\" [colSpan]=\"fields.length\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <div class=\"container-fluid\" *ngIf=\"viewMode && viewListAs === 'tile'\">\n <div class=\"row p-2\">\n <div\n class=\"col-12 col-sm-6 col-xl-4 p-2\"\n *ngFor=\"let item of items | listFilter: searchModel\"\n (click)=\"onClickRow(item)\"\n >\n <div class=\"click-able tile-holder p-4\">\n <dl class=\"row mb-0\" *ngFor=\"let listItemField of item.listItemFields\">\n <dt class=\"col-12 col-md-5 text-xl-right\">{{ listItemField.label }}</dt>\n <dd class=\"col-12 col-md-7\">{{ listItemField.value || '-' }}</dd>\n </dl>\n </div>\n </div>\n <div class=\"col-12\" *ngIf=\"(items | listFilter: searchModel).length === 0\">\n {{ 'list.noMatchingItems' | translate }}<i>\"{{ searchModel }}\"</i>\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=\"pagination-holder bg-light px-4 pt-4 pb-2 overflow-auto row mr-0 ml-0\"\n *ngIf=\"pagination && items?.length > 0 && fields?.length > 0\"\n >\n <div class=\"float-left page-count col-4\">\n <strong>{{\n 'list.currentPage' | translate: {current: pagination.page, total: getTotalPageCount()}\n }}</strong>\n <br />\n {{\n pagination.collectionSize === 1\n ? ('list.showingResult' | translate: {number: (items | listFilter: searchModel).length})\n : ('list.showingResults'\n | translate\n : {\n number: (items | listFilter: searchModel).length,\n total: pagination.collectionSize\n })\n }}\n </div>\n <div class=\"col-4 text-center\">\n {{ 'list.show' | translate }}\n <select [(ngModel)]=\"pagination.size\" (ngModelChange)=\"setPaginationSize($event)\">\n <option [ngValue]=\"10\">10</option>\n <option [ngValue]=\"25\">25</option>\n <option [ngValue]=\"50\">50</option>\n <option [ngValue]=\"100\">100</option>\n </select>\n {{ 'list.entries' | translate }}\n </div>\n <div class=\"col-4\">\n <ngb-pagination\n *ngIf=\"pagination.collectionSize > pagination.size\"\n class=\"float-right\"\n [collectionSize]=\"pagination.collectionSize\"\n [(page)]=\"pagination.page\"\n [pageSize]=\"pagination.size\"\n [maxSize]=\"pagination.maxPaginationItemSize\"\n [rotate]=\"true\"\n (pageChange)=\"onClickPagination(pagination.page)\"\n ></ngb-pagination>\n </div>\n </div>\n\n <div id=\"no-results\" class=\"p-5\" *ngIf=\"items?.length === 0\">\n {{ 'list.noResults' | translate }}\n </div>\n\n <div id=\"no-field-definitions\" class=\"p-5\" *ngIf=\"items?.length > 0 && fields?.length === 0\">\n {{ 'list.noFieldDefinitions' | translate }}\n </div>\n</div>\n",
|
|
155
|
+
styles: ["@charset \"UTF-8\";\n/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.table{table-layout:fixed}.click-able{cursor:pointer}.pagination-holder{border-top:1px solid #dee2e6}.search-holder{border-bottom:1px solid #dee2e6;height:80px;padding-left:18px;padding-right:18px}.switch-view-holder i{font-size:1.8rem;line-height:1.2rem;margin-top:9px}.tile-holder{background-color:#f5f5f5;border:1px solid transparent}.tile-holder:hover{background-color:#eee;border:1px solid #dee2e6}.page-count{margin-bottom:1rem}td:first-child,th:first-child{padding-left:25px}th.sortable{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:pointer;user-select:none}th.sortable:after{content:\" \uF0DD\";font-family:Font Awesome\\ 5 Free;margin:auto 0 auto 5px;opacity:0;position:absolute;transition:all .15s ease}th.sortable.is-being-sorted.ascending:after{transform:rotate(-180deg)}th.sortable:hover:after{opacity:.5}th.sortable.is-being-sorted:after{opacity:1}"]
|
|
156
|
+
},] }
|
|
157
|
+
];
|
|
158
|
+
ListComponent.ctorParameters = () => [
|
|
159
|
+
{ type: ViewContentService },
|
|
160
|
+
{ type: NGXLogger }
|
|
161
|
+
];
|
|
162
|
+
ListComponent.propDecorators = {
|
|
163
|
+
items: [{ type: Input }],
|
|
164
|
+
fields: [{ type: Input }],
|
|
165
|
+
pagination: [{ type: Input }],
|
|
166
|
+
viewMode: [{ type: Input }],
|
|
167
|
+
isSearchable: [{ type: Input }],
|
|
168
|
+
header: [{ type: Input }],
|
|
169
|
+
actions: [{ type: Input }],
|
|
170
|
+
paginationIdentifier: [{ type: Input }],
|
|
171
|
+
initialSortState: [{ type: Input }],
|
|
172
|
+
rowClicked: [{ type: Output }],
|
|
173
|
+
paginationClicked: [{ type: Output }],
|
|
174
|
+
paginationSet: [{ type: Output }],
|
|
175
|
+
search: [{ type: Output }],
|
|
176
|
+
sortChanged: [{ type: Output }],
|
|
177
|
+
searchBox: [{ type: ViewChild, args: ['searchBox',] }]
|
|
178
|
+
};
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQU94RSxNQUFNLE9BQU8sYUFBYTtJQTZCeEIsWUFBb0Isa0JBQXNDLEVBQVUsTUFBaUI7UUFBakUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVc7UUFwQjVFLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFHbkIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdEQsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLGdCQUFXLEdBQTRCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsaUNBQTRCLEdBQUcsSUFBSSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJ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LEdBQUcsRUFBQyxLQUFLLGtDQUFNLElBQUksQ0FBQyxLQUFLLEtBQUUsU0FBUyxFQUFFLElBQUksR0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsQ0FBQztxQkFDeEU7aUJBQ0Y7YUFDRjtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsRUFBQyxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDbkU7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0pjLDZCQUFlLEdBQUcsZ0JBQWdCLENBQUM7O1lBTm5ELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsa2lOQUFvQzs7YUFFckM7OztZQU5PLGtCQUFrQjtZQUhsQixTQUFTOzs7b0JBYWQsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7eUJBQ0wsTUFBTTtnQ0FDTixNQUFNOzRCQUNOLE1BQU07cUJBQ04sTUFBTTswQkFDTixNQUFNO3dCQU1OLFNBQVMsU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTb3J0U3RhdGUsIERpcmVjdGlvbn0gZnJvbSAnQHZhbHRpbW8vY29udHJhY3QnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgdGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtWaWV3Q29udGVudFNlcnZpY2V9IGZyb20gJy4uL3ZpZXctY29udGVudC92aWV3LWNvbnRlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHN0YXRpYyBQQUdJTkFUSU9OX1NJWkUgPSAnUGFnaW5hdGlvblNpemUnO1xuXG4gIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBmaWVsZHM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIHBhZ2luYXRpb24/OiBhbnk7XG4gIEBJbnB1dCgpIHZpZXdNb2RlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaXNTZWFyY2hhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWN0aW9uczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcGFnaW5hdGlvbklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGluaXRpYWxTb3J0U3RhdGU6IFNvcnRTdGF0ZTtcbiAgQE91dHB1dCgpIHJvd0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcGFnaW5hdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcGFnaW5hdGlvblNldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWFyY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxTb3J0U3RhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBoZWFkZXJQcm92aWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgdmlld0xpc3RBczogc3RyaW5nO1xuICBwdWJsaWMgc2VhcmNoTW9kZWw6IHN0cmluZztcbiAgcHVibGljIHJlZ0V4cFN0cmluZ1JlbW92ZVVuZGVyc2NvcmUgPSAvXy9nO1xuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKSBzZWFyY2hCb3g6IEVsZW1lbnRSZWY7XG5cbiAgcmVhZG9ubHkgc29ydCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNvcnRTdGF0ZT4oe1xuICAgIHN0YXRlOiB7bmFtZTogJycsIGRpcmVjdGlvbjogJ0RFU0MnfSxcbiAgICBpc1NvcnRpbmc6IGZhbHNlLFxuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250ZW50U2VydmljZTogVmlld0NvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGxvZ2dlcjogTkdYTG9nZ2VyKSB7XG4gICAgdGhpcy52aWV3TGlzdEFzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3ZpZXdMaXN0QXMnKSB8fCAndGFibGUnO1xuICB9XG5cbiAgbG9hZFBhZ2luYXRpb25TaXplKCkge1xuICAgIGNvbnN0IGVudHJpZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgIGAke3RoaXMucGFnaW5hdGlvbklkZW50aWZpZXJ9JHtMaXN0Q29tcG9uZW50LlBBR0lOQVRJT05fU0laRX1gXG4gICAgKTtcbiAgICBpZiAoZW50cmllcyAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnNpemUgPSArZW50cmllcztcbiAgICAgIHRoaXMucGFnaW5hdGlvblNldC5lbWl0KCtlbnRyaWVzKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdQYWdpbmF0aW9uIGxvYWRlZCBmcm9tIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdC4gQ3VycmVudDogJywgZW50cmllcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAnUGFnaW5hdGlvbiBkb2VzIE5PVCBleGlzdCBpbiBsb2NhbCBzdG9yYWdlIGZvciB0aGlzIGxpc3QuIFdpbGwgdXNlIGRlZmF1bHQuIENoYW5nZSBpdCB0byBjcmVhdGUgYW4gZW50cnkuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5wYWdpbmF0aW9uU2V0LmVtaXQoKTtcbiAgfVxuXG4gIHNldFBhZ2luYXRpb25TaXplKG51bWJlck9mRW50cmllczogc3RyaW5nKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICBgJHt0aGlzLnBhZ2luYXRpb25JZGVudGlmaWVyfSR7TGlzdENvbXBvbmVudC5QQUdJTkFUSU9OX1NJWkV9YCxcbiAgICAgIG51bWJlck9mRW50cmllc1xuICAgICk7XG4gICAgdGhpcy5wYWdpbmF0aW9uLnNpemUgPSBudW1iZXJPZkVudHJpZXM7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ1BhZ2luYXRpb24gc2V0IGluIGxvY2FsIHN0b3JhZ2UgZm9yIHRoaXMgbGlzdDogJywgbnVtYmVyT2ZFbnRyaWVzKTtcbiAgICB0aGlzLnBhZ2luYXRpb25TZXQuZW1pdChudW1iZXJPZkVudHJpZXMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMucGFnaW5hdGlvbikge1xuICAgICAgdGhpcy5sb2FkUGFnaW5hdGlvblNpemUoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsU29ydFN0YXRlKSB7XG4gICAgICB0aGlzLnNvcnQkLm5leHQodGhpcy5pbml0aWFsU29ydFN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuaXRlbXMgJiYgY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtTGlzdEl0ZW1zTWF0Y2hGaWVsZHMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuaXNTZWFyY2hhYmxlKSB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5zZWFyY2hCb3gubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5zZWFyY2hCb3gubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgICBpZiAodGhpcy5zZWFyY2gub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGN1c3RvbSBzZWFyY2ggY2FsbGJhayBpcyBzcGVjaWZpZWQsIHBlcmhhcHMgdG8gcXVlcnkgb24gdGhlIHNlcnZlciBzaWRlXG4gICAgICAgICAgICB0aGlzLnNlYXJjaC5lbWl0KHZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWFyY2hNb2RlbCA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyYW5zZm9ybUxpc3RJdGVtc01hdGNoRmllbGRzKCkge1xuICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuZmllbGRzKSB7XG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIGl0ZW0ubGlzdEl0ZW1GaWVsZHMgPSB0aGlzLmZpZWxkcy5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgICBrZXk6IGZpZWxkLmtleSxcbiAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgICAgICAgdmFsdWU6IHRoaXMucmVzb2x2ZU9iamVjdChmaWVsZCwgaXRlbSksXG4gICAgICAgIH0pKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrUm93KGl0ZW0pIHtcbiAgICB0aGlzLnJvd0NsaWNrZWQuZW1pdChpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNvbHZlT2JqZWN0KGRlZmluaXRpb246IGFueSwgb2JqOiBhbnkpIHtcbiAgICBjb25zdCBkZWZpbml0aW9uS2V5ID0gZGVmaW5pdGlvbi5rZXk7XG4gICAgY29uc3QgY3VzdG9tUHJvcFN0cmluZyA9ICckLic7XG4gICAgY29uc3Qga2V5ID0gZGVmaW5pdGlvbktleS5pbmNsdWRlcyhjdXN0b21Qcm9wU3RyaW5nKVxuICAgICAgPyBkZWZpbml0aW9uS2V5LnNwbGl0KGN1c3RvbVByb3BTdHJpbmcpWzFdXG4gICAgICA6IGRlZmluaXRpb25LZXk7XG4gICAgY29uc3QgcmVzb2x2ZWRPYmpWYWx1ZSA9IGtleS5zcGxpdCgnLicpLnJlZHVjZShmdW5jdGlvbiAocHJldiwgY3Vycikge1xuICAgICAgcmV0dXJuIHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbDtcbiAgICB9LCBvYmogfHwgc2VsZik7XG4gICAgcmV0dXJuIHRoaXMudmlld0NvbnRlbnRTZXJ2aWNlLmdldChyZXNvbHZlZE9ialZhbHVlLCBkZWZpbml0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzd2l0Y2hWaWV3KHR5cGUpIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndmlld0xpc3RBcycsIHR5cGUpO1xuICAgIHRoaXMudmlld0xpc3RBcyA9IHR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG90YWxQYWdlQ291bnQoKSB7XG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnBhZ2luYXRpb24uY29sbGVjdGlvblNpemUgLyB0aGlzLnBhZ2luYXRpb24uc2l6ZSk7XG4gIH1cblxuICBwdWJsaWMgb25DbGlja1BhZ2luYXRpb24ocGFnZSkge1xuICAgIHRoaXMucGFnaW5hdGlvbkNsaWNrZWQuZW1pdChwYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGaWVsZENsaWNrKGtleTogc3RyaW5nLCBzb3J0YWJsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGRlc2M6IERpcmVjdGlvbiA9ICdERVNDJztcbiAgICBjb25zdCBhc2M6IERpcmVjdGlvbiA9ICdBU0MnO1xuXG4gICAgaWYgKCFzb3J0YWJsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc29ydCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc29ydCA9PiB7XG4gICAgICBsZXQgbmV3U3RhdGU6IFNvcnRTdGF0ZTtcblxuICAgICAgaWYgKHNvcnQuc3RhdGUubmFtZSA9PT0ga2V5KSB7XG4gICAgICAgIGlmICghc29ydC5pc1NvcnRpbmcpIHtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHtzdGF0ZTogey4uLnNvcnQuc3RhdGUsIGRpcmVjdGlvbjogZGVzY30sIGlzU29ydGluZzogdHJ1ZX07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHNvcnQuc3RhdGUuZGlyZWN0aW9uID09PSBkZXNjKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZSA9IHsuLi5zb3J0LCBzdGF0ZTogey4uLnNvcnQuc3RhdGUsIGRpcmVjdGlvbjogYXNjfX07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld1N0YXRlID0ge3N0YXRlOiB7Li4uc29ydC5zdGF0ZSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiBmYWxzZX07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTdGF0ZSA9IHtzdGF0ZToge25hbWU6IGtleSwgZGlyZWN0aW9uOiBkZXNjfSwgaXNTb3J0aW5nOiB0cnVlfTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zb3J0JC5uZXh0KG5ld1N0YXRlKTtcbiAgICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChuZXdTdGF0ZSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { CommonModule } from '@angular/common';
|
|
17
|
-
import { NgModule } from '@angular/core';
|
|
18
|
-
import { FormsModule } from '@angular/forms';
|
|
19
|
-
import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
|
|
20
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
21
|
-
import { CardModule } from '../card/card.module';
|
|
22
|
-
import { ListComponent } from './list.component';
|
|
23
|
-
import { ListFilterPipe } from './ListFilterPipe.directive';
|
|
24
|
-
export class ListModule {
|
|
25
|
-
}
|
|
26
|
-
ListModule.decorators = [
|
|
27
|
-
{ type: NgModule, args: [{
|
|
28
|
-
declarations: [ListComponent, ListFilterPipe],
|
|
29
|
-
imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule],
|
|
30
|
-
exports: [ListComponent, ListFilterPipe]
|
|
31
|
-
},] }
|
|
32
|
-
];
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { CommonModule } from '@angular/common';
|
|
17
|
+
import { NgModule } from '@angular/core';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
19
|
+
import { NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap';
|
|
20
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
21
|
+
import { CardModule } from '../card/card.module';
|
|
22
|
+
import { ListComponent } from './list.component';
|
|
23
|
+
import { ListFilterPipe } from './ListFilterPipe.directive';
|
|
24
|
+
export class ListModule {
|
|
25
|
+
}
|
|
26
|
+
ListModule.decorators = [
|
|
27
|
+
{ type: NgModule, args: [{
|
|
28
|
+
declarations: [ListComponent, ListFilterPipe],
|
|
29
|
+
imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule],
|
|
30
|
+
exports: [ListComponent, ListFilterPipe],
|
|
31
|
+
},] }
|
|
32
|
+
];
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiRDovV29ya3NwYWNlL3ZhbHRpbW8vdmFsdGltby1mcm9udGVuZC1saWJyYXJpZXMvcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQU8xRCxNQUFNLE9BQU8sVUFBVTs7O1lBTHRCLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7Z0JBQ3RGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7YUFDekMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtOZ2JQYWdpbmF0aW9uTW9kdWxlfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NhcmRNb2R1bGV9IGZyb20gJy4uL2NhcmQvY2FyZC5tb2R1bGUnO1xuaW1wb3J0IHtMaXN0Q29tcG9uZW50fSBmcm9tICcuL2xpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdEZpbHRlclBpcGV9IGZyb20gJy4vTGlzdEZpbHRlclBpcGUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTGlzdENvbXBvbmVudCwgTGlzdEZpbHRlclBpcGVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDYXJkTW9kdWxlLCBOZ2JQYWdpbmF0aW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcbiAgZXhwb3J0czogW0xpc3RDb21wb25lbnQsIExpc3RGaWx0ZXJQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdE1vZHVsZSB7fVxuIl19
|
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Component, Input } from '@angular/core';
|
|
17
|
-
export class MenuItemTextComponent {
|
|
18
|
-
}
|
|
19
|
-
MenuItemTextComponent.decorators = [
|
|
20
|
-
{ type: Component, args: [{
|
|
21
|
-
selector: 'valtimo-menu-item-text',
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2020 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component, Input } from '@angular/core';
|
|
17
|
+
export class MenuItemTextComponent {
|
|
18
|
+
}
|
|
19
|
+
MenuItemTextComponent.decorators = [
|
|
20
|
+
{ type: Component, args: [{
|
|
21
|
+
selector: 'valtimo-menu-item-text',
|
|
22
22
|
template: `
|
|
23
|
-
<i
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
<i
|
|
24
|
+
class="{{ menuItem.iconClass }}"
|
|
25
|
+
container="body"
|
|
26
|
+
placement="right"
|
|
27
|
+
ngbTooltip="{{ menuItem.title | translate }}"
|
|
28
|
+
autoClose="true"
|
|
29
|
+
>
|
|
28
30
|
</i>
|
|
29
31
|
<span>{{ menuItem.title | translate }}</span>
|
|
30
|
-
`
|
|
31
|
-
},] }
|
|
32
|
-
];
|
|
33
|
-
MenuItemTextComponent.propDecorators = {
|
|
34
|
-
menuItem: [{ type: Input }]
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
`
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
MenuItemTextComponent.propDecorators = {
|
|
36
|
+
menuItem: [{ type: Input }]
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1dvcmtzcGFjZS92YWx0aW1vL3ZhbHRpbW8tZnJvbnRlbmQtbGlicmFyaWVzL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvIiwic291cmNlcyI6WyJsaWIvbWVudS9tZW51LWl0ZW0tdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQWlCL0MsTUFBTSxPQUFPLHFCQUFxQjs7O1lBZGpDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDthQUNGOzs7dUJBRUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01lbnVJdGVtfSBmcm9tICdAdmFsdGltby9jb250cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbWVudS1pdGVtLXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpXG4gICAgICBjbGFzcz1cInt7IG1lbnVJdGVtLmljb25DbGFzcyB9fVwiXG4gICAgICBjb250YWluZXI9XCJib2R5XCJcbiAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgIG5nYlRvb2x0aXA9XCJ7eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBhdXRvQ2xvc2U9XCJ0cnVlXCJcbiAgICA+XG4gICAgPC9pPlxuICAgIDxzcGFuPnt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbVRleHRDb21wb25lbnQge1xuICBASW5wdXQoKSBtZW51SXRlbTogTWVudUl0ZW07XG59XG4iXX0=
|