angular-slickgrid 3.2.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -28
- package/angular-slickgrid.d.ts +1 -3
- package/app/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +8 -4
- package/app/modules/angular-slickgrid/extensions/index.d.ts +1 -1
- package/app/modules/angular-slickgrid/extensions/{rowDetailViewExtension.d.ts → slickRowDetailView.d.ts} +40 -27
- package/app/modules/angular-slickgrid/index.d.ts +1 -1
- package/app/modules/angular-slickgrid/models/angularGridInstance.interface.d.ts +1 -1
- package/app/modules/angular-slickgrid/modules/angular-slickgrid.module.d.ts +7 -0
- package/app/modules/angular-slickgrid/services/angularUtil.service.d.ts +3 -0
- package/app/modules/angular-slickgrid/services/bsDropdown.service.d.ts +3 -0
- package/app/modules/angular-slickgrid/services/container.service.d.ts +3 -0
- package/app/modules/angular-slickgrid/services/translater.service.d.ts +3 -0
- package/docs/assets/lib/multiple-select/README.md +17 -0
- package/esm2020/angular-slickgrid.mjs +5 -0
- package/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +1168 -0
- package/{esm2015/app/modules/angular-slickgrid/constants.js → esm2020/app/modules/angular-slickgrid/constants.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/extensions/index.js → esm2020/app/modules/angular-slickgrid/extensions/index.mjs} +2 -2
- package/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +301 -0
- package/esm2020/app/modules/angular-slickgrid/global-grid-options.mjs +243 -0
- package/{esm2015/app/modules/angular-slickgrid/index.js → esm2020/app/modules/angular-slickgrid/index.mjs} +2 -2
- package/{esm2015/app/modules/angular-slickgrid/models/angularComponentOutput.interface.js → esm2020/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs} +0 -0
- package/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +2 -0
- package/{esm2015/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.js → esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/models/gridOption.interface.js → esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/models/index.js → esm2020/app/modules/angular-slickgrid/models/index.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/models/rowDetailView.interface.js → esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/models/slickGrid.interface.js → esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs} +0 -0
- package/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +46 -0
- package/esm2020/app/modules/angular-slickgrid/services/angularUtil.service.mjs +46 -0
- package/esm2020/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +103 -0
- package/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +26 -0
- package/{esm2015/app/modules/angular-slickgrid/services/index.js → esm2020/app/modules/angular-slickgrid/services/index.mjs} +0 -0
- package/esm2020/app/modules/angular-slickgrid/services/translater.service.mjs +43 -0
- package/{esm2015/app/modules/angular-slickgrid/services/utilities.js → esm2020/app/modules/angular-slickgrid/services/utilities.mjs} +0 -0
- package/{esm2015/app/modules/angular-slickgrid/slickgrid-config.js → esm2020/app/modules/angular-slickgrid/slickgrid-config.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/{angular-slickgrid.js → angular-slickgrid.mjs} +247 -279
- package/fesm2015/angular-slickgrid.mjs.map +1 -0
- package/fesm2020/angular-slickgrid.mjs +2065 -0
- package/fesm2020/angular-slickgrid.mjs.map +1 -0
- package/package.json +41 -23
- package/angular-slickgrid.metadata.json +0 -1
- package/bundles/angular-slickgrid.umd.js +0 -2642
- package/bundles/angular-slickgrid.umd.js.map +0 -1
- package/esm2015/angular-slickgrid.js +0 -7
- package/esm2015/app/modules/angular-slickgrid/components/angular-slickgrid.component.js +0 -1202
- package/esm2015/app/modules/angular-slickgrid/extensions/rowDetailViewExtension.js +0 -342
- package/esm2015/app/modules/angular-slickgrid/global-grid-options.js +0 -243
- package/esm2015/app/modules/angular-slickgrid/models/angularGridInstance.interface.js +0 -2
- package/esm2015/app/modules/angular-slickgrid/modules/angular-slickgrid.module.js +0 -37
- package/esm2015/app/modules/angular-slickgrid/services/angularUtil.service.js +0 -48
- package/esm2015/app/modules/angular-slickgrid/services/bsDropdown.service.js +0 -103
- package/esm2015/app/modules/angular-slickgrid/services/container.service.js +0 -24
- package/esm2015/app/modules/angular-slickgrid/services/translater.service.js +0 -47
- package/fesm2015/angular-slickgrid.js.map +0 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { DelimiterType, EventNamingStyle, FileType, Filters, OperatorType } from '@slickgrid-universal/common';
|
|
2
|
+
/** Global Grid Options Defaults */
|
|
3
|
+
export const GlobalGridOptions = {
|
|
4
|
+
alwaysShowVerticalScroll: true,
|
|
5
|
+
autoEdit: false,
|
|
6
|
+
asyncEditorLoading: false,
|
|
7
|
+
autoFitColumnsOnFirstLoad: true,
|
|
8
|
+
autoResize: {
|
|
9
|
+
applyResizeToContainer: true,
|
|
10
|
+
calculateAvailableSizeBy: 'window',
|
|
11
|
+
bottomPadding: 20,
|
|
12
|
+
minHeight: 180,
|
|
13
|
+
minWidth: 300,
|
|
14
|
+
rightPadding: 0
|
|
15
|
+
},
|
|
16
|
+
cellHighlightCssClass: 'slick-cell-modified',
|
|
17
|
+
checkboxSelector: {
|
|
18
|
+
cssClass: 'slick-cell-checkboxsel'
|
|
19
|
+
},
|
|
20
|
+
columnPicker: {
|
|
21
|
+
fadeSpeed: 0,
|
|
22
|
+
hideForceFitButton: false,
|
|
23
|
+
hideSyncResizeButton: true,
|
|
24
|
+
headerColumnValueExtractor: pickerHeaderColumnValueExtractor
|
|
25
|
+
},
|
|
26
|
+
cellMenu: {
|
|
27
|
+
autoAdjustDrop: true,
|
|
28
|
+
autoAlignSide: true,
|
|
29
|
+
hideCloseButton: true,
|
|
30
|
+
hideCommandSection: false,
|
|
31
|
+
hideOptionSection: false,
|
|
32
|
+
},
|
|
33
|
+
contextMenu: {
|
|
34
|
+
autoAdjustDrop: true,
|
|
35
|
+
autoAlignSide: true,
|
|
36
|
+
hideCloseButton: true,
|
|
37
|
+
hideClearAllGrouping: false,
|
|
38
|
+
hideCollapseAllGroups: false,
|
|
39
|
+
hideCommandSection: false,
|
|
40
|
+
hideCopyCellValueCommand: false,
|
|
41
|
+
hideExpandAllGroups: false,
|
|
42
|
+
hideExportCsvCommand: false,
|
|
43
|
+
hideExportExcelCommand: false,
|
|
44
|
+
hideExportTextDelimitedCommand: true,
|
|
45
|
+
hideMenuOnScroll: true,
|
|
46
|
+
hideOptionSection: false,
|
|
47
|
+
iconCopyCellValueCommand: 'fa fa-clone',
|
|
48
|
+
iconExportCsvCommand: 'fa fa-download',
|
|
49
|
+
iconExportExcelCommand: 'fa fa-file-excel-o text-success',
|
|
50
|
+
iconExportTextDelimitedCommand: 'fa fa-download',
|
|
51
|
+
},
|
|
52
|
+
customFooterOptions: {
|
|
53
|
+
dateFormat: 'YYYY-MM-DD, hh:mm a',
|
|
54
|
+
hideRowSelectionCount: false,
|
|
55
|
+
hideTotalItemCount: false,
|
|
56
|
+
hideLastUpdateTimestamp: true,
|
|
57
|
+
footerHeight: 25,
|
|
58
|
+
leftContainerClass: 'col-xs-12 col-sm-5',
|
|
59
|
+
rightContainerClass: 'col-xs-6 col-sm-7',
|
|
60
|
+
metricSeparator: '|',
|
|
61
|
+
metricTexts: {
|
|
62
|
+
items: 'items',
|
|
63
|
+
itemsKey: 'ITEMS',
|
|
64
|
+
itemsSelected: 'items selected',
|
|
65
|
+
itemsSelectedKey: 'ITEMS_SELECTED',
|
|
66
|
+
of: 'of',
|
|
67
|
+
ofKey: 'OF',
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
dataView: {
|
|
71
|
+
syncGridSelection: true,
|
|
72
|
+
syncGridSelectionWithBackendService: false, // but disable it when using backend services
|
|
73
|
+
},
|
|
74
|
+
datasetIdPropertyName: 'id',
|
|
75
|
+
defaultFilter: Filters.input,
|
|
76
|
+
defaultBackendServiceFilterTypingDebounce: 500,
|
|
77
|
+
defaultColumnSortFieldId: 'id',
|
|
78
|
+
defaultFilterPlaceholder: '🔎︎',
|
|
79
|
+
defaultFilterRangeOperator: OperatorType.rangeInclusive,
|
|
80
|
+
editable: false,
|
|
81
|
+
enableAutoResize: true,
|
|
82
|
+
enableAutoSizeColumns: true,
|
|
83
|
+
enableCellNavigation: false,
|
|
84
|
+
enableColumnPicker: true,
|
|
85
|
+
enableColumnReorder: true,
|
|
86
|
+
enableColumnResizeOnDoubleClick: true,
|
|
87
|
+
enableContextMenu: true,
|
|
88
|
+
enableExcelExport: true,
|
|
89
|
+
enableExport: false,
|
|
90
|
+
enableFilterTrimWhiteSpace: false,
|
|
91
|
+
enableGridMenu: true,
|
|
92
|
+
enableHeaderMenu: true,
|
|
93
|
+
enableEmptyDataWarningMessage: true,
|
|
94
|
+
emptyDataWarning: {
|
|
95
|
+
className: 'slick-empty-data-warning',
|
|
96
|
+
message: 'No data to display.',
|
|
97
|
+
messageKey: 'EMPTY_DATA_WARNING_MESSAGE',
|
|
98
|
+
hideFrozenLeftWarning: false,
|
|
99
|
+
hideFrozenRightWarning: false,
|
|
100
|
+
leftViewportMarginLeft: '40%',
|
|
101
|
+
rightViewportMarginLeft: '40%',
|
|
102
|
+
frozenLeftViewportMarginLeft: '0px',
|
|
103
|
+
frozenRightViewportMarginLeft: '40%',
|
|
104
|
+
},
|
|
105
|
+
enableMouseHoverHighlightRow: true,
|
|
106
|
+
enableSorting: true,
|
|
107
|
+
enableTextSelectionOnCells: true,
|
|
108
|
+
eventNamingStyle: EventNamingStyle.camelCase,
|
|
109
|
+
explicitInitialization: true,
|
|
110
|
+
excelExportOptions: {
|
|
111
|
+
addGroupIndentation: true,
|
|
112
|
+
exportWithFormatter: false,
|
|
113
|
+
filename: 'export',
|
|
114
|
+
format: FileType.xlsx,
|
|
115
|
+
groupingColumnHeaderTitle: 'Group By',
|
|
116
|
+
groupCollapsedSymbol: '⮞',
|
|
117
|
+
groupExpandedSymbol: '⮟',
|
|
118
|
+
groupingAggregatorRowText: '',
|
|
119
|
+
sanitizeDataExport: false,
|
|
120
|
+
},
|
|
121
|
+
exportOptions: {
|
|
122
|
+
delimiter: DelimiterType.comma,
|
|
123
|
+
exportWithFormatter: false,
|
|
124
|
+
filename: 'export',
|
|
125
|
+
format: FileType.csv,
|
|
126
|
+
groupingColumnHeaderTitle: 'Group By',
|
|
127
|
+
groupingAggregatorRowText: '',
|
|
128
|
+
sanitizeDataExport: false,
|
|
129
|
+
useUtf8WithBom: true
|
|
130
|
+
},
|
|
131
|
+
filterTypingDebounce: 0,
|
|
132
|
+
forceFitColumns: false,
|
|
133
|
+
frozenHeaderWidthCalcDifferential: 0,
|
|
134
|
+
gridMenu: {
|
|
135
|
+
dropSide: 'left',
|
|
136
|
+
commandLabels: {
|
|
137
|
+
clearAllFiltersCommandKey: 'CLEAR_ALL_FILTERS',
|
|
138
|
+
clearAllSortingCommandKey: 'CLEAR_ALL_SORTING',
|
|
139
|
+
clearFrozenColumnsCommandKey: 'CLEAR_PINNING',
|
|
140
|
+
exportCsvCommandKey: 'EXPORT_TO_CSV',
|
|
141
|
+
exportExcelCommandKey: 'EXPORT_TO_EXCEL',
|
|
142
|
+
exportTextDelimitedCommandKey: 'EXPORT_TO_TAB_DELIMITED',
|
|
143
|
+
refreshDatasetCommandKey: 'REFRESH_DATASET',
|
|
144
|
+
toggleFilterCommandKey: 'TOGGLE_FILTER_ROW',
|
|
145
|
+
togglePreHeaderCommandKey: 'TOGGLE_PRE_HEADER_ROW',
|
|
146
|
+
},
|
|
147
|
+
hideClearAllFiltersCommand: false,
|
|
148
|
+
hideClearAllSortingCommand: false,
|
|
149
|
+
hideClearFrozenColumnsCommand: true,
|
|
150
|
+
hideExportCsvCommand: false,
|
|
151
|
+
hideExportExcelCommand: false,
|
|
152
|
+
hideExportTextDelimitedCommand: true,
|
|
153
|
+
hideForceFitButton: false,
|
|
154
|
+
hideRefreshDatasetCommand: false,
|
|
155
|
+
hideSyncResizeButton: true,
|
|
156
|
+
hideToggleFilterCommand: false,
|
|
157
|
+
hideTogglePreHeaderCommand: false,
|
|
158
|
+
iconCssClass: 'fa fa-bars',
|
|
159
|
+
iconClearAllFiltersCommand: 'fa fa-filter text-danger',
|
|
160
|
+
iconClearAllSortingCommand: 'fa fa-unsorted text-danger',
|
|
161
|
+
iconClearFrozenColumnsCommand: 'fa fa-times',
|
|
162
|
+
iconExportCsvCommand: 'fa fa-download',
|
|
163
|
+
iconExportExcelCommand: 'fa fa-file-excel-o text-success',
|
|
164
|
+
iconExportTextDelimitedCommand: 'fa fa-download',
|
|
165
|
+
iconRefreshDatasetCommand: 'fa fa-refresh',
|
|
166
|
+
iconToggleFilterCommand: 'fa fa-random',
|
|
167
|
+
iconTogglePreHeaderCommand: 'fa fa-random',
|
|
168
|
+
menuWidth: 16,
|
|
169
|
+
resizeOnShowHeaderRow: true,
|
|
170
|
+
headerColumnValueExtractor: pickerHeaderColumnValueExtractor
|
|
171
|
+
},
|
|
172
|
+
headerMenu: {
|
|
173
|
+
autoAlign: true,
|
|
174
|
+
autoAlignOffset: 12,
|
|
175
|
+
minWidth: 140,
|
|
176
|
+
iconClearFilterCommand: 'fa fa-filter text-danger',
|
|
177
|
+
iconClearSortCommand: 'fa fa-unsorted',
|
|
178
|
+
iconFreezeColumns: 'fa fa-thumb-tack',
|
|
179
|
+
iconSortAscCommand: 'fa fa-sort-amount-asc',
|
|
180
|
+
iconSortDescCommand: 'fa fa-sort-amount-desc',
|
|
181
|
+
iconColumnHideCommand: 'fa fa-times',
|
|
182
|
+
iconColumnResizeByContentCommand: 'fa fa-arrows-h',
|
|
183
|
+
hideColumnResizeByContentCommand: false,
|
|
184
|
+
hideColumnHideCommand: false,
|
|
185
|
+
hideClearFilterCommand: false,
|
|
186
|
+
hideClearSortCommand: false,
|
|
187
|
+
hideFreezeColumnsCommand: true,
|
|
188
|
+
hideSortCommands: false
|
|
189
|
+
},
|
|
190
|
+
headerRowHeight: 35,
|
|
191
|
+
multiColumnSort: true,
|
|
192
|
+
numberedMultiColumnSort: true,
|
|
193
|
+
tristateMultiColumnSort: false,
|
|
194
|
+
sortColNumberInSeparateSpan: true,
|
|
195
|
+
suppressActiveCellChangeOnEdit: true,
|
|
196
|
+
pagination: {
|
|
197
|
+
pageSizes: [10, 15, 20, 25, 30, 40, 50, 75, 100],
|
|
198
|
+
pageSize: 25,
|
|
199
|
+
totalItems: 0
|
|
200
|
+
},
|
|
201
|
+
// technically speaking the Row Detail requires the process & viewComponent but we'll ignore it just to set certain options
|
|
202
|
+
rowDetailView: {
|
|
203
|
+
collapseAllOnSort: true,
|
|
204
|
+
cssClass: 'detail-view-toggle',
|
|
205
|
+
panelRows: 1,
|
|
206
|
+
keyPrefix: '__',
|
|
207
|
+
useRowClick: false,
|
|
208
|
+
useSimpleViewportCalc: true,
|
|
209
|
+
saveDetailViewOnScroll: false,
|
|
210
|
+
},
|
|
211
|
+
rowHeight: 35,
|
|
212
|
+
topPanelHeight: 35,
|
|
213
|
+
translationNamespaceSeparator: ':',
|
|
214
|
+
resetFilterSearchValueAfterOnBeforeCancellation: true,
|
|
215
|
+
resizeByContentOnlyOnFirstLoad: true,
|
|
216
|
+
resizeByContentOptions: {
|
|
217
|
+
alwaysRecalculateColumnWidth: false,
|
|
218
|
+
cellCharWidthInPx: 7.8,
|
|
219
|
+
cellPaddingWidthInPx: 14,
|
|
220
|
+
defaultRatioForStringType: 0.88,
|
|
221
|
+
formatterPaddingWidthInPx: 0,
|
|
222
|
+
maxItemToInspectCellContentWidth: 1000,
|
|
223
|
+
maxItemToInspectSingleColumnWidthByContent: 5000,
|
|
224
|
+
widthToRemoveFromExceededWidthReadjustment: 50,
|
|
225
|
+
},
|
|
226
|
+
treeDataOptions: {
|
|
227
|
+
exportIndentMarginLeft: 5,
|
|
228
|
+
exportIndentationLeadingChar: '͏͏͏͏͏͏͏͏͏·',
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Value Extractor for both ColumnPicker & GridMenu Picker
|
|
233
|
+
* when using Column Header Grouping, we'll prefix the column group title
|
|
234
|
+
* else we'll simply return the column name title
|
|
235
|
+
*/
|
|
236
|
+
function pickerHeaderColumnValueExtractor(column) {
|
|
237
|
+
const headerGroup = column && column.columnGroup || '';
|
|
238
|
+
if (headerGroup) {
|
|
239
|
+
return headerGroup + ' - ' + column.name;
|
|
240
|
+
}
|
|
241
|
+
return column && column.name || '';
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWdyaWQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9hbmd1bGFyLXNsaWNrZ3JpZC9nbG9iYWwtZ3JpZC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBd0IsWUFBWSxFQUFrQixNQUFNLDZCQUE2QixDQUFDO0FBRzdKLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBd0I7SUFDcEQsd0JBQXdCLEVBQUUsSUFBSTtJQUM5QixRQUFRLEVBQUUsS0FBSztJQUNmLGtCQUFrQixFQUFFLEtBQUs7SUFDekIseUJBQXlCLEVBQUUsSUFBSTtJQUMvQixVQUFVLEVBQUU7UUFDVixzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLHdCQUF3QixFQUFFLFFBQVE7UUFDbEMsYUFBYSxFQUFFLEVBQUU7UUFDakIsU0FBUyxFQUFFLEdBQUc7UUFDZCxRQUFRLEVBQUUsR0FBRztRQUNiLFlBQVksRUFBRSxDQUFDO0tBQ2hCO0lBQ0QscUJBQXFCLEVBQUUscUJBQXFCO0lBQzVDLGdCQUFnQixFQUFFO1FBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRCxZQUFZLEVBQUU7UUFDWixTQUFTLEVBQUUsQ0FBQztRQUNaLGtCQUFrQixFQUFFLEtBQUs7UUFDekIsb0JBQW9CLEVBQUUsSUFBSTtRQUMxQiwwQkFBMEIsRUFBRSxnQ0FBZ0M7S0FDN0Q7SUFDRCxRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVBQUUsSUFBSTtRQUNuQixlQUFlLEVBQUUsSUFBSTtRQUNyQixrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLGlCQUFpQixFQUFFLEtBQUs7S0FDekI7SUFDRCxXQUFXLEVBQUU7UUFDWCxjQUFjLEVBQUUsSUFBSTtRQUNwQixhQUFhLEVB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBEZWxpbWl0ZXJUeXBlLCBFdmVudE5hbWluZ1N0eWxlLCBGaWxlVHlwZSwgRmlsdGVycywgR3JpZEF1dG9zaXplQ29sc01vZGUsIE9wZXJhdG9yVHlwZSwgVHJlZURhdGFPcHRpb24gfSBmcm9tICdAc2xpY2tncmlkLXVuaXZlcnNhbC9jb21tb24nO1xyXG5pbXBvcnQgeyBHcmlkT3B0aW9uLCBSb3dEZXRhaWxWaWV3IH0gZnJvbSAnLi9tb2RlbHMvaW5kZXgnO1xyXG5cclxuLyoqIEdsb2JhbCBHcmlkIE9wdGlvbnMgRGVmYXVsdHMgKi9cclxuZXhwb3J0IGNvbnN0IEdsb2JhbEdyaWRPcHRpb25zOiBQYXJ0aWFsPEdyaWRPcHRpb24+ID0ge1xyXG4gIGFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbDogdHJ1ZSxcclxuICBhdXRvRWRpdDogZmFsc2UsXHJcbiAgYXN5bmNFZGl0b3JMb2FkaW5nOiBmYWxzZSxcclxuICBhdXRvRml0Q29sdW1uc09uRmlyc3RMb2FkOiB0cnVlLFxyXG4gIGF1dG9SZXNpemU6IHtcclxuICAgIGFwcGx5UmVzaXplVG9Db250YWluZXI6IHRydWUsXHJcbiAgICBjYWxjdWxhdGVBdmFpbGFibGVTaXplQnk6ICd3aW5kb3cnLFxyXG4gICAgYm90dG9tUGFkZGluZzogMjAsXHJcbiAgICBtaW5IZWlnaHQ6IDE4MCxcclxuICAgIG1pbldpZHRoOiAzMDAsXHJcbiAgICByaWdodFBhZGRpbmc6IDBcclxuICB9LFxyXG4gIGNlbGxIaWdobGlnaHRDc3NDbGFzczogJ3NsaWNrLWNlbGwtbW9kaWZpZWQnLFxyXG4gIGNoZWNrYm94U2VsZWN0b3I6IHtcclxuICAgIGNzc0NsYXNzOiAnc2xpY2stY2VsbC1jaGVja2JveHNlbCdcclxuICB9LFxyXG4gIGNvbHVtblBpY2tlcjoge1xyXG4gICAgZmFkZVNwZWVkOiAwLFxyXG4gICAgaGlkZUZvcmNlRml0QnV0dG9uOiBmYWxzZSxcclxuICAgIGhpZGVTeW5jUmVzaXplQnV0dG9uOiB0cnVlLFxyXG4gICAgaGVhZGVyQ29sdW1uVmFsdWVFeHRyYWN0b3I6IHBpY2tlckhlYWRlckNvbHVtblZhbHVlRXh0cmFjdG9yXHJcbiAgfSxcclxuICBjZWxsTWVudToge1xyXG4gICAgYXV0b0FkanVzdERyb3A6IHRydWUsXHJcbiAgICBhdXRvQWxpZ25TaWRlOiB0cnVlLFxyXG4gICAgaGlkZUNsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgaGlkZUNvbW1hbmRTZWN0aW9uOiBmYWxzZSxcclxuICAgIGhpZGVPcHRpb25TZWN0aW9uOiBmYWxzZSxcclxuICB9LFxyXG4gIGNvbnRleHRNZW51OiB7XHJcbiAgICBhdXRvQWRqdXN0RHJvcDogdHJ1ZSxcclxuICAgIGF1dG9BbGlnblNpZGU6IHRydWUsXHJcbiAgICBoaWRlQ2xvc2VCdXR0b246IHRydWUsXHJcbiAgICBoaWRlQ2xlYXJBbGxHcm91cGluZzogZmFsc2UsXHJcbiAgICBoaWRlQ29sbGFwc2VBbGxHcm91cHM6IGZhbHNlLFxyXG4gICAgaGlkZUNvbW1hbmRTZWN0aW9uOiBmYWxzZSxcclxuICAgIGhpZGVDb3B5Q2VsbFZhbHVlQ29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlRXhwYW5kQWxsR3JvdXBzOiBmYWxzZSxcclxuICAgIGhpZGVFeHBvcnRDc3ZDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVFeHBvcnRFeGNlbENvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUV4cG9ydFRleHREZWxpbWl0ZWRDb21tYW5kOiB0cnVlLFxyXG4gICAgaGlkZU1lbnVPblNjcm9sbDogdHJ1ZSxcclxuICAgIGhpZGVPcHRpb25TZWN0aW9uOiBmYWxzZSxcclxuICAgIGljb25Db3B5Q2VsbFZhbHVlQ29tbWFuZDogJ2ZhIGZhLWNsb25lJyxcclxuICAgIGljb25FeHBvcnRDc3ZDb21tYW5kOiAnZmEgZmEtZG93bmxvYWQnLFxyXG4gICAgaWNvbkV4cG9ydEV4Y2VsQ29tbWFuZDogJ2ZhIGZhLWZpbGUtZXhjZWwtbyB0ZXh0LXN1Y2Nlc3MnLFxyXG4gICAgaWNvbkV4cG9ydFRleHREZWxpbWl0ZWRDb21tYW5kOiAnZmEgZmEtZG93bmxvYWQnLFxyXG4gIH0sXHJcbiAgY3VzdG9tRm9vdGVyT3B0aW9uczoge1xyXG4gICAgZGF0ZUZvcm1hdDogJ1lZWVktTU0tREQsIGhoOm1tIGEnLFxyXG4gICAgaGlkZVJvd1NlbGVjdGlvbkNvdW50OiBmYWxzZSxcclxuICAgIGhpZGVUb3RhbEl0ZW1Db3VudDogZmFsc2UsXHJcbiAgICBoaWRlTGFzdFVwZGF0ZVRpbWVzdGFtcDogdHJ1ZSxcclxuICAgIGZvb3RlckhlaWdodDogMjUsXHJcbiAgICBsZWZ0Q29udGFpbmVyQ2xhc3M6ICdjb2wteHMtMTIgY29sLXNtLTUnLFxyXG4gICAgcmlnaHRDb250YWluZXJDbGFzczogJ2NvbC14cy02IGNvbC1zbS03JyxcclxuICAgIG1ldHJpY1NlcGFyYXRvcjogJ3wnLFxyXG4gICAgbWV0cmljVGV4dHM6IHtcclxuICAgICAgaXRlbXM6ICdpdGVtcycsXHJcbiAgICAgIGl0ZW1zS2V5OiAnSVRFTVMnLFxyXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnaXRlbXMgc2VsZWN0ZWQnLFxyXG4gICAgICBpdGVtc1NlbGVjdGVkS2V5OiAnSVRFTVNfU0VMRUNURUQnLFxyXG4gICAgICBvZjogJ29mJyxcclxuICAgICAgb2ZLZXk6ICdPRicsXHJcbiAgICB9XHJcbiAgfSxcclxuICBkYXRhVmlldzoge1xyXG4gICAgc3luY0dyaWRTZWxlY3Rpb246IHRydWUsIC8vIHdoZW4gZW5hYmxlZCwgdGhpcyB3aWxsIHByZXNlcnZlIHRoZSByb3cgc2VsZWN0aW9uIGV2ZW4gYWZ0ZXIgZmlsdGVyaW5nL3NvcnRpbmcvZ3JvdXBpbmdcclxuICAgIHN5bmNHcmlkU2VsZWN0aW9uV2l0aEJhY2tlbmRTZXJ2aWNlOiBmYWxzZSwgLy8gYnV0IGRpc2FibGUgaXQgd2hlbiB1c2luZyBiYWNrZW5kIHNlcnZpY2VzXHJcbiAgfSxcclxuICBkYXRhc2V0SWRQcm9wZXJ0eU5hbWU6ICdpZCcsXHJcbiAgZGVmYXVsdEZpbHRlcjogRmlsdGVycy5pbnB1dCxcclxuICBkZWZhdWx0QmFja2VuZFNlcnZpY2VGaWx0ZXJUeXBpbmdEZWJvdW5jZTogNTAwLFxyXG4gIGRlZmF1bHRDb2x1bW5Tb3J0RmllbGRJZDogJ2lkJyxcclxuICBkZWZhdWx0RmlsdGVyUGxhY2Vob2xkZXI6ICfwn5SO77iOJyxcclxuICBkZWZhdWx0RmlsdGVyUmFuZ2VPcGVyYXRvcjogT3BlcmF0b3JUeXBlLnJhbmdlSW5jbHVzaXZlLFxyXG4gIGVkaXRhYmxlOiBmYWxzZSxcclxuICBlbmFibGVBdXRvUmVzaXplOiB0cnVlLFxyXG4gIGVuYWJsZUF1dG9TaXplQ29sdW1uczogdHJ1ZSxcclxuICBlbmFibGVDZWxsTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgZW5hYmxlQ29sdW1uUGlja2VyOiB0cnVlLFxyXG4gIGVuYWJsZUNvbHVtblJlb3JkZXI6IHRydWUsXHJcbiAgZW5hYmxlQ29sdW1uUmVzaXplT25Eb3VibGVDbGljazogdHJ1ZSxcclxuICBlbmFibGVDb250ZXh0TWVudTogdHJ1ZSxcclxuICBlbmFibGVFeGNlbEV4cG9ydDogdHJ1ZSwgLy8gRXhjZWwgRXhwb3J0IGlzIHRoZSBuZXcgZGVmYXVsdCxcclxuICBlbmFibGVFeHBvcnQ6IGZhbHNlLCAvLyBDU1YvVGV4dCB3aXRoIFRhYiBEZWxpbWl0ZWRcclxuICBlbmFibGVGaWx0ZXJUcmltV2hpdGVTcGFjZTogZmFsc2UsIC8vIGRvIHdlIHdhbnQgdG8gdHJpbSB3aGl0ZSBzcGFjZXMgb24gYWxsIEZpbHRlcnM/XHJcbiAgZW5hYmxlR3JpZE1lbnU6IHRydWUsXHJcbiAgZW5hYmxlSGVhZGVyTWVudTogdHJ1ZSxcclxuICBlbmFibGVFbXB0eURhdGFXYXJuaW5nTWVzc2FnZTogdHJ1ZSxcclxuICBlbXB0eURhdGFXYXJuaW5nOiB7XHJcbiAgICBjbGFzc05hbWU6ICdzbGljay1lbXB0eS1kYXRhLXdhcm5pbmcnLFxyXG4gICAgbWVzc2FnZTogJ05vIGRhdGEgdG8gZGlzcGxheS4nLFxyXG4gICAgbWVzc2FnZUtleTogJ0VNUFRZX0RBVEFfV0FSTklOR19NRVNTQUdFJyxcclxuICAgIGhpZGVGcm96ZW5MZWZ0V2FybmluZzogZmFsc2UsXHJcbiAgICBoaWRlRnJvemVuUmlnaHRXYXJuaW5nOiBmYWxzZSxcclxuICAgIGxlZnRWaWV3cG9ydE1hcmdpbkxlZnQ6ICc0MCUnLFxyXG4gICAgcmlnaHRWaWV3cG9ydE1hcmdpbkxlZnQ6ICc0MCUnLFxyXG4gICAgZnJvemVuTGVmdFZpZXdwb3J0TWFyZ2luTGVmdDogJzBweCcsXHJcbiAgICBmcm96ZW5SaWdodFZpZXdwb3J0TWFyZ2luTGVmdDogJzQwJScsXHJcbiAgfSxcclxuICBlbmFibGVNb3VzZUhvdmVySGlnaGxpZ2h0Um93OiB0cnVlLFxyXG4gIGVuYWJsZVNvcnRpbmc6IHRydWUsXHJcbiAgZW5hYmxlVGV4dFNlbGVjdGlvbk9uQ2VsbHM6IHRydWUsXHJcbiAgZXZlbnROYW1pbmdTdHlsZTogRXZlbnROYW1pbmdTdHlsZS5jYW1lbENhc2UsXHJcbiAgZXhwbGljaXRJbml0aWFsaXphdGlvbjogdHJ1ZSxcclxuICBleGNlbEV4cG9ydE9wdGlvbnM6IHtcclxuICAgIGFkZEdyb3VwSW5kZW50YXRpb246IHRydWUsXHJcbiAgICBleHBvcnRXaXRoRm9ybWF0dGVyOiBmYWxzZSxcclxuICAgIGZpbGVuYW1lOiAnZXhwb3J0JyxcclxuICAgIGZvcm1hdDogRmlsZVR5cGUueGxzeCxcclxuICAgIGdyb3VwaW5nQ29sdW1uSGVhZGVyVGl0bGU6ICdHcm91cCBCeScsXHJcbiAgICBncm91cENvbGxhcHNlZFN5bWJvbDogJ+KunicsXHJcbiAgICBncm91cEV4cGFuZGVkU3ltYm9sOiAn4q6fJyxcclxuICAgIGdyb3VwaW5nQWdncmVnYXRvclJvd1RleHQ6ICcnLFxyXG4gICAgc2FuaXRpemVEYXRhRXhwb3J0OiBmYWxzZSxcclxuICB9LFxyXG4gIGV4cG9ydE9wdGlvbnM6IHtcclxuICAgIGRlbGltaXRlcjogRGVsaW1pdGVyVHlwZS5jb21tYSxcclxuICAgIGV4cG9ydFdpdGhGb3JtYXR0ZXI6IGZhbHNlLFxyXG4gICAgZmlsZW5hbWU6ICdleHBvcnQnLFxyXG4gICAgZm9ybWF0OiBGaWxlVHlwZS5jc3YsXHJcbiAgICBncm91cGluZ0NvbHVtbkhlYWRlclRpdGxlOiAnR3JvdXAgQnknLFxyXG4gICAgZ3JvdXBpbmdBZ2dyZWdhdG9yUm93VGV4dDogJycsXHJcbiAgICBzYW5pdGl6ZURhdGFFeHBvcnQ6IGZhbHNlLFxyXG4gICAgdXNlVXRmOFdpdGhCb206IHRydWVcclxuICB9LFxyXG4gIGZpbHRlclR5cGluZ0RlYm91bmNlOiAwLFxyXG4gIGZvcmNlRml0Q29sdW1uczogZmFsc2UsXHJcbiAgZnJvemVuSGVhZGVyV2lkdGhDYWxjRGlmZmVyZW50aWFsOiAwLFxyXG4gIGdyaWRNZW51OiB7XHJcbiAgICBkcm9wU2lkZTogJ2xlZnQnLFxyXG4gICAgY29tbWFuZExhYmVsczoge1xyXG4gICAgICBjbGVhckFsbEZpbHRlcnNDb21tYW5kS2V5OiAnQ0xFQVJfQUxMX0ZJTFRFUlMnLFxyXG4gICAgICBjbGVhckFsbFNvcnRpbmdDb21tYW5kS2V5OiAnQ0xFQVJfQUxMX1NPUlRJTkcnLFxyXG4gICAgICBjbGVhckZyb3plbkNvbHVtbnNDb21tYW5kS2V5OiAnQ0xFQVJfUElOTklORycsXHJcbiAgICAgIGV4cG9ydENzdkNvbW1hbmRLZXk6ICdFWFBPUlRfVE9fQ1NWJyxcclxuICAgICAgZXhwb3J0RXhjZWxDb21tYW5kS2V5OiAnRVhQT1JUX1RPX0VYQ0VMJyxcclxuICAgICAgZXhwb3J0VGV4dERlbGltaXRlZENvbW1hbmRLZXk6ICdFWFBPUlRfVE9fVEFCX0RFTElNSVRFRCcsXHJcbiAgICAgIHJlZnJlc2hEYXRhc2V0Q29tbWFuZEtleTogJ1JFRlJFU0hfREFUQVNFVCcsXHJcbiAgICAgIHRvZ2dsZUZpbHRlckNvbW1hbmRLZXk6ICdUT0dHTEVfRklMVEVSX1JPVycsXHJcbiAgICAgIHRvZ2dsZVByZUhlYWRlckNvbW1hbmRLZXk6ICdUT0dHTEVfUFJFX0hFQURFUl9ST1cnLFxyXG4gICAgfSxcclxuICAgIGhpZGVDbGVhckFsbEZpbHRlcnNDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVDbGVhckFsbFNvcnRpbmdDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVDbGVhckZyb3plbkNvbHVtbnNDb21tYW5kOiB0cnVlLCAvLyBvcHQtaW4gY29tbWFuZFxyXG4gICAgaGlkZUV4cG9ydENzdkNvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUV4cG9ydEV4Y2VsQ29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlRXhwb3J0VGV4dERlbGltaXRlZENvbW1hbmQ6IHRydWUsXHJcbiAgICBoaWRlRm9yY2VGaXRCdXR0b246IGZhbHNlLFxyXG4gICAgaGlkZVJlZnJlc2hEYXRhc2V0Q29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlU3luY1Jlc2l6ZUJ1dHRvbjogdHJ1ZSxcclxuICAgIGhpZGVUb2dnbGVGaWx0ZXJDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVUb2dnbGVQcmVIZWFkZXJDb21tYW5kOiBmYWxzZSxcclxuICAgIGljb25Dc3NDbGFzczogJ2ZhIGZhLWJhcnMnLFxyXG4gICAgaWNvbkNsZWFyQWxsRmlsdGVyc0NvbW1hbmQ6ICdmYSBmYS1maWx0ZXIgdGV4dC1kYW5nZXInLFxyXG4gICAgaWNvbkNsZWFyQWxsU29ydGluZ0NvbW1hbmQ6ICdmYSBmYS11bnNvcnRlZCB0ZXh0LWRhbmdlcicsXHJcbiAgICBpY29uQ2xlYXJGcm96ZW5Db2x1bW5zQ29tbWFuZDogJ2ZhIGZhLXRpbWVzJyxcclxuICAgIGljb25FeHBvcnRDc3ZDb21tYW5kOiAnZmEgZmEtZG93bmxvYWQnLFxyXG4gICAgaWNvbkV4cG9ydEV4Y2VsQ29tbWFuZDogJ2ZhIGZhLWZpbGUtZXhjZWwtbyB0ZXh0LXN1Y2Nlc3MnLFxyXG4gICAgaWNvbkV4cG9ydFRleHREZWxpbWl0ZWRDb21tYW5kOiAnZmEgZmEtZG93bmxvYWQnLFxyXG4gICAgaWNvblJlZnJlc2hEYXRhc2V0Q29tbWFuZDogJ2ZhIGZhLXJlZnJlc2gnLFxyXG4gICAgaWNvblRvZ2dsZUZpbHRlckNvbW1hbmQ6ICdmYSBmYS1yYW5kb20nLFxyXG4gICAgaWNvblRvZ2dsZVByZUhlYWRlckNvbW1hbmQ6ICdmYSBmYS1yYW5kb20nLFxyXG4gICAgbWVudVdpZHRoOiAxNixcclxuICAgIHJlc2l6ZU9uU2hvd0hlYWRlclJvdzogdHJ1ZSxcclxuICAgIGhlYWRlckNvbHVtblZhbHVlRXh0cmFjdG9yOiBwaWNrZXJIZWFkZXJDb2x1bW5WYWx1ZUV4dHJhY3RvclxyXG4gIH0sXHJcbiAgaGVhZGVyTWVudToge1xyXG4gICAgYXV0b0FsaWduOiB0cnVlLFxyXG4gICAgYXV0b0FsaWduT2Zmc2V0OiAxMixcclxuICAgIG1pbldpZHRoOiAxNDAsXHJcbiAgICBpY29uQ2xlYXJGaWx0ZXJDb21tYW5kOiAnZmEgZmEtZmlsdGVyIHRleHQtZGFuZ2VyJyxcclxuICAgIGljb25DbGVhclNvcnRDb21tYW5kOiAnZmEgZmEtdW5zb3J0ZWQnLFxyXG4gICAgaWNvbkZyZWV6ZUNvbHVtbnM6ICdmYSBmYS10aHVtYi10YWNrJyxcclxuICAgIGljb25Tb3J0QXNjQ29tbWFuZDogJ2ZhIGZhLXNvcnQtYW1vdW50LWFzYycsXHJcbiAgICBpY29uU29ydERlc2NDb21tYW5kOiAnZmEgZmEtc29ydC1hbW91bnQtZGVzYycsXHJcbiAgICBpY29uQ29sdW1uSGlkZUNvbW1hbmQ6ICdmYSBmYS10aW1lcycsXHJcbiAgICBpY29uQ29sdW1uUmVzaXplQnlDb250ZW50Q29tbWFuZDogJ2ZhIGZhLWFycm93cy1oJyxcclxuICAgIGhpZGVDb2x1bW5SZXNpemVCeUNvbnRlbnRDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVDb2x1bW5IaWRlQ29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlQ2xlYXJGaWx0ZXJDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVDbGVhclNvcnRDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVGcmVlemVDb2x1bW5zQ29tbWFuZDogdHJ1ZSwgLy8gb3B0LWluIGNvbW1hbmRcclxuICAgIGhpZGVTb3J0Q29tbWFuZHM6IGZhbHNlXHJcbiAgfSxcclxuICBoZWFkZXJSb3dIZWlnaHQ6IDM1LFxyXG4gIG11bHRpQ29sdW1uU29ydDogdHJ1ZSxcclxuICBudW1iZXJlZE11bHRpQ29sdW1uU29ydDogdHJ1ZSxcclxuICB0cmlzdGF0ZU11bHRpQ29sdW1uU29ydDogZmFsc2UsXHJcbiAgc29ydENvbE51bWJlckluU2VwYXJhdGVTcGFuOiB0cnVlLFxyXG4gIHN1cHByZXNzQWN0aXZlQ2VsbENoYW5nZU9uRWRpdDogdHJ1ZSxcclxuICBwYWdpbmF0aW9uOiB7XHJcbiAgICBwYWdlU2l6ZXM6IFsxMCwgMTUsIDIwLCAyNSwgMzAsIDQwLCA1MCwgNzUsIDEwMF0sXHJcbiAgICBwYWdlU2l6ZTogMjUsXHJcbiAgICB0b3RhbEl0ZW1zOiAwXHJcbiAgfSxcclxuICAvLyB0ZWNobmljYWxseSBzcGVha2luZyB0aGUgUm93IERldGFpbCByZXF1aXJlcyB0aGUgcHJvY2VzcyAmIHZpZXdDb21wb25lbnQgYnV0IHdlJ2xsIGlnbm9yZSBpdCBqdXN0IHRvIHNldCBjZXJ0YWluIG9wdGlvbnNcclxuICByb3dEZXRhaWxWaWV3OiB7XHJcbiAgICBjb2xsYXBzZUFsbE9uU29ydDogdHJ1ZSxcclxuICAgIGNzc0NsYXNzOiAnZGV0YWlsLXZpZXctdG9nZ2xlJyxcclxuICAgIHBhbmVsUm93czogMSxcclxuICAgIGtleVByZWZpeDogJ19fJyxcclxuICAgIHVzZVJvd0NsaWNrOiBmYWxzZSxcclxuICAgIHVzZVNpbXBsZVZpZXdwb3J0Q2FsYzogdHJ1ZSxcclxuICAgIHNhdmVEZXRhaWxWaWV3T25TY3JvbGw6IGZhbHNlLFxyXG4gIH0gYXMgUm93RGV0YWlsVmlldyxcclxuICByb3dIZWlnaHQ6IDM1LFxyXG4gIHRvcFBhbmVsSGVpZ2h0OiAzNSxcclxuICB0cmFuc2xhdGlvbk5hbWVzcGFjZVNlcGFyYXRvcjogJzonLFxyXG4gIHJlc2V0RmlsdGVyU2VhcmNoVmFsdWVBZnRlck9uQmVmb3JlQ2FuY2VsbGF0aW9uOiB0cnVlLFxyXG4gIHJlc2l6ZUJ5Q29udGVudE9ubHlPbkZpcnN0TG9hZDogdHJ1ZSxcclxuICByZXNpemVCeUNvbnRlbnRPcHRpb25zOiB7XHJcbiAgICBhbHdheXNSZWNhbGN1bGF0ZUNvbHVtbldpZHRoOiBmYWxzZSxcclxuICAgIGNlbGxDaGFyV2lkdGhJblB4OiA3LjgsXHJcbiAgICBjZWxsUGFkZGluZ1dpZHRoSW5QeDogMTQsXHJcbiAgICBkZWZhdWx0UmF0aW9Gb3JTdHJpbmdUeXBlOiAwLjg4LFxyXG4gICAgZm9ybWF0dGVyUGFkZGluZ1dpZHRoSW5QeDogMCxcclxuICAgIG1heEl0ZW1Ub0luc3BlY3RDZWxsQ29udGVudFdpZHRoOiAxMDAwLFxyXG4gICAgbWF4SXRlbVRvSW5zcGVjdFNpbmdsZUNvbHVtbldpZHRoQnlDb250ZW50OiA1MDAwLFxyXG4gICAgd2lkdGhUb1JlbW92ZUZyb21FeGNlZWRlZFdpZHRoUmVhZGp1c3RtZW50OiA1MCxcclxuICB9LFxyXG4gIHRyZWVEYXRhT3B0aW9uczoge1xyXG4gICAgZXhwb3J0SW5kZW50TWFyZ2luTGVmdDogNSxcclxuICAgIGV4cG9ydEluZGVudGF0aW9uTGVhZGluZ0NoYXI6ICfNj82PzY/Nj82PzY/Nj82PzY/CtycsXHJcbiAgfSBhcyB1bmtub3duIGFzIFRyZWVEYXRhT3B0aW9uXHJcbn07XHJcblxyXG4vKipcclxuICogVmFsdWUgRXh0cmFjdG9yIGZvciBib3RoIENvbHVtblBpY2tlciAmIEdyaWRNZW51IFBpY2tlclxyXG4gKiB3aGVuIHVzaW5nIENvbHVtbiBIZWFkZXIgR3JvdXBpbmcsIHdlJ2xsIHByZWZpeCB0aGUgY29sdW1uIGdyb3VwIHRpdGxlXHJcbiAqIGVsc2Ugd2UnbGwgc2ltcGx5IHJldHVybiB0aGUgY29sdW1uIG5hbWUgdGl0bGVcclxuICovXHJcbmZ1bmN0aW9uIHBpY2tlckhlYWRlckNvbHVtblZhbHVlRXh0cmFjdG9yKGNvbHVtbjogQ29sdW1uKSB7XHJcbiAgY29uc3QgaGVhZGVyR3JvdXAgPSBjb2x1bW4gJiYgY29sdW1uLmNvbHVtbkdyb3VwIHx8ICcnO1xyXG4gIGlmIChoZWFkZXJHcm91cCkge1xyXG4gICAgcmV0dXJuIGhlYWRlckdyb3VwICsgJyAtICcgKyBjb2x1bW4ubmFtZTtcclxuICB9XHJcbiAgcmV0dXJuIGNvbHVtbiAmJiBjb2x1bW4ubmFtZSB8fCAnJztcclxufVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export * from '@slickgrid-universal/common';
|
|
2
2
|
export { AngularUtilService, BsDropDownService, unsubscribeAllObservables } from './services/index';
|
|
3
|
-
export {
|
|
3
|
+
export { SlickRowDetailView } from './extensions/index';
|
|
4
4
|
// components & module
|
|
5
5
|
export { SlickgridConfig } from './slickgrid-config';
|
|
6
6
|
export { AngularSlickgridComponent } from './components/angular-slickgrid.component';
|
|
7
7
|
export { AngularSlickgridModule } from './modules/angular-slickgrid.module';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUk1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxzQkFBc0I7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHNsaWNrZ3JpZC11bml2ZXJzYWwvY29tbW9uJztcclxuXHJcbi8vIFB1YmxpYyBjbGFzc2VzLlxyXG5leHBvcnQgeyBBbmd1bGFyQ29tcG9uZW50T3V0cHV0LCBBbmd1bGFyR3JpZEluc3RhbmNlLCBHcmlkT3B0aW9uLCBTbGlja0dyaWQsIFJvd0RldGFpbFZpZXcgfSBmcm9tICcuL21vZGVscy9pbmRleCc7XHJcbmV4cG9ydCB7IEFuZ3VsYXJVdGlsU2VydmljZSwgQnNEcm9wRG93blNlcnZpY2UsIHVuc3Vic2NyaWJlQWxsT2JzZXJ2YWJsZXMgfSBmcm9tICcuL3NlcnZpY2VzL2luZGV4JztcclxuZXhwb3J0IHsgU2xpY2tSb3dEZXRhaWxWaWV3IH0gZnJvbSAnLi9leHRlbnNpb25zL2luZGV4JztcclxuXHJcbi8vIGNvbXBvbmVudHMgJiBtb2R1bGVcclxuZXhwb3J0IHsgU2xpY2tncmlkQ29uZmlnIH0gZnJvbSAnLi9zbGlja2dyaWQtY29uZmlnJztcclxuZXhwb3J0IHsgQW5ndWxhclNsaWNrZ3JpZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hbmd1bGFyLXNsaWNrZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBBbmd1bGFyU2xpY2tncmlkTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkLm1vZHVsZSc7XHJcbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhckdyaWRJbnN0YW5jZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQvbW9kZWxzL2FuZ3VsYXJHcmlkSW5zdGFuY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEJhY2tlbmRTZXJ2aWNlLFxyXG4gIEV4dGVuc2lvbkxpc3QsXHJcbiAgRXh0ZW5zaW9uU2VydmljZSxcclxuICBGaWx0ZXJTZXJ2aWNlLFxyXG4gIEdyaWRFdmVudFNlcnZpY2UsXHJcbiAgR3JpZFNlcnZpY2UsXHJcbiAgR3JpZFN0YXRlU2VydmljZSxcclxuICBHcm91cGluZ0FuZENvbHNwYW5TZXJ2aWNlLFxyXG4gIFBhZ2luYXRpb25TZXJ2aWNlLFxyXG4gIFJlc2l6ZXJTZXJ2aWNlLFxyXG4gIFNsaWNrRGF0YVZpZXcsXHJcbiAgU2xpY2tHcmlkLFxyXG4gIFNvcnRTZXJ2aWNlLFxyXG4gIFRyZWVEYXRhU2VydmljZVxyXG59IGZyb20gJ0BzbGlja2dyaWQtdW5pdmVyc2FsL2NvbW1vbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJHcmlkSW5zdGFuY2Uge1xyXG4gIC8qKiBTbGljayBEYXRhVmlldyBvYmplY3QgKi9cclxuICBkYXRhVmlldzogU2xpY2tEYXRhVmlldztcclxuXHJcbiAgLyoqIFNsaWNrIEdyaWQgb2JqZWN0ICovXHJcbiAgc2xpY2tHcmlkOiBTbGlja0dyaWQ7XHJcblxyXG4gIC8qKiBTbGlja0dyaWQgZXh0ZW5zaW9ucyAoZXh0ZXJuYWwgY29udHJvbHMvcGx1Z2lucykgKi9cclxuICBleHRlbnNpb25zOiBFeHRlbnNpb25MaXN0PGFueT47XHJcblxyXG4gIC8vIC0tXHJcbiAgLy8gTWV0aG9kc1xyXG4gIC8qKiBEaXNwb3NlIG9mIHRoZSBncmlkIGFuZCBvcHRpb25hbGx5IGVtcHR5IHRoZSBET00gZWxlbWVudCBncmlkIGNvbnRhaW5lciBhcyB3ZWxsICovXHJcbiAgZGVzdHJveTogKGVtcHR5RG9tRWxlbWVudENvbnRhaW5lcj86IGJvb2xlYW4pID0+IHZvaWQ7XHJcblxyXG4gIC8vIC0tXHJcbiAgLy8gU2VydmljZXNcclxuXHJcbiAgLyoqIEJhY2tlbmQgU2VydmljZSwgd2hlbiBhdmFpbGFibGUgKi9cclxuICBiYWNrZW5kU2VydmljZT86IEJhY2tlbmRTZXJ2aWNlO1xyXG5cclxuICAvKiogRXh0ZW5zaW9uIChQbHVnaW5zICYgQ29udHJvbHMpIFNlcnZpY2UgKi9cclxuICBleHRlbnNpb25TZXJ2aWNlOiBFeHRlbnNpb25TZXJ2aWNlO1xyXG5cclxuICAvKiogRmlsdGVyIFNlcnZpY2UgKi9cclxuICBmaWx0ZXJTZXJ2aWNlOiBGaWx0ZXJTZXJ2aWNlO1xyXG5cclxuICAvKiogR3JpZCBTZXJ2aWNlIChncmlkIGV4dHJhIGZ1bmN0aW9uYWxpdGllcykgKi9cclxuICBncmlkU2VydmljZTogR3JpZFNlcnZpY2U7XHJcblxyXG4gIC8qKiBHcmlkIEV2ZW50cyBTZXJ2aWNlICovXHJcbiAgZ3JpZEV2ZW50U2VydmljZTogR3JpZEV2ZW50U2VydmljZTtcclxuXHJcbiAgLyoqIEdyaWQgU3RhdGUgU2VydmljZSAqL1xyXG4gIGdyaWRTdGF0ZVNlcnZpY2U6IEdyaWRTdGF0ZVNlcnZpY2U7XHJcblxyXG4gIC8qKiBHcm91cGluZyAoYW5kIGNvbHNwYW4pIFNlcnZpY2UgKi9cclxuICBncm91cGluZ1NlcnZpY2U6IEdyb3VwaW5nQW5kQ29sc3BhblNlcnZpY2U7XHJcblxyXG4gIC8qKiBQYWdpbmF0aW9uIFNlcnZpY2UgKGFsbG93cyB5b3UgdG8gcHJvZ3JhbW1hdGljYWxseSBnbyB0byBmaXJzdC9sYXN0IHBhZ2UsIGV0Yy4uLikgKi9cclxuICBwYWdpbmF0aW9uU2VydmljZT86IFBhZ2luYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvKiogUmVzaXplciBTZXJ2aWNlIChpbmNsdWRpbmcgYXV0by1yZXNpemUpICovXHJcbiAgcmVzaXplclNlcnZpY2U6IFJlc2l6ZXJTZXJ2aWNlO1xyXG5cclxuICAvKiogU29ydCBTZXJ2aWNlICovXHJcbiAgc29ydFNlcnZpY2U6IFNvcnRTZXJ2aWNlO1xyXG5cclxuICAvKiogVHJlZSBEYXRhIFZpZXcgU2VydmljZSAqL1xyXG4gIHRyZWVEYXRhU2VydmljZTogVHJlZURhdGFTZXJ2aWNlO1xyXG59XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
+
import { AngularSlickgridComponent } from './../components/angular-slickgrid.component';
|
|
5
|
+
import { AngularUtilService } from '../services/angularUtil.service';
|
|
6
|
+
import { BsDropDownService } from '../services/bsDropdown.service';
|
|
7
|
+
import { ContainerService } from '../services/container.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class AngularSlickgridModule {
|
|
10
|
+
static forRoot(config = {}) {
|
|
11
|
+
return {
|
|
12
|
+
ngModule: AngularSlickgridModule,
|
|
13
|
+
providers: [
|
|
14
|
+
{ provide: 'config', useValue: config },
|
|
15
|
+
{ provide: 'externalService', useValue: null },
|
|
16
|
+
AngularUtilService,
|
|
17
|
+
BsDropDownService,
|
|
18
|
+
ContainerService,
|
|
19
|
+
]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
AngularSlickgridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularSlickgridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
+
AngularSlickgridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularSlickgridModule, declarations: [AngularSlickgridComponent], imports: [CommonModule,
|
|
25
|
+
TranslateModule], exports: [AngularSlickgridComponent] });
|
|
26
|
+
AngularSlickgridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularSlickgridModule, imports: [[
|
|
27
|
+
CommonModule,
|
|
28
|
+
TranslateModule
|
|
29
|
+
]] });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularSlickgridModule, decorators: [{
|
|
31
|
+
type: NgModule,
|
|
32
|
+
args: [{
|
|
33
|
+
imports: [
|
|
34
|
+
CommonModule,
|
|
35
|
+
TranslateModule
|
|
36
|
+
],
|
|
37
|
+
declarations: [
|
|
38
|
+
AngularSlickgridComponent,
|
|
39
|
+
],
|
|
40
|
+
exports: [
|
|
41
|
+
AngularSlickgridComponent,
|
|
42
|
+
],
|
|
43
|
+
entryComponents: [AngularSlickgridComponent]
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zbGlja2dyaWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBZWpFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFxQixFQUFFO1FBQ3BDLE9BQU87WUFDTCxRQUFRLEVBQUUsc0JBQXNCO1lBQ2hDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDdkMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDOUMsa0JBQWtCO2dCQUNsQixpQkFBaUI7Z0JBQ2pCLGdCQUFnQjthQUNqQjtTQUNGLENBQUM7SUFDSixDQUFDOzttSEFaVSxzQkFBc0I7b0hBQXRCLHNCQUFzQixpQkFQL0IseUJBQXlCLGFBSnpCLFlBQVk7UUFDWixlQUFlLGFBTWYseUJBQXlCO29IQUloQixzQkFBc0IsWUFaeEI7WUFDUCxZQUFZO1lBQ1osZUFBZTtTQUNoQjsyRkFTVSxzQkFBc0I7a0JBYmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHlCQUF5QjtxQkFDMUI7b0JBQ0QsZUFBZSxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBbmd1bGFyU2xpY2tncmlkQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9jb21wb25lbnRzL2FuZ3VsYXItc2xpY2tncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdyaWRPcHRpb24gfSBmcm9tICcuLy4uL21vZGVscy9ncmlkT3B0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJVdGlsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FuZ3VsYXJVdGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCc0Ryb3BEb3duU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2JzRHJvcGRvd24uc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRhaW5lclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb250YWluZXIuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBbmd1bGFyU2xpY2tncmlkQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQW5ndWxhclNsaWNrZ3JpZENvbXBvbmVudCxcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW0FuZ3VsYXJTbGlja2dyaWRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyU2xpY2tncmlkTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IEdyaWRPcHRpb24gPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QW5ndWxhclNsaWNrZ3JpZE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJTbGlja2dyaWRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6ICdleHRlcm5hbFNlcnZpY2UnLCB1c2VWYWx1ZTogbnVsbCB9LFxyXG4gICAgICAgIEFuZ3VsYXJVdGlsU2VydmljZSxcclxuICAgICAgICBCc0Ryb3BEb3duU2VydmljZSxcclxuICAgICAgICBDb250YWluZXJTZXJ2aWNlLFxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class AngularUtilService {
|
|
4
|
+
constructor(compFactoryResolver, appRef, injector) {
|
|
5
|
+
this.compFactoryResolver = compFactoryResolver;
|
|
6
|
+
this.appRef = appRef;
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
}
|
|
9
|
+
// ref https://hackernoon.com/angular-pro-tip-how-to-dynamically-create-components-in-body-ba200cc289e6
|
|
10
|
+
createAngularComponent(component) {
|
|
11
|
+
// Create a component reference from the component
|
|
12
|
+
const componentRef = this.compFactoryResolver
|
|
13
|
+
.resolveComponentFactory(component)
|
|
14
|
+
.create(this.injector);
|
|
15
|
+
// Attach component to the appRef so that it's inside the ng component tree
|
|
16
|
+
this.appRef.attachView(componentRef.hostView);
|
|
17
|
+
// Get DOM element from component
|
|
18
|
+
let domElem;
|
|
19
|
+
const viewRef = componentRef.hostView;
|
|
20
|
+
if (viewRef && Array.isArray(viewRef.rootNodes) && viewRef.rootNodes[0]) {
|
|
21
|
+
domElem = viewRef.rootNodes[0];
|
|
22
|
+
}
|
|
23
|
+
return { componentRef, domElement: domElem };
|
|
24
|
+
}
|
|
25
|
+
// ref https://hackernoon.com/angular-pro-tip-how-to-dynamically-create-components-in-body-ba200cc289e6
|
|
26
|
+
createAngularComponentAppendToDom(component, targetElement, clearTargetContent = false) {
|
|
27
|
+
const componentOutput = this.createAngularComponent(component);
|
|
28
|
+
// Append DOM element to the HTML element specified
|
|
29
|
+
if (targetElement && targetElement.appendChild) {
|
|
30
|
+
if (clearTargetContent && targetElement.innerHTML) {
|
|
31
|
+
targetElement.innerHTML = '';
|
|
32
|
+
}
|
|
33
|
+
targetElement.appendChild(componentOutput.domElement);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
document.body.appendChild(componentOutput.domElement); // when no target provided, we'll simply add it to the HTML Body
|
|
37
|
+
}
|
|
38
|
+
return componentOutput;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
AngularUtilService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularUtilService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
42
|
+
AngularUtilService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularUtilService });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AngularUtilService, decorators: [{
|
|
44
|
+
type: Injectable
|
|
45
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }]; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhclV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9hbmd1bGFyLXNsaWNrZ3JpZC9zZXJ2aWNlcy9hbmd1bGFyVXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBNkQsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDOztBQUdoSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1UsbUJBQTZDLEVBQzdDLE1BQXNCLEVBQ3RCLFFBQWtCO1FBRmxCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMEI7UUFDN0MsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN4QixDQUFDO0lBRUwsdUdBQXVHO0lBQ3ZHLHNCQUFzQixDQUFDLFNBQWM7UUFDbkMsa0RBQWtEO1FBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUI7YUFDMUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDO2FBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFekIsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QyxpQ0FBaUM7UUFDakMsSUFBSSxPQUFPLENBQUM7UUFDWixNQUFNLE9BQU8sR0FBSSxZQUFZLENBQUMsUUFBaUMsQ0FBQztRQUNoRSxJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZFLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztTQUMvQztRQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQXNCLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQsdUdBQXVHO0lBQ3ZHLGlDQUFpQyxDQUFDLFNBQWMsRUFBRSxhQUFxQyxFQUFFLGtCQUFrQixHQUFHLEtBQUs7UUFDakgsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRS9ELG1EQUFtRDtRQUNuRCxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsV0FBVyxFQUFFO1lBQzlDLElBQUksa0JBQWtCLElBQUksYUFBYSxDQUFDLFNBQVMsRUFBRTtnQkFDakQsYUFBYSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7YUFDOUI7WUFDRCxhQUFhLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0VBQWdFO1NBQ3hIO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7K0dBMUNVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50T3V0cHV0IH0gZnJvbSAnLi4vbW9kZWxzL2FuZ3VsYXJDb21wb25lbnRPdXRwdXQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRW1iZWRkZWRWaWV3UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclV0aWxTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29tcEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7IH1cclxuXHJcbiAgLy8gcmVmIGh0dHBzOi8vaGFja2Vybm9vbi5jb20vYW5ndWxhci1wcm8tdGlwLWhvdy10by1keW5hbWljYWxseS1jcmVhdGUtY29tcG9uZW50cy1pbi1ib2R5LWJhMjAwY2MyODllNlxyXG4gIGNyZWF0ZUFuZ3VsYXJDb21wb25lbnQoY29tcG9uZW50OiBhbnkpOiBBbmd1bGFyQ29tcG9uZW50T3V0cHV0IHtcclxuICAgIC8vIENyZWF0ZSBhIGNvbXBvbmVudCByZWZlcmVuY2UgZnJvbSB0aGUgY29tcG9uZW50XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbXBGYWN0b3J5UmVzb2x2ZXJcclxuICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudClcclxuICAgICAgLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuXHJcbiAgICAvLyBBdHRhY2ggY29tcG9uZW50IHRvIHRoZSBhcHBSZWYgc28gdGhhdCBpdCdzIGluc2lkZSB0aGUgbmcgY29tcG9uZW50IHRyZWVcclxuICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuXHJcbiAgICAvLyBHZXQgRE9NIGVsZW1lbnQgZnJvbSBjb21wb25lbnRcclxuICAgIGxldCBkb21FbGVtO1xyXG4gICAgY29uc3Qgdmlld1JlZiA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pO1xyXG4gICAgaWYgKHZpZXdSZWYgJiYgQXJyYXkuaXNBcnJheSh2aWV3UmVmLnJvb3ROb2RlcykgJiYgdmlld1JlZi5yb290Tm9kZXNbMF0pIHtcclxuICAgICAgZG9tRWxlbSA9IHZpZXdSZWYucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7IGNvbXBvbmVudFJlZiwgZG9tRWxlbWVudDogZG9tRWxlbSBhcyBIVE1MRWxlbWVudCB9O1xyXG4gIH1cclxuXHJcbiAgLy8gcmVmIGh0dHBzOi8vaGFja2Vybm9vbi5jb20vYW5ndWxhci1wcm8tdGlwLWhvdy10by1keW5hbWljYWxseS1jcmVhdGUtY29tcG9uZW50cy1pbi1ib2R5LWJhMjAwY2MyODllNlxyXG4gIGNyZWF0ZUFuZ3VsYXJDb21wb25lbnRBcHBlbmRUb0RvbShjb21wb25lbnQ6IGFueSwgdGFyZ2V0RWxlbWVudD86IEhUTUxFbGVtZW50IHwgRWxlbWVudCwgY2xlYXJUYXJnZXRDb250ZW50ID0gZmFsc2UpOiBBbmd1bGFyQ29tcG9uZW50T3V0cHV0IHtcclxuICAgIGNvbnN0IGNvbXBvbmVudE91dHB1dCA9IHRoaXMuY3JlYXRlQW5ndWxhckNvbXBvbmVudChjb21wb25lbnQpO1xyXG5cclxuICAgIC8vIEFwcGVuZCBET00gZWxlbWVudCB0byB0aGUgSFRNTCBlbGVtZW50IHNwZWNpZmllZFxyXG4gICAgaWYgKHRhcmdldEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZCkge1xyXG4gICAgICBpZiAoY2xlYXJUYXJnZXRDb250ZW50ICYmIHRhcmdldEVsZW1lbnQuaW5uZXJIVE1MKSB7XHJcbiAgICAgICAgdGFyZ2V0RWxlbWVudC5pbm5lckhUTUwgPSAnJztcclxuICAgICAgfVxyXG4gICAgICB0YXJnZXRFbGVtZW50LmFwcGVuZENoaWxkKGNvbXBvbmVudE91dHB1dC5kb21FbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29tcG9uZW50T3V0cHV0LmRvbUVsZW1lbnQpOyAvLyB3aGVuIG5vIHRhcmdldCBwcm92aWRlZCwgd2UnbGwgc2ltcGx5IGFkZCBpdCB0byB0aGUgSFRNTCBCb2R5XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudE91dHB1dDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./angularUtil.service";
|
|
4
|
+
// Boostrap dropdown service
|
|
5
|
+
export class BsDropDownService {
|
|
6
|
+
constructor(angularUtilService) {
|
|
7
|
+
this.angularUtilService = angularUtilService;
|
|
8
|
+
}
|
|
9
|
+
get domElement() {
|
|
10
|
+
return this._domElement;
|
|
11
|
+
}
|
|
12
|
+
get domContainerElement() {
|
|
13
|
+
return this._domContainerElement;
|
|
14
|
+
}
|
|
15
|
+
get gridViewport() {
|
|
16
|
+
return $('.slick-viewport');
|
|
17
|
+
}
|
|
18
|
+
dispose() {
|
|
19
|
+
if (this._domElement && this._domElement.remove) {
|
|
20
|
+
this._domElement.remove();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
dropContainerShow() {
|
|
24
|
+
if (this._domContainerElement && this._domContainerElement.show) {
|
|
25
|
+
this._domContainerElement.show();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
render(dropdownParams) {
|
|
29
|
+
return new Promise((resolve) => {
|
|
30
|
+
const { component, args, parent, offsetTop, offsetLeft, offsetDropupBottom } = dropdownParams;
|
|
31
|
+
const cell = args.cell;
|
|
32
|
+
const row = args.row;
|
|
33
|
+
this._domContainerElement = $(`#myDrop-r${row}-c${cell}`);
|
|
34
|
+
if (this._domContainerElement) {
|
|
35
|
+
// hide the dropdown we created as a formatter Component, we'll redisplay it later
|
|
36
|
+
const cellPos = this._domContainerElement.offset();
|
|
37
|
+
const componentOutput = this.angularUtilService.createAngularComponent(component);
|
|
38
|
+
const componentInstance = componentOutput && componentOutput.componentRef && componentOutput.componentRef.instance;
|
|
39
|
+
if (componentInstance) {
|
|
40
|
+
const myDropId = componentInstance.dropdownId || 'myDrop';
|
|
41
|
+
const dropDownToggleId = componentInstance.dropDownToggleId || 'dropdownMenu1';
|
|
42
|
+
this._domElement = $(`#${myDropId}`);
|
|
43
|
+
if (this._domElement) {
|
|
44
|
+
// make sure to remove any previous Action dropdown elements, to avoid having multiple element of the same on top of each other
|
|
45
|
+
this.dispose();
|
|
46
|
+
// assign the row data to the dropdown component instance
|
|
47
|
+
Object.assign(componentInstance, { parent, row: args.row, dataContext: args.grid.getDataItem(args.row) });
|
|
48
|
+
// use a delay to make sure Angular ran at least a full cycle and make sure it finished rendering the Component before using it
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
// create a new dropdown element
|
|
51
|
+
this._domElement = $(componentOutput.domElement);
|
|
52
|
+
const topPos = (cellPos && cellPos.top || 0) + 30 + (offsetTop || 0);
|
|
53
|
+
const leftPos = (cellPos && cellPos.left || 0) + (offsetLeft || 0);
|
|
54
|
+
this._domElement.appendTo('body');
|
|
55
|
+
this._domElement.css('position', 'absolute');
|
|
56
|
+
this._domElement.css('top', topPos);
|
|
57
|
+
this._domElement.css('left', leftPos);
|
|
58
|
+
$(`#${myDropId}`).addClass('open');
|
|
59
|
+
$(`#${dropDownToggleId}`).hide();
|
|
60
|
+
// check if it should drop Up or Down
|
|
61
|
+
const offset = 35;
|
|
62
|
+
const iElement = $('.dropdown-menu');
|
|
63
|
+
const iElementWrapper = iElement.parent();
|
|
64
|
+
const iElementWrapperOffset = iElementWrapper.offset() || {};
|
|
65
|
+
const iElementWrapperOffsetTop = iElementWrapperOffset.top || iElementWrapper && iElementWrapper.length > 0 && iElementWrapper[0].offsetTop;
|
|
66
|
+
const iElementHeight = iElement.height();
|
|
67
|
+
const windowHeight = window.innerHeight;
|
|
68
|
+
const shouldDropUp = (windowHeight - iElementHeight - offset) < iElementWrapperOffsetTop;
|
|
69
|
+
let menuMarginTop = '0px';
|
|
70
|
+
if (shouldDropUp) {
|
|
71
|
+
const offsetBottom = offsetDropupBottom || 0;
|
|
72
|
+
menuMarginTop = '-'.concat(`${iElementHeight + offset + offsetBottom + 5}`, 'px');
|
|
73
|
+
}
|
|
74
|
+
this._domElement.css({ 'margin-top': menuMarginTop });
|
|
75
|
+
// set dropdown margin left according to the document width
|
|
76
|
+
const parentOffset = iElementWrapperOffset.left;
|
|
77
|
+
const leftMargin = parentOffset - $(document).width();
|
|
78
|
+
this._domElement.css({ 'margin-left': (this._domElement.width() + leftMargin + 60) + 'px' });
|
|
79
|
+
try {
|
|
80
|
+
this._domElement.dropdown('show'); // required for Bootstrap 4 only
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
// Bootstrap 3 wil throw an error since that method doesn't exist, we can safely disregard it
|
|
84
|
+
}
|
|
85
|
+
this._domElement.on('hidden.bs.dropdown', () => this.dropContainerShow());
|
|
86
|
+
// hide dropdown menu on grid scroll
|
|
87
|
+
this.gridViewport.on('scroll', () => this.dispose());
|
|
88
|
+
// hide on dropdown click
|
|
89
|
+
this._domElement.on('click', () => this.dispose());
|
|
90
|
+
resolve(true);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
BsDropDownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BsDropDownService, deps: [{ token: i1.AngularUtilService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
99
|
+
BsDropDownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BsDropDownService });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BsDropDownService, decorators: [{
|
|
101
|
+
type: Injectable
|
|
102
|
+
}], ctorParameters: function () { return [{ type: i1.AngularUtilService }]; } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnNEcm9wZG93bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL3NlcnZpY2VzL2JzRHJvcGRvd24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEwQjNDLDRCQUE0QjtBQUU1QixNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUksQ0FBQztJQUUvRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFO1lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRTtZQUMvRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQXFDO1FBQzFDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGNBQWMsQ0FBQztZQUU5RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFFckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBRTFELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM3QixrRkFBa0Y7Z0JBQ2xGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFFbkQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRixNQUFNLGlCQUFpQixHQUFHLGVBQWUsSUFBSSxlQUFlLENBQUMsWUFBWSxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUVuSCxJQUFJLGlCQUFpQixFQUFFO29CQUNyQixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO29CQUMxRCxNQUFNLGdCQUFnQixHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixJQUFJLGVBQWUsQ0FBQztvQkFDL0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUVyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7d0JBQ3BCLCtIQUErSDt3QkFDL0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUVmLHlEQUF5RDt3QkFDekQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFFMUcsK0hBQStIO3dCQUMvSCxVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNkLGdDQUFnQzs0QkFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzRCQUNqRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDckUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzs0QkFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDOzRCQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7NEJBQ3RDLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUNuQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7NEJBRWpDLHFDQUFxQzs0QkFDckMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDOzRCQUNsQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzs0QkFDckMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDOzRCQUMxQyxNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7NEJBQzdELE1BQU0sd0JBQXdCLEdBQUcscUJBQXFCLENBQUMsR0FBRyxJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDOzRCQUM1SSxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7NEJBQ3pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7NEJBQ3hDLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxHQUFHLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyx3QkFBd0IsQ0FBQzs0QkFDekYsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDOzRCQUMxQixJQUFJLFlBQVksRUFBRTtnQ0FDaEIsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLElBQUksQ0FBQyxDQUFDO2dDQUM3QyxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLGNBQWMsR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDOzZCQUNuRjs0QkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDOzRCQUV0RCwyREFBMkQ7NEJBQzNELE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQzs0QkFDaEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs0QkFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUU3RixJQUFJO2dDQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0NBQWdDOzZCQUNwRTs0QkFBQyxPQUFPLENBQUMsRUFBRTtnQ0FDViw2RkFBNkY7NkJBQzlGOzRCQUVELElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7NEJBRTFFLG9DQUFvQzs0QkFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDOzRCQUVyRCx5QkFBeUI7NEJBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzs0QkFDbkQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoQixDQUFDLENBQUMsQ0FBQztxQkFDSjtpQkFDRjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0EvR1UsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFuZ3VsYXJVdGlsU2VydmljZSB9IGZyb20gJy4vYW5ndWxhclV0aWwuc2VydmljZSc7XHJcblxyXG5pbnRlcmZhY2UgRHJvcERvd25TZXJ2aWNlUGFyYW1zIHtcclxuICAvKiogdGhlIGN1c3RvbSBhY3Rpb24gZm9ybWF0dGVyIGNvbXBvbmVudCB0aGF0IGNvbnRhaW5zIHRoZSBkcm9wZG93biAqL1xyXG4gIGNvbXBvbmVudDogYW55O1xyXG5cclxuICAvKiogaGVscCB0byBnZXQgdGhlIGRhdGEgY29udGV4dCAqL1xyXG4gIGFyZ3M6IGFueTtcclxuXHJcbiAgLyoqIHBhcmVudCBjb250YWluZXIgKi9cclxuICBwYXJlbnQ6IGFueTtcclxuXHJcbiAgLyoqIE9mZnNldCBib3R0b20gd2hlbiB1c2luZyBhIERyb3AgVXAsIGlmIHdlIG5lZWQgdG8gcmVwb3NpdGlvbiB0aGUgZHJvcGRvd24gY29tcG9uZW50ICovXHJcbiAgb2Zmc2V0RHJvcHVwQm90dG9tPzogbnVtYmVyO1xyXG5cclxuICAvKiogT2Zmc2V0IGxlZnQgaWYgd2UgbmVlZCB0byByZXBvc2l0aW9uIHRoZSBkcm9wZG93biBjb21wb25lbnQgKi9cclxuICBvZmZzZXRMZWZ0PzogbnVtYmVyO1xyXG5cclxuICAvKiogT2Zmc2V0IHRvcCBpZiB3ZSBuZWVkIHRvIHJlcG9zaXRpb24gdGhlIGRyb3Bkb3duIGNvbXBvbmVudCAqL1xyXG4gIG9mZnNldFRvcD86IG51bWJlcjtcclxufVxyXG5cclxuLy8gdXNpbmcgZXh0ZXJuYWwgbm9uLXR5cGVkIGpzIGxpYnJhcmllc1xyXG5kZWNsYXJlIGNvbnN0ICQ6IGFueTtcclxuXHJcbi8vIEJvb3N0cmFwIGRyb3Bkb3duIHNlcnZpY2VcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQnNEcm9wRG93blNlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2RvbUNvbnRhaW5lckVsZW1lbnQ6IGFueTtcclxuICBwcml2YXRlIF9kb21FbGVtZW50OiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhclV0aWxTZXJ2aWNlOiBBbmd1bGFyVXRpbFNlcnZpY2UpIHsgfVxyXG5cclxuICBnZXQgZG9tRWxlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kb21FbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRvbUNvbnRhaW5lckVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZG9tQ29udGFpbmVyRWxlbWVudDtcclxuICB9XHJcblxyXG4gIGdldCBncmlkVmlld3BvcnQoKSB7XHJcbiAgICByZXR1cm4gJCgnLnNsaWNrLXZpZXdwb3J0Jyk7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlKCkge1xyXG4gICAgaWYgKHRoaXMuX2RvbUVsZW1lbnQgJiYgdGhpcy5fZG9tRWxlbWVudC5yZW1vdmUpIHtcclxuICAgICAgdGhpcy5fZG9tRWxlbWVudC5yZW1vdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRyb3BDb250YWluZXJTaG93KCkge1xyXG4gICAgaWYgKHRoaXMuX2RvbUNvbnRhaW5lckVsZW1lbnQgJiYgdGhpcy5fZG9tQ29udGFpbmVyRWxlbWVudC5zaG93KSB7XHJcbiAgICAgIHRoaXMuX2RvbUNvbnRhaW5lckVsZW1lbnQuc2hvdygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKGRyb3Bkb3duUGFyYW1zOiBEcm9wRG93blNlcnZpY2VQYXJhbXMpIHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNvbXBvbmVudCwgYXJncywgcGFyZW50LCBvZmZzZXRUb3AsIG9mZnNldExlZnQsIG9mZnNldERyb3B1cEJvdHRvbSB9ID0gZHJvcGRvd25QYXJhbXM7XHJcblxyXG4gICAgICBjb25zdCBjZWxsID0gYXJncy5jZWxsO1xyXG4gICAgICBjb25zdCByb3cgPSBhcmdzLnJvdztcclxuXHJcbiAgICAgIHRoaXMuX2RvbUNvbnRhaW5lckVsZW1lbnQgPSAkKGAjbXlEcm9wLXIke3Jvd30tYyR7Y2VsbH1gKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLl9kb21Db250YWluZXJFbGVtZW50KSB7XHJcbiAgICAgICAgLy8gaGlkZSB0aGUgZHJvcGRvd24gd2UgY3JlYXRlZCBhcyBhIGZvcm1hdHRlciBDb21wb25lbnQsIHdlJ2xsIHJlZGlzcGxheSBpdCBsYXRlclxyXG4gICAgICAgIGNvbnN0IGNlbGxQb3MgPSB0aGlzLl9kb21Db250YWluZXJFbGVtZW50Lm9mZnNldCgpO1xyXG5cclxuICAgICAgICBjb25zdCBjb21wb25lbnRPdXRwdXQgPSB0aGlzLmFuZ3VsYXJVdGlsU2VydmljZS5jcmVhdGVBbmd1bGFyQ29tcG9uZW50KGNvbXBvbmVudCk7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50SW5zdGFuY2UgPSBjb21wb25lbnRPdXRwdXQgJiYgY29tcG9uZW50T3V0cHV0LmNvbXBvbmVudFJlZiAmJiBjb21wb25lbnRPdXRwdXQuY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG5cclxuICAgICAgICBpZiAoY29tcG9uZW50SW5zdGFuY2UpIHtcclxuICAgICAgICAgIGNvbnN0IG15RHJvcElkID0gY29tcG9uZW50SW5zdGFuY2UuZHJvcGRvd25JZCB8fCAnbXlEcm9wJztcclxuICAgICAgICAgIGNvbnN0IGRyb3BEb3duVG9nZ2xlSWQgPSBjb21wb25lbnRJbnN0YW5jZS5kcm9wRG93blRvZ2dsZUlkIHx8ICdkcm9wZG93bk1lbnUxJztcclxuICAgICAgICAgIHRoaXMuX2RvbUVsZW1lbnQgPSAkKGAjJHtteURyb3BJZH1gKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5fZG9tRWxlbWVudCkge1xyXG4gICAgICAgICAgICAvLyBtYWtlIHN1cmUgdG8gcmVtb3ZlIGFueSBwcmV2aW91cyBBY3Rpb24gZHJvcGRvd24gZWxlbWVudHMsIHRvIGF2b2lkIGhhdmluZyBtdWx0aXBsZSBlbGVtZW50IG9mIHRoZSBzYW1lIG9uIHRvcCBvZiBlYWNoIG90aGVyXHJcbiAgICAgICAgICAgIHRoaXMuZGlzcG9zZSgpO1xyXG5cclxuICAgICAgICAgICAgLy8gYXNzaWduIHRoZSByb3cgZGF0YSB0byB0aGUgZHJvcGRvd24gY29tcG9uZW50IGluc3RhbmNlXHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50SW5zdGFuY2UsIHsgcGFyZW50LCByb3c6IGFyZ3Mucm93LCBkYXRhQ29udGV4dDogYXJncy5ncmlkLmdldERhdGFJdGVtKGFyZ3Mucm93KSB9KTtcclxuXHJcbiAgICAgICAgICAgIC8vIHVzZSBhIGRlbGF5IHRvIG1ha2Ugc3VyZSBBbmd1bGFyIHJhbiBhdCBsZWFzdCBhIGZ1bGwgY3ljbGUgYW5kIG1ha2Ugc3VyZSBpdCBmaW5pc2hlZCByZW5kZXJpbmcgdGhlIENvbXBvbmVudCBiZWZvcmUgdXNpbmcgaXRcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gY3JlYXRlIGEgbmV3IGRyb3Bkb3duIGVsZW1lbnRcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50ID0gJChjb21wb25lbnRPdXRwdXQuZG9tRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgdG9wUG9zID0gKGNlbGxQb3MgJiYgY2VsbFBvcy50b3AgfHwgMCkgKyAzMCArIChvZmZzZXRUb3AgfHwgMCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGVmdFBvcyA9IChjZWxsUG9zICYmIGNlbGxQb3MubGVmdCB8fCAwKSArIChvZmZzZXRMZWZ0IHx8IDApO1xyXG4gICAgICAgICAgICAgIHRoaXMuX2RvbUVsZW1lbnQuYXBwZW5kVG8oJ2JvZHknKTtcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmNzcygncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmNzcygndG9wJywgdG9wUG9zKTtcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmNzcygnbGVmdCcsIGxlZnRQb3MpO1xyXG4gICAgICAgICAgICAgICQoYCMke215RHJvcElkfWApLmFkZENsYXNzKCdvcGVuJyk7XHJcbiAgICAgICAgICAgICAgJChgIyR7ZHJvcERvd25Ub2dnbGVJZH1gKS5oaWRlKCk7XHJcblxyXG4gICAgICAgICAgICAgIC8vIGNoZWNrIGlmIGl0IHNob3VsZCBkcm9wIFVwIG9yIERvd25cclxuICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSAzNTtcclxuICAgICAgICAgICAgICBjb25zdCBpRWxlbWVudCA9ICQoJy5kcm9wZG93bi1tZW51Jyk7XHJcbiAgICAgICAgICAgICAgY29uc3QgaUVsZW1lbnRXcmFwcGVyID0gaUVsZW1lbnQucGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgaUVsZW1lbnRXcmFwcGVyT2Zmc2V0ID0gaUVsZW1lbnRXcmFwcGVyLm9mZnNldCgpIHx8IHt9O1xyXG4gICAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50V3JhcHBlck9mZnNldFRvcCA9IGlFbGVtZW50V3JhcHBlck9mZnNldC50b3AgfHwgaUVsZW1lbnRXcmFwcGVyICYmIGlFbGVtZW50V3JhcHBlci5sZW5ndGggPiAwICYmIGlFbGVtZW50V3JhcHBlclswXS5vZmZzZXRUb3A7XHJcbiAgICAgICAgICAgICAgY29uc3QgaUVsZW1lbnRIZWlnaHQgPSBpRWxlbWVudC5oZWlnaHQoKTtcclxuICAgICAgICAgICAgICBjb25zdCB3aW5kb3dIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkRHJvcFVwID0gKHdpbmRvd0hlaWdodCAtIGlFbGVtZW50SGVpZ2h0IC0gb2Zmc2V0KSA8IGlFbGVtZW50V3JhcHBlck9mZnNldFRvcDtcclxuICAgICAgICAgICAgICBsZXQgbWVudU1hcmdpblRvcCA9ICcwcHgnO1xyXG4gICAgICAgICAgICAgIGlmIChzaG91bGREcm9wVXApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldEJvdHRvbSA9IG9mZnNldERyb3B1cEJvdHRvbSB8fCAwO1xyXG4gICAgICAgICAgICAgICAgbWVudU1hcmdpblRvcCA9ICctJy5jb25jYXQoYCR7aUVsZW1lbnRIZWlnaHQgKyBvZmZzZXQgKyBvZmZzZXRCb3R0b20gKyA1fWAsICdweCcpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmNzcyh7ICdtYXJnaW4tdG9wJzogbWVudU1hcmdpblRvcCB9KTtcclxuXHJcbiAgICAgICAgICAgICAgLy8gc2V0IGRyb3Bkb3duIG1hcmdpbiBsZWZ0IGFjY29yZGluZyB0byB0aGUgZG9jdW1lbnQgd2lkdGhcclxuICAgICAgICAgICAgICBjb25zdCBwYXJlbnRPZmZzZXQgPSBpRWxlbWVudFdyYXBwZXJPZmZzZXQubGVmdDtcclxuICAgICAgICAgICAgICBjb25zdCBsZWZ0TWFyZ2luID0gcGFyZW50T2Zmc2V0IC0gJChkb2N1bWVudCkud2lkdGgoKTtcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmNzcyh7ICdtYXJnaW4tbGVmdCc6ICh0aGlzLl9kb21FbGVtZW50LndpZHRoKCkgKyBsZWZ0TWFyZ2luICsgNjApICsgJ3B4JyB9KTtcclxuXHJcbiAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2RvbUVsZW1lbnQuZHJvcGRvd24oJ3Nob3cnKTsgLy8gcmVxdWlyZWQgZm9yIEJvb3RzdHJhcCA0IG9ubHlcclxuICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBCb290c3RyYXAgMyB3aWwgdGhyb3cgYW4gZXJyb3Igc2luY2UgdGhhdCBtZXRob2QgZG9lc24ndCBleGlzdCwgd2UgY2FuIHNhZmVseSBkaXNyZWdhcmQgaXRcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuX2RvbUVsZW1lbnQub24oJ2hpZGRlbi5icy5kcm9wZG93bicsICgpID0+IHRoaXMuZHJvcENvbnRhaW5lclNob3coKSk7XHJcblxyXG4gICAgICAgICAgICAgIC8vIGhpZGUgZHJvcGRvd24gbWVudSBvbiBncmlkIHNjcm9sbFxyXG4gICAgICAgICAgICAgIHRoaXMuZ3JpZFZpZXdwb3J0Lm9uKCdzY3JvbGwnLCAoKSA9PiB0aGlzLmRpc3Bvc2UoKSk7XHJcblxyXG4gICAgICAgICAgICAgIC8vIGhpZGUgb24gZHJvcGRvd24gY2xpY2tcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50Lm9uKCdjbGljaycsICgpID0+IHRoaXMuZGlzcG9zZSgpKTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ContainerService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.dependencies = [];
|
|
6
|
+
}
|
|
7
|
+
get(key) {
|
|
8
|
+
const dependency = this.dependencies.find(dep => dep.key === key);
|
|
9
|
+
if (dependency?.instance) {
|
|
10
|
+
return dependency.instance;
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
registerInstance(key, instance) {
|
|
15
|
+
const dependency = this.dependencies.some(dep => dep.key === key);
|
|
16
|
+
if (!dependency) {
|
|
17
|
+
this.dependencies.push({ key, instance });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ContainerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContainerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
ContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContainerService });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ContainerService, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}], ctorParameters: function () { return []; } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQvc2VydmljZXMvY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUczQjtRQUZBLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztJQUV2QixDQUFDO0lBRWpCLEdBQUcsQ0FBVSxHQUFXO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNsRSxJQUFJLFVBQVUsRUFBRSxRQUFRLEVBQUU7WUFDeEIsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFFBQWE7UUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO0lBQ0gsQ0FBQzs7NkdBbEJVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRhaW5lckluc3RhbmNlLCBDb250YWluZXJTZXJ2aWNlIGFzIFVuaXZlcnNhbENvbnRhaW5lclNlcnZpY2UgfSBmcm9tICdAc2xpY2tncmlkLXVuaXZlcnNhbC9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyU2VydmljZSBpbXBsZW1lbnRzIFVuaXZlcnNhbENvbnRhaW5lclNlcnZpY2Uge1xyXG4gIGRlcGVuZGVuY2llczogQ29udGFpbmVySW5zdGFuY2VbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBnZXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHwgbnVsbCB7XHJcbiAgICBjb25zdCBkZXBlbmRlbmN5ID0gdGhpcy5kZXBlbmRlbmNpZXMuZmluZChkZXAgPT4gZGVwLmtleSA9PT0ga2V5KTtcclxuICAgIGlmIChkZXBlbmRlbmN5Py5pbnN0YW5jZSkge1xyXG4gICAgICByZXR1cm4gZGVwZW5kZW5jeS5pbnN0YW5jZTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJJbnN0YW5jZShrZXk6IHN0cmluZywgaW5zdGFuY2U6IGFueSkge1xyXG4gICAgY29uc3QgZGVwZW5kZW5jeSA9IHRoaXMuZGVwZW5kZW5jaWVzLnNvbWUoZGVwID0+IGRlcC5rZXkgPT09IGtleSk7XHJcbiAgICBpZiAoIWRlcGVuZGVuY3kpIHtcclxuICAgICAgdGhpcy5kZXBlbmRlbmNpZXMucHVzaCh7IGtleSwgaW5zdGFuY2UgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|