@quillsql/react 2.10.11 → 2.10.13
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/dist/cjs/AddToDashboardModal.d.ts.map +1 -1
- package/dist/cjs/AddToDashboardModal.js +95 -64
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +1 -0
- package/dist/cjs/ChartBuilder.d.ts +1 -0
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +24 -8
- package/dist/cjs/ChartEditor.d.ts +2 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +5 -3
- package/dist/cjs/Dashboard.d.ts +2 -1
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +10 -12
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +44 -26
- package/dist/cjs/SQLEditor.d.ts +9 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +52 -25
- package/dist/cjs/Table.d.ts +3 -1
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +4 -2
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +17 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +29 -6
- package/dist/cjs/components/Dashboard/DashboardGroup.d.ts +1 -1
- package/dist/cjs/components/Dashboard/DashboardGroup.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardGroup.js +3 -2
- package/dist/cjs/components/Dashboard/DashboardItem.d.ts +1 -1
- package/dist/cjs/components/Dashboard/DashboardItem.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardItem.js +2 -1
- package/dist/cjs/components/Dashboard/DashboardSection.d.ts +1 -1
- package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardSection.js +8 -2
- package/dist/cjs/components/UiComponents.d.ts +10 -0
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +2 -1
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +1 -0
- package/dist/cjs/index.d.ts +5 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +11 -2
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.d.ts +1 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +3 -6
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +3 -0
- package/dist/cjs/utils/valueFormatter.d.ts +2 -1
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +19 -2
- package/dist/esm/AddToDashboardModal.d.ts.map +1 -1
- package/dist/esm/AddToDashboardModal.js +95 -64
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +1 -0
- package/dist/esm/ChartBuilder.d.ts +1 -0
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +24 -8
- package/dist/esm/ChartEditor.d.ts +2 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +5 -3
- package/dist/esm/Dashboard.d.ts +2 -1
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +10 -12
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +44 -26
- package/dist/esm/SQLEditor.d.ts +9 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +49 -23
- package/dist/esm/Table.d.ts +3 -1
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +4 -2
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +17 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +29 -6
- package/dist/esm/components/Dashboard/DashboardGroup.d.ts +1 -1
- package/dist/esm/components/Dashboard/DashboardGroup.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardGroup.js +3 -2
- package/dist/esm/components/Dashboard/DashboardItem.d.ts +1 -1
- package/dist/esm/components/Dashboard/DashboardItem.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardItem.js +2 -1
- package/dist/esm/components/Dashboard/DashboardSection.d.ts +1 -1
- package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardSection.js +8 -2
- package/dist/esm/components/UiComponents.d.ts +10 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +2 -1
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +1 -0
- package/dist/esm/index.d.ts +5 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +11 -2
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.d.ts +1 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +3 -6
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +3 -0
- package/dist/esm/utils/valueFormatter.d.ts +2 -1
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +18 -1
- package/package.json +2 -2
- package/dist/cjs/components/SqlTextEditor.d.ts +0 -7
- package/dist/cjs/components/SqlTextEditor.d.ts.map +0 -1
- package/dist/cjs/components/SqlTextEditor.js +0 -44
- package/dist/esm/components/SqlTextEditor.d.ts +0 -7
- package/dist/esm/components/SqlTextEditor.d.ts.map +0 -1
- package/dist/esm/components/SqlTextEditor.js +0 -38
|
@@ -55,7 +55,7 @@ function updateLabels(yAxisFields, values) {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
const DefaultSelectComponent = function DefaultSelect({ onChange, value, options, form, field, theme, }) {
|
|
58
|
-
return (_jsxs("div", { style: { position: 'relative' }, children: [_jsx("select", { onChange: event => onChange(event.target.value), value: value, id: 'reportbuilderdropdown', style: {
|
|
58
|
+
return (_jsxs("div", { style: { position: 'relative' }, children: [_jsx("select", { onChange: (event) => onChange(event.target.value), value: value, id: 'reportbuilderdropdown', style: {
|
|
59
59
|
width: 200,
|
|
60
60
|
outline: 'none',
|
|
61
61
|
textAlign: 'left',
|
|
@@ -125,9 +125,24 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
125
125
|
let isSubscribed = true;
|
|
126
126
|
async function getSchema() {
|
|
127
127
|
if (!schema || !schema.length) {
|
|
128
|
-
const
|
|
128
|
+
const { queryEndpoint, queryHeaders, publicKey } = client;
|
|
129
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
130
|
+
method: 'POST',
|
|
131
|
+
headers: {
|
|
132
|
+
...queryHeaders,
|
|
133
|
+
'Content-Type': 'application/json',
|
|
134
|
+
},
|
|
135
|
+
body: JSON.stringify({
|
|
136
|
+
metadata: {
|
|
137
|
+
clientId: publicKey,
|
|
138
|
+
publicKey: publicKey,
|
|
139
|
+
task: 'schema',
|
|
140
|
+
},
|
|
141
|
+
}),
|
|
142
|
+
});
|
|
143
|
+
const data = await response.json();
|
|
129
144
|
if (isSubscribed) {
|
|
130
|
-
setSchema(
|
|
145
|
+
setSchema(data.data.tables);
|
|
131
146
|
}
|
|
132
147
|
}
|
|
133
148
|
}
|
|
@@ -139,7 +154,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
139
154
|
};
|
|
140
155
|
}, [schema]);
|
|
141
156
|
const editChart = async ({ report, setIsSubmitting, values, yAxisFields, columns, query, buckets, showTableFormatOptions, }) => {
|
|
142
|
-
const { publicKey, customerId } = client;
|
|
157
|
+
const { publicKey, customerId, databaseType } = client;
|
|
143
158
|
const { xAxisLabel, chartName, chartType, xAxisField, xAxisFormat, dashboardName, dateFieldTable, dateField, template, } = values;
|
|
144
159
|
if (!chartName) {
|
|
145
160
|
alert('Please enter a chart name');
|
|
@@ -157,7 +172,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
157
172
|
alert('Please enter a label for the x-axis');
|
|
158
173
|
return;
|
|
159
174
|
}
|
|
160
|
-
if (!yAxisFields.map(field => field.label).every(Boolean) &&
|
|
175
|
+
if (!yAxisFields.map((field) => field.label).every(Boolean) &&
|
|
161
176
|
chartType !== 'pie' &&
|
|
162
177
|
chartType !== 'table') {
|
|
163
178
|
alert('Please enter a label for the y-axis');
|
|
@@ -212,6 +227,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
212
227
|
template: template,
|
|
213
228
|
buckets,
|
|
214
229
|
clientId: publicKey,
|
|
230
|
+
databaseType: databaseType,
|
|
215
231
|
}
|
|
216
232
|
: {
|
|
217
233
|
name: chartName,
|
|
@@ -233,6 +249,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
233
249
|
template: template,
|
|
234
250
|
buckets,
|
|
235
251
|
clientId: publicKey,
|
|
252
|
+
databaseType: databaseType,
|
|
236
253
|
}
|
|
237
254
|
: {
|
|
238
255
|
name: chartName,
|
|
@@ -260,6 +277,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
260
277
|
template: template,
|
|
261
278
|
buckets,
|
|
262
279
|
clientId: publicKey,
|
|
280
|
+
databaseType: databaseType,
|
|
263
281
|
},
|
|
264
282
|
};
|
|
265
283
|
const cloudBody = report
|
|
@@ -332,7 +350,7 @@ export default function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent
|
|
|
332
350
|
...resp,
|
|
333
351
|
rows,
|
|
334
352
|
fields,
|
|
335
|
-
filtersApplied: dashboardFilters
|
|
353
|
+
filtersApplied: dashboardFilters,
|
|
336
354
|
},
|
|
337
355
|
});
|
|
338
356
|
}
|
|
@@ -427,43 +445,43 @@ export function ChartForm({ data, fields, theme, saveVisualization, report, edit
|
|
|
427
445
|
newFields = report.fields;
|
|
428
446
|
}
|
|
429
447
|
const fieldOptions = data?.length
|
|
430
|
-
? Object.keys(data[0]).map(field => ({
|
|
448
|
+
? Object.keys(data[0]).map((field) => ({
|
|
431
449
|
value: field,
|
|
432
450
|
label: field,
|
|
433
451
|
}))
|
|
434
|
-
: fields.map(field => ({
|
|
452
|
+
: fields.map((field) => ({
|
|
435
453
|
value: field.field,
|
|
436
454
|
label: field.field,
|
|
437
455
|
}));
|
|
438
456
|
const xAxisOptions = data?.length
|
|
439
457
|
? Object.keys(data[0])
|
|
440
|
-
.filter(option => getPostgresBasicType(newFields.find(field => field.name === option)) === 'date' ||
|
|
441
|
-
getPostgresBasicType(newFields.find(field => field.name === option)) === 'string')
|
|
442
|
-
.map(field => ({
|
|
458
|
+
.filter((option) => getPostgresBasicType(newFields.find((field) => field.name === option)) === 'date' ||
|
|
459
|
+
getPostgresBasicType(newFields.find((field) => field.name === option)) === 'string')
|
|
460
|
+
.map((field) => ({
|
|
443
461
|
value: field,
|
|
444
462
|
label: field,
|
|
445
463
|
}))
|
|
446
464
|
: fields
|
|
447
|
-
.filter(option => {
|
|
448
|
-
return (getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'date' ||
|
|
449
|
-
getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'string');
|
|
465
|
+
.filter((option) => {
|
|
466
|
+
return (getPostgresBasicType(newFields.find((field) => field.name === option.field)) === 'date' ||
|
|
467
|
+
getPostgresBasicType(newFields.find((field) => field.name === option.field)) === 'string');
|
|
450
468
|
})
|
|
451
|
-
.map(field => ({
|
|
469
|
+
.map((field) => ({
|
|
452
470
|
value: field.field,
|
|
453
471
|
label: field.field,
|
|
454
472
|
}));
|
|
455
473
|
const yAxisOptions = data?.length
|
|
456
474
|
? Object.keys(data[0])
|
|
457
|
-
.filter(option => getPostgresBasicType(newFields.find(field => field.name === option)) === 'number')
|
|
458
|
-
.map(field => ({
|
|
475
|
+
.filter((option) => getPostgresBasicType(newFields.find((field) => field.name === option)) === 'number')
|
|
476
|
+
.map((field) => ({
|
|
459
477
|
value: field,
|
|
460
478
|
label: field,
|
|
461
479
|
}))
|
|
462
480
|
: fields
|
|
463
|
-
.filter(option => {
|
|
464
|
-
return (getPostgresBasicType(newFields.find(field => field.name === option.field)) === 'number');
|
|
481
|
+
.filter((option) => {
|
|
482
|
+
return (getPostgresBasicType(newFields.find((field) => field.name === option.field)) === 'number');
|
|
465
483
|
})
|
|
466
|
-
.map(field => ({
|
|
484
|
+
.map((field) => ({
|
|
467
485
|
value: field.field,
|
|
468
486
|
label: field.field,
|
|
469
487
|
}));
|
|
@@ -489,7 +507,7 @@ export function ChartForm({ data, fields, theme, saveVisualization, report, edit
|
|
|
489
507
|
await form.setFieldValue(field.name, option);
|
|
490
508
|
form.setFieldTouched(field.name, true);
|
|
491
509
|
};
|
|
492
|
-
return (_jsx(SelectComponent, { onChange: event => handleChange(event.target.value), value: value, options: options }));
|
|
510
|
+
return (_jsx(SelectComponent, { onChange: (event) => handleChange(event.target.value), value: value, options: options }));
|
|
493
511
|
}
|
|
494
512
|
: MemoizedDefaultSelectComponent, TextInputComponent: TextInputComponent
|
|
495
513
|
? TextInputComponent
|
|
@@ -535,7 +553,7 @@ export function ChartForm({ data, fields, theme, saveVisualization, report, edit
|
|
|
535
553
|
export function isValidDate(d) {
|
|
536
554
|
return d instanceof Date && !isNaN(d);
|
|
537
555
|
}
|
|
538
|
-
export const isArrayOfValidDates = (arr, field) => arr.every(d => new Date(d[field]) instanceof Date && !isNaN(new Date(d[field])));
|
|
556
|
+
export const isArrayOfValidDates = (arr, field) => arr.every((d) => new Date(d[field]) instanceof Date && !isNaN(new Date(d[field])));
|
|
539
557
|
export function formatDateBuckets(startDate, endDate) {
|
|
540
558
|
// Calculate the distance in hours
|
|
541
559
|
const distanceInHours = Math.abs(differenceInHours(endDate, startDate));
|
|
@@ -609,16 +627,19 @@ async function getReferencedTables(client, sqlQuery, dbTables) {
|
|
|
609
627
|
tables.push(ast.with[i].stmt.from[j].table);
|
|
610
628
|
}
|
|
611
629
|
}
|
|
612
|
-
const tablesInQuery = [
|
|
630
|
+
const tablesInQuery = [
|
|
631
|
+
...tables,
|
|
632
|
+
...ast.from.map((elem) => elem.table),
|
|
633
|
+
].filter((elem) => !withAliases.includes(elem));
|
|
613
634
|
return dbTables
|
|
614
|
-
.filter(table => tablesInQuery.includes(table.displayName))
|
|
615
|
-
.map(table => {
|
|
635
|
+
.filter((table) => tablesInQuery.includes(table.displayName))
|
|
636
|
+
.map((table) => {
|
|
616
637
|
return {
|
|
617
638
|
name: table.displayName,
|
|
618
|
-
columns: table.columns.filter(column => POSTGRES_DATE_TYPES.includes(column.fieldType)),
|
|
639
|
+
columns: table.columns.filter((column) => POSTGRES_DATE_TYPES.includes(column.fieldType)),
|
|
619
640
|
};
|
|
620
641
|
})
|
|
621
|
-
.filter(table => table.columns.length > 0);
|
|
642
|
+
.filter((table) => table.columns.length > 0);
|
|
622
643
|
}
|
|
623
644
|
const X_FORMAT_OPTIONS = [
|
|
624
645
|
{ value: 'whole_number', label: 'whole number' },
|
|
@@ -705,7 +726,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
705
726
|
const [columns, setColumns] = useState(report && report.columns.length
|
|
706
727
|
? report.columns
|
|
707
728
|
: fields?.length
|
|
708
|
-
? fields.map(field => convertPostgresColumn(field))
|
|
729
|
+
? fields.map((field) => convertPostgresColumn(field))
|
|
709
730
|
: []);
|
|
710
731
|
function removeQuotes(str) {
|
|
711
732
|
if (str.startsWith('"') && str.endsWith('"')) {
|
|
@@ -721,7 +742,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
721
742
|
let selectedValue;
|
|
722
743
|
let selectedElem;
|
|
723
744
|
if (filter.filterType === 'string') {
|
|
724
|
-
selectedElem = filter.options.find(elem => elem[removeQuotes(filter.field)] === value);
|
|
745
|
+
selectedElem = filter.options.find((elem) => elem[removeQuotes(filter.field)] === value);
|
|
725
746
|
if (selectedElem) {
|
|
726
747
|
selectedValue = selectedElem[removeQuotes(filter.field)];
|
|
727
748
|
}
|
|
@@ -732,7 +753,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
732
753
|
}
|
|
733
754
|
if (filter.filterType === 'date' || filter.filterType === 'date_range') {
|
|
734
755
|
if (value[2]) {
|
|
735
|
-
selectedElem = filter.options.find(elem => {
|
|
756
|
+
selectedElem = filter.options.find((elem) => {
|
|
736
757
|
return value[2] === elem[removeQuotes(filter.field)][2];
|
|
737
758
|
});
|
|
738
759
|
if (selectedElem) {
|
|
@@ -757,7 +778,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
757
778
|
]);
|
|
758
779
|
};
|
|
759
780
|
const handleAddBucket = () => {
|
|
760
|
-
const bucketPossibilities = xAxisOptions.filter(option => getPostgresBasicType(newFields.find(field => field.name === option.value)) === 'date');
|
|
781
|
+
const bucketPossibilities = xAxisOptions.filter((option) => getPostgresBasicType(newFields.find((field) => field.name === option.value)) === 'date');
|
|
761
782
|
if (!bucketPossibilities.length) {
|
|
762
783
|
alert('No possible buckets');
|
|
763
784
|
return;
|
|
@@ -773,7 +794,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
773
794
|
setXAxisFormat('dynamic');
|
|
774
795
|
}
|
|
775
796
|
else {
|
|
776
|
-
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === bucketPossibilities[0].value))));
|
|
797
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find((field) => field.name === bucketPossibilities[0].value))));
|
|
777
798
|
}
|
|
778
799
|
};
|
|
779
800
|
const [dashboardOptions, setDashboardOptions] = useState([]);
|
|
@@ -796,7 +817,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
796
817
|
const [selectedTabIndex, setSelectedTabIndex] = useState(report && report.template ? 1 : 0);
|
|
797
818
|
React.useEffect(() => {
|
|
798
819
|
async function getDashboards() {
|
|
799
|
-
const { publicKey, customerId, queryEndpoint } = client;
|
|
820
|
+
const { publicKey, customerId, queryEndpoint, databaseType } = client;
|
|
800
821
|
if (customerId || queryEndpoint) {
|
|
801
822
|
try {
|
|
802
823
|
let responseData;
|
|
@@ -808,8 +829,19 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
808
829
|
}).toString();
|
|
809
830
|
const hostedBody = {
|
|
810
831
|
metadata: customerId
|
|
811
|
-
? {
|
|
812
|
-
|
|
832
|
+
? {
|
|
833
|
+
orgId: customerId,
|
|
834
|
+
clientId: publicKey,
|
|
835
|
+
name,
|
|
836
|
+
task: 'config',
|
|
837
|
+
databaseType: databaseType,
|
|
838
|
+
}
|
|
839
|
+
: {
|
|
840
|
+
name: dashboardName,
|
|
841
|
+
clientId: publicKey,
|
|
842
|
+
task: 'config',
|
|
843
|
+
databaseType: databaseType,
|
|
844
|
+
},
|
|
813
845
|
};
|
|
814
846
|
const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
|
|
815
847
|
const bigFilterObj = {};
|
|
@@ -909,8 +941,8 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
909
941
|
}
|
|
910
942
|
if (resp.filters && resp.filters.length) {
|
|
911
943
|
Object.values(resp.filters)
|
|
912
|
-
.filter(filter => filter.filterType !== 'date')
|
|
913
|
-
.forEach(filter => {
|
|
944
|
+
.filter((filter) => filter.filterType !== 'date')
|
|
945
|
+
.forEach((filter) => {
|
|
914
946
|
// processFilter(filter);
|
|
915
947
|
bigFilterObj[filter.field] = processFilter(filter);
|
|
916
948
|
});
|
|
@@ -935,8 +967,8 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
935
967
|
async function getDashNames() {
|
|
936
968
|
const resp = await getDataFromCloud(client, `dashnames/${client.publicKey}/`, null, 'GET');
|
|
937
969
|
setDashboardOptions(resp.dashboardNames
|
|
938
|
-
.filter(elem => elem !== null)
|
|
939
|
-
.map(key => ({ label: key, value: key })));
|
|
970
|
+
.filter((elem) => elem !== null)
|
|
971
|
+
.map((key) => ({ label: key, value: key })));
|
|
940
972
|
}
|
|
941
973
|
getDashNames();
|
|
942
974
|
}, []);
|
|
@@ -964,11 +996,11 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
964
996
|
setDateField(dateFieldOptions[0].columns[0].name);
|
|
965
997
|
}
|
|
966
998
|
}, [dateFieldOptions]);
|
|
967
|
-
const handleDeleteYAxisField = index => {
|
|
968
|
-
setYAxisFields(yAxisFields => yAxisFields.filter((_, i) => index !== i));
|
|
999
|
+
const handleDeleteYAxisField = (index) => {
|
|
1000
|
+
setYAxisFields((yAxisFields) => yAxisFields.filter((_, i) => index !== i));
|
|
969
1001
|
};
|
|
970
|
-
const handleDeleteBucketField = index => {
|
|
971
|
-
setBucketFields(bucketFields => bucketFields.filter((_, i) => index !== i));
|
|
1002
|
+
const handleDeleteBucketField = (index) => {
|
|
1003
|
+
setBucketFields((bucketFields) => bucketFields.filter((_, i) => index !== i));
|
|
972
1004
|
setXAxisField(xAxisOptions[0].value);
|
|
973
1005
|
setXAxisLabel('');
|
|
974
1006
|
};
|
|
@@ -984,10 +1016,10 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
984
1016
|
setXAxisFormat('dynamic');
|
|
985
1017
|
}
|
|
986
1018
|
else {
|
|
987
|
-
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === value))));
|
|
1019
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find((field) => field.name === value))));
|
|
988
1020
|
}
|
|
989
1021
|
};
|
|
990
|
-
const handleXAxisFieldChange = value => {
|
|
1022
|
+
const handleXAxisFieldChange = (value) => {
|
|
991
1023
|
if (!dateField) {
|
|
992
1024
|
return;
|
|
993
1025
|
}
|
|
@@ -1002,7 +1034,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1002
1034
|
setXAxisFormat('dynamic');
|
|
1003
1035
|
}
|
|
1004
1036
|
else {
|
|
1005
|
-
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find(field => field.name === value))));
|
|
1037
|
+
setXAxisFormat(postgresFormatMap(getPostgresBasicType(newFields.find((field) => field.name === value))));
|
|
1006
1038
|
}
|
|
1007
1039
|
if (bucketFields.length > 0) {
|
|
1008
1040
|
const newBucketFields = [...bucketFields];
|
|
@@ -1015,7 +1047,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1015
1047
|
newYAxisFields[index] = {
|
|
1016
1048
|
...newYAxisFields[index],
|
|
1017
1049
|
field: value,
|
|
1018
|
-
format: postgresFormatMap(newFields.find(field => field.name === value)),
|
|
1050
|
+
format: postgresFormatMap(newFields.find((field) => field.name === value)),
|
|
1019
1051
|
};
|
|
1020
1052
|
setYAxisFields(newYAxisFields);
|
|
1021
1053
|
};
|
|
@@ -1115,17 +1147,17 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1115
1147
|
fontFamily: theme?.fontFamily,
|
|
1116
1148
|
fontSize: theme?.fontSize || '14px',
|
|
1117
1149
|
fontWeight: theme.labelFontWeight || '600',
|
|
1118
|
-
}, children: "Name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(TextInputComponent, { onChange: e => setChartName(e.target.value), value: chartName, theme: theme, placeholder: 'Enter a chart name' }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1150
|
+
}, children: "Name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(TextInputComponent, { onChange: (e) => setChartName(e.target.value), value: chartName, theme: theme, placeholder: 'Enter a chart name' }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1119
1151
|
color: theme.secondaryTextColor,
|
|
1120
1152
|
fontFamily: theme?.fontFamily,
|
|
1121
1153
|
fontSize: theme?.fontSize || '14px',
|
|
1122
1154
|
fontWeight: theme.labelFontWeight || '600',
|
|
1123
|
-
}, children: "Dashboard name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: value => setDashboardName(value), value: dashboardName, theme: theme, options: dashboardOptions }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1155
|
+
}, children: "Dashboard name" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: (value) => setDashboardName(value), value: dashboardName, theme: theme, options: dashboardOptions }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1124
1156
|
color: theme.secondaryTextColor,
|
|
1125
1157
|
fontFamily: theme?.fontFamily,
|
|
1126
1158
|
fontSize: theme?.fontSize || '14px',
|
|
1127
1159
|
fontWeight: theme.labelFontWeight || '600',
|
|
1128
|
-
}, children: "Chart type" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: e => setChartType(e), value: chartType, options: [
|
|
1160
|
+
}, children: "Chart type" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { onChange: (e) => setChartType(e), value: chartType, options: [
|
|
1129
1161
|
{ label: 'column', value: 'column' },
|
|
1130
1162
|
{ label: 'bar', value: 'bar' },
|
|
1131
1163
|
{ label: 'line', value: 'line' },
|
|
@@ -1154,7 +1186,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1154
1186
|
flexDirection: 'row',
|
|
1155
1187
|
alignItems: 'center',
|
|
1156
1188
|
marginTop: index === 0 ? 6 : 10,
|
|
1157
|
-
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: option => handleBucketFieldChange(index, option), value: bucketField.field,
|
|
1189
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: (option) => handleBucketFieldChange(index, option), value: bucketField.field,
|
|
1158
1190
|
// TODO: PROB FILTER OUT NUMBERS LMAO (SO DATE AND STRING ONLY)
|
|
1159
1191
|
options: xAxisOptions, theme: theme }) }), _jsx("div", { onClick: () => handleDeleteBucketField(index), style: {
|
|
1160
1192
|
cursor: 'pointer',
|
|
@@ -1181,7 +1213,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1181
1213
|
display: 'flex',
|
|
1182
1214
|
flexDirection: 'row',
|
|
1183
1215
|
alignItems: 'center',
|
|
1184
|
-
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: e => handleXAxisFieldChange(e), value: xAxisField, options: xAxisOptions, theme: theme }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { onChange: e => setXAxisLabel(e.target.value), value: xAxisLabel, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: e => setXAxisFormat(e), value: xAxisFormat, options: X_FORMAT_OPTIONS, theme: theme }) })] })] })) }), _jsxs("div", { style: {
|
|
1216
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: (e) => handleXAxisFieldChange(e), value: xAxisField, options: xAxisOptions, theme: theme }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { onChange: (e) => setXAxisLabel(e.target.value), value: xAxisLabel, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: (e) => setXAxisFormat(e), value: xAxisFormat, options: X_FORMAT_OPTIONS, theme: theme }) })] })] })) }), _jsxs("div", { style: {
|
|
1185
1217
|
display: 'flex',
|
|
1186
1218
|
flexDirection: 'row',
|
|
1187
1219
|
alignItems: 'flex-start',
|
|
@@ -1204,7 +1236,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1204
1236
|
flexDirection: 'row',
|
|
1205
1237
|
alignItems: 'center',
|
|
1206
1238
|
marginTop: index === 0 ? 6 : 10,
|
|
1207
|
-
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: option => handleYAxisFieldChange(index, option), value: yAxisField.field, options: chartType === 'table' ? fieldOptions : yAxisOptions, theme: theme }) }) }, `yAxisField-${index}`))), chartType !== 'pie' && (_jsx("div", { style: { marginTop: 12 }, children: _jsx(SecondaryButtonComponent, { onClick: handleAddYAxisField, label: "Add column +" }) })), _jsx("div", { style: { height: 10 } })] })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: {
|
|
1239
|
+
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: (option) => handleYAxisFieldChange(index, option), value: yAxisField.field, options: chartType === 'table' ? fieldOptions : yAxisOptions, theme: theme }) }) }, `yAxisField-${index}`))), chartType !== 'pie' && (_jsx("div", { style: { marginTop: 12 }, children: _jsx(SecondaryButtonComponent, { onClick: handleAddYAxisField, label: "Add column +" }) })), _jsx("div", { style: { height: 10 } })] })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: {
|
|
1208
1240
|
display: 'flex',
|
|
1209
1241
|
flexDirection: 'column',
|
|
1210
1242
|
justifyContent: 'flex-start',
|
|
@@ -1219,9 +1251,9 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1219
1251
|
flexDirection: 'row',
|
|
1220
1252
|
// alignItems: 'center',
|
|
1221
1253
|
marginTop: index === 0 ? 6 : 10,
|
|
1222
|
-
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { value: yAxisFields[index].label, onChange: e => {
|
|
1254
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { value: yAxisFields[index].label, onChange: (e) => {
|
|
1223
1255
|
handleYAxisLabelChange(index, e.target.value);
|
|
1224
|
-
}, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: value => handleYAxisFieldFormatChange(index, value), value: yAxisField.format, options: Y_FORMAT_OPTIONS, theme: theme }) }), _jsx("div", { onClick: () => index > 0 ? handleDeleteYAxisField(index) : undefined, style: {
|
|
1256
|
+
}, theme: theme, placeholder: 'Enter a label' }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { onChange: (value) => handleYAxisFieldFormatChange(index, value), value: yAxisField.format, options: Y_FORMAT_OPTIONS, theme: theme }) }), _jsx("div", { onClick: () => index > 0 ? handleDeleteYAxisField(index) : undefined, style: {
|
|
1225
1257
|
cursor: index > 0 ? 'pointer' : undefined,
|
|
1226
1258
|
paddingLeft: 6,
|
|
1227
1259
|
paddingTop: 12,
|
|
@@ -1257,7 +1289,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1257
1289
|
flexDirection: 'row',
|
|
1258
1290
|
alignItems: 'center',
|
|
1259
1291
|
marginTop: index === 0 ? 6 : 10,
|
|
1260
|
-
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.field, onChange: option => {
|
|
1292
|
+
}, children: _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.field, onChange: (option) => {
|
|
1261
1293
|
handleColumnFieldChange(index, option);
|
|
1262
1294
|
}, options: fieldOptions, theme: theme }) }) }, `column-${index}`))), _jsx("div", { style: { height: 10 } })] }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: {
|
|
1263
1295
|
display: 'flex',
|
|
@@ -1268,7 +1300,7 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1268
1300
|
flexDirection: 'row',
|
|
1269
1301
|
alignItems: 'center',
|
|
1270
1302
|
marginTop: index === 0 ? 6 : 10,
|
|
1271
|
-
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { theme: theme, placeholder: "Enter column label", value: yAxisField.label, onChange: event => handleColumnLabelChange(index, event.target.value) }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.format, onChange: option => handleColumnFormatChange(index, option), options: Y_FORMAT_OPTIONS, theme: theme }) })] }, `column-${index}`))) })] })), showDateFieldOptions && _jsx("div", { style: { height: 20 } }), showDateFieldOptions && (_jsxs(_Fragment, { children: [_jsx("div", { style: formHeaderStyle || {
|
|
1303
|
+
}, children: [_jsx("div", { style: { minWidth: 200 }, children: _jsx(TextInputComponent, { theme: theme, placeholder: "Enter column label", value: yAxisField.label, onChange: (event) => handleColumnLabelChange(index, event.target.value) }) }), _jsx("div", { style: { width: 20 } }), _jsx("div", { style: { minWidth: 200 }, children: _jsx(SelectComponent, { value: yAxisField.format, onChange: (option) => handleColumnFormatChange(index, option), options: Y_FORMAT_OPTIONS, theme: theme }) })] }, `column-${index}`))) })] })), showDateFieldOptions && _jsx("div", { style: { height: 20 } }), showDateFieldOptions && (_jsxs(_Fragment, { children: [_jsx("div", { style: formHeaderStyle || {
|
|
1272
1304
|
fontFamily: theme.fontFamily,
|
|
1273
1305
|
color: theme.primaryTextColor,
|
|
1274
1306
|
fontSize: theme.fontSize + 2,
|
|
@@ -1285,23 +1317,22 @@ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldO
|
|
|
1285
1317
|
fontWeight: theme.labelFontWeight || '600',
|
|
1286
1318
|
}, children: "Date field table" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { options: !dateFieldOptions.length
|
|
1287
1319
|
? [{ label: '', value: '' }]
|
|
1288
|
-
: dateFieldOptions.map(elem => {
|
|
1320
|
+
: dateFieldOptions.map((elem) => {
|
|
1289
1321
|
return { label: elem.name, value: elem.name };
|
|
1290
|
-
}), onChange: e => setDateFieldTable(e), value: dateFieldTable, theme: theme }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1322
|
+
}), onChange: (e) => setDateFieldTable(e), value: dateFieldTable, theme: theme }) })] }), _jsx("div", { style: { width: 20 } }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { style: formLabelStyle || {
|
|
1291
1323
|
color: theme.secondaryTextColor,
|
|
1292
1324
|
fontFamily: theme?.fontFamily,
|
|
1293
1325
|
fontSize: theme?.fontSize || '14px',
|
|
1294
1326
|
fontWeight: theme.labelFontWeight || '600',
|
|
1295
1327
|
}, children: "Date field" }), _jsx("div", { style: { minWidth: 200, marginTop: 6 }, children: _jsx(SelectComponent, { options: !dateFieldOptions.length
|
|
1296
1328
|
? [{ label: '', value: '' }]
|
|
1297
|
-
: dateFieldOptions.filter(elem => elem.name === dateFieldTable
|
|
1298
|
-
).length
|
|
1329
|
+
: dateFieldOptions.filter((elem) => elem.name === dateFieldTable).length
|
|
1299
1330
|
? dateFieldOptions
|
|
1300
|
-
.filter(elem => elem.name === dateFieldTable)[0]
|
|
1301
|
-
.columns.map(elem => {
|
|
1331
|
+
.filter((elem) => elem.name === dateFieldTable)[0]
|
|
1332
|
+
.columns.map((elem) => {
|
|
1302
1333
|
return { label: elem.name, value: elem.name };
|
|
1303
1334
|
})
|
|
1304
|
-
: [{ label: '', value: '' }], onChange: value => setDateField(value), value: dateField, theme: theme }) })] })] })), showAccessControlOptions && (_jsxs("div", { style: {
|
|
1335
|
+
: [{ label: '', value: '' }], onChange: (value) => setDateField(value), value: dateField, theme: theme }) })] })] })), showAccessControlOptions && (_jsxs("div", { style: {
|
|
1305
1336
|
display: 'flex',
|
|
1306
1337
|
flexDirection: 'column',
|
|
1307
1338
|
marginTop: 40,
|
package/dist/esm/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA2BA,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,UAAU,WAAY,SAAQ,cAAc;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,UAAU,GACV,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,UAAU,GACV,SAAS,GACT,QAAQ,CAAC;AAEb,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,UAAU,UAAW,SAAQ,cAAc;IACzC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAyE3C,QAAA,MAAM,KAAK,8JAYR,UAAU,4CAkCZ,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":";AA2BA,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,UAAU,WAAY,SAAQ,cAAc;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,UAAU,GACV,aAAa,GACb,eAAe,GACf,oBAAoB,GACpB,UAAU,GACV,SAAS,GACT,QAAQ,CAAC;AAEb,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,UAAU,UAAW,SAAQ,cAAc;IACzC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC;AAyE3C,QAAA,MAAM,KAAK,8JAYR,UAAU,4CAkCZ,CAAC;AAieF,eAAe,KAAK,CAAC"}
|
package/dist/esm/Chart.js
CHANGED
|
@@ -117,6 +117,7 @@ const ChartUpdater = ({ colors, chartId, config, containerStyle, dashboard, disp
|
|
|
117
117
|
...(client.customerId && { orgId: client.customerId }),
|
|
118
118
|
clientId: client.publicKey,
|
|
119
119
|
task: 'item',
|
|
120
|
+
databaseType: client.databaseType,
|
|
120
121
|
filters: minimalFilters,
|
|
121
122
|
},
|
|
122
123
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/ChartBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAWhF,OAAO,EACL,KAAK,EAIN,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,SAAS,EACT,iBAAiB,EAUjB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAgBnC,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAavC;AAqED,eAAO,MAAM,mBAAmB,UAM/B,CAAC;AAoBF,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/ChartBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAWhF,OAAO,EACL,KAAK,EAIN,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,SAAS,EACT,iBAAiB,EAUjB,qBAAqB,EAEtB,MAAM,2BAA2B,CAAC;AAgBnC,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAavC;AAqED,eAAO,MAAM,mBAAmB,UAM/B,CAAC;AAoBF,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4B5D"}
|
package/dist/esm/ChartBuilder.js
CHANGED
|
@@ -105,7 +105,7 @@ export default function ChartBuilder(props) {
|
|
|
105
105
|
const [theme] = useContext(ThemeContext);
|
|
106
106
|
return (_jsx(_Fragment, { children: props.Modal ? (_jsx(props.Modal, { isOpen: props.isOpen, setIsOpen: props.setIsOpen, title: props.title || 'Add to dashboard', onClose: () => props.setIsOpen(false), theme: theme, children: _jsx(ChartBuilderForm, { ...props }) })) : (_jsx(MemoizedModal, { setIsOpen: props.setIsOpen, isOpen: props.isOpen, onClose: () => props.setIsOpen(false), title: props.title || 'Add to dashboard', theme: theme, children: _jsx(ChartBuilderForm, { ...props }) })) }));
|
|
107
107
|
}
|
|
108
|
-
function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSelect, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, Modal = MemoizedModal, Popover = MemoizedPopover, isOpen, isEditMode, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, fields: fieldsProp, dashboardItem = undefined, recommendedPivots: rp = [], createdPivots: cp = [], destinationDashboard, dateColumn, buttonLabel, }) {
|
|
108
|
+
function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSelect, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, Modal = MemoizedModal, Popover = MemoizedPopover, isOpen, isEditMode, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, fields: fieldsProp, dashboardItem = undefined, recommendedPivots: rp = [], createdPivots: cp = [], destinationDashboard, dateColumn, buttonLabel, organizationName }) {
|
|
109
109
|
const dateRange = dr || [null, null, null];
|
|
110
110
|
const [client] = useContext(ClientContext);
|
|
111
111
|
const [theme] = useContext(ThemeContext);
|
|
@@ -151,9 +151,24 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
151
151
|
let isSubscribed = true;
|
|
152
152
|
async function getSchema() {
|
|
153
153
|
if (!schema || !schema.length) {
|
|
154
|
-
const
|
|
154
|
+
const { queryEndpoint, queryHeaders, publicKey } = client;
|
|
155
|
+
const response = await fetch(`${queryEndpoint}`, {
|
|
156
|
+
method: 'POST',
|
|
157
|
+
headers: {
|
|
158
|
+
...queryHeaders,
|
|
159
|
+
'Content-Type': 'application/json',
|
|
160
|
+
},
|
|
161
|
+
body: JSON.stringify({
|
|
162
|
+
metadata: {
|
|
163
|
+
clientId: publicKey,
|
|
164
|
+
publicKey: publicKey,
|
|
165
|
+
task: 'schema',
|
|
166
|
+
},
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
169
|
+
const data = await response.json();
|
|
155
170
|
if (isSubscribed) {
|
|
156
|
-
setSchema(
|
|
171
|
+
setSchema(data.data.tables);
|
|
157
172
|
}
|
|
158
173
|
}
|
|
159
174
|
}
|
|
@@ -429,7 +444,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
429
444
|
return;
|
|
430
445
|
}
|
|
431
446
|
setIsSubmitting(true);
|
|
432
|
-
const { publicKey, customerId } = client;
|
|
447
|
+
const { publicKey, customerId, databaseType } = client;
|
|
433
448
|
if (!client) {
|
|
434
449
|
return;
|
|
435
450
|
}
|
|
@@ -456,6 +471,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
456
471
|
metadata: {
|
|
457
472
|
task: 'create',
|
|
458
473
|
clientId: publicKey,
|
|
474
|
+
databaseType: databaseType,
|
|
459
475
|
...cloudBody,
|
|
460
476
|
...(customerId ? { orgId: customerId } : {}),
|
|
461
477
|
},
|
|
@@ -467,7 +483,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
467
483
|
}
|
|
468
484
|
: { clientId: publicKey }).toString();
|
|
469
485
|
const resp = await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
470
|
-
if (resp && resp.name !==
|
|
486
|
+
if (resp && resp.name !== 'error') {
|
|
471
487
|
if (resp.compareRows) {
|
|
472
488
|
mergeComparisonRange(resp);
|
|
473
489
|
}
|
|
@@ -606,7 +622,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
606
622
|
flexDirection: 'column',
|
|
607
623
|
gap: 12,
|
|
608
624
|
marginTop: 6,
|
|
609
|
-
}, children: [_jsx(Header, { children: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template, theme: theme }), _jsx("br", {}), _jsx("br", {})] })), _jsxs("div", { style: {
|
|
625
|
+
}, children: [_jsx(Header, { children: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template, theme: theme, organizationName: organizationName }), _jsx("br", {}), _jsx("br", {})] })), _jsxs("div", { style: {
|
|
610
626
|
display: 'flex',
|
|
611
627
|
flexDirection: 'row',
|
|
612
628
|
justifyContent: 'flex-end',
|
|
@@ -617,7 +633,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
|
|
|
617
633
|
? 'Save changes'
|
|
618
634
|
: 'Add to dashboard' })] })] })] }));
|
|
619
635
|
}
|
|
620
|
-
function SegmentedControl({ onChange, value, theme }) {
|
|
636
|
+
function SegmentedControl({ onChange, value, theme, organizationName = 'This Organization' }) {
|
|
621
637
|
return (_jsxs("div", { style: {
|
|
622
638
|
display: 'flex',
|
|
623
639
|
flexDirection: 'row',
|
|
@@ -675,5 +691,5 @@ function SegmentedControl({ onChange, value, theme }) {
|
|
|
675
691
|
.quill-tab2:active {
|
|
676
692
|
background-color: "rgba(56, 65, 81, 0.15)";
|
|
677
693
|
}
|
|
678
|
-
` }),
|
|
694
|
+
` }), organizationName] })] }));
|
|
679
695
|
}
|
|
@@ -20,7 +20,8 @@ interface ChartEditorProps {
|
|
|
20
20
|
Modal?: (props: ModalComponentProps) => JSX.Element;
|
|
21
21
|
Popover?: (props: PopoverComponentProps) => JSX.Element;
|
|
22
22
|
destinationDashboard?: string;
|
|
23
|
+
organizationName?: string;
|
|
23
24
|
}
|
|
24
|
-
export default function ChartEditor({ isOpen, chartId, isEditMode, admin, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onDelete, setIsOpen, Select, TextInput, Button, SecondaryButton, Header, Label, Text, DeleteButton, Modal, Popover, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export default function ChartEditor({ isOpen, chartId, isEditMode, admin, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, organizationName, onDelete, setIsOpen, Select, TextInput, Button, SecondaryButton, Header, Label, Text, DeleteButton, Modal, Popover, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
25
26
|
export {};
|
|
26
27
|
//# sourceMappingURL=ChartEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":";AASA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAInC,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":";AASA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,2BAA2B,CAAC;AAInC,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAa,EACb,oBAAoB,EACpB,iBAAgC,EAChC,uBAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,MAAM,EACN,eAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,OAAO,GACR,EAAE,gBAAgB,2CAwHlB"}
|