angular-slickgrid 3.3.2 → 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.
Files changed (55) hide show
  1. package/README.md +9 -7
  2. package/angular-slickgrid.d.ts +1 -3
  3. package/app/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +8 -4
  4. package/app/modules/angular-slickgrid/extensions/index.d.ts +1 -1
  5. package/app/modules/angular-slickgrid/extensions/{rowDetailViewExtension.d.ts → slickRowDetailView.d.ts} +40 -27
  6. package/app/modules/angular-slickgrid/index.d.ts +1 -1
  7. package/app/modules/angular-slickgrid/models/angularGridInstance.interface.d.ts +1 -1
  8. package/app/modules/angular-slickgrid/modules/angular-slickgrid.module.d.ts +7 -0
  9. package/app/modules/angular-slickgrid/services/angularUtil.service.d.ts +3 -0
  10. package/app/modules/angular-slickgrid/services/bsDropdown.service.d.ts +3 -0
  11. package/app/modules/angular-slickgrid/services/container.service.d.ts +3 -0
  12. package/app/modules/angular-slickgrid/services/translater.service.d.ts +3 -0
  13. package/docs/assets/lib/multiple-select/README.md +17 -0
  14. package/esm2020/angular-slickgrid.mjs +5 -0
  15. package/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +1168 -0
  16. package/{esm2015/app/modules/angular-slickgrid/constants.js → esm2020/app/modules/angular-slickgrid/constants.mjs} +0 -0
  17. package/{esm2015/app/modules/angular-slickgrid/extensions/index.js → esm2020/app/modules/angular-slickgrid/extensions/index.mjs} +2 -2
  18. package/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +301 -0
  19. package/esm2020/app/modules/angular-slickgrid/global-grid-options.mjs +243 -0
  20. package/{esm2015/app/modules/angular-slickgrid/index.js → esm2020/app/modules/angular-slickgrid/index.mjs} +2 -2
  21. package/{esm2015/app/modules/angular-slickgrid/models/angularComponentOutput.interface.js → esm2020/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs} +0 -0
  22. package/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +2 -0
  23. package/{esm2015/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.js → esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs} +0 -0
  24. package/{esm2015/app/modules/angular-slickgrid/models/gridOption.interface.js → esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs} +0 -0
  25. package/{esm2015/app/modules/angular-slickgrid/models/index.js → esm2020/app/modules/angular-slickgrid/models/index.mjs} +0 -0
  26. package/{esm2015/app/modules/angular-slickgrid/models/rowDetailView.interface.js → esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs} +0 -0
  27. package/{esm2015/app/modules/angular-slickgrid/models/slickGrid.interface.js → esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs} +0 -0
  28. package/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +46 -0
  29. package/esm2020/app/modules/angular-slickgrid/services/angularUtil.service.mjs +46 -0
  30. package/esm2020/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +103 -0
  31. package/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +26 -0
  32. package/{esm2015/app/modules/angular-slickgrid/services/index.js → esm2020/app/modules/angular-slickgrid/services/index.mjs} +0 -0
  33. package/esm2020/app/modules/angular-slickgrid/services/translater.service.mjs +43 -0
  34. package/{esm2015/app/modules/angular-slickgrid/services/utilities.js → esm2020/app/modules/angular-slickgrid/services/utilities.mjs} +0 -0
  35. package/{esm2015/app/modules/angular-slickgrid/slickgrid-config.js → esm2020/app/modules/angular-slickgrid/slickgrid-config.mjs} +0 -0
  36. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  37. package/fesm2015/{angular-slickgrid.js → angular-slickgrid.mjs} +247 -279
  38. package/fesm2015/angular-slickgrid.mjs.map +1 -0
  39. package/fesm2020/angular-slickgrid.mjs +2065 -0
  40. package/fesm2020/angular-slickgrid.mjs.map +1 -0
  41. package/package.json +33 -22
  42. package/angular-slickgrid.metadata.json +0 -1
  43. package/bundles/angular-slickgrid.umd.js +0 -2642
  44. package/bundles/angular-slickgrid.umd.js.map +0 -1
  45. package/esm2015/angular-slickgrid.js +0 -7
  46. package/esm2015/app/modules/angular-slickgrid/components/angular-slickgrid.component.js +0 -1202
  47. package/esm2015/app/modules/angular-slickgrid/extensions/rowDetailViewExtension.js +0 -342
  48. package/esm2015/app/modules/angular-slickgrid/global-grid-options.js +0 -243
  49. package/esm2015/app/modules/angular-slickgrid/models/angularGridInstance.interface.js +0 -2
  50. package/esm2015/app/modules/angular-slickgrid/modules/angular-slickgrid.module.js +0 -37
  51. package/esm2015/app/modules/angular-slickgrid/services/angularUtil.service.js +0 -48
  52. package/esm2015/app/modules/angular-slickgrid/services/bsDropdown.service.js +0 -103
  53. package/esm2015/app/modules/angular-slickgrid/services/container.service.js +0 -24
  54. package/esm2015/app/modules/angular-slickgrid/services/translater.service.js +0 -47
  55. package/fesm2015/angular-slickgrid.js.map +0 -1
