@oneteme/jquery-organizer 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +441 -0
- package/esm2022/lib/group-by-manager/group-by-manager.mjs +73 -0
- package/esm2022/lib/lazy-field-manager/lazy-field-manager.mjs +91 -0
- package/esm2022/lib/models/index.mjs +3 -0
- package/esm2022/lib/models/organizer-chart-adapter.mjs +164 -0
- package/esm2022/lib/models/organizer-config.interface.mjs +2 -0
- package/esm2022/lib/models/organizer-menu.model.mjs +17 -0
- package/esm2022/lib/models/organizer-utils.mjs +26 -0
- package/esm2022/lib/organizer-button/organizer-button.component.mjs +266 -0
- package/esm2022/lib/organizer-button/organizer-button.module.mjs +17 -0
- package/esm2022/lib/organizer-facade/organizer-facade.mjs +269 -0
- package/esm2022/lib/organizer-facade/organizer-facade.types.mjs +2 -0
- package/esm2022/lib/slice-panel/slice-panel.component.mjs +452 -0
- package/esm2022/lib/slice-panel/slice-panel.model.mjs +2 -0
- package/esm2022/oneteme-jquery-organizer.mjs +5 -0
- package/esm2022/public-api.mjs +12 -0
- package/fesm2022/oneteme-jquery-organizer.mjs +1369 -0
- package/fesm2022/oneteme-jquery-organizer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/group-by-manager/group-by-manager.d.ts +20 -0
- package/lib/lazy-field-manager/lazy-field-manager.d.ts +25 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/organizer-chart-adapter.d.ts +44 -0
- package/lib/models/organizer-config.interface.d.ts +103 -0
- package/lib/models/organizer-menu.model.d.ts +7 -0
- package/lib/models/organizer-utils.d.ts +8 -0
- package/lib/organizer-button/organizer-button.component.d.ts +51 -0
- package/lib/organizer-button/organizer-button.module.d.ts +8 -0
- package/lib/organizer-facade/organizer-facade.d.ts +51 -0
- package/lib/organizer-facade/organizer-facade.types.d.ts +31 -0
- package/lib/slice-panel/slice-panel.component.d.ts +80 -0
- package/lib/slice-panel/slice-panel.model.d.ts +25 -0
- package/package.json +35 -0
- package/public-api.d.ts +12 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { buildYFields, resolveYKey } from './organizer-utils';
|
|
2
|
+
export function chartConfigToOrganizer(chartConfig, options = {}) {
|
|
3
|
+
if (!chartConfig)
|
|
4
|
+
return {};
|
|
5
|
+
const { onFetchSliceData, onExportVisual, onExportData, switchView } = options;
|
|
6
|
+
const activeIndicator = chartConfig.indicators?.items?.find(i => i.selected);
|
|
7
|
+
const baseXFields = (chartConfig.groups?.items || [])
|
|
8
|
+
.filter(g => !_isSynthetic(g))
|
|
9
|
+
.map(g => ({ id: g.key, label: g.menu.label || g.key }));
|
|
10
|
+
const yFields = buildYFields((chartConfig.indicators?.items || []).map(i => ({ id: i.key, label: i.menu.label || i.key, group: i.group })));
|
|
11
|
+
const stackFields = (activeIndicator?.extra?.stacks?.items || [])
|
|
12
|
+
.filter((s) => !_isSynthetic(s))
|
|
13
|
+
.map((s) => ({ id: s.key, label: s.menu.label || s.key }));
|
|
14
|
+
const seenKeys = new Set();
|
|
15
|
+
const mergedGroupFields = [...baseXFields, ...stackFields].filter(f => {
|
|
16
|
+
if (seenKeys.has(f.id))
|
|
17
|
+
return false;
|
|
18
|
+
seenKeys.add(f.id);
|
|
19
|
+
return true;
|
|
20
|
+
});
|
|
21
|
+
return {
|
|
22
|
+
xFields: mergedGroupFields,
|
|
23
|
+
yFields,
|
|
24
|
+
groups: mergedGroupFields,
|
|
25
|
+
slices: (chartConfig.filters?.items || []).map(f => ({ id: f.key, label: f.menu.label || f.key })),
|
|
26
|
+
showReset: false,
|
|
27
|
+
onFetchSliceData,
|
|
28
|
+
showExport: !!(onExportVisual || onExportData),
|
|
29
|
+
onExportVisual,
|
|
30
|
+
onExportData,
|
|
31
|
+
switchView,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function chartConfigToState(chartConfig) {
|
|
35
|
+
if (!chartConfig)
|
|
36
|
+
return {};
|
|
37
|
+
const activeIndicator = chartConfig.indicators?.items?.find(i => i.selected);
|
|
38
|
+
const activeStack = (activeIndicator?.extra?.stacks?.items || []).find((s) => s.selected);
|
|
39
|
+
const activeGroup = chartConfig.groups?.items?.find(g => g.selected);
|
|
40
|
+
const activeSlices = (chartConfig.filters?.items || []).filter(f => f.selected);
|
|
41
|
+
const indicatorGroup = activeIndicator?.group;
|
|
42
|
+
return {
|
|
43
|
+
selectedX: activeGroup?.key,
|
|
44
|
+
selectedY: indicatorGroup ?? activeIndicator?.key,
|
|
45
|
+
selectedYAggregate: indicatorGroup ? activeIndicator?.key : undefined,
|
|
46
|
+
selectedGroupBy: activeStack?.key,
|
|
47
|
+
selectedSlices: activeSlices.map(f => f.key),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function chartConfigToUnifiedState(chartConfig, viewMode = 'chart') {
|
|
51
|
+
const state = chartConfigToState(chartConfig);
|
|
52
|
+
return {
|
|
53
|
+
viewMode,
|
|
54
|
+
dimension: state.selectedX,
|
|
55
|
+
metric: resolveYKey(state.selectedY, state.selectedYAggregate),
|
|
56
|
+
metricAggregate: state.selectedYAggregate,
|
|
57
|
+
breakdown: state.selectedGroupBy,
|
|
58
|
+
filters: state.selectedSlices,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export function applyOrganizerEventToChart(event, chartConfig) {
|
|
62
|
+
if (!chartConfig)
|
|
63
|
+
return;
|
|
64
|
+
const state = event.state;
|
|
65
|
+
_cleanSynthetics(chartConfig);
|
|
66
|
+
if (state.selectedX !== undefined)
|
|
67
|
+
_applyXSelection(state.selectedX, chartConfig);
|
|
68
|
+
if (state.selectedY !== undefined)
|
|
69
|
+
_applyYSelection(state.selectedY, state.selectedYAggregate, chartConfig);
|
|
70
|
+
const effectiveGroupBy = state.selectedGroupBy !== state.selectedX ? state.selectedGroupBy : undefined;
|
|
71
|
+
_applyGroupBySelection(effectiveGroupBy, chartConfig);
|
|
72
|
+
if (state.selectedSlices !== undefined)
|
|
73
|
+
_applySliceSelection(state.selectedSlices, chartConfig);
|
|
74
|
+
event.resolvedYUnit = resolveYUnit(chartConfig, event.state.selectedY, event.state.selectedYAggregate);
|
|
75
|
+
}
|
|
76
|
+
export function resolveYUnit(chartConfig, selectedY, selectedYAggregate) {
|
|
77
|
+
if (!chartConfig || !selectedY)
|
|
78
|
+
return undefined;
|
|
79
|
+
const actualKey = resolveYKey(selectedY, selectedYAggregate);
|
|
80
|
+
return chartConfig.indicators?.items?.find(i => i.key === actualKey)?.unit;
|
|
81
|
+
}
|
|
82
|
+
const _syntheticItems = new WeakSet();
|
|
83
|
+
function _makeSynthetic(item) {
|
|
84
|
+
_syntheticItems.add(item);
|
|
85
|
+
return item;
|
|
86
|
+
}
|
|
87
|
+
function _isSynthetic(item) {
|
|
88
|
+
return _syntheticItems.has(item);
|
|
89
|
+
}
|
|
90
|
+
function _cleanSynthetics(chartConfig) {
|
|
91
|
+
chartConfig.groups.items = chartConfig.groups.items.filter(g => !_isSynthetic(g));
|
|
92
|
+
chartConfig.indicators.items.forEach(ind => {
|
|
93
|
+
if (ind.extra?.stacks?.items) {
|
|
94
|
+
ind.extra.stacks.items = ind.extra.stacks.items.filter((s) => !_isSynthetic(s));
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function _applyXSelection(selectedX, chartConfig) {
|
|
99
|
+
const isGroupItem = chartConfig.groups.items.some(g => g.key === selectedX);
|
|
100
|
+
if (isGroupItem) {
|
|
101
|
+
chartConfig.groups.items.forEach(g => { g.selected = g.key === selectedX; });
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const allStacks = chartConfig.indicators.items.flatMap(i => i.extra?.stacks?.items ?? []);
|
|
105
|
+
const stackItem = allStacks.find(s => s.key === selectedX);
|
|
106
|
+
if (stackItem) {
|
|
107
|
+
chartConfig.groups.items.forEach(g => { g.selected = false; });
|
|
108
|
+
chartConfig.groups.items.push(_makeSynthetic({
|
|
109
|
+
key: stackItem.key,
|
|
110
|
+
selected: true,
|
|
111
|
+
menu: stackItem.menu,
|
|
112
|
+
jquery: stackItem.jquery
|
|
113
|
+
? { value: () => stackItem.jquery.value(), buildAlias: () => stackItem.jquery.buildAlias() }
|
|
114
|
+
: undefined,
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function _applyYSelection(selectedY, selectedYAggregate, chartConfig) {
|
|
119
|
+
const actualKey = resolveYKey(selectedY, selectedYAggregate);
|
|
120
|
+
chartConfig.indicators.items.forEach(i => { i.selected = i.key === actualKey; });
|
|
121
|
+
chartConfig.indicators.items.forEach(i => {
|
|
122
|
+
i.extra?.stacks?.items?.forEach((s) => { s.selected = false; });
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
function _applyGroupBySelection(effectiveGroupBy, chartConfig) {
|
|
126
|
+
const activeIndicator = chartConfig.indicators.items.find(i => i.selected);
|
|
127
|
+
const stackItems = activeIndicator?.extra?.stacks?.items ?? [];
|
|
128
|
+
if (effectiveGroupBy === undefined) {
|
|
129
|
+
stackItems.forEach(s => { s.selected = false; });
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const isStackItem = stackItems.some(s => s.key === effectiveGroupBy);
|
|
133
|
+
if (isStackItem) {
|
|
134
|
+
stackItems.forEach(s => { s.selected = s.key === effectiveGroupBy; });
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const groupItem = chartConfig.groups.items.find(g => g.key === effectiveGroupBy);
|
|
138
|
+
if (groupItem && activeIndicator) {
|
|
139
|
+
stackItems.forEach(s => { s.selected = false; });
|
|
140
|
+
if (!activeIndicator.extra) {
|
|
141
|
+
activeIndicator.extra = { stacks: { optional: true, items: [] } };
|
|
142
|
+
}
|
|
143
|
+
else if (!activeIndicator.extra.stacks) {
|
|
144
|
+
activeIndicator.extra.stacks = { optional: true, items: [] };
|
|
145
|
+
}
|
|
146
|
+
activeIndicator.extra.stacks.items.push(_makeSynthetic({
|
|
147
|
+
key: groupItem.key,
|
|
148
|
+
selected: true,
|
|
149
|
+
menu: groupItem.menu,
|
|
150
|
+
jquery: groupItem.jquery ? {
|
|
151
|
+
value: () => groupItem.jquery.value(),
|
|
152
|
+
buildAlias: () => groupItem.jquery.buildAlias(),
|
|
153
|
+
buildName: (_item, value) => String(value),
|
|
154
|
+
} : undefined,
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
stackItems.forEach(s => { s.selected = false; });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function _applySliceSelection(selectedSlices, chartConfig) {
|
|
162
|
+
chartConfig.filters?.items?.forEach(f => { f.selected = selectedSlices.includes(f.key); });
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemVyLWNoYXJ0LWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS1vcmdhbml6ZXIvc3JjL2xpYi9tb2RlbHMvb3JnYW5pemVyLWNoYXJ0LWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQXVDOUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxXQUFnQixFQUNoQixVQUF1QyxFQUFFO0lBRXpDLElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxFQUFFLENBQUM7SUFDNUIsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQy9FLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU3RSxNQUFNLFdBQVcsR0FBc0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7U0FDckUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTNELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FDMUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FB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Q0wsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbEQ7QUFDSCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxjQUF3QixFQUFFLFdBQWlDO0lBQ3ZGLFdBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnYW5pemVyQnV0dG9uRXZlbnQsIE9yZ2FuaXplckNvbmZpZywgT3JnYW5pemVyU3RhdGUsIE9yZ2FuaXplclVuaWZpZWRTdGF0ZSwgT3JnYW5pemVyVmlld1NsaWNlLCBPcmdhbml6ZXJYRmllbGQgfSBmcm9tICcuL29yZ2FuaXplci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IGJ1aWxkWUZpZWxkcywgcmVzb2x2ZVlLZXkgfSBmcm9tICcuL29yZ2FuaXplci11dGlscyc7XG5pbXBvcnQgeyBVbml0Q29uZmlnIH0gZnJvbSAnQG9uZXRlbWUvanF1ZXJ5LWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplckNoYXJ0SXRlbSB7XG4gIGtleTogc3RyaW5nO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgbWVudTogeyBsYWJlbDogc3RyaW5nIH07XG4gIHVuaXQ/OiBzdHJpbmcgfCBVbml0Q29uZmlnO1xuICBqcXVlcnk/OiB7XG4gICAgdmFsdWU6IChzPzogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgYnVpbGRBbGlhczogKHM/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICBidWlsZE5hbWU/OiAoaXRlbTogYW55LCB2YWx1ZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIGJ1aWxkQ29sb3I/OiAodmFsdWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgfTtcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGV4dHJhPzoge1xuICAgIHN0YWNrcz86IHsgb3B0aW9uYWw6IGJvb2xlYW47IGl0ZW1zOiBPcmdhbml6ZXJDaGFydEl0ZW1bXSB9O1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJDaGFydFNlY3Rpb24ge1xuICBvcHRpb25hbDogYm9vbGVhbjtcbiAgaXRlbXM6IE9yZ2FuaXplckNoYXJ0SXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplckNoYXJ0Q29uZmlnIHtcbiAgZ3JvdXBzOiBPcmdhbml6ZXJDaGFydFNlY3Rpb247XG4gIGluZGljYXRvcnM6IE9yZ2FuaXplckNoYXJ0U2VjdGlvbjtcbiAgZmlsdGVycz86IE9yZ2FuaXplckNoYXJ0U2VjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJDaGFydEJyaWRnZU9wdGlvbnMge1xuICBvbkZldGNoU2xpY2VEYXRhPzogT3JnYW5pemVyQ29uZmlnWydvbkZldGNoU2xpY2VEYXRhJ107XG4gIG9uRXhwb3J0VmlzdWFsPzogKCkgPT4gdm9pZDtcbiAgb25FeHBvcnREYXRhPzogKCkgPT4gdm9pZDtcbiAgc3dpdGNoVmlldz86IE9yZ2FuaXplckNvbmZpZ1snc3dpdGNoVmlldyddO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhcnRDb25maWdUb09yZ2FuaXplcihcbiAgY2hhcnRDb25maWc6IGFueSxcbiAgb3B0aW9uczogT3JnYW5pemVyQ2hhcnRCcmlkZ2VPcHRpb25zID0ge31cbik6IE9yZ2FuaXplckNvbmZpZyB7XG4gIGlmICghY2hhcnRDb25maWcpIHJldHVybiB7fTtcbiAgY29uc3QgeyBvbkZldGNoU2xpY2VEYXRhLCBvbkV4cG9ydFZpc3VhbCwgb25FeHBvcnREYXRhLCBzd2l0Y2hWaWV3IH0gPSBvcHRpb25zO1xuICBjb25zdCBhY3RpdmVJbmRpY2F0b3IgPSBjaGFydENvbmZpZy5pbmRpY2F0b3JzPy5pdGVtcz8uZmluZChpID0+IGkuc2VsZWN0ZWQpO1xuXG4gIGNvbnN0IGJhc2VYRmllbGRzOiBPcmdhbml6ZXJYRmllbGRbXSA9IChjaGFydENvbmZpZy5ncm91cHM/Lml0ZW1zIHx8IFtdKVxuICAgIC5maWx0ZXIoZyA9PiAhX2lzU3ludGhldGljKGcpKVxuICAgIC5tYXAoZyA9PiAoeyBpZDogZy5rZXksIGxhYmVsOiBnLm1lbnUubGFiZWwgfHwgZy5rZXkgfSkpO1xuXG4gIGNvbnN0IHlGaWVsZHMgPSBidWlsZFlGaWVsZHMoXG4gICAgKGNoYXJ0Q29uZmlnLmluZGljYXRvcnM/Lml0ZW1zIHx8IFtdKS5tYXAoaSA9PiAoeyBpZDogaS5rZXksIGxhYmVsOiBpLm1lbnUubGFiZWwgfHwgaS5rZXksIGdyb3VwOiBpLmdyb3VwIH0pKVxuICApO1xuXG4gIGNvbnN0IHN0YWNrRmllbGRzID0gKGFjdGl2ZUluZGljYXRvcj8uZXh0cmE/LnN0YWNrcz8uaXRlbXMgfHwgW10pXG4gICAgLmZpbHRlcigoczogT3JnYW5pemVyQ2hhcnRJdGVtKSA9PiAhX2lzU3ludGhldGljKHMpKVxuICAgIC5tYXAoKHM6IE9yZ2FuaXplckNoYXJ0SXRlbSkgPT4gKHsgaWQ6IHMua2V5LCBsYWJlbDogcy5tZW51LmxhYmVsIHx8IHMua2V5IH0pKTtcblxuICBjb25zdCBzZWVuS2V5cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBjb25zdCBtZXJnZWRHcm91cEZpZWxkcyA9IFsuLi5iYXNlWEZpZWxkcywgLi4uc3RhY2tGaWVsZHNdLmZpbHRlcihmID0+IHtcbiAgICBpZiAoc2VlbktleXMuaGFzKGYuaWQpKSByZXR1cm4gZmFsc2U7XG4gICAgc2VlbktleXMuYWRkKGYuaWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9KTtcblxuICByZXR1cm4ge1xuICAgIHhGaWVsZHM6IG1lcmdlZEdyb3VwRmllbGRzLFxuICAgIHlGaWVsZHMsXG4gICAgZ3JvdXBzOiBtZXJnZWRHcm91cEZpZWxkcyxcbiAgICBzbGljZXM6IChjaGFydENvbmZpZy5maWx0ZXJzPy5pdGVtcyB8fCBbXSkubWFwKGYgPT4gKHsgaWQ6IGYua2V5LCBsYWJlbDogZi5tZW51LmxhYmVsIHx8IGYua2V5IH0pIGFzIE9yZ2FuaXplclZpZXdTbGljZSksXG4gICAgc2hvd1Jlc2V0OiBmYWxzZSxcbiAgICBvbkZldGNoU2xpY2VEYXRhLFxuICAgIHNob3dFeHBvcnQ6ICEhKG9uRXhwb3J0VmlzdWFsIHx8IG9uRXhwb3J0RGF0YSksXG4gICAgb25FeHBvcnRWaXN1YWwsXG4gICAgb25FeHBvcnREYXRhLFxuICAgIHN3aXRjaFZpZXcsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFydENvbmZpZ1RvU3RhdGUoY2hhcnRDb25maWc6IGFueSk6IE9yZ2FuaXplclN0YXRlIHtcbiAgaWYgKCFjaGFydENvbmZpZykgcmV0dXJuIHt9O1xuICBjb25zdCBhY3RpdmVJbmRpY2F0b3IgPSBjaGFydENvbmZpZy5pbmRpY2F0b3JzPy5pdGVtcz8uZmluZChpID0+IGkuc2VsZWN0ZWQpO1xuICBjb25zdCBhY3RpdmVTdGFjayA9IChhY3RpdmVJbmRpY2F0b3I/LmV4dHJhPy5zdGFja3M/Lml0ZW1zIHx8IFtdKS5maW5kKChzOiBPcmdhbml6ZXJDaGFydEl0ZW0pID0+IHMuc2VsZWN0ZWQpO1xuICBjb25zdCBhY3RpdmVHcm91cCA9IGNoYXJ0Q29uZmlnLmdyb3Vwcz8uaXRlbXM/LmZpbmQoZyA9PiBnLnNlbGVjdGVkKTtcbiAgY29uc3QgYWN0aXZlU2xpY2VzID0gKGNoYXJ0Q29uZmlnLmZpbHRlcnM/Lml0ZW1zIHx8IFtdKS5maWx0ZXIoZiA9PiBmLnNlbGVjdGVkKTtcbiAgY29uc3QgaW5kaWNhdG9yR3JvdXAgPSBhY3RpdmVJbmRpY2F0b3I/Lmdyb3VwO1xuICByZXR1cm4ge1xuICAgIHNlbGVjdGVkWDogYWN0aXZlR3JvdXA/LmtleSxcbiAgICBzZWxlY3RlZFk6IGluZGljYXRvckdyb3VwID8/IGFjdGl2ZUluZGljYXRvcj8ua2V5LFxuICAgIHNlbGVjdGVkWUFnZ3JlZ2F0ZTogaW5kaWNhdG9yR3JvdXAgPyBhY3RpdmVJbmRpY2F0b3I/LmtleSA6IHVuZGVmaW5lZCxcbiAgICBzZWxlY3RlZEdyb3VwQnk6IGFjdGl2ZVN0YWNrPy5rZXksXG4gICAgc2VsZWN0ZWRTbGljZXM6IGFjdGl2ZVNsaWNlcy5tYXAoZiA9PiBmLmtleSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFydENvbmZpZ1RvVW5pZmllZFN0YXRlKFxuICBjaGFydENvbmZpZzogYW55LFxuICB2aWV3TW9kZTogJ2NoYXJ0JyB8ICd0YWJsZScgPSAnY2hhcnQnXG4pOiBPcmdhbml6ZXJVbmlmaWVkU3RhdGUge1xuICBjb25zdCBzdGF0ZSA9IGNoYXJ0Q29uZmlnVG9TdGF0ZShjaGFydENvbmZpZyk7XG4gIHJldHVybiB7XG4gICAgdmlld01vZGUsXG4gICAgZGltZW5zaW9uOiBzdGF0ZS5zZWxlY3RlZFgsXG4gICAgbWV0cmljOiByZXNvbHZlWUtleShzdGF0ZS5zZWxlY3RlZFksIHN0YXRlLnNlbGVjdGVkWUFnZ3JlZ2F0ZSksXG4gICAgbWV0cmljQWdncmVnYXRlOiBzdGF0ZS5zZWxlY3RlZFlBZ2dyZWdhdGUsXG4gICAgYnJlYWtkb3duOiBzdGF0ZS5zZWxlY3RlZEdyb3VwQnksXG4gICAgZmlsdGVyczogc3RhdGUuc2VsZWN0ZWRTbGljZXMsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseU9yZ2FuaXplckV2ZW50VG9DaGFydChcbiAgZXZlbnQ6IE9yZ2FuaXplckJ1dHRvbkV2ZW50LFxuICBjaGFydENvbmZpZzogYW55XG4pOiB2b2lkIHtcbiAgaWYgKCFjaGFydENvbmZpZykgcmV0dXJuO1xuICBjb25zdCBzdGF0ZSA9IGV2ZW50LnN0YXRlO1xuICBfY2xlYW5TeW50aGV0aWNzKGNoYXJ0Q29uZmlnKTtcbiAgaWYgKHN0YXRlLnNlbGVjdGVkWCAhPT0gdW5kZWZpbmVkKSBfYXBwbHlYU2VsZWN0aW9uKHN0YXRlLnNlbGVjdGVkWCwgY2hhcnRDb25maWcpO1xuICBpZiAoc3RhdGUuc2VsZWN0ZWRZICE9PSB1bmRlZmluZWQpIF9hcHBseVlTZWxlY3Rpb24oc3RhdGUuc2VsZWN0ZWRZLCBzdGF0ZS5zZWxlY3RlZFlBZ2dyZWdhdGUsIGNoYXJ0Q29uZmlnKTtcbiAgY29uc3QgZWZmZWN0aXZlR3JvdXBCeSA9IHN0YXRlLnNlbGVjdGVkR3JvdXBCeSAhPT0gc3RhdGUuc2VsZWN0ZWRYID8gc3RhdGUuc2VsZWN0ZWRHcm91cEJ5IDogdW5kZWZpbmVkO1xuICBfYXBwbHlHcm91cEJ5U2VsZWN0aW9uKGVmZmVjdGl2ZUdyb3VwQnksIGNoYXJ0Q29uZmlnKTtcbiAgaWYgKHN0YXRlLnNlbGVjdGVkU2xpY2VzICE9PSB1bmRlZmluZWQpIF9hcHBseVNsaWNlU2VsZWN0aW9uKHN0YXRlLnNlbGVjdGVkU2xpY2VzLCBjaGFydENvbmZpZyk7XG4gIGV2ZW50LnJlc29sdmVkWVVuaXQgPSByZXNvbHZlWVVuaXQoY2hhcnRDb25maWcsIGV2ZW50LnN0YXRlLnNlbGVjdGVkWSwgZXZlbnQuc3RhdGUuc2VsZWN0ZWRZQWdncmVnYXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVZVW5pdChcbiAgY2hhcnRDb25maWc6IGFueSxcbiAgc2VsZWN0ZWRZOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHNlbGVjdGVkWUFnZ3JlZ2F0ZTogc3RyaW5nIHwgdW5kZWZpbmVkXG4pOiBzdHJpbmcgfCBVbml0Q29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFjaGFydENvbmZpZyB8fCAhc2VsZWN0ZWRZKSByZXR1cm4gdW5kZWZpbmVkO1xuICBjb25zdCBhY3R1YWxLZXkgPSByZXNvbHZlWUtleShzZWxlY3RlZFksIHNlbGVjdGVkWUFnZ3JlZ2F0ZSk7XG4gIHJldHVybiBjaGFydENvbmZpZy5pbmRpY2F0b3JzPy5pdGVtcz8uZmluZChpID0+IGkua2V5ID09PSBhY3R1YWxLZXkpPy51bml0O1xufVxuXG5jb25zdCBfc3ludGhldGljSXRlbXMgPSBuZXcgV2Vha1NldDxPcmdhbml6ZXJDaGFydEl0ZW0+KCk7XG5cbmZ1bmN0aW9uIF9tYWtlU3ludGhldGljKGl0ZW06IE9yZ2FuaXplckNoYXJ0SXRlbSk6IE9yZ2FuaXplckNoYXJ0SXRlbSB7XG4gIF9zeW50aGV0aWNJdGVtcy5hZGQoaXRlbSk7XG4gIHJldHVybiBpdGVtO1xufVxuXG5mdW5jdGlvbiBfaXNTeW50aGV0aWMoaXRlbTogT3JnYW5pemVyQ2hhcnRJdGVtKTogYm9vbGVhbiB7XG4gIHJldHVybiBfc3ludGhldGljSXRlbXMuaGFzKGl0ZW0pO1xufVxuXG5mdW5jdGlvbiBfY2xlYW5TeW50aGV0aWNzKGNoYXJ0Q29uZmlnOiBPcmdhbml6ZXJDaGFydENvbmZpZyk6IHZvaWQge1xuICBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMgPSBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMuZmlsdGVyKGcgPT4gIV9pc1N5bnRoZXRpYyhnKSk7XG4gIGNoYXJ0Q29uZmlnLmluZGljYXRvcnMuaXRlbXMuZm9yRWFjaChpbmQgPT4ge1xuICAgIGlmIChpbmQuZXh0cmE/LnN0YWNrcz8uaXRlbXMpIHtcbiAgICAgIGluZC5leHRyYS5zdGFja3MuaXRlbXMgPSBpbmQuZXh0cmEuc3RhY2tzLml0ZW1zLmZpbHRlcigoczogT3JnYW5pemVyQ2hhcnRJdGVtKSA9PiAhX2lzU3ludGhldGljKHMpKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBfYXBwbHlYU2VsZWN0aW9uKHNlbGVjdGVkWDogc3RyaW5nLCBjaGFydENvbmZpZzogT3JnYW5pemVyQ2hhcnRDb25maWcpOiB2b2lkIHtcbiAgY29uc3QgaXNHcm91cEl0ZW0gPSBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMuc29tZShnID0+IGcua2V5ID09PSBzZWxlY3RlZFgpO1xuICBpZiAoaXNHcm91cEl0ZW0pIHtcbiAgICBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMuZm9yRWFjaChnID0+IHsgZy5zZWxlY3RlZCA9IGcua2V5ID09PSBzZWxlY3RlZFg7IH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBhbGxTdGFja3M6IE9yZ2FuaXplckNoYXJ0SXRlbVtdID0gY2hhcnRDb25maWcuaW5kaWNhdG9ycy5pdGVtcy5mbGF0TWFwKGkgPT4gaS5leHRyYT8uc3RhY2tzPy5pdGVtcyA/PyBbXSk7XG4gIGNvbnN0IHN0YWNrSXRlbSA9IGFsbFN0YWNrcy5maW5kKHMgPT4gcy5rZXkgPT09IHNlbGVjdGVkWCk7XG4gIGlmIChzdGFja0l0ZW0pIHtcbiAgICBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMuZm9yRWFjaChnID0+IHsgZy5zZWxlY3RlZCA9IGZhbHNlOyB9KTtcbiAgICBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMucHVzaChfbWFrZVN5bnRoZXRpYyh7XG4gICAgICBrZXk6IHN0YWNrSXRlbS5rZXksXG4gICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgIG1lbnU6IHN0YWNrSXRlbS5tZW51LFxuICAgICAganF1ZXJ5OiBzdGFja0l0ZW0uanF1ZXJ5XG4gICAgICAgID8geyB2YWx1ZTogKCkgPT4gc3RhY2tJdGVtLmpxdWVyeSEudmFsdWUoKSwgYnVpbGRBbGlhczogKCkgPT4gc3RhY2tJdGVtLmpxdWVyeSEuYnVpbGRBbGlhcygpIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9hcHBseVlTZWxlY3Rpb24oc2VsZWN0ZWRZOiBzdHJpbmcsIHNlbGVjdGVkWUFnZ3JlZ2F0ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGFydENvbmZpZzogT3JnYW5pemVyQ2hhcnRDb25maWcpOiB2b2lkIHtcbiAgY29uc3QgYWN0dWFsS2V5ID0gcmVzb2x2ZVlLZXkoc2VsZWN0ZWRZLCBzZWxlY3RlZFlBZ2dyZWdhdGUpO1xuICBjaGFydENvbmZpZy5pbmRpY2F0b3JzLml0ZW1zLmZvckVhY2goaSA9PiB7IGkuc2VsZWN0ZWQgPSBpLmtleSA9PT0gYWN0dWFsS2V5OyB9KTtcbiAgY2hhcnRDb25maWcuaW5kaWNhdG9ycy5pdGVtcy5mb3JFYWNoKGkgPT4ge1xuICAgIGkuZXh0cmE/LnN0YWNrcz8uaXRlbXM/LmZvckVhY2goKHM6IE9yZ2FuaXplckNoYXJ0SXRlbSkgPT4geyBzLnNlbGVjdGVkID0gZmFsc2U7IH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gX2FwcGx5R3JvdXBCeVNlbGVjdGlvbihlZmZlY3RpdmVHcm91cEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQsIGNoYXJ0Q29uZmlnOiBPcmdhbml6ZXJDaGFydENvbmZpZyk6IHZvaWQge1xuICBjb25zdCBhY3RpdmVJbmRpY2F0b3IgPSBjaGFydENvbmZpZy5pbmRpY2F0b3JzLml0ZW1zLmZpbmQoaSA9PiBpLnNlbGVjdGVkKTtcbiAgY29uc3Qgc3RhY2tJdGVtczogT3JnYW5pemVyQ2hhcnRJdGVtW10gPSBhY3RpdmVJbmRpY2F0b3I/LmV4dHJhPy5zdGFja3M/Lml0ZW1zID8/IFtdO1xuICBpZiAoZWZmZWN0aXZlR3JvdXBCeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RhY2tJdGVtcy5mb3JFYWNoKHMgPT4geyBzLnNlbGVjdGVkID0gZmFsc2U7IH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBpc1N0YWNrSXRlbSA9IHN0YWNrSXRlbXMuc29tZShzID0+IHMua2V5ID09PSBlZmZlY3RpdmVHcm91cEJ5KTtcbiAgaWYgKGlzU3RhY2tJdGVtKSB7XG4gICAgc3RhY2tJdGVtcy5mb3JFYWNoKHMgPT4geyBzLnNlbGVjdGVkID0gcy5rZXkgPT09IGVmZmVjdGl2ZUdyb3VwQnk7IH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBncm91cEl0ZW0gPSBjaGFydENvbmZpZy5ncm91cHMuaXRlbXMuZmluZChnID0+IGcua2V5ID09PSBlZmZlY3RpdmVHcm91cEJ5KTtcbiAgaWYgKGdyb3VwSXRlbSAmJiBhY3RpdmVJbmRpY2F0b3IpIHtcbiAgICBzdGFja0l0ZW1zLmZvckVhY2gocyA9PiB7IHMuc2VsZWN0ZWQgPSBmYWxzZTsgfSk7XG4gICAgaWYgKCFhY3RpdmVJbmRpY2F0b3IuZXh0cmEpIHtcbiAgICAgIGFjdGl2ZUluZGljYXRvci5leHRyYSA9IHsgc3RhY2tzOiB7IG9wdGlvbmFsOiB0cnVlLCBpdGVtczogW10gfSB9O1xuICAgIH0gZWxzZSBpZiAoIWFjdGl2ZUluZGljYXRvci5leHRyYS5zdGFja3MpIHtcbiAgICAgIGFjdGl2ZUluZGljYXRvci5leHRyYS5zdGFja3MgPSB7IG9wdGlvbmFsOiB0cnVlLCBpdGVtczogW10gfTtcbiAgICB9XG4gICAgYWN0aXZlSW5kaWNhdG9yLmV4dHJhLnN0YWNrcy5pdGVtcy5wdXNoKF9tYWtlU3ludGhldGljKHtcbiAgICAgIGtleTogZ3JvdXBJdGVtLmtleSxcbiAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgbWVudTogZ3JvdXBJdGVtLm1lbnUsXG4gICAgICBqcXVlcnk6IGdyb3VwSXRlbS5qcXVlcnkgPyB7XG4gICAgICAgIHZhbHVlOiAoKSA9PiBncm91cEl0ZW0uanF1ZXJ5IS52YWx1ZSgpLFxuICAgICAgICBidWlsZEFsaWFzOiAoKSA9PiBncm91cEl0ZW0uanF1ZXJ5IS5idWlsZEFsaWFzKCksXG4gICAgICAgIGJ1aWxkTmFtZTogKF9pdGVtOiBhbnksIHZhbHVlOiBzdHJpbmcpID0+IFN0cmluZyh2YWx1ZSksXG4gICAgICB9IDogdW5kZWZpbmVkLFxuICAgIH0pKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFja0l0ZW1zLmZvckVhY2gocyA9PiB7IHMuc2VsZWN0ZWQgPSBmYWxzZTsgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gX2FwcGx5U2xpY2VTZWxlY3Rpb24oc2VsZWN0ZWRTbGljZXM6IHN0cmluZ1tdLCBjaGFydENvbmZpZzogT3JnYW5pemVyQ2hhcnRDb25maWcpOiB2b2lkIHtcbiAgY2hhcnRDb25maWcuZmlsdGVycz8uaXRlbXM/LmZvckVhY2goZiA9PiB7IGYuc2VsZWN0ZWQgPSBzZWxlY3RlZFNsaWNlcy5pbmNsdWRlcyhmLmtleSk7IH0pO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemVyLWNvbmZpZy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS1vcmdhbml6ZXIvc3JjL2xpYi9tb2RlbHMvb3JnYW5pemVyLWNvbmZpZy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNsaWNlQ29uZmlnIH0gZnJvbSAnLi4vc2xpY2UtcGFuZWwvc2xpY2UtcGFuZWwubW9kZWwnO1xuaW1wb3J0IHsgVW5pdENvbmZpZyB9IGZyb20gJ0BvbmV0ZW1lL2pxdWVyeS1jb3JlJztcblxuZXhwb3J0IHR5cGUgRmllbGRTdGF0ZSA9ICdyZWFkeScgfCAnbG9hZGluZycgfCAnZXJyb3InO1xuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJWaWV3RmllbGQge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgc3RhdGU/OiBGaWVsZFN0YXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplclhGaWVsZCB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJZQWdncmVnYXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJZRmllbGQge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBhZ2dyZWdhdGVzPzogT3JnYW5pemVyWUFnZ3JlZ2F0ZVtdO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemVyVmlld0dyb3VwIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJWaWV3U2xpY2Uge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplclRlbXBsYXRlIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgeEZpZWxkPzogc3RyaW5nO1xuICB5RmllbGQ/OiBzdHJpbmc7XG4gIHlBZ2dyZWdhdGU/OiBzdHJpbmc7XG4gIGdyb3VwQnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemVyQ29uZmlnIHtcbiAgZmllbGRzPzogT3JnYW5pemVyVmlld0ZpZWxkW107XG4gIHhGaWVsZHM/OiBPcmdhbml6ZXJYRmllbGRbXTtcbiAgeUZpZWxkcz86IE9yZ2FuaXplcllGaWVsZFtdO1xuICBncm91cHM/OiBPcmdhbml6ZXJWaWV3R3JvdXBbXTtcbiAgc2xpY2VzPzogT3JnYW5pemVyVmlld1NsaWNlW107XG4gIHRlbXBsYXRlcz86IE9yZ2FuaXplclRlbXBsYXRlW107XG5cbiAgb25GZXRjaEZpZWxkRGF0YT86IChmaWVsZElkOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBhbnk+W10+O1xuICBvbkZldGNoU2xpY2VEYXRhPzogKGZpbHRlcktleTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPGFueVtdPiB8IFByb21pc2U8YW55W10+O1xuICBvblNsaWNlQ2xpY2s/OiAoKSA9PiB2b2lkO1xuXG4gIHNob3dFeHBvcnQ/OiBib29sZWFuO1xuICBvbkV4cG9ydD86ICgpID0+IHZvaWQ7XG4gIG9uRXhwb3J0VmlzdWFsPzogKCkgPT4gdm9pZDtcbiAgb25FeHBvcnREYXRhPzogKCkgPT4gdm9pZDtcblxuICBzaG93UHJlZmVyZW5jZXM/OiBib29sZWFuO1xuICBoYXNTYXZlZFByZWZlcmVuY2VzPzogYm9vbGVhbjtcbiAgb25QcmVmZXJlbmNlc0VkaXQ/OiAoKSA9PiB2b2lkO1xuICBvblByZWZlcmVuY2VzU2F2ZT86ICgpID0+IHZvaWQ7XG4gIG9uUHJlZmVyZW5jZXNDbGVhcj86ICgpID0+IHZvaWQ7XG5cbiAgc2hvd1Jlc2V0PzogYm9vbGVhbjtcbiAgbWVudVBvc2l0aW9uPzogJ2Fib3ZlJyB8ICdiZWxvdyc7XG4gIG1lbnVDbGFzcz86IHN0cmluZztcbiAgYnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIGJ1dHRvbkljb24/OiBzdHJpbmc7XG4gIHNob3dCdXR0b25JY29uPzogYm9vbGVhbjtcblxuICBzd2l0Y2hWaWV3Pzoge1xuICAgIGN1cnJlbnRWaWV3OiAnY2hhcnQnIHwgJ3RhYmxlJztcbiAgICBvblN3aXRjaDogKG5ld1ZpZXc6ICdjaGFydCcgfCAndGFibGUnKSA9PiB2b2lkO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplclNsaWNlU3RhdGUge1xuICBzbGljZUNvbmZpZ3M6IFNsaWNlQ29uZmlnPGFueT5bXTtcbiAgdGFza3M6IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ2FuaXplclN0YXRlIHtcbiAgdmlld01vZGU/OiAnY2hhcnQnIHwgJ3RhYmxlJztcblxuICB2aXNpYmxlRmllbGRzPzogc3RyaW5nW107XG5cbiAgc2VsZWN0ZWRYPzogc3RyaW5nO1xuICBzZWxlY3RlZFk/OiBzdHJpbmc7XG4gIHNlbGVjdGVkWUFnZ3JlZ2F0ZT86IHN0cmluZztcblxuICBzZWxlY3RlZEdyb3VwQnk/OiBzdHJpbmc7XG4gIHNlbGVjdGVkU2xpY2VzPzogc3RyaW5nW107XG4gIHNlbGVjdGVkVGVtcGxhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemVyQnV0dG9uRXZlbnQge1xuICB0eXBlOiAnZmllbGRUb2dnbGVkJyB8ICd4U2VsZWN0ZWQnIHwgJ3lTZWxlY3RlZCcgfCAnZ3JvdXBCeVNlbGVjdGVkJyB8ICd0ZW1wbGF0ZVNlbGVjdGVkJyB8ICdzbGljZVNlbGVjdGVkJyB8ICdyZXNldCcgfCAndmlld1N3aXRjaGVkJztcbiAgc3RhdGU6IE9yZ2FuaXplclN0YXRlO1xuICBzb3VyY2U/OiAndXNlcicgfCAnYXBpJztcbiAgcmVzb2x2ZWRZVW5pdD86IHN0cmluZyB8IFVuaXRDb25maWc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5pemVyVW5pZmllZFN0YXRlIHtcbiAgdmlld01vZGU6ICdjaGFydCcgfCAndGFibGUnO1xuICBkaW1lbnNpb24/OiBzdHJpbmc7XG4gIG1ldHJpYz86IHN0cmluZztcbiAgbWV0cmljQWdncmVnYXRlPzogc3RyaW5nO1xuICBicmVha2Rvd24/OiBzdHJpbmc7XG4gIGZpbHRlcnM/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const DEFAULT_MENU_LABELS = {
|
|
2
|
+
'fields': 'Champs',
|
|
3
|
+
'champs': 'Champs',
|
|
4
|
+
'groups': 'Grouper par',
|
|
5
|
+
'slices': 'Filtrer par',
|
|
6
|
+
'templates': 'Template',
|
|
7
|
+
'custom': 'Options'
|
|
8
|
+
};
|
|
9
|
+
export const DEFAULT_MENU_ICONS = {
|
|
10
|
+
'fields': 'visibility',
|
|
11
|
+
'champs': 'bar_chart',
|
|
12
|
+
'groups': 'category',
|
|
13
|
+
'slices': 'filter_list',
|
|
14
|
+
'templates': 'dashboard_customize',
|
|
15
|
+
'custom': 'settings'
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemVyLW1lbnUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmV0ZW1lL2pxdWVyeS1vcmdhbml6ZXIvc3JjL2xpYi9tb2RlbHMvb3JnYW5pemVyLW1lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXFDO0lBQ25FLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFFBQVEsRUFBRSxhQUFhO0lBQ3ZCLFFBQVEsRUFBRSxhQUFhO0lBQ3ZCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBcUM7SUFDbEUsUUFBUSxFQUFFLFlBQVk7SUFDdEIsUUFBUSxFQUFFLFdBQVc7SUFDckIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLGFBQWE7SUFDdkIsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxRQUFRLEVBQUUsVUFBVTtDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWVudVNlY3Rpb24gPSAnZmllbGRzJyB8ICdjaGFtcHMnIHwgJ2dyb3VwcycgfCAnc2xpY2VzJyB8ICd0ZW1wbGF0ZXMnIHwgJ2N1c3RvbSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01FTlVfTEFCRUxTOiB7IFtrZXkgaW4gTWVudVNlY3Rpb25dOiBzdHJpbmcgfSA9IHtcbiAgJ2ZpZWxkcyc6ICdDaGFtcHMnLFxuICAnY2hhbXBzJzogJ0NoYW1wcycsXG4gICdncm91cHMnOiAnR3JvdXBlciBwYXInLFxuICAnc2xpY2VzJzogJ0ZpbHRyZXIgcGFyJyxcbiAgJ3RlbXBsYXRlcyc6ICdUZW1wbGF0ZScsXG4gICdjdXN0b20nOiAnT3B0aW9ucydcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01FTlVfSUNPTlM6IHsgW2tleSBpbiBNZW51U2VjdGlvbl06IHN0cmluZyB9ID0ge1xuICAnZmllbGRzJzogJ3Zpc2liaWxpdHknLFxuICAnY2hhbXBzJzogJ2Jhcl9jaGFydCcsXG4gICdncm91cHMnOiAnY2F0ZWdvcnknLFxuICAnc2xpY2VzJzogJ2ZpbHRlcl9saXN0JyxcbiAgJ3RlbXBsYXRlcyc6ICdkYXNoYm9hcmRfY3VzdG9taXplJyxcbiAgJ2N1c3RvbSc6ICdzZXR0aW5ncydcbn07XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function buildYFields(indicators) {
|
|
2
|
+
const ordered = [];
|
|
3
|
+
const map = new Map();
|
|
4
|
+
for (const indicator of indicators) {
|
|
5
|
+
const groupKey = indicator.group;
|
|
6
|
+
if (groupKey) {
|
|
7
|
+
if (!map.has(groupKey)) {
|
|
8
|
+
ordered.push(groupKey);
|
|
9
|
+
map.set(groupKey, { id: groupKey, label: groupKey, aggregates: [] });
|
|
10
|
+
}
|
|
11
|
+
const parent = map.get(groupKey);
|
|
12
|
+
if (parent?.aggregates) {
|
|
13
|
+
parent.aggregates.push({ id: indicator.id, label: indicator.label });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
ordered.push(indicator.id);
|
|
18
|
+
map.set(indicator.id, { id: indicator.id, label: indicator.label });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return ordered.map(k => map.get(k)).filter((f) => !!f);
|
|
22
|
+
}
|
|
23
|
+
export function resolveYKey(selectedY, selectedYAggregate) {
|
|
24
|
+
return selectedYAggregate ?? selectedY;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25ldGVtZS9qcXVlcnktb3JnYW5pemVyL3NyYy9saWIvbW9kZWxzL29yZ2FuaXplci11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsWUFBWSxDQUFDLFVBQWlDO0lBQzVELE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztJQUUvQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtRQUNsQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZCLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3RFO1lBQ0QsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxJQUFJLE1BQU0sRUFBRSxVQUFVLEVBQUU7Z0JBQ3RCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNyRTtLQUNGO0lBRUQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBd0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FDekIsU0FBNkIsRUFDN0Isa0JBQXNDO0lBRXRDLE9BQU8sa0JBQWtCLElBQUksU0FBUyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdhbml6ZXJZRmllbGQgfSBmcm9tICcuL29yZ2FuaXplci1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbml6ZXJZSW5kaWNhdG9yIHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZ3JvdXA/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFlGaWVsZHMoaW5kaWNhdG9yczogT3JnYW5pemVyWUluZGljYXRvcltdKTogT3JnYW5pemVyWUZpZWxkW10ge1xuICBjb25zdCBvcmRlcmVkOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgT3JnYW5pemVyWUZpZWxkPigpO1xuXG4gIGZvciAoY29uc3QgaW5kaWNhdG9yIG9mIGluZGljYXRvcnMpIHtcbiAgICBjb25zdCBncm91cEtleSA9IGluZGljYXRvci5ncm91cDtcbiAgICBpZiAoZ3JvdXBLZXkpIHtcbiAgICAgIGlmICghbWFwLmhhcyhncm91cEtleSkpIHtcbiAgICAgICAgb3JkZXJlZC5wdXNoKGdyb3VwS2V5KTtcbiAgICAgICAgbWFwLnNldChncm91cEtleSwgeyBpZDogZ3JvdXBLZXksIGxhYmVsOiBncm91cEtleSwgYWdncmVnYXRlczogW10gfSk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KGdyb3VwS2V5KTtcbiAgICAgIGlmIChwYXJlbnQ/LmFnZ3JlZ2F0ZXMpIHtcbiAgICAgICAgcGFyZW50LmFnZ3JlZ2F0ZXMucHVzaCh7IGlkOiBpbmRpY2F0b3IuaWQsIGxhYmVsOiBpbmRpY2F0b3IubGFiZWwgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9yZGVyZWQucHVzaChpbmRpY2F0b3IuaWQpO1xuICAgICAgbWFwLnNldChpbmRpY2F0b3IuaWQsIHsgaWQ6IGluZGljYXRvci5pZCwgbGFiZWw6IGluZGljYXRvci5sYWJlbCB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3JkZXJlZC5tYXAoayA9PiBtYXAuZ2V0KGspKS5maWx0ZXIoKGYpOiBmIGlzIE9yZ2FuaXplcllGaWVsZCA9PiAhIWYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVlLZXkoXG4gIHNlbGVjdGVkWTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBzZWxlY3RlZFlBZ2dyZWdhdGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHNlbGVjdGVkWUFnZ3JlZ2F0ZSA/PyBzZWxlY3RlZFk7XG59XG4iXX0=
|