@skyux/lookup 8.7.2 → 9.0.0-alpha.1
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/documentation.json +244 -244
- package/esm2022/lib/modules/autocomplete/autocomplete-adapter.service.mjs +61 -0
- package/esm2022/lib/modules/autocomplete/autocomplete-input.directive.mjs +237 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-search-async-disabled.pipe.mjs +4 -4
- package/esm2022/lib/modules/autocomplete/autocomplete.component.mjs +817 -0
- package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete.module.mjs +27 -27
- package/esm2022/lib/modules/country-field/country-field.component.mjs +444 -0
- package/{esm2020 → esm2022}/lib/modules/country-field/country-field.module.mjs +19 -19
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/lookup/lookup-autocomplete-adapter.mjs +114 -0
- package/esm2022/lib/modules/lookup/lookup-show-more-modal.component.mjs +270 -0
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.component.mjs +299 -280
- package/{esm2020 → esm2022}/lib/modules/lookup/lookup.module.mjs +37 -37
- package/esm2022/lib/modules/search/search-adapter.service.mjs +46 -0
- package/esm2022/lib/modules/search/search.component.mjs +285 -0
- package/{esm2020 → esm2022}/lib/modules/search/search.module.mjs +17 -17
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal-item-selected.pipe.mjs +4 -4
- package/esm2022/lib/modules/selection-modal/selection-modal.component.mjs +201 -0
- package/{esm2020 → esm2022}/lib/modules/selection-modal/selection-modal.module.mjs +27 -27
- package/esm2022/lib/modules/selection-modal/selection-modal.service.mjs +89 -0
- package/esm2022/lib/modules/selection-modal/types/selection-modal-instance.mjs +45 -0
- package/esm2022/lib/modules/shared/sky-lookup-resources.module.mjs +71 -0
- package/esm2022/testing/autocomplete/autocomplete-harness.mjs +155 -0
- package/esm2022/testing/autocomplete/autocomplete-input-harness.mjs +63 -0
- package/esm2022/testing/autocomplete/autocomplete-search-result-harness.mjs +44 -0
- package/esm2022/testing/country-field/country-field-fixture.mjs +118 -0
- package/{esm2020 → esm2022}/testing/country-field/country-field-testing.module.mjs +5 -5
- package/esm2022/testing/lookup/lookup-harness.mjs +76 -0
- package/{esm2020 → esm2022}/testing/search/search-fixture.mjs +18 -19
- package/esm2022/testing/search/search-harness.mjs +80 -0
- package/{esm2020 → esm2022}/testing/search/search-testing.module.mjs +5 -5
- package/esm2022/testing/selection-modal/selection-modal-harness.mjs +122 -0
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs +171 -187
- package/{fesm2020 → fesm2022}/skyux-lookup-testing.mjs.map +1 -1
- package/fesm2022/skyux-lookup.mjs +3707 -0
- package/{fesm2015 → fesm2022}/skyux-lookup.mjs.map +1 -1
- package/lib/modules/autocomplete/autocomplete-input.directive.d.ts +1 -1
- package/lib/modules/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/modules/country-field/country-field.component.d.ts +1 -1
- package/lib/modules/lookup/lookup-autocomplete-adapter.d.ts +1 -1
- package/lib/modules/lookup/lookup.component.d.ts +1 -1
- package/lib/modules/search/search.component.d.ts +1 -1
- package/package.json +23 -31
- package/esm2020/lib/modules/autocomplete/autocomplete-adapter.service.mjs +0 -64
- package/esm2020/lib/modules/autocomplete/autocomplete-input.directive.mjs +0 -235
- package/esm2020/lib/modules/autocomplete/autocomplete.component.mjs +0 -775
- package/esm2020/lib/modules/country-field/country-field.component.mjs +0 -433
- package/esm2020/lib/modules/lookup/lookup-autocomplete-adapter.mjs +0 -115
- package/esm2020/lib/modules/lookup/lookup-show-more-modal.component.mjs +0 -271
- package/esm2020/lib/modules/search/search-adapter.service.mjs +0 -46
- package/esm2020/lib/modules/search/search.component.mjs +0 -279
- package/esm2020/lib/modules/selection-modal/selection-modal.component.mjs +0 -199
- package/esm2020/lib/modules/selection-modal/selection-modal.service.mjs +0 -92
- package/esm2020/lib/modules/selection-modal/types/selection-modal-instance.mjs +0 -48
- package/esm2020/lib/modules/shared/sky-lookup-resources.module.mjs +0 -71
- package/esm2020/testing/autocomplete/autocomplete-harness.mjs +0 -161
- package/esm2020/testing/autocomplete/autocomplete-input-harness.mjs +0 -63
- package/esm2020/testing/autocomplete/autocomplete-search-result-harness.mjs +0 -44
- package/esm2020/testing/country-field/country-field-fixture.mjs +0 -114
- package/esm2020/testing/lookup/lookup-harness.mjs +0 -82
- package/esm2020/testing/search/search-harness.mjs +0 -86
- package/esm2020/testing/selection-modal/selection-modal-harness.mjs +0 -128
- package/fesm2015/skyux-lookup-testing.mjs +0 -980
- package/fesm2015/skyux-lookup-testing.mjs.map +0 -1
- package/fesm2015/skyux-lookup.mjs +0 -3642
- package/fesm2020/skyux-lookup.mjs +0 -3625
- package/fesm2020/skyux-lookup.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/autocomplete-default-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-default-search-function-options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-input-text-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-message.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result-display-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-async-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function-response.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-search-function.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-selection-change.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/autocomplete/types/autocomplete-show-more-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context-token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country-field-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/country-field/types/country.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode-type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-select-mode.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-custom-picker.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/lookup/types/lookup-show-more-native-picker-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-callback-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-add-click-event-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-close-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-context.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-open-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-args.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/selection-modal/types/selection-modal-search-result.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modules/shared/sky-lookup-string-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/skyux-lookup.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/autocomplete/autocomplete-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selection-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-selections-list-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/lookup/lookup-show-more-picker-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/search/search-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/selection-modal/selection-modal-search-result-harness.mjs +0 -0
- /package/{esm2020 → esm2022}/testing/skyux-lookup-testing.mjs +0 -0
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
var _SkySelectionModalComponent_instances, _SkySelectionModalComponent_changeDetector, _SkySelectionModalComponent_continuationData, _SkySelectionModalComponent_currentSearchSub, _SkySelectionModalComponent_ngUnsubscribe, _SkySelectionModalComponent_offset, _SkySelectionModalComponent_loadSearchResults, _SkySelectionModalComponent_createInitialSelectedItemsMap, _SkySelectionModalComponent_performSearch, _SkySelectionModalComponent_cancelCurrentSearch;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { ChangeDetectionStrategy, Component, } from '@angular/core';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { take } from 'rxjs/operators';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@skyux/modals";
|
|
8
|
-
import * as i2 from "./types/selection-modal-context";
|
|
9
|
-
import * as i3 from "@skyux/core";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "@skyux/forms";
|
|
12
|
-
import * as i6 from "@skyux/indicators";
|
|
13
|
-
import * as i7 from "@skyux/lists";
|
|
14
|
-
import * as i8 from "../search/search.component";
|
|
15
|
-
import * as i9 from "@skyux/theme";
|
|
16
|
-
import * as i10 from "@skyux/layout";
|
|
17
|
-
import * as i11 from "@skyux/i18n";
|
|
18
|
-
import * as i12 from "./selection-modal-item-selected.pipe";
|
|
19
|
-
/**
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
22
|
-
export class SkySelectionModalComponent {
|
|
23
|
-
constructor(modalInstance, context, changeDetector, idSvc) {
|
|
24
|
-
this.modalInstance = modalInstance;
|
|
25
|
-
this.context = context;
|
|
26
|
-
_SkySelectionModalComponent_instances.add(this);
|
|
27
|
-
/**
|
|
28
|
-
* @internal
|
|
29
|
-
* Fires when users select the button to add new options to the list.
|
|
30
|
-
*/
|
|
31
|
-
this.addClick = new Subject();
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
-
this.displayedItems = [];
|
|
34
|
-
this.hasMoreItems = false;
|
|
35
|
-
this.isLoadingMore = false;
|
|
36
|
-
this.isSearching = false;
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
-
this.items = [];
|
|
39
|
-
this.onlyShowSelected = false;
|
|
40
|
-
this.repeaterItemTemplate = null;
|
|
41
|
-
this.selectedIdMap = new Map();
|
|
42
|
-
_SkySelectionModalComponent_changeDetector.set(this, void 0);
|
|
43
|
-
_SkySelectionModalComponent_continuationData.set(this, void 0);
|
|
44
|
-
_SkySelectionModalComponent_currentSearchSub.set(this, void 0);
|
|
45
|
-
_SkySelectionModalComponent_ngUnsubscribe.set(this, new Subject());
|
|
46
|
-
_SkySelectionModalComponent_offset.set(this, 0);
|
|
47
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_changeDetector, changeDetector, "f");
|
|
48
|
-
this.id = idSvc.generateId();
|
|
49
|
-
}
|
|
50
|
-
ngOnInit() {
|
|
51
|
-
this.repeaterItemTemplate = this.context.userConfig.itemTemplate || null;
|
|
52
|
-
this.searchText = this.context.initialSearch;
|
|
53
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_createInitialSelectedItemsMap).call(this);
|
|
54
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_loadSearchResults).call(this);
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_cancelCurrentSearch).call(this);
|
|
58
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_ngUnsubscribe, "f").next();
|
|
59
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_ngUnsubscribe, "f").complete();
|
|
60
|
-
}
|
|
61
|
-
addButtonClicked() {
|
|
62
|
-
this.addClick.next();
|
|
63
|
-
}
|
|
64
|
-
clearAll() {
|
|
65
|
-
this.selectedIdMap = new Map(this.selectedIdMap);
|
|
66
|
-
// Only deselect items that have been loaded; items that would be loaded
|
|
67
|
-
// after an infinite scroll event should remain selected.
|
|
68
|
-
for (const item of this.items) {
|
|
69
|
-
this.selectedIdMap.delete(item[this.context.idProperty]);
|
|
70
|
-
}
|
|
71
|
-
this.updateDisplayedItems();
|
|
72
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_changeDetector, "f").markForCheck();
|
|
73
|
-
}
|
|
74
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
75
|
-
itemClick(selectedItem) {
|
|
76
|
-
if (this.context.selectMode === 'single') {
|
|
77
|
-
this.onItemSelect(!selectedItem.selected, selectedItem);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
|
-
addItem(itemToAdd) {
|
|
82
|
-
// Add the selected item, then perform the search again in case the
|
|
83
|
-
// newly-added item should be displayed as a search results.
|
|
84
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_offset, 0, "f");
|
|
85
|
-
this.onItemSelect(true, itemToAdd);
|
|
86
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_loadSearchResults).call(this);
|
|
87
|
-
}
|
|
88
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
89
|
-
onItemSelect(newSelectState, itemToSelect) {
|
|
90
|
-
const itemId = itemToSelect[this.context.idProperty];
|
|
91
|
-
// Create a new Map so the pipe transform will execute on the next
|
|
92
|
-
// change detection cycle.
|
|
93
|
-
this.selectedIdMap = new Map(this.selectedIdMap);
|
|
94
|
-
if (this.context.selectMode === 'single') {
|
|
95
|
-
if (newSelectState) {
|
|
96
|
-
this.selectedIdMap.clear();
|
|
97
|
-
this.selectedIdMap.set(itemId, itemToSelect);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
if (newSelectState) {
|
|
102
|
-
this.selectedIdMap.set(itemId, itemToSelect);
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
this.selectedIdMap.delete(itemId);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
this.updateDisplayedItems();
|
|
109
|
-
}
|
|
110
|
-
searchApplied(searchText) {
|
|
111
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_offset, 0, "f");
|
|
112
|
-
this.searchText = searchText;
|
|
113
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_loadSearchResults).call(this);
|
|
114
|
-
}
|
|
115
|
-
selectAll() {
|
|
116
|
-
this.selectedIdMap = new Map();
|
|
117
|
-
for (const item of this.items) {
|
|
118
|
-
this.selectedIdMap.set(item[this.context.idProperty], item);
|
|
119
|
-
}
|
|
120
|
-
this.updateDisplayedItems();
|
|
121
|
-
}
|
|
122
|
-
infiniteScrollEnd() {
|
|
123
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_cancelCurrentSearch).call(this);
|
|
124
|
-
/* Sanity check - else case would only happen if this was called directly */
|
|
125
|
-
/* istanbul ignore else */
|
|
126
|
-
if (this.hasMoreItems) {
|
|
127
|
-
this.isLoadingMore = true;
|
|
128
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_performSearch).call(this, (result) => {
|
|
129
|
-
this.items = this.items.concat(result.items);
|
|
130
|
-
this.updateDisplayedItems();
|
|
131
|
-
this.isLoadingMore = false;
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
save() {
|
|
136
|
-
const selectedItems = Array.from(this.selectedIdMap.values(), (itemData, index) => ({
|
|
137
|
-
index,
|
|
138
|
-
itemData,
|
|
139
|
-
})).sort((a, b) => {
|
|
140
|
-
return this.items.indexOf(a.itemData) < this.items.indexOf(b.itemData)
|
|
141
|
-
? -1
|
|
142
|
-
: 1;
|
|
143
|
-
});
|
|
144
|
-
this.modalInstance.save(selectedItems);
|
|
145
|
-
}
|
|
146
|
-
updateDisplayedItems() {
|
|
147
|
-
if (this.onlyShowSelected) {
|
|
148
|
-
this.displayedItems = this.items.filter((item) => this.selectedIdMap.has(item[this.context.idProperty]));
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
this.displayedItems = this.items;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
_SkySelectionModalComponent_changeDetector = new WeakMap(), _SkySelectionModalComponent_continuationData = new WeakMap(), _SkySelectionModalComponent_currentSearchSub = new WeakMap(), _SkySelectionModalComponent_ngUnsubscribe = new WeakMap(), _SkySelectionModalComponent_offset = new WeakMap(), _SkySelectionModalComponent_instances = new WeakSet(), _SkySelectionModalComponent_loadSearchResults = function _SkySelectionModalComponent_loadSearchResults() {
|
|
156
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_cancelCurrentSearch).call(this);
|
|
157
|
-
this.isSearching = true;
|
|
158
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_instances, "m", _SkySelectionModalComponent_performSearch).call(this, (result) => {
|
|
159
|
-
this.isSearching = false;
|
|
160
|
-
this.items = result.items;
|
|
161
|
-
});
|
|
162
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_changeDetector, "f").markForCheck();
|
|
163
|
-
}, _SkySelectionModalComponent_createInitialSelectedItemsMap = function _SkySelectionModalComponent_createInitialSelectedItemsMap() {
|
|
164
|
-
this.selectedIdMap = new Map(this.context.initialValue.map((item) => [
|
|
165
|
-
item[this.context.idProperty],
|
|
166
|
-
item,
|
|
167
|
-
]));
|
|
168
|
-
}, _SkySelectionModalComponent_performSearch = function _SkySelectionModalComponent_performSearch(processResults) {
|
|
169
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_currentSearchSub, this.context
|
|
170
|
-
.searchAsync({
|
|
171
|
-
displayType: 'modal',
|
|
172
|
-
offset: __classPrivateFieldGet(this, _SkySelectionModalComponent_offset, "f"),
|
|
173
|
-
searchText: this.searchText || '',
|
|
174
|
-
continuationData: __classPrivateFieldGet(this, _SkySelectionModalComponent_continuationData, "f"),
|
|
175
|
-
})
|
|
176
|
-
.pipe(take(1))
|
|
177
|
-
.subscribe((result) => {
|
|
178
|
-
processResults(result);
|
|
179
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_continuationData, result.continuationData, "f");
|
|
180
|
-
this.hasMoreItems = result.hasMore || false;
|
|
181
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_offset, this.items.length, "f");
|
|
182
|
-
this.updateDisplayedItems();
|
|
183
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_changeDetector, "f").markForCheck();
|
|
184
|
-
}), "f");
|
|
185
|
-
}, _SkySelectionModalComponent_cancelCurrentSearch = function _SkySelectionModalComponent_cancelCurrentSearch() {
|
|
186
|
-
if (__classPrivateFieldGet(this, _SkySelectionModalComponent_currentSearchSub, "f")) {
|
|
187
|
-
__classPrivateFieldGet(this, _SkySelectionModalComponent_currentSearchSub, "f").unsubscribe();
|
|
188
|
-
__classPrivateFieldSet(this, _SkySelectionModalComponent_currentSearchSub, undefined, "f");
|
|
189
|
-
this.isLoadingMore = false;
|
|
190
|
-
this.isSearching = false;
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
SkySelectionModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySelectionModalComponent, deps: [{ token: i1.SkyModalInstance }, { token: i2.SkySelectionModalContext }, { token: i0.ChangeDetectorRef }, { token: i3.SkyIdService }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
-
SkySelectionModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkySelectionModalComponent, selector: "sky-selection-modal", ngImport: i0, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i5.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i6.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ6, selector: "sky-infinite-scroll", inputs: ["enabled", "loading"], outputs: ["scrollEnd"] }, { kind: "component", type: i1.λ5, selector: "sky-modal", inputs: ["formErrors", "ariaRole", "tiledBody", "ariaDescribedBy", "ariaLabelledBy"] }, { kind: "component", type: i1.λ2, selector: "sky-modal-content" }, { kind: "component", type: i1.λ3, selector: "sky-modal-footer" }, { kind: "component", type: i1.λ4, selector: "sky-modal-header" }, { kind: "component", type: i7.λ11, selector: "sky-repeater", inputs: ["activeIndex", "ariaLabel", "reorderable", "expandMode"], outputs: ["activeIndexChange", "orderChange"] }, { kind: "component", type: i7.λ10, selector: "sky-repeater-item", inputs: ["disabled", "itemName", "inlineFormConfig", "inlineFormTemplate", "isExpanded", "isSelected", "reorderable", "selectable", "showInlineForm", "tag"], outputs: ["collapse", "expand", "inlineFormClose", "isSelectedChange"] }, { kind: "component", type: i7.λ8, selector: "sky-repeater-item-content" }, { kind: "component", type: i8.SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "directive", type: i9.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i10.λ37, selector: "sky-toolbar" }, { kind: "component", type: i10.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i10.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i10.λ40, selector: "sky-toolbar-view-actions" }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "component", type: i6.λ14, selector: "sky-wait", inputs: ["ariaLabel", "isWaiting", "isFullPage", "isNonBlocking", "screenReaderCompletedText"] }, { kind: "pipe", type: i11.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "pipe", type: i12.SkySelectionModalItemSelectedPipe, name: "skySelectionModalItemSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySelectionModalComponent, decorators: [{
|
|
196
|
-
type: Component,
|
|
197
|
-
args: [{ selector: 'sky-selection-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-modal\n class=\"sky-lookup-show-more-modal\"\n [attr.id]=\"id\"\n [ngClass]=\"'sky-lookup-show-more-modal-' + context.selectMode\"\n>\n <sky-modal-header>\n <ng-container *ngIf=\"context.userConfig?.title; else defaultTitle\">\n {{ context.userConfig.title }}\n </ng-container>\n </sky-modal-header>\n <sky-modal-content\n [skyViewkeeper]=\"['.sky-lookup-show-more-toolbar-wrapper']\"\n >\n <sky-wait [isWaiting]=\"isSearching\"></sky-wait>\n <div class=\"sky-lookup-show-more-toolbar-wrapper\">\n <sky-toolbar class=\"sky-lookup-show-more-modal-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-search\n [debounceTime]=\"250\"\n [searchText]=\"searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <button\n *ngIf=\"context.showAddButton\"\n type=\"button\"\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-add\"\n (click)=\"addButtonClicked()\"\n >\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"add\"\n iconType=\"skyux\"\n ></sky-icon>\n <sky-icon *skyThemeIf=\"'default'\" icon=\"plus-circle\"></sky-icon>\n {{ 'skyux_lookup_show_more_add' | skyLibResources }}\n </button>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n <sky-toolbar\n *ngIf=\"context.selectMode === 'multiple'\"\n class=\"sky-lookup-show-more-modal-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{\n 'skyux_lookup_show_more_select_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{\n 'skyux_lookup_show_more_clear_all_button_title'\n | skyLibResources\n }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [(checked)]=\"onlyShowSelected\"\n (change)=\"updateDisplayedItems()\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_lookup_show_more_show_selected_option_title'\n | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"!isSearching && displayedItems.length === 0\"\n class=\"sky-font-deemphasized sky-lookup-show-more-no-results\"\n >\n {{ 'skyux_lookup_show_more_no_results' | skyLibResources }}\n </div>\n <sky-repeater class=\"sky-lookup-show-more-repeater\" expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let item of displayedItems\"\n [isSelected]=\"\n item[context.idProperty]\n | skySelectionModalItemSelected : selectedIdMap\n \"\n [selectable]=\"context.selectMode === 'multiple'\"\n (click)=\"itemClick(item)\"\n (keyup.enter)=\"itemClick(item)\"\n (isSelectedChange)=\"onItemSelect($event, item)\"\n >\n <sky-repeater-item-content>\n <ng-container\n *ngTemplateOutlet=\"\n repeaterItemTemplate ?? defaultItemTemplate;\n context: { item: item }\n \"\n >\n </ng-container>\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n <sky-infinite-scroll\n [enabled]=\"hasMoreItems\"\n [loading]=\"isLoadingMore\"\n (scrollEnd)=\"infiniteScrollEnd()\"\n >\n </sky-infinite-scroll>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n class=\"sky-btn sky-btn-primary sky-margin-inline-compact sky-lookup-show-more-modal-save\"\n type=\"button\"\n [disabled]=\"isSearching\"\n (click)=\"save()\"\n >\n {{ 'skyux_lookup_show_more_select' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-lookup-show-more-modal-close\"\n type=\"button\"\n (click)=\"modalInstance.close()\"\n >\n {{ 'skyux_lookup_show_more_cancel' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n\n<ng-template let-item=\"item\" #defaultItemTemplate>\n {{ item[context.descriptorProperty] }}\n</ng-template>\n\n<ng-template #defaultTitle>\n <ng-container *ngIf=\"context.selectMode === 'single'\">\n {{ 'skyux_lookup_show_more_modal_title_single' | skyLibResources }}\n </ng-container>\n <ng-container *ngIf=\"context.selectMode === 'multiple'\">\n {{ 'skyux_lookup_show_more_modal_title_multiple' | skyLibResources }}\n </ng-container>\n</ng-template>\n", styles: [".sky-lookup-show-more-no-results{padding:20px 0}:host-context(.sky-theme-modern) .sky-lookup-show-more-no-results{padding:30px 0}.sky-theme-modern .sky-lookup-show-more-no-results{padding:30px 0}\n"] }]
|
|
198
|
-
}], ctorParameters: function () { return [{ type: i1.SkyModalInstance }, { type: i2.SkySelectionModalContext }, { type: i0.ChangeDetectorRef }, { type: i3.SkyIdService }]; } });
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sb29rdXAvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdGlvbi1tb2RhbC9zZWxlY3Rpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFLdEM7O0dBRUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCO0lBMENyQyxZQUNTLGFBQStCLEVBQy9CLE9BQWlDLEVBQ3hDLGNBQWlDLEVBQ2pDLEtBQW1CO1FBSFosa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQTBCOztRQTNDMUM7OztXQUdHO1FBQ0ksYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRS9DLDhEQUE4RDtRQUN2RCxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUUzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQU9yQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUUzQiw4REFBOEQ7UUFDdkQsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUVsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFekIseUJBQW9CLEdBQWdDLElBQUksQ0FBQztRQUl6RCxrQkFBYSxH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QyxvQkFBb0IsRUFBRSxDQUFDO1FBRTVCLHVCQUFBLElBQUksa0RBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQyxDQUFDLE1BQUEsQ0FBQztBQUNQLENBQUM7SUFHQyxJQUFJLHVCQUFBLElBQUksb0RBQWtCLEVBQUU7UUFDMUIsdUJBQUEsSUFBSSxvREFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyx1QkFBQSxJQUFJLGdEQUFxQixTQUFTLE1BQUEsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztLQUMxQjtBQUNILENBQUM7dUhBaFBVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDJEQzFCdkMsaTBLQTJKQTsyRkRqSWEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lNb2RhbEluc3RhbmNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0IH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLXNlYXJjaC1yZXN1bHQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktc2VsZWN0aW9uLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgdGhlIGJ1dHRvbiB0byBhZGQgbmV3IG9wdGlvbnMgdG8gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2xpY2s6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBkaXNwbGF5ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgaGFzTW9yZUl0ZW1zID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gYXNzb2NpYXRlIHRoaXMgbW9kYWwgd2l0aCBpdHMgb3duaW5nIGxvb2t1cCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICBwdWJsaWMgaXNMb2FkaW5nTW9yZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1NlYXJjaGluZyA9IGZhbHNlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBpdGVtczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgb25seVNob3dTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZXBlYXRlckl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgc2VhcmNoVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBzZWxlY3RlZElkTWFwOiBNYXA8dW5rbm93biwgdW5rbm93bj4gPSBuZXcgTWFwKCk7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICAjY29udGludWF0aW9uRGF0YTogdW5rbm93bjtcblxuICAjY3VycmVudFNlYXJjaFN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjb2Zmc2V0ID0gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9kYWxJbnN0YW5jZTogU2t5TW9kYWxJbnN0YW5jZSxcbiAgICBwdWJsaWMgY29udGV4dDogU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0LFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG5cbiAgICB0aGlzLmlkID0gaWRTdmMuZ2VuZXJhdGVJZCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVwZWF0ZXJJdGVtVGVtcGxhdGUgPSB0aGlzLmNvbnRleHQudXNlckNvbmZpZy5pdGVtVGVtcGxhdGUgfHwgbnVsbDtcbiAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLmNvbnRleHQuaW5pdGlhbFNlYXJjaDtcblxuICAgIHRoaXMuI2NyZWF0ZUluaXRpYWxTZWxlY3RlZEl0ZW1zTWFwKCk7XG4gICAgdGhpcy4jbG9hZFNlYXJjaFJlc3VsdHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNjYW5jZWxDdXJyZW50U2VhcmNoKCk7XG5cbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZENsaWNrLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSWRNYXAgPSBuZXcgTWFwKHRoaXMuc2VsZWN0ZWRJZE1hcCk7XG5cbiAgICAvLyBPbmx5IGRlc2VsZWN0IGl0ZW1zIHRoYXQgaGF2ZSBiZWVuIGxvYWRlZDsgaXRlbXMgdGhhdCB3b3VsZCBiZSBsb2FkZWRcbiAgICAvLyBhZnRlciBhbiBpbmZpbml0ZSBzY3JvbGwgZXZlbnQgc2hvdWxkIHJlbWFpbiBzZWxlY3RlZC5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcykge1xuICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLmRlbGV0ZShpdGVtW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgaXRlbUNsaWNrKHNlbGVjdGVkSXRlbTogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5vbkl0ZW1TZWxlY3QoIXNlbGVjdGVkSXRlbS5zZWxlY3RlZCwgc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBwdWJsaWMgYWRkSXRlbShpdGVtVG9BZGQ6IGFueSk6IHZvaWQge1xuICAgIC8vIEFkZCB0aGUgc2VsZWN0ZWQgaXRlbSwgdGhlbiBwZXJmb3JtIHRoZSBzZWFyY2ggYWdhaW4gaW4gY2FzZSB0aGVcbiAgICAvLyBuZXdseS1hZGRlZCBpdGVtIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXMgYSBzZWFyY2ggcmVzdWx0cy5cbiAgICB0aGlzLiNvZmZzZXQgPSAwO1xuICAgIHRoaXMub25JdGVtU2VsZWN0KHRydWUsIGl0ZW1Ub0FkZCk7XG4gICAgdGhpcy4jbG9hZFNlYXJjaFJlc3VsdHMoKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHB1YmxpYyBvbkl0ZW1TZWxlY3QobmV3U2VsZWN0U3RhdGU6IGJvb2xlYW4sIGl0ZW1Ub1NlbGVjdDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbUlkID0gaXRlbVRvU2VsZWN0W3RoaXMuY29udGV4dC5pZFByb3BlcnR5XTtcblxuICAgIC8vIENyZWF0ZSBhIG5ldyBNYXAgc28gdGhlIHBpcGUgdHJhbnNmb3JtIHdpbGwgZXhlY3V0ZSBvbiB0aGUgbmV4dFxuICAgIC8vIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuXG4gICAgdGhpcy5zZWxlY3RlZElkTWFwID0gbmV3IE1hcCh0aGlzLnNlbGVjdGVkSWRNYXApO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dC5zZWxlY3RNb2RlID09PSAnc2luZ2xlJykge1xuICAgICAgaWYgKG5ld1NlbGVjdFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5jbGVhcigpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuc2V0KGl0ZW1JZCwgaXRlbVRvU2VsZWN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG5ld1NlbGVjdFN0YXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJZE1hcC5zZXQoaXRlbUlkLCBpdGVtVG9TZWxlY3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLmRlbGV0ZShpdGVtSWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI29mZnNldCA9IDA7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gc2VhcmNoVGV4dDtcblxuICAgIHRoaXMuI2xvYWRTZWFyY2hSZXN1bHRzKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAoKTtcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSWRNYXAuc2V0KGl0ZW1bdGhpcy5jb250ZXh0LmlkUHJvcGVydHldLCBpdGVtKTtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZURpc3BsYXllZEl0ZW1zKCk7XG4gIH1cblxuICBwdWJsaWMgaW5maW5pdGVTY3JvbGxFbmQoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsQ3VycmVudFNlYXJjaCgpO1xuXG4gICAgLyogU2FuaXR5IGNoZWNrIC0gZWxzZSBjYXNlIHdvdWxkIG9ubHkgaGFwcGVuIGlmIHRoaXMgd2FzIGNhbGxlZCBkaXJlY3RseSAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaGFzTW9yZUl0ZW1zKSB7XG4gICAgICB0aGlzLmlzTG9hZGluZ01vcmUgPSB0cnVlO1xuXG4gICAgICB0aGlzLiNwZXJmb3JtU2VhcmNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuY29uY2F0KHJlc3VsdC5pdGVtcyk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVEaXNwbGF5ZWRJdGVtcygpO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nTW9yZSA9IGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNhdmUoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnNlbGVjdGVkSWRNYXAudmFsdWVzKCksXG4gICAgICAoaXRlbURhdGEsIGluZGV4KSA9PiAoe1xuICAgICAgICBpbmRleCxcbiAgICAgICAgaXRlbURhdGEsXG4gICAgICB9KVxuICAgICkuc29ydCgoYSwgYikgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMuaW5kZXhPZihhLml0ZW1EYXRhKSA8IHRoaXMuaXRlbXMuaW5kZXhPZihiLml0ZW1EYXRhKVxuICAgICAgICA/IC0xXG4gICAgICAgIDogMTtcbiAgICB9KTtcblxuICAgIHRoaXMubW9kYWxJbnN0YW5jZS5zYXZlKHNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURpc3BsYXllZEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9ubHlTaG93U2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgICAgdGhpcy5zZWxlY3RlZElkTWFwLmhhcyhpdGVtW3RoaXMuY29udGV4dC5pZFByb3BlcnR5XSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkSXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH1cbiAgfVxuXG4gICNsb2FkU2VhcmNoUmVzdWx0cygpOiB2b2lkIHtcbiAgICB0aGlzLiNjYW5jZWxDdXJyZW50U2VhcmNoKCk7XG5cbiAgICB0aGlzLmlzU2VhcmNoaW5nID0gdHJ1ZTtcblxuICAgIHRoaXMuI3BlcmZvcm1TZWFyY2goKHJlc3VsdCkgPT4ge1xuICAgICAgdGhpcy5pc1NlYXJjaGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5pdGVtcyA9IHJlc3VsdC5pdGVtcztcbiAgICB9KTtcblxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI2NyZWF0ZUluaXRpYWxTZWxlY3RlZEl0ZW1zTWFwKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJZE1hcCA9IG5ldyBNYXAoXG4gICAgICB0aGlzLmNvbnRleHQuaW5pdGlhbFZhbHVlLm1hcCgoaXRlbSkgPT4gW1xuICAgICAgICAoaXRlbSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbdGhpcy5jb250ZXh0LmlkUHJvcGVydHldLFxuICAgICAgICBpdGVtLFxuICAgICAgXSlcbiAgICApO1xuICB9XG5cbiAgI3BlcmZvcm1TZWFyY2goXG4gICAgcHJvY2Vzc1Jlc3VsdHM6IChyZXN1bHQ6IFNreVNlbGVjdGlvbk1vZGFsU2VhcmNoUmVzdWx0KSA9PiB2b2lkXG4gICk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTZWFyY2hTdWIgPSB0aGlzLmNvbnRleHRcbiAgICAgIC5zZWFyY2hBc3luYyh7XG4gICAgICAgIGRpc3BsYXlUeXBlOiAnbW9kYWwnLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuI29mZnNldCxcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hUZXh0IHx8ICcnLFxuICAgICAgICBjb250aW51YXRpb25EYXRhOiB0aGlzLiNjb250aW51YXRpb25EYXRhLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgcHJvY2Vzc1Jlc3VsdHMocmVzdWx0KTtcblxuICAgICAgICB0aGlzLiNjb250aW51YXRpb25EYXRhID0gcmVzdWx0LmNvbnRpbnVhdGlvbkRhdGE7XG4gICAgICAgIHRoaXMuaGFzTW9yZUl0ZW1zID0gcmVzdWx0Lmhhc01vcmUgfHwgZmFsc2U7XG4gICAgICAgIHRoaXMuI29mZnNldCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRGlzcGxheWVkSXRlbXMoKTtcblxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2NhbmNlbEN1cnJlbnRTZWFyY2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRTZWFyY2hTdWIpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRTZWFyY2hTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuI2N1cnJlbnRTZWFyY2hTdWIgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmlzTG9hZGluZ01vcmUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNTZWFyY2hpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxza3ktbW9kYWxcbiAgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbFwiXG4gIFthdHRyLmlkXT1cImlkXCJcbiAgW25nQ2xhc3NdPVwiJ3NreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLScgKyBjb250ZXh0LnNlbGVjdE1vZGVcIlxuPlxuICA8c2t5LW1vZGFsLWhlYWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dC51c2VyQ29uZmlnPy50aXRsZTsgZWxzZSBkZWZhdWx0VGl0bGVcIj5cbiAgICAgIHt7IGNvbnRleHQudXNlckNvbmZpZy50aXRsZSB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NreS1tb2RhbC1oZWFkZXI+XG4gIDxza3ktbW9kYWwtY29udGVudFxuICAgIFtza3lWaWV3a2VlcGVyXT1cIlsnLnNreS1sb29rdXAtc2hvdy1tb3JlLXRvb2xiYXItd3JhcHBlciddXCJcbiAgPlxuICAgIDxza3ktd2FpdCBbaXNXYWl0aW5nXT1cImlzU2VhcmNoaW5nXCI+PC9za3ktd2FpdD5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWxvb2t1cC1zaG93LW1vcmUtdG9vbGJhci13cmFwcGVyXCI+XG4gICAgICA8c2t5LXRvb2xiYXIgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC10b29sYmFyXCI+XG4gICAgICAgIDxza3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgICAgPHNreS1zZWFyY2hcbiAgICAgICAgICAgICAgW2RlYm91bmNlVGltZV09XCIyNTBcIlxuICAgICAgICAgICAgICBbc2VhcmNoVGV4dF09XCJzZWFyY2hUZXh0XCJcbiAgICAgICAgICAgICAgKHNlYXJjaEFwcGx5KT1cInNlYXJjaEFwcGxpZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3NreS1zZWFyY2g+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29udGV4dC5zaG93QWRkQnV0dG9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtYWRkXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZEJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxza3ktaWNvblxuICAgICAgICAgICAgICAgICpza3lUaGVtZUlmPVwiJ21vZGVybidcIlxuICAgICAgICAgICAgICAgIGljb249XCJhZGRcIlxuICAgICAgICAgICAgICAgIGljb25UeXBlPVwic2t5dXhcIlxuICAgICAgICAgICAgICA+PC9za3ktaWNvbj5cbiAgICAgICAgICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cInBsdXMtY2lyY2xlXCI+PC9za3ktaWNvbj5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfYWRkJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDwvc2t5LXRvb2xiYXI+XG4gICAgICA8c2t5LXRvb2xiYXJcbiAgICAgICAgKm5nSWY9XCJjb250ZXh0LnNlbGVjdE1vZGUgPT09ICdtdWx0aXBsZSdcIlxuICAgICAgICBjbGFzcz1cInNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLW11bHRpc2VsZWN0LXRvb2xiYXJcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1zZWxlY3QtYWxsLWJ0blwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICdza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdF9hbGxfYnV0dG9uX3RpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktbG9va3VwLXNob3ctbW9yZS1tb2RhbC1jbGVhci1hbGwtYnRuXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGVhckFsbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlJ1xuICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgICAgICBbKGNoZWNrZWQpXT1cIm9ubHlTaG93U2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZURpc3BsYXllZEl0ZW1zKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZSdcbiAgICAgICAgICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L3NreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8L3NreS10b29sYmFyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiIWlzU2VhcmNoaW5nICYmIGRpc3BsYXllZEl0ZW1zLmxlbmd0aCA9PT0gMFwiXG4gICAgICBjbGFzcz1cInNreS1mb250LWRlZW1waGFzaXplZCBza3ktbG9va3VwLXNob3ctbW9yZS1uby1yZXN1bHRzXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9ub19yZXN1bHRzJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvZGl2PlxuICAgIDxza3ktcmVwZWF0ZXIgY2xhc3M9XCJza3ktbG9va3VwLXNob3ctbW9yZS1yZXBlYXRlclwiIGV4cGFuZE1vZGU9XCJub25lXCI+XG4gICAgICA8c2t5LXJlcGVhdGVyLWl0ZW1cbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkSXRlbXNcIlxuICAgICAgICBbaXNTZWxlY3RlZF09XCJcbiAgICAgICAgICBpdGVtW2NvbnRleHQuaWRQcm9wZXJ0eV1cbiAgICAgICAgICAgIHwgc2t5U2VsZWN0aW9uTW9kYWxJdGVtU2VsZWN0ZWQgOiBzZWxlY3RlZElkTWFwXG4gICAgICAgIFwiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ211bHRpcGxlJ1wiXG4gICAgICAgIChjbGljayk9XCJpdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgKGlzU2VsZWN0ZWRDaGFuZ2UpPVwib25JdGVtU2VsZWN0KCRldmVudCwgaXRlbSlcIlxuICAgICAgPlxuICAgICAgICA8c2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICByZXBlYXRlckl0ZW1UZW1wbGF0ZSA/PyBkZWZhdWx0SXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IGl0ZW06IGl0ZW0gfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudD5cbiAgICAgIDwvc2t5LXJlcGVhdGVyLWl0ZW0+XG4gICAgPC9za3ktcmVwZWF0ZXI+XG4gICAgPHNreS1pbmZpbml0ZS1zY3JvbGxcbiAgICAgIFtlbmFibGVkXT1cImhhc01vcmVJdGVtc1wiXG4gICAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdNb3JlXCJcbiAgICAgIChzY3JvbGxFbmQpPVwiaW5maW5pdGVTY3JvbGxFbmQoKVwiXG4gICAgPlxuICAgIDwvc2t5LWluZmluaXRlLXNjcm9sbD5cbiAgPC9za3ktbW9kYWwtY29udGVudD5cbiAgPHNreS1tb2RhbC1mb290ZXI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeSBza3ktbWFyZ2luLWlubGluZS1jb21wYWN0IHNreS1sb29rdXAtc2hvdy1tb3JlLW1vZGFsLXNhdmVcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNTZWFyY2hpbmdcIlxuICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0JyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWxvb2t1cC1zaG93LW1vcmUtbW9kYWwtY2xvc2VcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwibW9kYWxJbnN0YW5jZS5jbG9zZSgpXCJcbiAgICA+XG4gICAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jYW5jZWwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgPC9idXR0b24+XG4gIDwvc2t5LW1vZGFsLWZvb3Rlcj5cbjwvc2t5LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2RlZmF1bHRJdGVtVGVtcGxhdGU+XG4gIHt7IGl0ZW1bY29udGV4dC5kZXNjcmlwdG9yUHJvcGVydHldIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRUaXRsZT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQuc2VsZWN0TW9kZSA9PT0gJ3NpbmdsZSdcIj5cbiAgICB7eyAnc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9tb2RhbF90aXRsZV9zaW5nbGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGV4dC5zZWxlY3RNb2RlID09PSAnbXVsdGlwbGUnXCI+XG4gICAge3sgJ3NreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfbXVsdGlwbGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
var _SkySelectionModalService_modalSvc;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { SkySelectionModalComponent } from './selection-modal.component';
|
|
6
|
-
import { SkySelectionModalContext } from './types/selection-modal-context';
|
|
7
|
-
import { SkySelectionModalInstance } from './types/selection-modal-instance';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@skyux/modals";
|
|
10
|
-
/**
|
|
11
|
-
* Displays a modal for selecting one or more values.
|
|
12
|
-
*/
|
|
13
|
-
export class SkySelectionModalService {
|
|
14
|
-
constructor(modalSvc) {
|
|
15
|
-
_SkySelectionModalService_modalSvc.set(this, void 0);
|
|
16
|
-
__classPrivateFieldSet(this, _SkySelectionModalService_modalSvc, modalSvc, "f");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Opens the selection modal.
|
|
20
|
-
* @param args Parameters for the selection modal.
|
|
21
|
-
*/
|
|
22
|
-
open(args) {
|
|
23
|
-
const initialValue = args.value;
|
|
24
|
-
const context = new SkySelectionModalContext(args.descriptorProperty, args.idProperty, args.initialSearch || '', initialValue || [], (searchArgs) => {
|
|
25
|
-
return args.searchAsync({
|
|
26
|
-
offset: searchArgs.offset,
|
|
27
|
-
searchText: searchArgs.searchText,
|
|
28
|
-
continuationData: searchArgs.continuationData,
|
|
29
|
-
});
|
|
30
|
-
}, args.selectMode, args.showAddButton || false, {
|
|
31
|
-
itemTemplate: args.itemTemplate,
|
|
32
|
-
title: args.title,
|
|
33
|
-
});
|
|
34
|
-
const modalInstance = __classPrivateFieldGet(this, _SkySelectionModalService_modalSvc, "f").open(SkySelectionModalComponent, {
|
|
35
|
-
providers: [
|
|
36
|
-
{
|
|
37
|
-
provide: SkySelectionModalContext,
|
|
38
|
-
useValue: context,
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
size: 'large',
|
|
42
|
-
wrapperClass: args.wrapperClass,
|
|
43
|
-
});
|
|
44
|
-
const instance = new SkySelectionModalInstance(modalInstance.componentInstance.id);
|
|
45
|
-
instance.itemAdded
|
|
46
|
-
.pipe(takeUntil(modalInstance.closed))
|
|
47
|
-
.subscribe((item) => {
|
|
48
|
-
modalInstance.componentInstance.addItem(item);
|
|
49
|
-
});
|
|
50
|
-
modalInstance.closed.subscribe((modalCloseArgs) => {
|
|
51
|
-
let closeArgs;
|
|
52
|
-
switch (modalCloseArgs.reason) {
|
|
53
|
-
case 'save':
|
|
54
|
-
closeArgs = {
|
|
55
|
-
reason: 'save',
|
|
56
|
-
selectedItems: modalCloseArgs.data.map((item) => item.itemData),
|
|
57
|
-
};
|
|
58
|
-
break;
|
|
59
|
-
case 'cancel':
|
|
60
|
-
closeArgs = { reason: 'cancel' };
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
closeArgs = { reason: 'close' };
|
|
64
|
-
}
|
|
65
|
-
instance.close(closeArgs);
|
|
66
|
-
});
|
|
67
|
-
const selectionModal = modalInstance.componentInstance;
|
|
68
|
-
selectionModal.addClick
|
|
69
|
-
.pipe(takeUntil(modalInstance.closed))
|
|
70
|
-
.subscribe(() => {
|
|
71
|
-
if (args.addClick) {
|
|
72
|
-
const addArgs = {
|
|
73
|
-
itemAdded(args) {
|
|
74
|
-
selectionModal.addItem(args.item);
|
|
75
|
-
},
|
|
76
|
-
};
|
|
77
|
-
args.addClick(addArgs);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
return instance;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
_SkySelectionModalService_modalSvc = new WeakMap();
|
|
84
|
-
SkySelectionModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySelectionModalService, deps: [{ token: i1.SkyModalService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
-
SkySelectionModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySelectionModalService, providedIn: 'any' });
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkySelectionModalService, decorators: [{
|
|
87
|
-
type: Injectable,
|
|
88
|
-
args: [{
|
|
89
|
-
providedIn: 'any',
|
|
90
|
-
}]
|
|
91
|
-
}], ctorParameters: function () { return [{ type: i1.SkyModalService }]; } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbG9va3VwL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Rpb24tbW9kYWwvc2VsZWN0aW9uLW1vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRzdFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFZLFFBQXlCO1FBRnJDLHFEQUEyQjtRQUd6Qix1QkFBQSxJQUFJLHNDQUFhLFFBQVEsTUFBQSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBK0I7UUFDekMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUMxQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQ3hCLFlBQVksSUFBSSxFQUFFLEVBQ2xCLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQzlDLENBQWlELENBQUM7UUFDckQsQ0FBQyxFQUNELElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLEVBQzNCO1lBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUNGLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyx1QkFBQSxJQUFJLDBDQUFVLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3BFLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsd0JBQXdCO29CQUNqQyxRQUFRLEVBQUUsT0FBTztpQkFDbEI7YUFDRjtZQUNELElBQUksRUFBRSxPQUFPO1lBQ2IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUkseUJBQXlCLENBQzVDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQ25DLENBQUM7UUFFRixRQUFRLENBQUMsU0FBUzthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxpQkFBZ0QsQ0FBQyxPQUFPLENBQ3JFLElBQUksQ0FDTCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFTCxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ2hELElBQUksU0FBcUMsQ0FBQztZQUUxQyxRQUFRLGNBQWMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzdCLEtBQUssTUFBTTtvQkFDVCxTQUFTLEdBQUc7d0JBQ1YsTUFBTSxFQUFFLE1BQU07d0JBQ2QsYUFBYSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNwQyxDQUFDLElBQTJCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQy9DO3FCQUNGLENBQUM7b0JBQ0YsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsU0FBUyxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNO2dCQUNSO29CQUNFLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUNuQztZQUVELFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FDbEIsYUFBYSxDQUFDLGlCQUErQyxDQUFDO1FBRWhFLGNBQWMsQ0FBQyxRQUFRO2FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLE1BQU0sT0FBTyxHQUF1QztvQkFDbEQsU0FBUyxDQUFDLElBQUk7d0JBQ1osY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3BDLENBQUM7aUJBQ0YsQ0FBQztnQkFFRixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzs7cUhBakdVLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLEtBQUs7MkZBRU4sd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU1vZGFsU2VydmljZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUF1dG9jb21wbGV0ZVNlYXJjaEFzeW5jUmVzdWx0IH0gZnJvbSAnLi4vYXV0b2NvbXBsZXRlL3R5cGVzL2F1dG9jb21wbGV0ZS1zZWFyY2gtYXN5bmMtcmVzdWx0JztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxBZGRDbGlja0V2ZW50QXJncyB9IGZyb20gJy4vdHlwZXMvc2VsZWN0aW9uLW1vZGFsLWFkZC1jbGljay1ldmVudC1hcmdzJztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtY2xvc2UtYXJncyc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbENvbnRleHQgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1jb250ZXh0JztcbmltcG9ydCB7IFNreVNlbGVjdGlvbk1vZGFsSW5zdGFuY2UgfSBmcm9tICcuL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1pbnN0YW5jZSc7XG5pbXBvcnQgeyBTa3lTZWxlY3Rpb25Nb2RhbE9wZW5BcmdzIH0gZnJvbSAnLi90eXBlcy9zZWxlY3Rpb24tbW9kYWwtb3Blbi1hcmdzJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhIG1vZGFsIGZvciBzZWxlY3Rpbmcgb25lIG9yIG1vcmUgdmFsdWVzLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdhbnknLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTZWxlY3Rpb25Nb2RhbFNlcnZpY2Uge1xuICAjbW9kYWxTdmM6IFNreU1vZGFsU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihtb2RhbFN2YzogU2t5TW9kYWxTZXJ2aWNlKSB7XG4gICAgdGhpcy4jbW9kYWxTdmMgPSBtb2RhbFN2YztcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKiBAcGFyYW0gYXJncyBQYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICAgKi9cbiAgcHVibGljIG9wZW4oYXJnczogU2t5U2VsZWN0aW9uTW9kYWxPcGVuQXJncyk6IFNreVNlbGVjdGlvbk1vZGFsSW5zdGFuY2Uge1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGFyZ3MudmFsdWU7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreVNlbGVjdGlvbk1vZGFsQ29udGV4dChcbiAgICAgIGFyZ3MuZGVzY3JpcHRvclByb3BlcnR5LFxuICAgICAgYXJncy5pZFByb3BlcnR5LFxuICAgICAgYXJncy5pbml0aWFsU2VhcmNoIHx8ICcnLFxuICAgICAgaW5pdGlhbFZhbHVlIHx8IFtdLFxuICAgICAgKHNlYXJjaEFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIGFyZ3Muc2VhcmNoQXN5bmMoe1xuICAgICAgICAgIG9mZnNldDogc2VhcmNoQXJncy5vZmZzZXQsXG4gICAgICAgICAgc2VhcmNoVGV4dDogc2VhcmNoQXJncy5zZWFyY2hUZXh0LFxuICAgICAgICAgIGNvbnRpbnVhdGlvbkRhdGE6IHNlYXJjaEFyZ3MuY29udGludWF0aW9uRGF0YSxcbiAgICAgICAgfSkgYXMgT2JzZXJ2YWJsZTxTa3lBdXRvY29tcGxldGVTZWFyY2hBc3luY1Jlc3VsdD47XG4gICAgICB9LFxuICAgICAgYXJncy5zZWxlY3RNb2RlLFxuICAgICAgYXJncy5zaG93QWRkQnV0dG9uIHx8IGZhbHNlLFxuICAgICAge1xuICAgICAgICBpdGVtVGVtcGxhdGU6IGFyZ3MuaXRlbVRlbXBsYXRlLFxuICAgICAgICB0aXRsZTogYXJncy50aXRsZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU3ZjLm9wZW4oU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogU2t5U2VsZWN0aW9uTW9kYWxDb250ZXh0LFxuICAgICAgICAgIHVzZVZhbHVlOiBjb250ZXh0LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICB3cmFwcGVyQ2xhc3M6IGFyZ3Mud3JhcHBlckNsYXNzLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZShcbiAgICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UuaWRcbiAgICApO1xuXG4gICAgaW5zdGFuY2UuaXRlbUFkZGVkXG4gICAgICAucGlwZSh0YWtlVW50aWwobW9kYWxJbnN0YW5jZS5jbG9zZWQpKVxuICAgICAgLnN1YnNjcmliZSgoaXRlbSkgPT4ge1xuICAgICAgICAobW9kYWxJbnN0YW5jZS5jb21wb25lbnRJbnN0YW5jZSBhcyBTa3lTZWxlY3Rpb25Nb2RhbENvbXBvbmVudCkuYWRkSXRlbShcbiAgICAgICAgICBpdGVtXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgobW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgIGxldCBjbG9zZUFyZ3M6IFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzO1xuXG4gICAgICBzd2l0Y2ggKG1vZGFsQ2xvc2VBcmdzLnJlYXNvbikge1xuICAgICAgICBjYXNlICdzYXZlJzpcbiAgICAgICAgICBjbG9zZUFyZ3MgPSB7XG4gICAgICAgICAgICByZWFzb246ICdzYXZlJyxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IG1vZGFsQ2xvc2VBcmdzLmRhdGEubWFwKFxuICAgICAgICAgICAgICAoaXRlbTogeyBpdGVtRGF0YTogdW5rbm93biB9KSA9PiBpdGVtLml0ZW1EYXRhXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NhbmNlbCc6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjYW5jZWwnIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgY2xvc2VBcmdzID0geyByZWFzb246ICdjbG9zZScgfTtcbiAgICAgIH1cblxuICAgICAgaW5zdGFuY2UuY2xvc2UoY2xvc2VBcmdzKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlbGVjdGlvbk1vZGFsID1cbiAgICAgIG1vZGFsSW5zdGFuY2UuY29tcG9uZW50SW5zdGFuY2UgYXMgU2t5U2VsZWN0aW9uTW9kYWxDb21wb25lbnQ7XG5cbiAgICBzZWxlY3Rpb25Nb2RhbC5hZGRDbGlja1xuICAgICAgLnBpcGUodGFrZVVudGlsKG1vZGFsSW5zdGFuY2UuY2xvc2VkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoYXJncy5hZGRDbGljaykge1xuICAgICAgICAgIGNvbnN0IGFkZEFyZ3M6IFNreVNlbGVjdGlvbk1vZGFsQWRkQ2xpY2tFdmVudEFyZ3MgPSB7XG4gICAgICAgICAgICBpdGVtQWRkZWQoYXJncykge1xuICAgICAgICAgICAgICBzZWxlY3Rpb25Nb2RhbC5hZGRJdGVtKGFyZ3MuaXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBhcmdzLmFkZENsaWNrKGFkZEFyZ3MpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
var _SkySelectionModalInstance_closed, _SkySelectionModalInstance_closedObs, _SkySelectionModalInstance_itemAdded, _SkySelectionModalInstance_itemAddedObs;
|
|
2
|
-
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
/**
|
|
5
|
-
* Represents an instance of a selection modal.
|
|
6
|
-
*/
|
|
7
|
-
export class SkySelectionModalInstance {
|
|
8
|
-
/**
|
|
9
|
-
* An event that the selection modal instance emits when it closes.
|
|
10
|
-
* It emits a `SkySelectionModalCloseArgs` object with a `selectedItems` property that includes
|
|
11
|
-
* items selected by users on close or save and a `reason` property that indicates
|
|
12
|
-
* whether the selection modal was saved or closed without saving.
|
|
13
|
-
* The `reason` property accepts `"cancel"`, `"close"`, and `"save"`.
|
|
14
|
-
*/
|
|
15
|
-
get closed() {
|
|
16
|
-
return __classPrivateFieldGet(this, _SkySelectionModalInstance_closedObs, "f");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
get itemAdded() {
|
|
22
|
-
return __classPrivateFieldGet(this, _SkySelectionModalInstance_itemAddedObs, "f");
|
|
23
|
-
}
|
|
24
|
-
constructor(id) {
|
|
25
|
-
_SkySelectionModalInstance_closed.set(this, new Subject());
|
|
26
|
-
_SkySelectionModalInstance_closedObs.set(this, void 0);
|
|
27
|
-
_SkySelectionModalInstance_itemAdded.set(this, new Subject());
|
|
28
|
-
_SkySelectionModalInstance_itemAddedObs.set(this, void 0);
|
|
29
|
-
this.id = id;
|
|
30
|
-
__classPrivateFieldSet(this, _SkySelectionModalInstance_closedObs, __classPrivateFieldGet(this, _SkySelectionModalInstance_closed, "f").asObservable(), "f");
|
|
31
|
-
__classPrivateFieldSet(this, _SkySelectionModalInstance_itemAddedObs, __classPrivateFieldGet(this, _SkySelectionModalInstance_itemAdded, "f").asObservable(), "f");
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* @internal
|
|
35
|
-
*/
|
|
36
|
-
close(args) {
|
|
37
|
-
__classPrivateFieldGet(this, _SkySelectionModalInstance_closed, "f").next(args);
|
|
38
|
-
__classPrivateFieldGet(this, _SkySelectionModalInstance_closed, "f").complete();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @internal
|
|
42
|
-
*/
|
|
43
|
-
addItem(itemToAdd) {
|
|
44
|
-
__classPrivateFieldGet(this, _SkySelectionModalInstance_itemAdded, "f").next(itemToAdd);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
_SkySelectionModalInstance_closed = new WeakMap(), _SkySelectionModalInstance_closedObs = new WeakMap(), _SkySelectionModalInstance_itemAdded = new WeakMap(), _SkySelectionModalInstance_itemAddedObs = new WeakMap();
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGFsLWluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2VsZWN0aW9uLW1vZGFsL3R5cGVzL3NlbGVjdGlvbi1tb2RhbC1pbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJM0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDOzs7Ozs7T0FNRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sdUJBQUEsSUFBSSw0Q0FBVyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLHVCQUFBLElBQUksK0NBQWMsQ0FBQztJQUM1QixDQUFDO0lBWUQsWUFBWSxFQUFVO1FBTHRCLDRDQUFVLElBQUksT0FBTyxFQUE4QixFQUFDO1FBQ3BELHVEQUFtRDtRQUNuRCwrQ0FBYSxJQUFJLE9BQU8sRUFBVyxFQUFDO1FBQ3BDLDBEQUFtQztRQUdqQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUViLHVCQUFBLElBQUksd0NBQWMsdUJBQUEsSUFBSSx5Q0FBUSxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7UUFDOUMsdUJBQUEsSUFBSSwyQ0FBaUIsdUJBQUEsSUFBSSw0Q0FBVyxDQUFDLFlBQVksRUFBRSxNQUFBLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQWdDO1FBQzNDLHVCQUFBLElBQUkseUNBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsdUJBQUEsSUFBSSx5Q0FBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU8sQ0FBQyxTQUFrQjtRQUMvQix1QkFBQSxJQUFJLDRDQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5U2VsZWN0aW9uTW9kYWxDbG9zZUFyZ3MgfSBmcm9tICcuL3NlbGVjdGlvbi1tb2RhbC1jbG9zZS1hcmdzJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGluc3RhbmNlIG9mIGEgc2VsZWN0aW9uIG1vZGFsLlxuICovXG5leHBvcnQgY2xhc3MgU2t5U2VsZWN0aW9uTW9kYWxJbnN0YW5jZSB7XG4gIC8qKlxuICAgKiBBbiBldmVudCB0aGF0IHRoZSBzZWxlY3Rpb24gbW9kYWwgaW5zdGFuY2UgZW1pdHMgd2hlbiBpdCBjbG9zZXMuXG4gICAqIEl0IGVtaXRzIGEgYFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzYCBvYmplY3Qgd2l0aCBhIGBzZWxlY3RlZEl0ZW1zYCBwcm9wZXJ0eSB0aGF0IGluY2x1ZGVzXG4gICAqIGl0ZW1zIHNlbGVjdGVkIGJ5IHVzZXJzIG9uIGNsb3NlIG9yIHNhdmUgYW5kIGEgYHJlYXNvbmAgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXNcbiAgICogd2hldGhlciB0aGUgc2VsZWN0aW9uIG1vZGFsIHdhcyBzYXZlZCBvciBjbG9zZWQgd2l0aG91dCBzYXZpbmcuXG4gICAqIFRoZSBgcmVhc29uYCBwcm9wZXJ0eSBhY2NlcHRzIGBcImNhbmNlbFwiYCwgYFwiY2xvc2VcImAsIGFuZCBgXCJzYXZlXCJgLlxuICAgKi9cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTxTa3lTZWxlY3Rpb25Nb2RhbENsb3NlQXJncz4ge1xuICAgIHJldHVybiB0aGlzLiNjbG9zZWRPYnM7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGl0ZW1BZGRlZCgpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy4jaXRlbUFkZGVkT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgI2Nsb3NlZCA9IG5ldyBTdWJqZWN0PFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzPigpO1xuICAjY2xvc2VkT2JzOiBPYnNlcnZhYmxlPFNreVNlbGVjdGlvbk1vZGFsQ2xvc2VBcmdzPjtcbiAgI2l0ZW1BZGRlZCA9IG5ldyBTdWJqZWN0PHVua25vd24+KCk7XG4gICNpdGVtQWRkZWRPYnM6IE9ic2VydmFibGU8dW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuaWQgPSBpZDtcblxuICAgIHRoaXMuI2Nsb3NlZE9icyA9IHRoaXMuI2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNpdGVtQWRkZWRPYnMgPSB0aGlzLiNpdGVtQWRkZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY2xvc2UoYXJnczogU2t5U2VsZWN0aW9uTW9kYWxDbG9zZUFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLiNjbG9zZWQubmV4dChhcmdzKTtcbiAgICB0aGlzLiNjbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhZGRJdGVtKGl0ZW1Ub0FkZDogdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMuI2l0ZW1BZGRlZC5uZXh0KGl0ZW1Ub0FkZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* NOTICE: DO NOT MODIFY THIS FILE!
|
|
3
|
-
* The contents of this file were automatically generated by
|
|
4
|
-
* the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-lookup' schematic.
|
|
5
|
-
* To update this file, simply rerun the command.
|
|
6
|
-
*/
|
|
7
|
-
import { NgModule } from '@angular/core';
|
|
8
|
-
import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
const RESOURCES = {
|
|
11
|
-
'EN-US': {
|
|
12
|
-
skyux_autocomplete_add: { message: 'New' },
|
|
13
|
-
skyux_autocomplete_no_results: { message: 'No matches found' },
|
|
14
|
-
skyux_autocomplete_show_all: { message: 'Show all' },
|
|
15
|
-
skyux_autocomplete_show_all_count: { message: 'Show all {0}' },
|
|
16
|
-
skyux_autocomplete_show_matches_count: { message: 'Show matches ({0})' },
|
|
17
|
-
skyux_country_field_search_placeholder: { message: 'Search for a country' },
|
|
18
|
-
skyux_lookup_search_button_show_more: {
|
|
19
|
-
message: 'Show all search results',
|
|
20
|
-
},
|
|
21
|
-
skyux_lookup_show_more_add: { message: 'New' },
|
|
22
|
-
skyux_lookup_show_more_select_all_button_title: { message: 'Select all' },
|
|
23
|
-
skyux_lookup_show_more_clear_all_button_title: { message: 'Clear all' },
|
|
24
|
-
skyux_lookup_show_more_show_selected_option_title: {
|
|
25
|
-
message: 'Show only selected items',
|
|
26
|
-
},
|
|
27
|
-
skyux_lookup_show_more_cancel: { message: 'Cancel' },
|
|
28
|
-
skyux_lookup_show_more_modal_title_single: { message: 'Select an option' },
|
|
29
|
-
skyux_lookup_show_more_modal_title_multiple: { message: 'Select options' },
|
|
30
|
-
skyux_lookup_show_more_no_results: { message: 'No matches found' },
|
|
31
|
-
skyux_lookup_show_more_select: { message: 'Select' },
|
|
32
|
-
skyux_lookup_tokens_summary: { message: '{0} items selected' },
|
|
33
|
-
skyux_search_dismiss: { message: 'Dismiss search' },
|
|
34
|
-
skyux_search_label: { message: 'Search items' },
|
|
35
|
-
skyux_search_open: { message: 'Open search' },
|
|
36
|
-
skyux_search_placeholder: { message: 'Find in this list' },
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
export class SkyLookupResourcesProvider {
|
|
40
|
-
getString(localeInfo, name) {
|
|
41
|
-
return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Import into any component library module that needs to use resource strings.
|
|
46
|
-
*/
|
|
47
|
-
export class SkyLookupResourcesModule {
|
|
48
|
-
}
|
|
49
|
-
SkyLookupResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLookupResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
50
|
-
SkyLookupResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyLookupResourcesModule, exports: [SkyI18nModule] });
|
|
51
|
-
SkyLookupResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLookupResourcesModule, providers: [
|
|
52
|
-
{
|
|
53
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
54
|
-
useClass: SkyLookupResourcesProvider,
|
|
55
|
-
multi: true,
|
|
56
|
-
},
|
|
57
|
-
], imports: [SkyI18nModule] });
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyLookupResourcesModule, decorators: [{
|
|
59
|
-
type: NgModule,
|
|
60
|
-
args: [{
|
|
61
|
-
exports: [SkyI18nModule],
|
|
62
|
-
providers: [
|
|
63
|
-
{
|
|
64
|
-
provide: SKY_LIB_RESOURCES_PROVIDERS,
|
|
65
|
-
useClass: SkyLookupResourcesProvider,
|
|
66
|
-
multi: true,
|
|
67
|
-
},
|
|
68
|
-
],
|
|
69
|
-
}]
|
|
70
|
-
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxvb2t1cC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xvb2t1cC9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1sb29rdXAtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1Asc0JBQXNCLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO1FBQzFDLDZCQUE2QixFQUFFLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFO1FBQzlELDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUNwRCxpQ0FBaUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUU7UUFDOUQscUNBQXFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7UUFDeEUsc0NBQXNDLEVBQUUsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUU7UUFDM0Usb0NBQW9DLEVBQUU7WUFDcEMsT0FBTyxFQUFFLHlCQUF5QjtTQUNuQztRQUNELDBCQUEwQixFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUM5Qyw4Q0FBOEMsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDekUsNkNBQTZDLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ3ZFLGlEQUFpRCxFQUFFO1lBQ2pELE9BQU8sRUFBRSwwQkFBMEI7U0FDcEM7UUFDRCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQseUNBQXlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUU7UUFDMUUsMkNBQTJDLEVBQUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUU7UUFDMUUsaUNBQWlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUU7UUFDbEUsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ3BELDJCQUEyQixFQUFFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFO1FBQzlELG9CQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFO1FBQ25ELGtCQUFrQixFQUFFLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRTtRQUMvQyxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7UUFDN0Msd0JBQXdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7S0FDM0Q7Q0FDRixDQUFDO0FBRUYsTUFBTSxPQUFPLDBCQUEwQjtJQUM5QixTQUFTLENBQ2QsVUFBNEIsRUFDNUIsSUFBWTtRQUVaLE9BQU8scUJBQXFCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sd0JBQXdCOztxSEFBeEIsd0JBQXdCO3NIQUF4Qix3QkFBd0IsWUFUekIsYUFBYTtzSEFTWix3QkFBd0IsYUFSeEI7UUFDVDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsWUFQUyxhQUFhOzJGQVNaLHdCQUF3QjtrQkFWcEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsMEJBQTBCOzRCQUNwQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTk9USUNFOiBETyBOT1QgTU9ESUZZIFRISVMgRklMRSFcbiAqIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieVxuICogdGhlICduZyBnZW5lcmF0ZSBAc2t5dXgvaTE4bjpsaWItcmVzb3VyY2VzLW1vZHVsZSBsaWIvbW9kdWxlcy9zaGFyZWQvc2t5LWxvb2t1cCcgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBnZXRMaWJTdHJpbmdGb3JMb2NhbGUsXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuY29uc3QgUkVTT1VSQ0VTOiB7IFtsb2NhbGU6IHN0cmluZ106IFNreUxpYlJlc291cmNlcyB9ID0ge1xuICAnRU4tVVMnOiB7XG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX2FkZDogeyBtZXNzYWdlOiAnTmV3JyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9ub19yZXN1bHRzOiB7IG1lc3NhZ2U6ICdObyBtYXRjaGVzIGZvdW5kJyB9LFxuICAgIHNreXV4X2F1dG9jb21wbGV0ZV9zaG93X2FsbDogeyBtZXNzYWdlOiAnU2hvdyBhbGwnIH0sXG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX3Nob3dfYWxsX2NvdW50OiB7IG1lc3NhZ2U6ICdTaG93IGFsbCB7MH0nIH0sXG4gICAgc2t5dXhfYXV0b2NvbXBsZXRlX3Nob3dfbWF0Y2hlc19jb3VudDogeyBtZXNzYWdlOiAnU2hvdyBtYXRjaGVzICh7MH0pJyB9LFxuICAgIHNreXV4X2NvdW50cnlfZmllbGRfc2VhcmNoX3BsYWNlaG9sZGVyOiB7IG1lc3NhZ2U6ICdTZWFyY2ggZm9yIGEgY291bnRyeScgfSxcbiAgICBza3l1eF9sb29rdXBfc2VhcmNoX2J1dHRvbl9zaG93X21vcmU6IHtcbiAgICAgIG1lc3NhZ2U6ICdTaG93IGFsbCBzZWFyY2ggcmVzdWx0cycsXG4gICAgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX2FkZDogeyBtZXNzYWdlOiAnTmV3JyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfc2VsZWN0X2FsbF9idXR0b25fdGl0bGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBhbGwnIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9jbGVhcl9hbGxfYnV0dG9uX3RpdGxlOiB7IG1lc3NhZ2U6ICdDbGVhciBhbGwnIH0sXG4gICAgc2t5dXhfbG9va3VwX3Nob3dfbW9yZV9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZToge1xuICAgICAgbWVzc2FnZTogJ1Nob3cgb25seSBzZWxlY3RlZCBpdGVtcycsXG4gICAgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX2NhbmNlbDogeyBtZXNzYWdlOiAnQ2FuY2VsJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfc2luZ2xlOiB7IG1lc3NhZ2U6ICdTZWxlY3QgYW4gb3B0aW9uJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbW9kYWxfdGl0bGVfbXVsdGlwbGU6IHsgbWVzc2FnZTogJ1NlbGVjdCBvcHRpb25zJyB9LFxuICAgIHNreXV4X2xvb2t1cF9zaG93X21vcmVfbm9fcmVzdWx0czogeyBtZXNzYWdlOiAnTm8gbWF0Y2hlcyBmb3VuZCcgfSxcbiAgICBza3l1eF9sb29rdXBfc2hvd19tb3JlX3NlbGVjdDogeyBtZXNzYWdlOiAnU2VsZWN0JyB9LFxuICAgIHNreXV4X2xvb2t1cF90b2tlbnNfc3VtbWFyeTogeyBtZXNzYWdlOiAnezB9IGl0ZW1zIHNlbGVjdGVkJyB9LFxuICAgIHNreXV4X3NlYXJjaF9kaXNtaXNzOiB7IG1lc3NhZ2U6ICdEaXNtaXNzIHNlYXJjaCcgfSxcbiAgICBza3l1eF9zZWFyY2hfbGFiZWw6IHsgbWVzc2FnZTogJ1NlYXJjaCBpdGVtcycgfSxcbiAgICBza3l1eF9zZWFyY2hfb3BlbjogeyBtZXNzYWdlOiAnT3BlbiBzZWFyY2gnIH0sXG4gICAgc2t5dXhfc2VhcmNoX3BsYWNlaG9sZGVyOiB7IG1lc3NhZ2U6ICdGaW5kIGluIHRoaXMgbGlzdCcgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTa3lMb29rdXBSZXNvdXJjZXNQcm92aWRlciBpbXBsZW1lbnRzIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyIHtcbiAgcHVibGljIGdldFN0cmluZyhcbiAgICBsb2NhbGVJbmZvOiBTa3lBcHBMb2NhbGVJbmZvLFxuICAgIG5hbWU6IHN0cmluZ1xuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBnZXRMaWJTdHJpbmdGb3JMb2NhbGUoUkVTT1VSQ0VTLCBsb2NhbGVJbmZvLmxvY2FsZSwgbmFtZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBvcnQgaW50byBhbnkgY29tcG9uZW50IGxpYnJhcnkgbW9kdWxlIHRoYXQgbmVlZHMgdG8gdXNlIHJlc291cmNlIHN0cmluZ3MuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtTa3lJMThuTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogU0tZX0xJQl9SRVNPVVJDRVNfUFJPVklERVJTLFxuICAgICAgdXNlQ2xhc3M6IFNreUxvb2t1cFJlc291cmNlc1Byb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TG9va3VwUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=
|