@@ -1,243 +0,0 @@
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
- width: 200,
52
- },
53
- customFooterOptions: {
54
- dateFormat: 'YYYY-MM-DD, hh:mm a',
55
- hideRowSelectionCount: false,
56
- hideTotalItemCount: false,
57
- hideLastUpdateTimestamp: true,
58
- footerHeight: 25,
59
- leftContainerClass: 'col-xs-12 col-sm-5',
60
- rightContainerClass: 'col-xs-6 col-sm-7',
61
- metricSeparator: '|',
62
- metricTexts: {
63
- items: 'items',
64
- itemsKey: 'ITEMS',
65
- itemsSelected: 'items selected',
66
- itemsSelectedKey: 'ITEMS_SELECTED',
67
- of: 'of',
68
- ofKey: 'OF',
69
- }
70
- },
71
- dataView: {
72
- syncGridSelection: true,
73
- syncGridSelectionWithBackendService: false, // but disable it when using backend services
74
- },
75
- datasetIdPropertyName: 'id',
76
- defaultFilter: Filters.input,
77
- defaultBackendServiceFilterTypingDebounce: 500,
78
- defaultColumnSortFieldId: 'id',
79
- defaultFilterPlaceholder: '🔎︎',
80
- defaultFilterRangeOperator: OperatorType.rangeInclusive,
81
- editable: false,
82
- enableAutoResize: true,
83
- enableAutoSizeColumns: true,
84
- enableCellNavigation: false,
85
- enableColumnPicker: true,
86
- enableColumnReorder: true,
87
- enableColumnResizeOnDoubleClick: true,
88
- enableContextMenu: true,
89
- enableExcelExport: true,
90
- enableExport: false,
91
- enableFilterTrimWhiteSpace: false,
92
- enableGridMenu: true,
93
- enableHeaderMenu: true,
94
- enableEmptyDataWarningMessage: true,
95
- emptyDataWarning: {
96
- className: 'slick-empty-data-warning',
97
- message: 'No data to display.',
98
- messageKey: 'EMPTY_DATA_WARNING_MESSAGE',
99
- hideFrozenLeftWarning: false,
100
- hideFrozenRightWarning: false,
101
- leftViewportMarginLeft: '40%',
102
- rightViewportMarginLeft: '40%',
103
- frozenLeftViewportMarginLeft: '0px',
104
- frozenRightViewportMarginLeft: '40%',
105
- },
106
- enableMouseHoverHighlightRow: true,
107
- enableSorting: true,
108
- enableTextSelectionOnCells: true,
109
- eventNamingStyle: EventNamingStyle.camelCase,
110
- explicitInitialization: true,
111
- excelExportOptions: {
112
- addGroupIndentation: true,
113
- exportWithFormatter: false,
114
- filename: 'export',
115
- format: FileType.xlsx,
116
- groupingColumnHeaderTitle: 'Group By',
117
- groupCollapsedSymbol: '⮞',
118
- groupExpandedSymbol: '⮟',
119
- groupingAggregatorRowText: '',
120
- sanitizeDataExport: false,
121
- },
122
- exportOptions: {
123
- delimiter: DelimiterType.comma,
124
- exportWithFormatter: false,
125
- filename: 'export',
126
- format: FileType.csv,
127
- groupingColumnHeaderTitle: 'Group By',
128
- groupingAggregatorRowText: '',
129
- sanitizeDataExport: false,
130
- useUtf8WithBom: true
131
- },
132
- filterTypingDebounce: 0,
133
- forceFitColumns: false,
134
- frozenHeaderWidthCalcDifferential: 0,
135
- gridMenu: {
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
- useClickToRepositionMenu: false,
171
- headerColumnValueExtractor: pickerHeaderColumnValueExtractor
172
- },
173
- headerMenu: {
174
- autoAlign: true,
175
- autoAlignOffset: 12,
176
- minWidth: 140,
177
- iconClearFilterCommand: 'fa fa-filter text-danger',
178
- iconClearSortCommand: 'fa fa-unsorted',
179
- iconFreezeColumns: 'fa fa-thumb-tack',
180
- iconSortAscCommand: 'fa fa-sort-amount-asc',
181
- iconSortDescCommand: 'fa fa-sort-amount-desc',
182
- iconColumnHideCommand: 'fa fa-times',
183
- iconColumnResizeByContentCommand: 'fa fa-arrows-h',
184
- hideColumnResizeByContentCommand: false,
185
- hideColumnHideCommand: false,
186
- hideClearFilterCommand: false,
187
- hideClearSortCommand: false,
188
- hideFreezeColumnsCommand: true,
189
- hideSortCommands: false
190
- },
191
- headerRowHeight: 35,
192
- multiColumnSort: true,
193
- numberedMultiColumnSort: true,
194
- tristateMultiColumnSort: false,
195
- sortColNumberInSeparateSpan: true,
196
- suppressActiveCellChangeOnEdit: true,
197
- pagination: {
198
- pageSizes: [10, 15, 20, 25, 30, 40, 50, 75, 100],
199
- pageSize: 25,
200
- totalItems: 0
201
- },
202
- // technically speaking the Row Detail requires the process & viewComponent but we'll ignore it just to set certain options
203
- rowDetailView: {
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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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIERlbGltaXRlclR5cGUsIEV2ZW50TmFtaW5nU3R5bGUsIEZpbGVUeXBlLCBGaWx0ZXJzLCBHcmlkQXV0b3NpemVDb2xzTW9kZSwgT3BlcmF0b3JUeXBlLCBUcmVlRGF0YU9wdGlvbiB9IGZyb20gJ0BzbGlja2dyaWQtdW5pdmVyc2FsL2NvbW1vbic7XHJcbmltcG9ydCB7IEdyaWRPcHRpb24sIFJvd0RldGFpbFZpZXcgfSBmcm9tICcuL21vZGVscy9pbmRleCc7XHJcblxyXG4vKiogR2xvYmFsIEdyaWQgT3B0aW9ucyBEZWZhdWx0cyAqL1xyXG5leHBvcnQgY29uc3QgR2xvYmFsR3JpZE9wdGlvbnM6IFBhcnRpYWw8R3JpZE9wdGlvbj4gPSB7XHJcbiAgYWx3YXlzU2hvd1ZlcnRpY2FsU2Nyb2xsOiB0cnVlLFxyXG4gIGF1dG9FZGl0OiBmYWxzZSxcclxuICBhc3luY0VkaXRvckxvYWRpbmc6IGZhbHNlLFxyXG4gIGF1dG9GaXRDb2x1bW5zT25GaXJzdExvYWQ6IHRydWUsXHJcbiAgYXV0b1Jlc2l6ZToge1xyXG4gICAgYXBwbHlSZXNpemVUb0NvbnRhaW5lcjogdHJ1ZSxcclxuICAgIGNhbGN1bGF0ZUF2YWlsYWJsZVNpemVCeTogJ3dpbmRvdycsXHJcbiAgICBib3R0b21QYWRkaW5nOiAyMCxcclxuICAgIG1pbkhlaWdodDogMTgwLFxyXG4gICAgbWluV2lkdGg6IDMwMCxcclxuICAgIHJpZ2h0UGFkZGluZzogMFxyXG4gIH0sXHJcbiAgY2VsbEhpZ2hsaWdodENzc0NsYXNzOiAnc2xpY2stY2VsbC1tb2RpZmllZCcsXHJcbiAgY2hlY2tib3hTZWxlY3Rvcjoge1xyXG4gICAgY3NzQ2xhc3M6ICdzbGljay1jZWxsLWNoZWNrYm94c2VsJ1xyXG4gIH0sXHJcbiAgY29sdW1uUGlja2VyOiB7XHJcbiAgICBmYWRlU3BlZWQ6IDAsXHJcbiAgICBoaWRlRm9yY2VGaXRCdXR0b246IGZhbHNlLFxyXG4gICAgaGlkZVN5bmNSZXNpemVCdXR0b246IHRydWUsXHJcbiAgICBoZWFkZXJDb2x1bW5WYWx1ZUV4dHJhY3RvcjogcGlja2VySGVhZGVyQ29sdW1uVmFsdWVFeHRyYWN0b3JcclxuICB9LFxyXG4gIGNlbGxNZW51OiB7XHJcbiAgICBhdXRvQWRqdXN0RHJvcDogdHJ1ZSxcclxuICAgIGF1dG9BbGlnblNpZGU6IHRydWUsXHJcbiAgICBoaWRlQ2xvc2VCdXR0b246IHRydWUsXHJcbiAgICBoaWRlQ29tbWFuZFNlY3Rpb246IGZhbHNlLFxyXG4gICAgaGlkZU9wdGlvblNlY3Rpb246IGZhbHNlLFxyXG4gIH0sXHJcbiAgY29udGV4dE1lbnU6IHtcclxuICAgIGF1dG9BZGp1c3REcm9wOiB0cnVlLFxyXG4gICAgYXV0b0FsaWduU2lkZTogdHJ1ZSxcclxuICAgIGhpZGVDbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgIGhpZGVDbGVhckFsbEdyb3VwaW5nOiBmYWxzZSxcclxuICAgIGhpZGVDb2xsYXBzZUFsbEdyb3VwczogZmFsc2UsXHJcbiAgICBoaWRlQ29tbWFuZFNlY3Rpb246IGZhbHNlLFxyXG4gICAgaGlkZUNvcHlDZWxsVmFsdWVDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVFeHBhbmRBbGxHcm91cHM6IGZhbHNlLFxyXG4gICAgaGlkZUV4cG9ydENzdkNvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUV4cG9ydEV4Y2VsQ29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlRXhwb3J0VGV4dERlbGltaXRlZENvbW1hbmQ6IHRydWUsXHJcbiAgICBoaWRlTWVudU9uU2Nyb2xsOiB0cnVlLFxyXG4gICAgaGlkZU9wdGlvblNlY3Rpb246IGZhbHNlLFxyXG4gICAgaWNvbkNvcHlDZWxsVmFsdWVDb21tYW5kOiAnZmEgZmEtY2xvbmUnLFxyXG4gICAgaWNvbkV4cG9ydENzdkNvbW1hbmQ6ICdmYSBmYS1kb3dubG9hZCcsXHJcbiAgICBpY29uRXhwb3J0RXhjZWxDb21tYW5kOiAnZmEgZmEtZmlsZS1leGNlbC1vIHRleHQtc3VjY2VzcycsXHJcbiAgICBpY29uRXhwb3J0VGV4dERlbGltaXRlZENvbW1hbmQ6ICdmYSBmYS1kb3dubG9hZCcsXHJcbiAgICB3aWR0aDogMjAwLFxyXG4gIH0sXHJcbiAgY3VzdG9tRm9vdGVyT3B0aW9uczoge1xyXG4gICAgZGF0ZUZvcm1hdDogJ1lZWVktTU0tREQsIGhoOm1tIGEnLFxyXG4gICAgaGlkZVJvd1NlbGVjdGlvbkNvdW50OiBmYWxzZSxcclxuICAgIGhpZGVUb3RhbEl0ZW1Db3VudDogZmFsc2UsXHJcbiAgICBoaWRlTGFzdFVwZGF0ZVRpbWVzdGFtcDogdHJ1ZSxcclxuICAgIGZvb3RlckhlaWdodDogMjUsXHJcbiAgICBsZWZ0Q29udGFpbmVyQ2xhc3M6ICdjb2wteHMtMTIgY29sLXNtLTUnLFxyXG4gICAgcmlnaHRDb250YWluZXJDbGFzczogJ2NvbC14cy02IGNvbC1zbS03JyxcclxuICAgIG1ldHJpY1NlcGFyYXRvcjogJ3wnLFxyXG4gICAgbWV0cmljVGV4dHM6IHtcclxuICAgICAgaXRlbXM6ICdpdGVtcycsXHJcbiAgICAgIGl0ZW1zS2V5OiAnSVRFTVMnLFxyXG4gICAgICBpdGVtc1NlbGVjdGVkOiAnaXRlbXMgc2VsZWN0ZWQnLFxyXG4gICAgICBpdGVtc1NlbGVjdGVkS2V5OiAnSVRFTVNfU0VMRUNURUQnLFxyXG4gICAgICBvZjogJ29mJyxcclxuICAgICAgb2ZLZXk6ICdPRicsXHJcbiAgICB9XHJcbiAgfSxcclxuICBkYXRhVmlldzoge1xyXG4gICAgc3luY0dyaWRTZWxlY3Rpb246IHRydWUsIC8vIHdoZW4gZW5hYmxlZCwgdGhpcyB3aWxsIHByZXNlcnZlIHRoZSByb3cgc2VsZWN0aW9uIGV2ZW4gYWZ0ZXIgZmlsdGVyaW5nL3NvcnRpbmcvZ3JvdXBpbmdcclxuICAgIHN5bmNHcmlkU2VsZWN0aW9uV2l0aEJhY2tlbmRTZXJ2aWNlOiBmYWxzZSwgLy8gYnV0IGRpc2FibGUgaXQgd2hlbiB1c2luZyBiYWNrZW5kIHNlcnZpY2VzXHJcbiAgfSxcclxuICBkYXRhc2V0SWRQcm9wZXJ0eU5hbWU6ICdpZCcsXHJcbiAgZGVmYXVsdEZpbHRlcjogRmlsdGVycy5pbnB1dCxcclxuICBkZWZhdWx0QmFja2VuZFNlcnZpY2VGaWx0ZXJUeXBpbmdEZWJvdW5jZTogNTAwLFxyXG4gIGRlZmF1bHRDb2x1bW5Tb3J0RmllbGRJZDogJ2lkJyxcclxuICBkZWZhdWx0RmlsdGVyUGxhY2Vob2xkZXI6ICfwn5SO77iOJyxcclxuICBkZWZhdWx0RmlsdGVyUmFuZ2VPcGVyYXRvcjogT3BlcmF0b3JUeXBlLnJhbmdlSW5jbHVzaXZlLFxyXG4gIGVkaXRhYmxlOiBmYWxzZSxcclxuICBlbmFibGVBdXRvUmVzaXplOiB0cnVlLFxyXG4gIGVuYWJsZUF1dG9TaXplQ29sdW1uczogdHJ1ZSxcclxuICBlbmFibGVDZWxsTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgZW5hYmxlQ29sdW1uUGlja2VyOiB0cnVlLFxyXG4gIGVuYWJsZUNvbHVtblJlb3JkZXI6IHRydWUsXHJcbiAgZW5hYmxlQ29sdW1uUmVzaXplT25Eb3VibGVDbGljazogdHJ1ZSxcclxuICBlbmFibGVDb250ZXh0TWVudTogdHJ1ZSxcclxuICBlbmFibGVFeGNlbEV4cG9ydDogdHJ1ZSwgLy8gRXhjZWwgRXhwb3J0IGlzIHRoZSBuZXcgZGVmYXVsdCxcclxuICBlbmFibGVFeHBvcnQ6IGZhbHNlLCAvLyBDU1YvVGV4dCB3aXRoIFRhYiBEZWxpbWl0ZWRcclxuICBlbmFibGVGaWx0ZXJUcmltV2hpdGVTcGFjZTogZmFsc2UsIC8vIGRvIHdlIHdhbnQgdG8gdHJpbSB3aGl0ZSBzcGFjZXMgb24gYWxsIEZpbHRlcnM/XHJcbiAgZW5hYmxlR3JpZE1lbnU6IHRydWUsXHJcbiAgZW5hYmxlSGVhZGVyTWVudTogdHJ1ZSxcclxuICBlbmFibGVFbXB0eURhdGFXYXJuaW5nTWVzc2FnZTogdHJ1ZSxcclxuICBlbXB0eURhdGFXYXJuaW5nOiB7XHJcbiAgICBjbGFzc05hbWU6ICdzbGljay1lbXB0eS1kYXRhLXdhcm5pbmcnLFxyXG4gICAgbWVzc2FnZTogJ05vIGRhdGEgdG8gZGlzcGxheS4nLFxyXG4gICAgbWVzc2FnZUtleTogJ0VNUFRZX0RBVEFfV0FSTklOR19NRVNTQUdFJyxcclxuICAgIGhpZGVGcm96ZW5MZWZ0V2FybmluZzogZmFsc2UsXHJcbiAgICBoaWRlRnJvemVuUmlnaHRXYXJuaW5nOiBmYWxzZSxcclxuICAgIGxlZnRWaWV3cG9ydE1hcmdpbkxlZnQ6ICc0MCUnLFxyXG4gICAgcmlnaHRWaWV3cG9ydE1hcmdpbkxlZnQ6ICc0MCUnLFxyXG4gICAgZnJvemVuTGVmdFZpZXdwb3J0TWFyZ2luTGVmdDogJzBweCcsXHJcbiAgICBmcm96ZW5SaWdodFZpZXdwb3J0TWFyZ2luTGVmdDogJzQwJScsXHJcbiAgfSxcclxuICBlbmFibGVNb3VzZUhvdmVySGlnaGxpZ2h0Um93OiB0cnVlLFxyXG4gIGVuYWJsZVNvcnRpbmc6IHRydWUsXHJcbiAgZW5hYmxlVGV4dFNlbGVjdGlvbk9uQ2VsbHM6IHRydWUsXHJcbiAgZXZlbnROYW1pbmdTdHlsZTogRXZlbnROYW1pbmdTdHlsZS5jYW1lbENhc2UsXHJcbiAgZXhwbGljaXRJbml0aWFsaXphdGlvbjogdHJ1ZSxcclxuICBleGNlbEV4cG9ydE9wdGlvbnM6IHtcclxuICAgIGFkZEdyb3VwSW5kZW50YXRpb246IHRydWUsXHJcbiAgICBleHBvcnRXaXRoRm9ybWF0dGVyOiBmYWxzZSxcclxuICAgIGZpbGVuYW1lOiAnZXhwb3J0JyxcclxuICAgIGZvcm1hdDogRmlsZVR5cGUueGxzeCxcclxuICAgIGdyb3VwaW5nQ29sdW1uSGVhZGVyVGl0bGU6ICdHcm91cCBCeScsXHJcbiAgICBncm91cENvbGxhcHNlZFN5bWJvbDogJ+KunicsXHJcbiAgICBncm91cEV4cGFuZGVkU3ltYm9sOiAn4q6fJyxcclxuICAgIGdyb3VwaW5nQWdncmVnYXRvclJvd1RleHQ6ICcnLFxyXG4gICAgc2FuaXRpemVEYXRhRXhwb3J0OiBmYWxzZSxcclxuICB9LFxyXG4gIGV4cG9ydE9wdGlvbnM6IHtcclxuICAgIGRlbGltaXRlcjogRGVsaW1pdGVyVHlwZS5jb21tYSxcclxuICAgIGV4cG9ydFdpdGhGb3JtYXR0ZXI6IGZhbHNlLFxyXG4gICAgZmlsZW5hbWU6ICdleHBvcnQnLFxyXG4gICAgZm9ybWF0OiBGaWxlVHlwZS5jc3YsXHJcbiAgICBncm91cGluZ0NvbHVtbkhlYWRlclRpdGxlOiAnR3JvdXAgQnknLFxyXG4gICAgZ3JvdXBpbmdBZ2dyZWdhdG9yUm93VGV4dDogJycsXHJcbiAgICBzYW5pdGl6ZURhdGFFeHBvcnQ6IGZhbHNlLFxyXG4gICAgdXNlVXRmOFdpdGhCb206IHRydWVcclxuICB9LFxyXG4gIGZpbHRlclR5cGluZ0RlYm91bmNlOiAwLFxyXG4gIGZvcmNlRml0Q29sdW1uczogZmFsc2UsXHJcbiAgZnJvemVuSGVhZGVyV2lkdGhDYWxjRGlmZmVyZW50aWFsOiAwLFxyXG4gIGdyaWRNZW51OiB7XHJcbiAgICBjb21tYW5kTGFiZWxzOiB7XHJcbiAgICAgIGNsZWFyQWxsRmlsdGVyc0NvbW1hbmRLZXk6ICdDTEVBUl9BTExfRklMVEVSUycsXHJcbiAgICAgIGNsZWFyQWxsU29ydGluZ0NvbW1hbmRLZXk6ICdDTEVBUl9BTExfU09SVElORycsXHJcbiAgICAgIGNsZWFyRnJvemVuQ29sdW1uc0NvbW1hbmRLZXk6ICdDTEVBUl9QSU5OSU5HJyxcclxuICAgICAgZXhwb3J0Q3N2Q29tbWFuZEtleTogJ0VYUE9SVF9UT19DU1YnLFxyXG4gICAgICBleHBvcnRFeGNlbENvbW1hbmRLZXk6ICdFWFBPUlRfVE9fRVhDRUwnLFxyXG4gICAgICBleHBvcnRUZXh0RGVsaW1pdGVkQ29tbWFuZEtleTogJ0VYUE9SVF9UT19UQUJfREVMSU1JVEVEJyxcclxuICAgICAgcmVmcmVzaERhdGFzZXRDb21tYW5kS2V5OiAnUkVGUkVTSF9EQVRBU0VUJyxcclxuICAgICAgdG9nZ2xlRmlsdGVyQ29tbWFuZEtleTogJ1RPR0dMRV9GSUxURVJfUk9XJyxcclxuICAgICAgdG9nZ2xlUHJlSGVhZGVyQ29tbWFuZEtleTogJ1RPR0dMRV9QUkVfSEVBREVSX1JPVycsXHJcbiAgICB9LFxyXG4gICAgaGlkZUNsZWFyQWxsRmlsdGVyc0NvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUNsZWFyQWxsU29ydGluZ0NvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUNsZWFyRnJvemVuQ29sdW1uc0NvbW1hbmQ6IHRydWUsIC8vIG9wdC1pbiBjb21tYW5kXHJcbiAgICBoaWRlRXhwb3J0Q3N2Q29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlRXhwb3J0RXhjZWxDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVFeHBvcnRUZXh0RGVsaW1pdGVkQ29tbWFuZDogdHJ1ZSxcclxuICAgIGhpZGVGb3JjZUZpdEJ1dHRvbjogZmFsc2UsXHJcbiAgICBoaWRlUmVmcmVzaERhdGFzZXRDb21tYW5kOiBmYWxzZSxcclxuICAgIGhpZGVTeW5jUmVzaXplQnV0dG9uOiB0cnVlLFxyXG4gICAgaGlkZVRvZ2dsZUZpbHRlckNvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZVRvZ2dsZVByZUhlYWRlckNvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaWNvbkNzc0NsYXNzOiAnZmEgZmEtYmFycycsXHJcbiAgICBpY29uQ2xlYXJBbGxGaWx0ZXJzQ29tbWFuZDogJ2ZhIGZhLWZpbHRlciB0ZXh0LWRhbmdlcicsXHJcbiAgICBpY29uQ2xlYXJBbGxTb3J0aW5nQ29tbWFuZDogJ2ZhIGZhLXVuc29ydGVkIHRleHQtZGFuZ2VyJyxcclxuICAgIGljb25DbGVhckZyb3plbkNvbHVtbnNDb21tYW5kOiAnZmEgZmEtdGltZXMnLFxyXG4gICAgaWNvbkV4cG9ydENzdkNvbW1hbmQ6ICdmYSBmYS1kb3dubG9hZCcsXHJcbiAgICBpY29uRXhwb3J0RXhjZWxDb21tYW5kOiAnZmEgZmEtZmlsZS1leGNlbC1vIHRleHQtc3VjY2VzcycsXHJcbiAgICBpY29uRXhwb3J0VGV4dERlbGltaXRlZENvbW1hbmQ6ICdmYSBmYS1kb3dubG9hZCcsXHJcbiAgICBpY29uUmVmcmVzaERhdGFzZXRDb21tYW5kOiAnZmEgZmEtcmVmcmVzaCcsXHJcbiAgICBpY29uVG9nZ2xlRmlsdGVyQ29tbWFuZDogJ2ZhIGZhLXJhbmRvbScsXHJcbiAgICBpY29uVG9nZ2xlUHJlSGVhZGVyQ29tbWFuZDogJ2ZhIGZhLXJhbmRvbScsXHJcbiAgICBtZW51V2lkdGg6IDE2LFxyXG4gICAgcmVzaXplT25TaG93SGVhZGVyUm93OiB0cnVlLFxyXG4gICAgdXNlQ2xpY2tUb1JlcG9zaXRpb25NZW51OiBmYWxzZSwgLy8gdXNlIGljb24gbG9jYXRpb24gdG8gcmVwb3NpdGlvbiBpbnN0ZWFkXHJcbiAgICBoZWFkZXJDb2x1bW5WYWx1ZUV4dHJhY3RvcjogcGlja2VySGVhZGVyQ29sdW1uVmFsdWVFeHRyYWN0b3JcclxuICB9LFxyXG4gIGhlYWRlck1lbnU6IHtcclxuICAgIGF1dG9BbGlnbjogdHJ1ZSxcclxuICAgIGF1dG9BbGlnbk9mZnNldDogMTIsXHJcbiAgICBtaW5XaWR0aDogMTQwLFxyXG4gICAgaWNvbkNsZWFyRmlsdGVyQ29tbWFuZDogJ2ZhIGZhLWZpbHRlciB0ZXh0LWRhbmdlcicsXHJcbiAgICBpY29uQ2xlYXJTb3J0Q29tbWFuZDogJ2ZhIGZhLXVuc29ydGVkJyxcclxuICAgIGljb25GcmVlemVDb2x1bW5zOiAnZmEgZmEtdGh1bWItdGFjaycsXHJcbiAgICBpY29uU29ydEFzY0NvbW1hbmQ6ICdmYSBmYS1zb3J0LWFtb3VudC1hc2MnLFxyXG4gICAgaWNvblNvcnREZXNjQ29tbWFuZDogJ2ZhIGZhLXNvcnQtYW1vdW50LWRlc2MnLFxyXG4gICAgaWNvbkNvbHVtbkhpZGVDb21tYW5kOiAnZmEgZmEtdGltZXMnLFxyXG4gICAgaWNvbkNvbHVtblJlc2l6ZUJ5Q29udGVudENvbW1hbmQ6ICdmYSBmYS1hcnJvd3MtaCcsXHJcbiAgICBoaWRlQ29sdW1uUmVzaXplQnlDb250ZW50Q29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlQ29sdW1uSGlkZUNvbW1hbmQ6IGZhbHNlLFxyXG4gICAgaGlkZUNsZWFyRmlsdGVyQ29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlQ2xlYXJTb3J0Q29tbWFuZDogZmFsc2UsXHJcbiAgICBoaWRlRnJlZXplQ29sdW1uc0NvbW1hbmQ6IHRydWUsIC8vIG9wdC1pbiBjb21tYW5kXHJcbiAgICBoaWRlU29ydENvbW1hbmRzOiBmYWxzZVxyXG4gIH0sXHJcbiAgaGVhZGVyUm93SGVpZ2h0OiAzNSxcclxuICBtdWx0aUNvbHVtblNvcnQ6IHRydWUsXHJcbiAgbnVtYmVyZWRNdWx0aUNvbHVtblNvcnQ6IHRydWUsXHJcbiAgdHJpc3RhdGVNdWx0aUNvbHVtblNvcnQ6IGZhbHNlLFxyXG4gIHNvcnRDb2xOdW1iZXJJblNlcGFyYXRlU3BhbjogdHJ1ZSxcclxuICBzdXBwcmVzc0FjdGl2ZUNlbGxDaGFuZ2VPbkVkaXQ6IHRydWUsXHJcbiAgcGFnaW5hdGlvbjoge1xyXG4gICAgcGFnZVNpemVzOiBbMTAsIDE1LCAyMCwgMjUsIDMwLCA0MCwgNTAsIDc1LCAxMDBdLFxyXG4gICAgcGFnZVNpemU6IDI1LFxyXG4gICAgdG90YWxJdGVtczogMFxyXG4gIH0sXHJcbiAgLy8gdGVjaG5pY2FsbHkgc3BlYWtpbmcgdGhlIFJvdyBEZXRhaWwgcmVxdWlyZXMgdGhlIHByb2Nlc3MgJiB2aWV3Q29tcG9uZW50IGJ1dCB3ZSdsbCBpZ25vcmUgaXQganVzdCB0byBzZXQgY2VydGFpbiBvcHRpb25zXHJcbiAgcm93RGV0YWlsVmlldzoge1xyXG4gICAgY3NzQ2xhc3M6ICdkZXRhaWwtdmlldy10b2dnbGUnLFxyXG4gICAgcGFuZWxSb3dzOiAxLFxyXG4gICAga2V5UHJlZml4OiAnX18nLFxyXG4gICAgdXNlUm93Q2xpY2s6IGZhbHNlLFxyXG4gICAgdXNlU2ltcGxlVmlld3BvcnRDYWxjOiB0cnVlLFxyXG4gICAgc2F2ZURldGFpbFZpZXdPblNjcm9sbDogZmFsc2UsXHJcbiAgfSBhcyBSb3dEZXRhaWxWaWV3LFxyXG4gIHJvd0hlaWdodDogMzUsXHJcbiAgdG9wUGFuZWxIZWlnaHQ6IDM1LFxyXG4gIHRyYW5zbGF0aW9uTmFtZXNwYWNlU2VwYXJhdG9yOiAnOicsXHJcbiAgcmVzZXRGaWx0ZXJTZWFyY2hWYWx1ZUFmdGVyT25CZWZvcmVDYW5jZWxsYXRpb246IHRydWUsXHJcbiAgcmVzaXplQnlDb250ZW50T25seU9uRmlyc3RMb2FkOiB0cnVlLFxyXG4gIHJlc2l6ZUJ5Q29udGVudE9wdGlvbnM6IHtcclxuICAgIGFsd2F5c1JlY2FsY3VsYXRlQ29sdW1uV2lkdGg6IGZhbHNlLFxyXG4gICAgY2VsbENoYXJXaWR0aEluUHg6IDcuOCxcclxuICAgIGNlbGxQYWRkaW5nV2lkdGhJblB4OiAxNCxcclxuICAgIGRlZmF1bHRSYXRpb0ZvclN0cmluZ1R5cGU6IDAuODgsXHJcbiAgICBmb3JtYXR0ZXJQYWRkaW5nV2lkdGhJblB4OiAwLFxyXG4gICAgbWF4SXRlbVRvSW5zcGVjdENlbGxDb250ZW50V2lkdGg6IDEwMDAsXHJcbiAgICBtYXhJdGVtVG9JbnNwZWN0U2luZ2xlQ29sdW1uV2lkdGhCeUNvbnRlbnQ6IDUwMDAsXHJcbiAgICB3aWR0aFRvUmVtb3ZlRnJvbUV4Y2VlZGVkV2lkdGhSZWFkanVzdG1lbnQ6IDUwLFxyXG4gIH0sXHJcbiAgdHJlZURhdGFPcHRpb25zOiB7XHJcbiAgICBleHBvcnRJbmRlbnRNYXJnaW5MZWZ0OiA1LFxyXG4gICAgZXhwb3J0SW5kZW50YXRpb25MZWFkaW5nQ2hhcjogJ82PzY/Nj82PzY/Nj82PzY/Nj8K3JyxcclxuICB9IGFzIHVua25vd24gYXMgVHJlZURhdGFPcHRpb25cclxufTtcclxuXHJcbi8qKlxyXG4gKiBWYWx1ZSBFeHRyYWN0b3IgZm9yIGJvdGggQ29sdW1uUGlja2VyICYgR3JpZE1lbnUgUGlja2VyXHJcbiAqIHdoZW4gdXNpbmcgQ29sdW1uIEhlYWRlciBHcm91cGluZywgd2UnbGwgcHJlZml4IHRoZSBjb2x1bW4gZ3JvdXAgdGl0bGVcclxuICogZWxzZSB3ZSdsbCBzaW1wbHkgcmV0dXJuIHRoZSBjb2x1bW4gbmFtZSB0aXRsZVxyXG4gKi9cclxuZnVuY3Rpb24gcGlja2VySGVhZGVyQ29sdW1uVmFsdWVFeHRyYWN0b3IoY29sdW1uOiBDb2x1bW4pIHtcclxuICBjb25zdCBoZWFkZXJHcm91cCA9IGNvbHVtbiAmJiBjb2x1bW4uY29sdW1uR3JvdXAgfHwgJyc7XHJcbiAgaWYgKGhlYWRlckdyb3VwKSB7XHJcbiAgICByZXR1cm4gaGVhZGVyR3JvdXAgKyAnIC0gJyArIGNvbHVtbi5uYW1lO1xyXG4gIH1cclxuICByZXR1cm4gY29sdW1uICYmIGNvbHVtbi5uYW1lIHx8ICcnO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhckdyaWRJbnN0YW5jZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQvbW9kZWxzL2FuZ3VsYXJHcmlkSW5zdGFuY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEJhY2tlbmRTZXJ2aWNlLFxyXG4gIEV4dGVuc2lvbkxpc3QsXHJcbiAgRXh0ZW5zaW9uU2VydmljZSxcclxuICBGaWx0ZXJTZXJ2aWNlLFxyXG4gIEdyaWRFdmVudFNlcnZpY2UsXHJcbiAgR3JpZFNlcnZpY2UsXHJcbiAgR3JpZFN0YXRlU2VydmljZSxcclxuICBHcm91cGluZ0FuZENvbHNwYW5TZXJ2aWNlLFxyXG4gIFBhZ2luYXRpb25TZXJ2aWNlLFxyXG4gIFJlc2l6ZXJTZXJ2aWNlLFxyXG4gIFNsaWNrRGF0YVZpZXcsXHJcbiAgU2xpY2tHcmlkLFxyXG4gIFNvcnRTZXJ2aWNlLFxyXG4gIFRyZWVEYXRhU2VydmljZVxyXG59IGZyb20gJ0BzbGlja2dyaWQtdW5pdmVyc2FsL2NvbW1vbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJHcmlkSW5zdGFuY2Uge1xyXG4gIC8qKiBTbGljayBEYXRhVmlldyBvYmplY3QgKi9cclxuICBkYXRhVmlldzogU2xpY2tEYXRhVmlldztcclxuXHJcbiAgLyoqIFNsaWNrIEdyaWQgb2JqZWN0ICovXHJcbiAgc2xpY2tHcmlkOiBTbGlja0dyaWQ7XHJcblxyXG4gIC8qKiBTbGlja0dyaWQgZXh0ZW5zaW9ucyAoZXh0ZXJuYWwgY29udHJvbHMvcGx1Z2lucykgKi9cclxuICBleHRlbnNpb25zOiBFeHRlbnNpb25MaXN0PGFueSwgYW55PjtcclxuXHJcbiAgLy8gLS1cclxuICAvLyBNZXRob2RzXHJcbiAgLyoqIERpc3Bvc2Ugb2YgdGhlIGdyaWQgYW5kIG9wdGlvbmFsbHkgZW1wdHkgdGhlIERPTSBlbGVtZW50IGdyaWQgY29udGFpbmVyIGFzIHdlbGwgKi9cclxuICBkZXN0cm95OiAoZW1wdHlEb21FbGVtZW50Q29udGFpbmVyPzogYm9vbGVhbikgPT4gdm9pZDtcclxuXHJcbiAgLy8gLS1cclxuICAvLyBTZXJ2aWNlc1xyXG5cclxuICAvKiogQmFja2VuZCBTZXJ2aWNlLCB3aGVuIGF2YWlsYWJsZSAqL1xyXG4gIGJhY2tlbmRTZXJ2aWNlPzogQmFja2VuZFNlcnZpY2U7XHJcblxyXG4gIC8qKiBFeHRlbnNpb24gKFBsdWdpbnMgJiBDb250cm9scykgU2VydmljZSAqL1xyXG4gIGV4dGVuc2lvblNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2U7XHJcblxyXG4gIC8qKiBGaWx0ZXIgU2VydmljZSAqL1xyXG4gIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2U7XHJcblxyXG4gIC8qKiBHcmlkIFNlcnZpY2UgKGdyaWQgZXh0cmEgZnVuY3Rpb25hbGl0aWVzKSAqL1xyXG4gIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZTtcclxuXHJcbiAgLyoqIEdyaWQgRXZlbnRzIFNlcnZpY2UgKi9cclxuICBncmlkRXZlbnRTZXJ2aWNlOiBHcmlkRXZlbnRTZXJ2aWNlO1xyXG5cclxuICAvKiogR3JpZCBTdGF0ZSBTZXJ2aWNlICovXHJcbiAgZ3JpZFN0YXRlU2VydmljZTogR3JpZFN0YXRlU2VydmljZTtcclxuXHJcbiAgLyoqIEdyb3VwaW5nIChhbmQgY29sc3BhbikgU2VydmljZSAqL1xyXG4gIGdyb3VwaW5nU2VydmljZTogR3JvdXBpbmdBbmRDb2xzcGFuU2VydmljZTtcclxuXHJcbiAgLyoqIFBhZ2luYXRpb24gU2VydmljZSAoYWxsb3dzIHlvdSB0byBwcm9ncmFtbWF0aWNhbGx5IGdvIHRvIGZpcnN0L2xhc3QgcGFnZSwgZXRjLi4uKSAqL1xyXG4gIHBhZ2luYXRpb25TZXJ2aWNlPzogUGFnaW5hdGlvblNlcnZpY2U7XHJcblxyXG4gIC8qKiBSZXNpemVyIFNlcnZpY2UgKGluY2x1ZGluZyBhdXRvLXJlc2l6ZSkgKi9cclxuICByZXNpemVyU2VydmljZTogUmVzaXplclNlcnZpY2U7XHJcblxyXG4gIC8qKiBTb3J0IFNlcnZpY2UgKi9cclxuICBzb3J0U2VydmljZTogU29ydFNlcnZpY2U7XHJcblxyXG4gIC8qKiBUcmVlIERhdGEgVmlldyBTZXJ2aWNlICovXHJcbiAgdHJlZURhdGFTZXJ2aWNlOiBUcmVlRGF0YVNlcnZpY2U7XHJcbn1cclxuIl19
@@ -1,37 +0,0 @@
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
- export class AngularSlickgridModule {
9
- static forRoot(config = {}) {
10
- return {
11
- ngModule: AngularSlickgridModule,
12
- providers: [
13
- { provide: 'config', useValue: config },
14
- { provide: 'externalService', useValue: null },
15
- AngularUtilService,
16
- BsDropDownService,
17
- ContainerService,
18
- ]
19
- };
20
- }
21
- }
22
- AngularSlickgridModule.decorators = [
23
- { type: NgModule, args: [{
24
- imports: [
25
- CommonModule,
26
- TranslateModule
27
- ],
28
- declarations: [
29
- AngularSlickgridComponent,
30
- ],
31
- exports: [
32
- AngularSlickgridComponent,
33
- ],
34
- entryComponents: [AngularSlickgridComponent]
35
- },] }
36
- ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1zbGlja2dyaWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFlakUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQXFCLEVBQUU7UUFDcEMsT0FBTztZQUNMLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2dCQUN2QyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUM5QyxrQkFBa0I7Z0JBQ2xCLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2FBQ2pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXpCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtpQkFDaEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsZUFBZSxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFuZ3VsYXJTbGlja2dyaWRDb21wb25lbnQgfSBmcm9tICcuLy4uL2NvbXBvbmVudHMvYW5ndWxhci1zbGlja2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JpZE9wdGlvbiB9IGZyb20gJy4vLi4vbW9kZWxzL2dyaWRPcHRpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQW5ndWxhclV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYW5ndWxhclV0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEJzRHJvcERvd25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYnNEcm9wZG93bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udGFpbmVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbnRhaW5lci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFuZ3VsYXJTbGlja2dyaWRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBbmd1bGFyU2xpY2tncmlkQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbQW5ndWxhclNsaWNrZ3JpZENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJTbGlja2dyaWRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogR3JpZE9wdGlvbiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxBbmd1bGFyU2xpY2tncmlkTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQW5ndWxhclNsaWNrZ3JpZE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiAnY29uZmlnJywgdXNlVmFsdWU6IGNvbmZpZyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogJ2V4dGVybmFsU2VydmljZScsIHVzZVZhbHVlOiBudWxsIH0sXHJcbiAgICAgICAgQW5ndWxhclV0aWxTZXJ2aWNlLFxyXG4gICAgICAgIEJzRHJvcERvd25TZXJ2aWNlLFxyXG4gICAgICAgIENvbnRhaW5lclNlcnZpY2UsXHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,48 +0,0 @@
1
- import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector } from '@angular/core';
2
- export class AngularUtilService {
3
- constructor(compFactoryResolver, appRef, injector) {
4
- this.compFactoryResolver = compFactoryResolver;
5
- this.appRef = appRef;
6
- this.injector = injector;
7
- }
8
- // ref https://hackernoon.com/angular-pro-tip-how-to-dynamically-create-components-in-body-ba200cc289e6
9
- createAngularComponent(component) {
10
- // Create a component reference from the component
11
- const componentRef = this.compFactoryResolver
12
- .resolveComponentFactory(component)
13
- .create(this.injector);
14
- // Attach component to the appRef so that it's inside the ng component tree
15
- this.appRef.attachView(componentRef.hostView);
16
- // Get DOM element from component
17
- let domElem;
18
- const viewRef = componentRef.hostView;
19
- if (viewRef && Array.isArray(viewRef.rootNodes) && viewRef.rootNodes[0]) {
20
- domElem = viewRef.rootNodes[0];
21
- }
22
- return { componentRef, domElement: domElem };
23
- }
24
- // ref https://hackernoon.com/angular-pro-tip-how-to-dynamically-create-components-in-body-ba200cc289e6
25
- createAngularComponentAppendToDom(component, targetElement, clearTargetContent = false) {
26
- const componentOutput = this.createAngularComponent(component);
27
- // Append DOM element to the HTML element specified
28
- if (targetElement && targetElement.appendChild) {
29
- if (clearTargetContent && targetElement.innerHTML) {
30
- targetElement.innerHTML = '';
31
- }
32
- targetElement.appendChild(componentOutput.domElement);
33
- }
34
- else {
35
- document.body.appendChild(componentOutput.domElement); // when no target provided, we'll simply add it to the HTML Body
36
- }
37
- return componentOutput;
38
- }
39
- }
40
- AngularUtilService.decorators = [
41
- { type: Injectable }
42
- ];
43
- AngularUtilService.ctorParameters = () => [
44
- { type: ComponentFactoryResolver },
45
- { type: ApplicationRef },
46
- { type: Injector }
47
- ];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhclV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9hbmd1bGFyLXNsaWNrZ3JpZC9zZXJ2aWNlcy9hbmd1bGFyVXRpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQW1CLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHaEgsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLG1CQUE2QyxFQUM3QyxNQUFzQixFQUN0QixRQUFrQjtRQUZsQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBCO1FBQzdDLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDeEIsQ0FBQztJQUVMLHVHQUF1RztJQUN2RyxzQkFBc0IsQ0FBQyxTQUFjO1FBQ25DLGtEQUFrRDtRQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CO2FBQzFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQzthQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpCLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDO1FBQ1osTUFBTSxPQUFPLEdBQUksWUFBWSxDQUFDLFFBQWlDLENBQUM7UUFDaEUsSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN2RSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7U0FDL0M7UUFFRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFzQixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELHVHQUF1RztJQUN2RyxpQ0FBaUMsQ0FBQyxTQUFjLEVBQUUsYUFBcUMsRUFBRSxrQkFBa0IsR0FBRyxLQUFLO1FBQ2pILE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvRCxtREFBbUQ7UUFDbkQsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLFdBQVcsRUFBRTtZQUM5QyxJQUFJLGtCQUFrQixJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pELGFBQWEsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2FBQzlCO1lBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGdFQUFnRTtTQUN4SDtRQUVELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OztZQTNDRixVQUFVOzs7WUFGYyx3QkFBd0I7WUFBeEMsY0FBYztZQUF5RCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudE91dHB1dCB9IGZyb20gJy4uL21vZGVscy9hbmd1bGFyQ29tcG9uZW50T3V0cHV0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVtYmVkZGVkVmlld1JlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJVdGlsU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcclxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkgeyB9XHJcblxyXG4gIC8vIHJlZiBodHRwczovL2hhY2tlcm5vb24uY29tL2FuZ3VsYXItcHJvLXRpcC1ob3ctdG8tZHluYW1pY2FsbHktY3JlYXRlLWNvbXBvbmVudHMtaW4tYm9keS1iYTIwMGNjMjg5ZTZcclxuICBjcmVhdGVBbmd1bGFyQ29tcG9uZW50KGNvbXBvbmVudDogYW55KTogQW5ndWxhckNvbXBvbmVudE91dHB1dCB7XHJcbiAgICAvLyBDcmVhdGUgYSBjb21wb25lbnQgcmVmZXJlbmNlIGZyb20gdGhlIGNvbXBvbmVudFxyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb21wRmFjdG9yeVJlc29sdmVyXHJcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpXHJcbiAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgLy8gQXR0YWNoIGNvbXBvbmVudCB0byB0aGUgYXBwUmVmIHNvIHRoYXQgaXQncyBpbnNpZGUgdGhlIG5nIGNvbXBvbmVudCB0cmVlXHJcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgLy8gR2V0IERPTSBlbGVtZW50IGZyb20gY29tcG9uZW50XHJcbiAgICBsZXQgZG9tRWxlbTtcclxuICAgIGNvbnN0IHZpZXdSZWYgPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KTtcclxuICAgIGlmICh2aWV3UmVmICYmIEFycmF5LmlzQXJyYXkodmlld1JlZi5yb290Tm9kZXMpICYmIHZpZXdSZWYucm9vdE5vZGVzWzBdKSB7XHJcbiAgICAgIGRvbUVsZW0gPSB2aWV3UmVmLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geyBjb21wb25lbnRSZWYsIGRvbUVsZW1lbnQ6IGRvbUVsZW0gYXMgSFRNTEVsZW1lbnQgfTtcclxuICB9XHJcblxyXG4gIC8vIHJlZiBodHRwczovL2hhY2tlcm5vb24uY29tL2FuZ3VsYXItcHJvLXRpcC1ob3ctdG8tZHluYW1pY2FsbHktY3JlYXRlLWNvbXBvbmVudHMtaW4tYm9keS1iYTIwMGNjMjg5ZTZcclxuICBjcmVhdGVBbmd1bGFyQ29tcG9uZW50QXBwZW5kVG9Eb20oY29tcG9uZW50OiBhbnksIHRhcmdldEVsZW1lbnQ/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnQsIGNsZWFyVGFyZ2V0Q29udGVudCA9IGZhbHNlKTogQW5ndWxhckNvbXBvbmVudE91dHB1dCB7XHJcbiAgICBjb25zdCBjb21wb25lbnRPdXRwdXQgPSB0aGlzLmNyZWF0ZUFuZ3VsYXJDb21wb25lbnQoY29tcG9uZW50KTtcclxuXHJcbiAgICAvLyBBcHBlbmQgRE9NIGVsZW1lbnQgdG8gdGhlIEhUTUwgZWxlbWVudCBzcGVjaWZpZWRcclxuICAgIGlmICh0YXJnZXRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQpIHtcclxuICAgICAgaWYgKGNsZWFyVGFyZ2V0Q29udGVudCAmJiB0YXJnZXRFbGVtZW50LmlubmVySFRNTCkge1xyXG4gICAgICAgIHRhcmdldEVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XHJcbiAgICAgIH1cclxuICAgICAgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZChjb21wb25lbnRPdXRwdXQuZG9tRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbXBvbmVudE91dHB1dC5kb21FbGVtZW50KTsgLy8gd2hlbiBubyB0YXJnZXQgcHJvdmlkZWQsIHdlJ2xsIHNpbXBseSBhZGQgaXQgdG8gdGhlIEhUTUwgQm9keVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRPdXRwdXQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,103 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { AngularUtilService } from './angularUtil.service';
3
- // Boostrap dropdown service
4
- export class BsDropDownService {
5
- constructor(angularUtilService) {
6
- this.angularUtilService = angularUtilService;
7
- }
8
- get domElement() {
9
- return this._domElement;
10
- }
11
- get domContainerElement() {
12
- return this._domContainerElement;
13
- }
14
- get gridViewport() {
15
- return $('.slick-viewport');
16
- }
17
- dispose() {
18
- if (this._domElement && this._domElement.remove) {
19
- this._domElement.remove();
20
- }
21
- }
22
- dropContainerShow() {
23
- if (this._domContainerElement && this._domContainerElement.show) {
24
- this._domContainerElement.show();
25
- }
26
- }
27
- render(dropdownParams) {
28
- return new Promise((resolve) => {
29
- const { component, args, parent, offsetTop, offsetLeft, offsetDropupBottom } = dropdownParams;
30
- const cell = args.cell;
31
- const row = args.row;
32
- this._domContainerElement = $(`#myDrop-r${row}-c${cell}`);
33
- if (this._domContainerElement) {
34
- // hide the dropdown we created as a formatter Component, we'll redisplay it later
35
- const cellPos = this._domContainerElement.offset();
36
- const componentOutput = this.angularUtilService.createAngularComponent(component);
37
- const componentInstance = componentOutput && componentOutput.componentRef && componentOutput.componentRef.instance;
38
- if (componentInstance) {
39
- const myDropId = componentInstance.dropdownId || 'myDrop';
40
- const dropDownToggleId = componentInstance.dropDownToggleId || 'dropdownMenu1';
41
- this._domElement = $(`#${myDropId}`);
42
- if (this._domElement) {
43
- // make sure to remove any previous Action dropdown elements, to avoid having multiple element of the same on top of each other
44
- this.dispose();
45
- // assign the row data to the dropdown component instance
46
- Object.assign(componentInstance, { parent, row: args.row, dataContext: args.grid.getDataItem(args.row) });
47
- // use a delay to make sure Angular ran at least a full cycle and make sure it finished rendering the Component before using it
48
- setTimeout(() => {
49
- // create a new dropdown element
50
- this._domElement = $(componentOutput.domElement);
51
- const topPos = (cellPos && cellPos.top || 0) + 30 + (offsetTop || 0);
52
- const leftPos = (cellPos && cellPos.left || 0) + (offsetLeft || 0);
53
- this._domElement.appendTo('body');
54
- this._domElement.css('position', 'absolute');
55
- this._domElement.css('top', topPos);
56
- this._domElement.css('left', leftPos);
57
- $(`#${myDropId}`).addClass('open');
58
- $(`#${dropDownToggleId}`).hide();
59
- // check if it should drop Up or Down
60
- const offset = 35;
61
- const iElement = $('.dropdown-menu');
62
- const iElementWrapper = iElement.parent();
63
- const iElementWrapperOffset = iElementWrapper.offset() || {};
64
- const iElementWrapperOffsetTop = iElementWrapperOffset.top || iElementWrapper && iElementWrapper.length > 0 && iElementWrapper[0].offsetTop;
65
- const iElementHeight = iElement.height();
66
- const windowHeight = window.innerHeight;
67
- const shouldDropUp = (windowHeight - iElementHeight - offset) < iElementWrapperOffsetTop;
68
- let menuMarginTop = '0px';
69
- if (shouldDropUp) {
70
- const offsetBottom = offsetDropupBottom || 0;
71
- menuMarginTop = '-'.concat(`${iElementHeight + offset + offsetBottom + 5}`, 'px');
72
- }
73
- this._domElement.css({ 'margin-top': menuMarginTop });
74
- // set dropdown margin left according to the document width
75
- const parentOffset = iElementWrapperOffset.left;
76
- const leftMargin = parentOffset - $(document).width();
77
- this._domElement.css({ 'margin-left': (this._domElement.width() + leftMargin + 60) + 'px' });
78
- try {
79
- this._domElement.dropdown('show'); // required for Bootstrap 4 only
80
- }
81
- catch (e) {
82
- // Bootstrap 3 wil throw an error since that method doesn't exist, we can safely disregard it
83
- }
84
- this._domElement.on('hidden.bs.dropdown', () => this.dropContainerShow());
85
- // hide dropdown menu on grid scroll
86
- this.gridViewport.on('scroll', () => this.dispose());
87
- // hide on dropdown click
88
- this._domElement.on('click', () => this.dispose());
89
- resolve(true);
90
- });
91
- }
92
- }
93
- }
94
- });
95
- }
96
- }
97
- BsDropDownService.decorators = [
98
- { type: Injectable }
99
- ];
100
- BsDropDownService.ctorParameters = () => [
101
- { type: AngularUtilService }
102
- ];
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnNEcm9wZG93bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL3NlcnZpY2VzL2JzRHJvcGRvd24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBeUIzRCw0QkFBNEI7QUFFNUIsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFJLENBQUM7SUFFL0QsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUU7WUFDL0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFxQztRQUMxQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxJ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QyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdDQUFnQzs2QkFDcEU7NEJBQUMsT0FBTyxDQUFDLEVBQUU7Z0NBQ1YsNkZBQTZGOzZCQUM5Rjs0QkFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDOzRCQUUxRSxvQ0FBb0M7NEJBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzs0QkFFckQseUJBQXlCOzRCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7NEJBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEIsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBaEhGLFVBQVU7OztZQTFCRixrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBbmd1bGFyVXRpbFNlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXJVdGlsLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIERyb3BEb3duU2VydmljZVBhcmFtcyB7XHJcbiAgLyoqIHRoZSBjdXN0b20gYWN0aW9uIGZvcm1hdHRlciBjb21wb25lbnQgdGhhdCBjb250YWlucyB0aGUgZHJvcGRvd24gKi9cclxuICBjb21wb25lbnQ6IGFueTtcclxuXHJcbiAgLyoqIGhlbHAgdG8gZ2V0IHRoZSBkYXRhIGNvbnRleHQgKi9cclxuICBhcmdzOiBhbnk7XHJcblxyXG4gIC8qKiBwYXJlbnQgY29udGFpbmVyICovXHJcbiAgcGFyZW50OiBhbnk7XHJcblxyXG4gIC8qKiBPZmZzZXQgYm90dG9tIHdoZW4gdXNpbmcgYSBEcm9wIFVwLCBpZiB3ZSBuZWVkIHRvIHJlcG9zaXRpb24gdGhlIGRyb3Bkb3duIGNvbXBvbmVudCAqL1xyXG4gIG9mZnNldERyb3B1cEJvdHRvbT86IG51bWJlcjtcclxuXHJcbiAgLyoqIE9mZnNldCBsZWZ0IGlmIHdlIG5lZWQgdG8gcmVwb3NpdGlvbiB0aGUgZHJvcGRvd24gY29tcG9uZW50ICovXHJcbiAgb2Zmc2V0TGVmdD86IG51bWJlcjtcclxuXHJcbiAgLyoqIE9mZnNldCB0b3AgaWYgd2UgbmVlZCB0byByZXBvc2l0aW9uIHRoZSBkcm9wZG93biBjb21wb25lbnQgKi9cclxuICBvZmZzZXRUb3A/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8vIHVzaW5nIGV4dGVybmFsIG5vbi10eXBlZCBqcyBsaWJyYXJpZXNcclxuZGVjbGFyZSBjb25zdCAkOiBhbnk7XHJcblxyXG4vLyBCb29zdHJhcCBkcm9wZG93biBzZXJ2aWNlXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJzRHJvcERvd25TZXJ2aWNlIHtcclxuICBwcml2YXRlIF9kb21Db250YWluZXJFbGVtZW50OiBhbnk7XHJcbiAgcHJpdmF0ZSBfZG9tRWxlbWVudDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJVdGlsU2VydmljZTogQW5ndWxhclV0aWxTZXJ2aWNlKSB7IH1cclxuXHJcbiAgZ2V0IGRvbUVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZG9tRWxlbWVudDtcclxuICB9XHJcblxyXG4gIGdldCBkb21Db250YWluZXJFbGVtZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RvbUNvbnRhaW5lckVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ3JpZFZpZXdwb3J0KCkge1xyXG4gICAgcmV0dXJuICQoJy5zbGljay12aWV3cG9ydCcpO1xyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpIHtcclxuICAgIGlmICh0aGlzLl9kb21FbGVtZW50ICYmIHRoaXMuX2RvbUVsZW1lbnQucmVtb3ZlKSB7XHJcbiAgICAgIHRoaXMuX2RvbUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkcm9wQ29udGFpbmVyU2hvdygpIHtcclxuICAgIGlmICh0aGlzLl9kb21Db250YWluZXJFbGVtZW50ICYmIHRoaXMuX2RvbUNvbnRhaW5lckVsZW1lbnQuc2hvdykge1xyXG4gICAgICB0aGlzLl9kb21Db250YWluZXJFbGVtZW50LnNob3coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcihkcm9wZG93blBhcmFtczogRHJvcERvd25TZXJ2aWNlUGFyYW1zKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgY29uc3QgeyBjb21wb25lbnQsIGFyZ3MsIHBhcmVudCwgb2Zmc2V0VG9wLCBvZmZzZXRMZWZ0LCBvZmZzZXREcm9wdXBCb3R0b20gfSA9IGRyb3Bkb3duUGFyYW1zO1xyXG5cclxuICAgICAgY29uc3QgY2VsbCA9IGFyZ3MuY2VsbDtcclxuICAgICAgY29uc3Qgcm93ID0gYXJncy5yb3c7XHJcblxyXG4gICAgICB0aGlzLl9kb21Db250YWluZXJFbGVtZW50ID0gJChgI215RHJvcC1yJHtyb3d9LWMke2NlbGx9YCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZG9tQ29udGFpbmVyRWxlbWVudCkge1xyXG4gICAgICAgIC8vIGhpZGUgdGhlIGRyb3Bkb3duIHdlIGNyZWF0ZWQgYXMgYSBmb3JtYXR0ZXIgQ29tcG9uZW50LCB3ZSdsbCByZWRpc3BsYXkgaXQgbGF0ZXJcclxuICAgICAgICBjb25zdCBjZWxsUG9zID0gdGhpcy5fZG9tQ29udGFpbmVyRWxlbWVudC5vZmZzZXQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50T3V0cHV0ID0gdGhpcy5hbmd1bGFyVXRpbFNlcnZpY2UuY3JlYXRlQW5ndWxhckNvbXBvbmVudChjb21wb25lbnQpO1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50T3V0cHV0ICYmIGNvbXBvbmVudE91dHB1dC5jb21wb25lbnRSZWYgJiYgY29tcG9uZW50T3V0cHV0LmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuXHJcbiAgICAgICAgaWYgKGNvbXBvbmVudEluc3RhbmNlKSB7XHJcbiAgICAgICAgICBjb25zdCBteURyb3BJZCA9IGNvbXBvbmVudEluc3RhbmNlLmRyb3Bkb3duSWQgfHwgJ215RHJvcCc7XHJcbiAgICAgICAgICBjb25zdCBkcm9wRG93blRvZ2dsZUlkID0gY29tcG9uZW50SW5zdGFuY2UuZHJvcERvd25Ub2dnbGVJZCB8fCAnZHJvcGRvd25NZW51MSc7XHJcbiAgICAgICAgICB0aGlzLl9kb21FbGVtZW50ID0gJChgIyR7bXlEcm9wSWR9YCk7XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuX2RvbUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRvIHJlbW92ZSBhbnkgcHJldmlvdXMgQWN0aW9uIGRyb3Bkb3duIGVsZW1lbnRzLCB0byBhdm9pZCBoYXZpbmcgbXVsdGlwbGUgZWxlbWVudCBvZiB0aGUgc2FtZSBvbiB0b3Agb2YgZWFjaCBvdGhlclxyXG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGFzc2lnbiB0aGUgcm93IGRhdGEgdG8gdGhlIGRyb3Bkb3duIGNvbXBvbmVudCBpbnN0YW5jZVxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudEluc3RhbmNlLCB7IHBhcmVudCwgcm93OiBhcmdzLnJvdywgZGF0YUNvbnRleHQ6IGFyZ3MuZ3JpZC5nZXREYXRhSXRlbShhcmdzLnJvdykgfSk7XHJcblxyXG4gICAgICAgICAgICAvLyB1c2UgYSBkZWxheSB0byBtYWtlIHN1cmUgQW5ndWxhciByYW4gYXQgbGVhc3QgYSBmdWxsIGN5Y2xlIGFuZCBtYWtlIHN1cmUgaXQgZmluaXNoZWQgcmVuZGVyaW5nIHRoZSBDb21wb25lbnQgYmVmb3JlIHVzaW5nIGl0XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIGNyZWF0ZSBhIG5ldyBkcm9wZG93biBlbGVtZW50XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudCA9ICQoY29tcG9uZW50T3V0cHV0LmRvbUVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRvcFBvcyA9IChjZWxsUG9zICYmIGNlbGxQb3MudG9wIHx8IDApICsgMzAgKyAob2Zmc2V0VG9wIHx8IDApO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxlZnRQb3MgPSAoY2VsbFBvcyAmJiBjZWxsUG9zLmxlZnQgfHwgMCkgKyAob2Zmc2V0TGVmdCB8fCAwKTtcclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmFwcGVuZFRvKCdib2R5Jyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5jc3MoJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5jc3MoJ3RvcCcsIHRvcFBvcyk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5jc3MoJ2xlZnQnLCBsZWZ0UG9zKTtcclxuICAgICAgICAgICAgICAkKGAjJHtteURyb3BJZH1gKS5hZGRDbGFzcygnb3BlbicpO1xyXG4gICAgICAgICAgICAgICQoYCMke2Ryb3BEb3duVG9nZ2xlSWR9YCkuaGlkZSgpO1xyXG5cclxuICAgICAgICAgICAgICAvLyBjaGVjayBpZiBpdCBzaG91bGQgZHJvcCBVcCBvciBEb3duXHJcbiAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gMzU7XHJcbiAgICAgICAgICAgICAgY29uc3QgaUVsZW1lbnQgPSAkKCcuZHJvcGRvd24tbWVudScpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50V3JhcHBlciA9IGlFbGVtZW50LnBhcmVudCgpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50V3JhcHBlck9mZnNldCA9IGlFbGVtZW50V3JhcHBlci5vZmZzZXQoKSB8fCB7fTtcclxuICAgICAgICAgICAgICBjb25zdCBpRWxlbWVudFdyYXBwZXJPZmZzZXRUb3AgPSBpRWxlbWVudFdyYXBwZXJPZmZzZXQudG9wIHx8IGlFbGVtZW50V3JhcHBlciAmJiBpRWxlbWVudFdyYXBwZXIubGVuZ3RoID4gMCAmJiBpRWxlbWVudFdyYXBwZXJbMF0ub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50SGVpZ2h0ID0gaUVsZW1lbnQuaGVpZ2h0KCk7XHJcbiAgICAgICAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgICAgICAgIGNvbnN0IHNob3VsZERyb3BVcCA9ICh3aW5kb3dIZWlnaHQgLSBpRWxlbWVudEhlaWdodCAtIG9mZnNldCkgPCBpRWxlbWVudFdyYXBwZXJPZmZzZXRUb3A7XHJcbiAgICAgICAgICAgICAgbGV0IG1lbnVNYXJnaW5Ub3AgPSAnMHB4JztcclxuICAgICAgICAgICAgICBpZiAoc2hvdWxkRHJvcFVwKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXRCb3R0b20gPSBvZmZzZXREcm9wdXBCb3R0b20gfHwgMDtcclxuICAgICAgICAgICAgICAgIG1lbnVNYXJnaW5Ub3AgPSAnLScuY29uY2F0KGAke2lFbGVtZW50SGVpZ2h0ICsgb2Zmc2V0ICsgb2Zmc2V0Qm90dG9tICsgNX1gLCAncHgnKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5jc3MoeyAnbWFyZ2luLXRvcCc6IG1lbnVNYXJnaW5Ub3AgfSk7XHJcblxyXG4gICAgICAgICAgICAgIC8vIHNldCBkcm9wZG93biBtYXJnaW4gbGVmdCBhY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50IHdpZHRoXHJcbiAgICAgICAgICAgICAgY29uc3QgcGFyZW50T2Zmc2V0ID0gaUVsZW1lbnRXcmFwcGVyT2Zmc2V0LmxlZnQ7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGVmdE1hcmdpbiA9IHBhcmVudE9mZnNldCAtICQoZG9jdW1lbnQpLndpZHRoKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5jc3MoeyAnbWFyZ2luLWxlZnQnOiAodGhpcy5fZG9tRWxlbWVudC53aWR0aCgpICsgbGVmdE1hcmdpbiArIDYwKSArICdweCcgfSk7XHJcblxyXG4gICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50LmRyb3Bkb3duKCdzaG93Jyk7IC8vIHJlcXVpcmVkIGZvciBCb290c3RyYXAgNCBvbmx5XHJcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQm9vdHN0cmFwIDMgd2lsIHRocm93IGFuIGVycm9yIHNpbmNlIHRoYXQgbWV0aG9kIGRvZXNuJ3QgZXhpc3QsIHdlIGNhbiBzYWZlbHkgZGlzcmVnYXJkIGl0XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0aGlzLl9kb21FbGVtZW50Lm9uKCdoaWRkZW4uYnMuZHJvcGRvd24nLCAoKSA9PiB0aGlzLmRyb3BDb250YWluZXJTaG93KCkpO1xyXG5cclxuICAgICAgICAgICAgICAvLyBoaWRlIGRyb3Bkb3duIG1lbnUgb24gZ3JpZCBzY3JvbGxcclxuICAgICAgICAgICAgICB0aGlzLmdyaWRWaWV3cG9ydC5vbignc2Nyb2xsJywgKCkgPT4gdGhpcy5kaXNwb3NlKCkpO1xyXG5cclxuICAgICAgICAgICAgICAvLyBoaWRlIG9uIGRyb3Bkb3duIGNsaWNrXHJcbiAgICAgICAgICAgICAgdGhpcy5fZG9tRWxlbWVudC5vbignY2xpY2snLCAoKSA9PiB0aGlzLmRpc3Bvc2UoKSk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,24 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- export class ContainerService {
3
- constructor() {
4
- this.dependencies = [];
5
- }
6
- get(key) {
7
- const dependency = this.dependencies.find(dep => dep.key === key);
8
- if (dependency === null || dependency === void 0 ? void 0 : dependency.instance) {
9
- return dependency.instance;
10
- }
11
- return null;
12
- }
13
- registerInstance(key, instance) {
14
- const dependency = this.dependencies.some(dep => dep.key === key);
15
- if (!dependency) {
16
- this.dependencies.push({ key, instance });
17
- }
18
- }
19
- }
20
- ContainerService.decorators = [
21
- { type: Injectable }
22
- ];
23
- ContainerService.ctorParameters = () => [];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYW5ndWxhci1zbGlja2dyaWQvc2VydmljZXMvY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCO1FBRkEsaUJBQVksR0FBd0IsRUFBRSxDQUFDO0lBRXZCLENBQUM7SUFFakIsR0FBRyxDQUFVLEdBQVc7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLFFBQVEsRUFBRTtZQUN4QixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDNUI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsUUFBYTtRQUN6QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0M7SUFDSCxDQUFDOzs7WUFuQkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udGFpbmVySW5zdGFuY2UsIENvbnRhaW5lclNlcnZpY2UgYXMgVW5pdmVyc2FsQ29udGFpbmVyU2VydmljZSB9IGZyb20gJ0BzbGlja2dyaWQtdW5pdmVyc2FsL2NvbW1vbic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb250YWluZXJTZXJ2aWNlIGltcGxlbWVudHMgVW5pdmVyc2FsQ29udGFpbmVyU2VydmljZSB7XHJcbiAgZGVwZW5kZW5jaWVzOiBDb250YWluZXJJbnN0YW5jZVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGdldDxUID0gYW55PihrZXk6IHN0cmluZyk6IFQgfCBudWxsIHtcclxuICAgIGNvbnN0IGRlcGVuZGVuY3kgPSB0aGlzLmRlcGVuZGVuY2llcy5maW5kKGRlcCA9PiBkZXAua2V5ID09PSBrZXkpO1xyXG4gICAgaWYgKGRlcGVuZGVuY3k/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHJldHVybiBkZXBlbmRlbmN5Lmluc3RhbmNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlckluc3RhbmNlKGtleTogc3RyaW5nLCBpbnN0YW5jZTogYW55KSB7XHJcbiAgICBjb25zdCBkZXBlbmRlbmN5ID0gdGhpcy5kZXBlbmRlbmNpZXMuc29tZShkZXAgPT4gZGVwLmtleSA9PT0ga2V5KTtcclxuICAgIGlmICghZGVwZW5kZW5jeSkge1xyXG4gICAgICB0aGlzLmRlcGVuZGVuY2llcy5wdXNoKHsga2V5LCBpbnN0YW5jZSB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,47 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable, Optional } from '@angular/core';
3
- import { TranslateService } from '@ngx-translate/core';
4
- /**
5
- * This is a Translate Service Wrapper for Slickgrid-Universal monorepo lib to work properly,
6
- * it must implement Slickgrid-Universal TranslaterService interface to work properly
7
- */
8
- export class TranslaterService {
9
- constructor(translateService) {
10
- this.translateService = translateService;
11
- }
12
- /**
13
- * Method to return the current language used by the App
14
- * @return {string} current language
15
- */
16
- getCurrentLanguage() {
17
- var _a, _b;
18
- return (_b = (_a = this.translateService) === null || _a === void 0 ? void 0 : _a.currentLang) !== null && _b !== void 0 ? _b : '';
19
- }
20
- /**
21
- * Method to set the language to use in the App and Translate Service
22
- * @param {string} language
23
- * @return {Promise} output
24
- */
25
- use(newLang) {
26
- var _a, _b;
27
- return __awaiter(this, void 0, void 0, function* () {
28
- return (_b = (_a = this.translateService) === null || _a === void 0 ? void 0 : _a.use) === null || _b === void 0 ? void 0 : _b.call(_a, newLang);
29
- });
30
- }
31
- /**
32
- * Method which receives a translation key and returns the translated value assigned to that key
33
- * @param {string} translation key
34
- * @return {string} translated value
35
- */
36
- translate(translationKey) {
37
- var _a, _b;
38
- return (_b = (_a = this.translateService) === null || _a === void 0 ? void 0 : _a.instant) === null || _b === void 0 ? void 0 : _b.call(_a, translationKey || ' ');
39
- }
40
- }
41
- TranslaterService.decorators = [
42
- { type: Injectable }
43
- ];
44
- TranslaterService.ctorParameters = () => [
45
- { type: TranslateService, decorators: [{ type: Optional }] }
46
- ];
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2FuZ3VsYXItc2xpY2tncmlkL3NlcnZpY2VzL3RyYW5zbGF0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHdkQ7OztHQUdHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUF5QyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFaEY7OztPQUdHO0lBQ0gsa0JBQWtCOztRQUNoQixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLFdBQVcsbUNBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0csR0FBRyxDQUFDLE9BQWU7OztZQUN2QixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLEdBQUcsbURBQUcsT0FBTyxDQUFDLENBQUM7O0tBQzlDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxjQUFzQjs7UUFDOUIsT0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxPQUFPLG1EQUFHLGNBQWMsSUFBSSxHQUFHLENBQVcsQ0FBQztJQUMzRSxDQUFDOzs7WUE1QkYsVUFBVTs7O1lBUEYsZ0JBQWdCLHVCQVNWLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZXJTZXJ2aWNlIGFzIFVuaXZlcnNhbFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAc2xpY2tncmlkLXVuaXZlcnNhbC9jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgaXMgYSBUcmFuc2xhdGUgU2VydmljZSBXcmFwcGVyIGZvciBTbGlja2dyaWQtVW5pdmVyc2FsIG1vbm9yZXBvIGxpYiB0byB3b3JrIHByb3Blcmx5LFxyXG4gKiBpdCBtdXN0IGltcGxlbWVudCBTbGlja2dyaWQtVW5pdmVyc2FsIFRyYW5zbGF0ZXJTZXJ2aWNlIGludGVyZmFjZSB0byB3b3JrIHByb3Blcmx5XHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVyU2VydmljZSBpbXBsZW1lbnRzIFVuaXZlcnNhbFRyYW5zbGF0ZVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCB0byByZXR1cm4gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgdXNlZCBieSB0aGUgQXBwXHJcbiAgICogQHJldHVybiB7c3RyaW5nfSBjdXJyZW50IGxhbmd1YWdlXHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudExhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlPy5jdXJyZW50TGFuZyA/PyAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCB0byBzZXQgdGhlIGxhbmd1YWdlIHRvIHVzZSBpbiB0aGUgQXBwIGFuZCBUcmFuc2xhdGUgU2VydmljZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsYW5ndWFnZVxyXG4gICAqIEByZXR1cm4ge1Byb21pc2V9IG91dHB1dFxyXG4gICAqL1xyXG4gIGFzeW5jIHVzZShuZXdMYW5nOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZT8udXNlPy4obmV3TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2Qgd2hpY2ggcmVjZWl2ZXMgYSB0cmFuc2xhdGlvbiBrZXkgYW5kIHJldHVybnMgdGhlIHRyYW5zbGF0ZWQgdmFsdWUgYXNzaWduZWQgdG8gdGhhdCBrZXlcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHJhbnNsYXRpb24ga2V5XHJcbiAgICogQHJldHVybiB7c3RyaW5nfSB0cmFuc2xhdGVkIHZhbHVlXHJcbiAgICovXHJcbiAgdHJhbnNsYXRlKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZT8uaW5zdGFudD8uKHRyYW5zbGF0aW9uS2V5IHx8ICcgJykgYXMgc3RyaW5nO1xyXG4gIH1cclxufVxyXG4iXX0=