@quillsql/react 2.10.37 → 2.10.39

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 (120) hide show
  1. package/dist/cjs/BarList.d.ts +1 -1
  2. package/dist/cjs/BarList.d.ts.map +1 -1
  3. package/dist/cjs/Chart.d.ts +2 -1
  4. package/dist/cjs/Chart.d.ts.map +1 -1
  5. package/dist/cjs/Chart.js +70 -73
  6. package/dist/cjs/ChartBuilder.d.ts +8 -4
  7. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  8. package/dist/cjs/ChartBuilder.js +206 -126
  9. package/dist/cjs/ChartEditor.js +1 -1
  10. package/dist/cjs/Dashboard.d.ts.map +1 -1
  11. package/dist/cjs/Dashboard.js +9 -1
  12. package/dist/cjs/PieChart.d.ts +1 -0
  13. package/dist/cjs/PieChart.d.ts.map +1 -1
  14. package/dist/cjs/PieChart.js +2 -2
  15. package/dist/cjs/QuillProvider.d.ts +2 -0
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  18. package/dist/cjs/SQLEditor.js +9 -0
  19. package/dist/cjs/Table.d.ts.map +1 -1
  20. package/dist/cjs/Table.js +0 -4
  21. package/dist/cjs/components/Chart/BarChart.d.ts +1 -1
  22. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  23. package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
  24. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  25. package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
  26. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  27. package/dist/cjs/components/Dashboard/DataLoader.js +2 -7
  28. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -1
  29. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  30. package/dist/cjs/components/Dashboard/TableComponent.js +5 -21
  31. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  32. package/dist/cjs/components/QuillTable.js +5 -2
  33. package/dist/cjs/components/UiComponents.d.ts +6 -18
  34. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  35. package/dist/cjs/components/UiComponents.js +21 -3
  36. package/dist/cjs/hooks/useQuill.d.ts +1 -1
  37. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  38. package/dist/cjs/index.d.ts +3 -2
  39. package/dist/cjs/index.d.ts.map +1 -1
  40. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +1 -1
  41. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  42. package/dist/cjs/internals/ReportBuilder/PivotList.js +9 -3
  43. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  44. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  45. package/dist/cjs/internals/ReportBuilder/PivotModal.js +31 -28
  46. package/dist/cjs/models/Pivots.d.ts +2 -0
  47. package/dist/cjs/models/Pivots.d.ts.map +1 -0
  48. package/dist/cjs/models/Pivots.js +2 -0
  49. package/dist/cjs/models/Tables.d.ts +16 -0
  50. package/dist/cjs/models/Tables.d.ts.map +1 -0
  51. package/dist/cjs/models/Tables.js +2 -0
  52. package/dist/cjs/utils/aggregate.d.ts.map +1 -1
  53. package/dist/cjs/utils/aggregate.js +26 -23
  54. package/dist/cjs/utils/textProcessing.d.ts +5 -0
  55. package/dist/cjs/utils/textProcessing.d.ts.map +1 -0
  56. package/dist/cjs/utils/textProcessing.js +37 -0
  57. package/dist/cjs/utils/types.d.ts +4 -0
  58. package/dist/cjs/utils/types.d.ts.map +1 -0
  59. package/dist/cjs/utils/types.js +52 -0
  60. package/dist/esm/BarList.d.ts +1 -1
  61. package/dist/esm/BarList.d.ts.map +1 -1
  62. package/dist/esm/Chart.d.ts +2 -1
  63. package/dist/esm/Chart.d.ts.map +1 -1
  64. package/dist/esm/Chart.js +70 -73
  65. package/dist/esm/ChartBuilder.d.ts +8 -4
  66. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  67. package/dist/esm/ChartBuilder.js +206 -125
  68. package/dist/esm/ChartEditor.js +1 -1
  69. package/dist/esm/Dashboard.d.ts.map +1 -1
  70. package/dist/esm/Dashboard.js +9 -1
  71. package/dist/esm/PieChart.d.ts +1 -0
  72. package/dist/esm/PieChart.d.ts.map +1 -1
  73. package/dist/esm/PieChart.js +2 -2
  74. package/dist/esm/QuillProvider.d.ts +2 -0
  75. package/dist/esm/QuillProvider.d.ts.map +1 -1
  76. package/dist/esm/SQLEditor.d.ts.map +1 -1
  77. package/dist/esm/SQLEditor.js +9 -0
  78. package/dist/esm/Table.d.ts.map +1 -1
  79. package/dist/esm/Table.js +1 -5
  80. package/dist/esm/components/Chart/BarChart.d.ts +1 -1
  81. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  82. package/dist/esm/components/Chart/LineChart.d.ts +2 -1
  83. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  84. package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
  85. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  86. package/dist/esm/components/Dashboard/DataLoader.js +4 -9
  87. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -1
  88. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  89. package/dist/esm/components/Dashboard/TableComponent.js +5 -18
  90. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  91. package/dist/esm/components/QuillTable.js +2 -2
  92. package/dist/esm/components/UiComponents.d.ts +6 -18
  93. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  94. package/dist/esm/components/UiComponents.js +19 -2
  95. package/dist/esm/hooks/useQuill.d.ts +1 -1
  96. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  97. package/dist/esm/index.d.ts +3 -2
  98. package/dist/esm/index.d.ts.map +1 -1
  99. package/dist/esm/index.js +1 -1
  100. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +1 -1
  101. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  102. package/dist/esm/internals/ReportBuilder/PivotList.js +9 -3
  103. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  104. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  105. package/dist/esm/internals/ReportBuilder/PivotModal.js +28 -25
  106. package/dist/esm/models/Pivots.d.ts +2 -0
  107. package/dist/esm/models/Pivots.d.ts.map +1 -0
  108. package/dist/esm/models/Pivots.js +1 -0
  109. package/dist/esm/models/Tables.d.ts +16 -0
  110. package/dist/esm/models/Tables.d.ts.map +1 -0
  111. package/dist/esm/models/Tables.js +1 -0
  112. package/dist/esm/utils/aggregate.d.ts.map +1 -1
  113. package/dist/esm/utils/aggregate.js +26 -23
  114. package/dist/esm/utils/textProcessing.d.ts +5 -0
  115. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  116. package/dist/esm/utils/textProcessing.js +30 -0
  117. package/dist/esm/utils/types.d.ts +4 -0
  118. package/dist/esm/utils/types.d.ts.map +1 -0
  119. package/dist/esm/utils/types.js +48 -0
  120. package/package.json +1 -1
@@ -1,28 +1,17 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- // @ts-nocheck
3
- import { useEffect, useRef, useState, useContext, useMemo } from 'react';
2
+ import { useEffect, useRef, useState, useContext, useMemo, } from 'react';
4
3
  import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaContext, ThemeContext, } from './Context';
5
4
  import { getData, getDataFromCloud } from './utils/dataFetcher';
6
5
  import { getPostgresBasicType } from './ReportBuilder';
7
6
  import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
8
7
  import { PivotCard } from './internals/ReportBuilder/PivotList';
9
8
  import Chart from './Chart';
10
- import { MemoizedModal, MemoizedTextInput, MemoizedSelect, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
9
+ import { MemoizedModal, QuillTextInput, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
11
10
  import Banner from './components/Banner';
12
11
  import { mergeComparisonRange } from './utils/merge';
12
+ import { QuillSelectComponent } from './components/QuillSelect';
13
+ import { removeDoubleQuotes, snakeCaseToTitleCase, } from './utils/textProcessing';
13
14
  const CHART_TYPES = ['column', 'line', 'table', 'metric', 'bar', 'pie'];
14
- export function snakeCaseToTitleCase(str) {
15
- if (!str) {
16
- return str;
17
- }
18
- return str
19
- .toString()
20
- .split(/_| /)
21
- .map((word) => word === 'id'
22
- ? 'ID'
23
- : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
24
- .join(' ');
25
- }
26
15
  const POSTGRES_DATE_TYPES = [
27
16
  'timestamp',
28
17
  'date',
@@ -30,6 +19,14 @@ const POSTGRES_DATE_TYPES = [
30
19
  'time',
31
20
  'timetz',
32
21
  ];
22
+ const CHART_TO_LABELS = {
23
+ column: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
24
+ line: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
25
+ table: {},
26
+ metric: { xAxisLabel: 'Value' },
27
+ bar: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
28
+ pie: { xAxisLabel: 'Category', yAxisLabel: 'Count' },
29
+ };
33
30
  function getTablesHelper(ast, allTables) {
34
31
  const tables = [];
35
32
  const withAliases = [];
@@ -72,11 +69,6 @@ async function getReferencedTables(client, sqlQuery, dbTables) {
72
69
  const resp = await getDataFromCloud(client, `astify`, { query: sqlQuery });
73
70
  return getTablesHelper(resp.ast.length ? resp.ast[0] : resp.ast, dbTables);
74
71
  }
75
- const AGGREGATION_TYPES = [
76
- { label: 'sum', value: 'sum' },
77
- { label: 'count', value: 'count' },
78
- { label: 'average', value: 'avg' },
79
- ];
80
72
  export const numberFormatOptions = [
81
73
  'whole_number',
82
74
  'one_decimal_place',
@@ -84,20 +76,30 @@ export const numberFormatOptions = [
84
76
  'dollar_amount',
85
77
  'dollar_cents',
86
78
  ];
87
- const NUMBER_FORMAT_OPTIONS = [
79
+ export const dateFormatOptions = [
80
+ 'MMM_yyyy',
81
+ 'MMM_dd',
82
+ 'MMM_dd_yyyy',
83
+ 'MMM_dd_hh:mm_ap_pm',
84
+ 'hh_ap_pm',
85
+ ];
86
+ const NUMBER_OPTIONS = [
88
87
  { value: 'whole_number', label: 'whole number' },
89
88
  { value: 'one_decimal_place', label: 'one decimal place' },
90
89
  { value: 'two_decimal_places', label: 'two decimal places' },
91
90
  { value: 'dollar_amount', label: 'dollar amount' },
92
91
  { value: 'dollar_cents', label: 'dollar and cent amount' },
93
92
  ];
94
- const formatOptions = [
95
- ...NUMBER_FORMAT_OPTIONS,
93
+ const DATE_OPTIONS = [
96
94
  { value: 'MMM_yyyy', label: 'month' },
97
- { value: 'MMM_dd-MMM_dd', label: 'week' },
98
- { value: 'MMM_dd_yyyy', label: 'day' },
95
+ { value: 'MMM_dd', label: 'day' },
96
+ { value: 'MMM_dd_yyyy', label: 'day and year' },
99
97
  { value: 'MMM_dd_hh:mm_ap_pm', label: 'day and time' },
100
98
  { value: 'hh_ap_pm', label: 'hour' },
99
+ ];
100
+ const formatOptions = [
101
+ ...NUMBER_OPTIONS,
102
+ ...DATE_OPTIONS,
101
103
  { value: 'percent', label: 'percent' },
102
104
  { value: 'string', label: 'string' },
103
105
  ];
@@ -105,7 +107,7 @@ export default function ChartBuilder(props) {
105
107
  const [theme] = useContext(ThemeContext);
106
108
  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
109
  }
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, }) {
110
+ function ChartBuilderForm({ TextInput = QuillTextInput, Select = QuillSelectComponent, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, Header = MemoizedHeader, Label = MemoizedLabel, DeleteButton = MemoizedDeleteButton, Text = MemoizedText, 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
111
  const dateRange = dr || [null, null, null];
110
112
  const [client] = useContext(ClientContext);
111
113
  const [theme] = useContext(ThemeContext);
@@ -119,13 +121,13 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
119
121
  format: field.format,
120
122
  label: field.name,
121
123
  })) || [];
122
- const parentRef = useRef();
123
- const deleteRef = useRef();
124
+ const parentRef = useRef(null);
125
+ const deleteRef = useRef(null);
124
126
  const modalPadding = 20;
125
127
  const deleteButtonMargin = -13;
126
128
  useEffect(() => {
127
129
  const calculateWidth = () => {
128
- return (parentRef.current.offsetWidth -
130
+ return ((parentRef.current?.offsetWidth || 0) -
129
131
  (deleteRef?.current
130
132
  ? deleteRef?.current.offsetWidth - deleteButtonMargin
131
133
  : 0));
@@ -195,6 +197,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
195
197
  dashboardOptions &&
196
198
  dashboardOptions.length) {
197
199
  setDefaultDashboardName(dashboardOptions[0]?.label);
200
+ setFormData({ ...formData, dashboardName: dashboardOptions[0]?.label });
198
201
  }
199
202
  }, [dashboardOptions]);
200
203
  useEffect(() => {
@@ -210,7 +213,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
210
213
  const [showPivotPopover, setShowPivotPopover] = useState(false);
211
214
  const [isEdittingPivot, setIsEdittingPivot] = useState(false);
212
215
  const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
213
- const [tableName, setTableName] = useState(null);
216
+ const [tableName, setTableName] = useState(undefined);
214
217
  const selectedTable = schema?.find((t) => t.displayName === tableName);
215
218
  const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add Pivot');
216
219
  const [createdPivots, setCreatedPivots] = useState(pivot ? [pivot] : dashboardItem?.pivot ? [dashboardItem.pivot] : cp);
@@ -234,9 +237,11 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
234
237
  setFormData({
235
238
  ...formData,
236
239
  dateField: {
237
- table: result[0]?.name,
240
+ table: result[0]?.name || '',
238
241
  field: result[0]?.columns?.find((elem) => elem.name === dateColumn)
239
- ?.name || result[0]?.columns[0]?.name,
242
+ ?.name ||
243
+ result[0]?.columns[0]?.name ||
244
+ '',
240
245
  },
241
246
  });
242
247
  }
@@ -278,7 +283,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
278
283
  : false;
279
284
  return {
280
285
  pivot,
281
- chartType: 'column',
286
+ chartType: dashboardItem?.chartType || 'column',
282
287
  xAxisField: pivot.rowField,
283
288
  xAxisFormat: isDateField(pivot.rowFieldType)
284
289
  ? 'string'
@@ -298,74 +303,100 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
298
303
  };
299
304
  };
300
305
  const [formData, setFormData] = useState(pivot
301
- ? { ...formEmptyState, ...pivotFormData(pivot) }
306
+ ? { ...formEmptyState, ...dashboardItem, ...pivotFormData(pivot) }
302
307
  : dashboardItem || formEmptyState);
303
308
  const selectedPivotTable = useMemo(() => {
304
309
  if (formData.pivot && rows) {
305
- return generatePivotTable(formData.pivot, rows, dateRange);
310
+ return generatePivotTable(formData.pivot, rows, dateRange, false);
306
311
  }
307
312
  else {
308
- return {};
313
+ return undefined;
309
314
  }
310
- }, [formData.pivot, rows]);
315
+ }, [formData.pivot, rows, formData]);
311
316
  const handleChange = (value, fieldName, index) => {
312
- if (index !== undefined) {
313
- // For dynamic array fields
314
- const [field, subfield] = fieldName.split('.');
315
- const updatedArray = formData[field].map((item, i) => i === index ? { ...item, [subfield]: value } : item);
316
- setFormData({ ...formData, [field]: updatedArray });
317
- }
318
- else if (fieldName.includes('.')) {
319
- // For nested fields
320
- const [field, subfield] = fieldName.split('.');
321
- if (field === 'pivot' && subfield !== '') {
322
- const subfieldTypeFieldName = subfield + 'Type';
323
- if (value.length) {
324
- const subfieldType = fields.find((field) => field.field === value).type;
325
- setFormData({
326
- ...formData,
327
- [field]: {
328
- ...formData[field],
329
- [subfield]: value,
330
- [subfieldTypeFieldName]: subfieldType,
331
- },
332
- });
317
+ try {
318
+ // WE NEED TO REPROCESS THE PIVOT TABLE IF THE PIVOT COLUMN CHANGES
319
+ // WE NEED TO UPDATE BOTH VALUEFIELDTYPE AND COLUMN FIELD TYPES
320
+ if (fieldName === 'pivotColumn') {
321
+ // CAN'T EDIT THE TYPE OF THE RowField
322
+ if (index === 0) {
333
323
  return;
334
324
  }
335
- else {
325
+ const updatedPivot = {
326
+ ...formData.pivot,
327
+ valueFieldType: value,
328
+ };
329
+ // @ts-ignore
330
+ setFormData({ ...formData, pivot: updatedPivot });
331
+ return;
332
+ }
333
+ if (index !== undefined) {
334
+ // For dynamic array fields
335
+ const [field, subfield] = fieldName.split('.');
336
+ // @ts-ignore
337
+ const updatedArray = formData[field].map((item, i) => i === index ? { ...item, [subfield]: value } : item);
338
+ setFormData({ ...formData, [field]: updatedArray });
339
+ }
340
+ else if (fieldName.includes('.')) {
341
+ // For nested fields
342
+ const [field, subfield] = fieldName.split('.');
343
+ if (field === 'pivot' && subfield !== '') {
344
+ const subfieldTypeFieldName = subfield + 'Type';
345
+ if (value.length) {
346
+ const subfieldType = fields.find((field) => field.field === value).type;
347
+ setFormData({
348
+ ...formData,
349
+ // @ts-ignore
350
+ [field]: {
351
+ ...formData[field],
352
+ [subfield]: value,
353
+ [subfieldTypeFieldName]: subfieldType,
354
+ },
355
+ });
356
+ return;
357
+ }
358
+ else {
359
+ setFormData({
360
+ ...formData,
361
+ // @ts-ignore
362
+ [field]: {
363
+ ...formData[field],
364
+ [subfield]: '',
365
+ [subfieldTypeFieldName]: '',
366
+ },
367
+ });
368
+ return;
369
+ }
370
+ }
371
+ if (field === 'dateField' &&
372
+ subfield === 'table' &&
373
+ !formData.dateField.field) {
374
+ const field = schema?.find((elem) => elem.name === value)
375
+ ?.columns?.[0]?.name;
336
376
  setFormData({
337
377
  ...formData,
338
- [field]: {
339
- ...formData[field],
340
- [subfield]: '',
341
- [subfieldTypeFieldName]: '',
342
- },
378
+ // @ts-ignore
379
+ dateField: { ...formData[field], [subfield]: value, field: field },
343
380
  });
344
381
  return;
345
382
  }
346
- }
347
- if (field === 'dateField' &&
348
- subfield === 'table' &&
349
- !formData.dateField.field) {
350
- const field = schema?.find((elem) => elem.name === value)?.columns?.[0]
351
- ?.name;
352
383
  setFormData({
353
384
  ...formData,
354
- dateField: { ...formData[field], [subfield]: value, field: field },
385
+ // @ts-ignore
386
+ [field]: { ...formData[field], [subfield]: value },
355
387
  });
356
- return;
357
388
  }
358
- setFormData({
359
- ...formData,
360
- [field]: { ...formData[field], [subfield]: value },
361
- });
389
+ else {
390
+ // For simple fields
391
+ setFormData({ ...formData, [fieldName]: value });
392
+ }
362
393
  }
363
- else {
364
- // For simple fields
394
+ catch (e) {
395
+ console.log('No field or subfield found');
365
396
  setFormData({ ...formData, [fieldName]: value });
366
397
  }
367
398
  };
368
- const handleAddPivot = (pivot, index) => {
399
+ const handleAddPivot = (pivot) => {
369
400
  setFormData((formData) => ({
370
401
  ...formData,
371
402
  ...pivotFormData(pivot),
@@ -381,6 +412,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
381
412
  if (fieldName === 'columns') {
382
413
  setFormData({
383
414
  ...formData,
415
+ // @ts-ignore
384
416
  columns: [...formData.columns, { label: '', field: '', format: '' }],
385
417
  });
386
418
  }
@@ -389,6 +421,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
389
421
  ...formData,
390
422
  yAxisFields: [
391
423
  ...formData.yAxisFields,
424
+ // @ts-ignore
392
425
  { label: '', field: '', chartType: '', format: '' },
393
426
  ],
394
427
  });
@@ -397,6 +430,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
397
430
  setFormData({
398
431
  ...formData,
399
432
  pivot: {
433
+ title: '',
400
434
  rowField: '',
401
435
  rowFieldType: '',
402
436
  columnField: '',
@@ -415,11 +449,12 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
415
449
  });
416
450
  return;
417
451
  }
452
+ // @ts-ignore
418
453
  const updatedArray = formData[fieldName].filter((_, i) => i !== index);
419
454
  setFormData({ ...formData, [fieldName]: updatedArray });
420
455
  };
421
- const handleSubmit = (e) => {
422
- e.preventDefault();
456
+ const handleSubmit = (event) => {
457
+ event.preventDefault();
423
458
  };
424
459
  const deleteChart = async () => {
425
460
  if (!dashboardItem._id || !client) {
@@ -444,7 +479,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
444
479
  setIsOpen(false);
445
480
  setIsSubmitting(false);
446
481
  };
447
- const editChart = async (_e) => {
482
+ const editChart = async () => {
448
483
  if (isSubmitting) {
449
484
  return;
450
485
  }
@@ -466,8 +501,11 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
466
501
  queryString: queryNoDateColumn || query,
467
502
  pivot: formData.pivot,
468
503
  };
504
+ // @ts-ignore
469
505
  if (cloudBody['rows']) {
506
+ // @ts-ignore
470
507
  delete cloudBody['rows'];
508
+ // @ts-ignore
471
509
  delete cloudBody['compareRows'];
472
510
  }
473
511
  // add orgId: customerId if present for hostedBody
@@ -498,7 +536,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
498
536
  data: {
499
537
  ...resp,
500
538
  rows,
501
- fields,
539
+ fieldOptions,
502
540
  filtersApplied: dashboardFilters,
503
541
  },
504
542
  });
@@ -527,16 +565,16 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
527
565
  } }), _jsxs("style", { children: [" ", `#quill-modal-header { padding-top: 41px; }`, " "] })] })), _jsx("div", { children: _jsx(Chart, { config: { ...formData, rows }, colors: theme.chartColors, containerStyle: {
528
566
  width: formData.chartType === 'table' ? 640 : 'calc(100% - 24px)',
529
567
  height: 300,
530
- } }) }), _jsx("div", { style: { height: 20 } }), _jsxs("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Name" }), _jsx(TextInput, { value: formData.name, onChange: (e) => handleChange(e, 'name'), placeholder: "Name" })] }), showDashboardDropdown && !destinationDashboard && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Dashboard" }), _jsx(Select, { label: 'Dashboard', value: formData.dashboardName, onChange: (e) => handleChange(e, 'dashboardName'), options: dashboardOptions.map((elem) => ({
568
+ } }) }), _jsx("div", { style: { height: 20 } }), _jsxs("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Name" }), _jsx(TextInput, { id: "chart-builder-name", value: formData.name, onChange: (e) => handleChange(e, 'name'), placeholder: "Name", theme: theme })] }), showDashboardDropdown && !destinationDashboard && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Dashboard" }), _jsx(Select, { value: formData.dashboardName || '', onChange: (e) => handleChange(e, 'dashboardName'), options: dashboardOptions.map((elem) => ({
531
569
  label: elem.label,
532
570
  value: elem.label,
533
- })) })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Chart type" }), _jsx(Select, { label: 'Chart Type', value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
571
+ })), theme: theme })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Chart type" }), _jsx(Select, { value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
534
572
  // filter out metric for all pivots
535
573
  // filter out bar and pie for row and column pivot
536
574
  options: CHART_TYPES.filter((elem) => !((formData.pivot && elem === 'metric') ||
537
575
  (formData.pivot &&
538
576
  formData.pivot.columnField &&
539
- (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), _jsx("br", {}), _jsxs("div", { style: {
577
+ (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })), theme: theme })] })] }), _jsx("br", {}), _jsxs("div", { style: {
540
578
  display: 'flex',
541
579
  flexDirection: 'column',
542
580
  gap: 12,
@@ -562,43 +600,92 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
562
600
  setPivotValueField(formData.pivot?.valueField);
563
601
  setPivotAggregation(formData.pivot?.aggregationType);
564
602
  setPivotPopUpTitle('Edit Pivot');
565
- }, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: Button, HeaderComponent: Header, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: Label, TextComponent: Text }) }) }))] })] }), _jsx("br", {}), (formData.pivot || formData.chartType !== 'table') && (_jsxs("div", { children: [_jsxs("div", { style: {
603
+ }, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: Button, HeaderComponent: Header, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: Label, TextComponent: Text }) }) }))] })] }), _jsx("br", {}), (formData.pivot || formData.chartType !== 'table') && (_jsxs("div", { children: [CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsx("div", { style: {
566
604
  display: 'flex',
567
605
  flexDirection: 'column',
568
606
  gap: 6,
569
607
  marginTop: 6,
570
- }, children: [_jsx(Header, { children: "Chart" }), _jsx(Label, { children: "X-axis" })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'X-axis Field', value: formData.xAxisField, onChange: (e) => handleChange(e, 'xAxisField'), disabled: formData.pivot !== null, options: fieldOptions.map((elem) => ({
571
- label: formData.pivot
572
- ? `pivot row (${elem.field})`
573
- : elem.field,
574
- value: elem.field,
575
- })) }), _jsx(TextInput, { value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e, 'xAxisLabel') }), _jsx(Select, { label: 'X-axis Format', value: formData.xAxisFormat, onChange: (e) => handleChange(e, 'xAxisFormat'), options: formatOptions })] }, 'xAxisField0'), _jsx("br", {}), _jsx(Label, { children: "Y-axis" }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.yAxisFields.map((yAxisField, index) => (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'Y-axis Field', value: yAxisField.field, onChange: (e) => handleChange(e, 'yAxisFields.field', index), disabled: formData.pivot !== null, options: [
576
- { label: 'Select', value: '' },
577
- ...fieldOptions
578
- .filter((elem) => {
579
- return (formData.chartType === 'table' ||
580
- formData.pivot ||
581
- numberFormatOptions.includes(columns.find((col) => col.field === elem.field)
582
- ?.format));
583
- })
584
- .map((elem) => ({
585
- label: formData.pivot
586
- ? `pivot columns (${formData.pivot.valueField})`
587
- : elem.field,
588
- value: elem.field,
589
- })),
590
- ] }), _jsx(TextInput, { value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'yAxisFields.label', index) }), _jsx(Select, { label: 'Y-axis Format', value: yAxisField.format, onChange: (e) => handleChange(e, 'yAxisFields.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), formData.pivot === null && (_jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField' + index))) }), formData.pivot === null && (_jsxs(_Fragment, { children: [_jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" })] })), _jsx("br", {}), _jsx("br", {})] })), (showTableFormatOptions || formData.chartType === 'table') && (_jsxs("div", { children: [_jsxs("div", { style: {
608
+ }, children: _jsx(Header, { children: "Chart" }) })), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsxs("div", { children: [_jsx(Label, { children: CHART_TO_LABELS[formData.chartType]?.xAxisLabel }), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { value: formData.xAxisField, onChange: (e) => handleChange(e, 'xAxisField'), options: formData.pivot
609
+ ? [
610
+ {
611
+ label: `Pivot Row (${formData.pivot.rowField})`,
612
+ value: formData.pivot.rowField,
613
+ },
614
+ ]
615
+ : fieldOptions.map((elem) => ({
616
+ label: elem.field,
617
+ value: elem.field,
618
+ })), theme: theme }), _jsx(TextInput, { id: "chart-builder-x-axis-label", value: formData.pivot
619
+ ? formData.pivot.rowField
620
+ : formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e, 'xAxisLabel'), theme: theme }), _jsx(Select, { value: formData.pivot && isDateField(formData.pivot.rowFieldType)
621
+ ? 'pivot_date'
622
+ : formData.xAxisFormat, onChange: (e) => handleChange(e, 'xAxisFormat'), options: formData.pivot && isDateField(formData.pivot.rowFieldType)
623
+ ? [{ value: 'pivot_date', label: 'date' }]
624
+ : formatOptions, theme: theme })] }, 'xAxisField'), _jsx("br", {})] })), CHART_TO_LABELS[formData.chartType]?.yAxisLabel && (_jsxs("div", { children: [_jsx(Label, { children: CHART_TO_LABELS[formData.chartType]?.yAxisLabel }), _jsx("div", { style: {
625
+ display: 'flex',
626
+ flexDirection: 'column',
627
+ gap: 10,
628
+ }, children: formData.yAxisFields.map((yAxisField, index) => (_jsxs("div", { style: {
629
+ display: 'flex',
630
+ flexDirection: 'row',
631
+ gap: 12,
632
+ }, children: [_jsx(Select, { value: formData.pivot
633
+ ? formData.pivot.valueField
634
+ : yAxisField.field, onChange: (e) => handleChange(e, 'yAxisFields.field', index), theme: theme, options: formData.pivot
635
+ ? [
636
+ {
637
+ label: `Pivot Column (${formData.pivot.valueField})`,
638
+ value: formData.pivot.valueField,
639
+ },
640
+ ]
641
+ : fieldOptions
642
+ .filter((elem) => {
643
+ return numberFormatOptions.includes(columns.find((col) => col.field === elem.field)?.format || '');
644
+ })
645
+ .map((elem) => ({
646
+ label: elem.field,
647
+ value: elem.field,
648
+ })) }), _jsx(TextInput, { id: "chart-builder-y-axis-label", value: formData.pivot?.valueField || yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'yAxisFields.label', index), theme: theme }), _jsx(Select, { theme: theme, value: formData.pivot
649
+ ? !!NUMBER_OPTIONS.find((option) => {
650
+ return option.value === yAxisField.format;
651
+ })
652
+ ? // @ts-ignore
653
+ NUMBER_OPTIONS.find((option) => option.value === yAxisField.format).value
654
+ : 'whole_number'
655
+ : yAxisField.format, onChange: (e) => handleChange(e, 'yAxisFields.format', index), options: formData.pivot ? NUMBER_OPTIONS : formatOptions }), formData.pivot === null && (_jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField' + index))) }), formData.pivot === null && (_jsxs(_Fragment, { children: [_jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" })] }))] })), _jsx("br", {})] })), (showTableFormatOptions || formData.chartType === 'table') && (_jsxs("div", { children: [_jsxs("div", { style: {
591
656
  display: 'flex',
592
657
  flexDirection: 'column',
593
658
  gap: 6,
594
659
  marginTop: 6,
595
- }, children: [_jsx(Header, { children: "Table" }), _jsx(Label, { children: "Columns" })] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.columns.map((column, index) => (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { label: 'Column Field', value: column.field, onChange: (e) => handleChange(e, 'columns.field', index), options: [
596
- { label: 'Select', value: '' },
597
- ...fields.map((elem) => ({
660
+ }, children: [_jsx(Header, { children: "Table" }), _jsx(Label, { children: "Columns" })] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.pivot &&
661
+ selectedPivotTable &&
662
+ selectedPivotTable.columns &&
663
+ formData.chartType === 'table'
664
+ ? // THIS CASE IF FOR PIVOT TABLES ONLY
665
+ selectedPivotTable.columns.map((column, index) => (_jsxs("div", { style: {
666
+ display: 'flex',
667
+ flexDirection: 'row',
668
+ gap: 12,
669
+ }, children: [_jsx(Select, { theme: theme, value: column.label, onChange: (e) => handleChange(e, 'columns.field', index), options: selectedPivotTable.columns.map((elem) => ({
670
+ label: elem.label,
671
+ value: elem.label,
672
+ })) }), _jsx(TextInput, { id: `chart-builder-column-label-${index}`, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'columns.label', index), theme: theme }), _jsx(Select, { theme: theme, value:
673
+ // The first index use rowField for the rest of them use value fields
674
+ formData.pivot &&
675
+ column.field === formData.pivot.rowField
676
+ ? formData.pivot &&
677
+ isDateField(formData.pivot.rowFieldType)
678
+ ? 'pivot_date'
679
+ : 'string'
680
+ : formData.pivot?.valueFieldType || 'whole_number', onChange: (e) => handleChange(e, 'pivotColumn', index), options: formData.pivot && index === 0
681
+ ? isDateField(formData.pivot.rowFieldType)
682
+ ? [{ label: 'date', value: 'pivot_date' }]
683
+ : [{ label: 'string', value: 'string' }]
684
+ : [...NUMBER_OPTIONS] })] }, 'column' + index)))
685
+ : formData.columns.map((column, index) => (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(Select, { theme: theme, value: column.field, onChange: (e) => handleChange(e, 'columns.field', index), options: fields.map((elem) => ({
598
686
  label: elem.field,
599
687
  value: elem.field,
600
- })),
601
- ] }), _jsx(TextInput, { name: "label", value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'columns.label', index) }), _jsx(Select, { label: 'Column Format', value: column.format, onChange: (e) => handleChange(e, 'columns.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), _jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))) }), _jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('columns'), label: "Add column +" }), _jsx("br", {}), _jsx("br", {})] })), showDateFieldOptions && (_jsxs("div", { style: {
688
+ })) }), _jsx(TextInput, { id: `chart-builder-column-label-${index}`, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'columns.label', index), theme: theme }), _jsx(Select, { theme: theme, value: column.format, onChange: (e) => handleChange(e, 'columns.format', index), options: formatOptions }), _jsx("div", { ref: deleteRef, children: _jsx(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))) }), _jsx("br", {}), _jsx(SecondaryButton, { onClick: () => handleAddField('columns'), label: "Add column +" }), _jsx("br", {}), _jsx("br", {})] })), showDateFieldOptions && (_jsxs("div", { style: {
602
689
  display: 'flex',
603
690
  flexDirection: 'column',
604
691
  gap: 6,
@@ -608,16 +695,10 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
608
695
  flexDirection: 'row',
609
696
  gap: 12,
610
697
  // lmao part 2
611
- }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Table" }), _jsx(Select, { label: 'Date Table', value: formData.dateField.table, onChange: (e) => handleChange(e, 'dateField.table'), options: [
612
- {
613
- label: 'Select',
614
- value: '',
615
- },
616
- ...dateFieldOptions.map((elem) => ({
617
- label: elem.name,
618
- value: elem.name,
619
- })),
620
- ] })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Field" }), _jsx(Select, { label: 'Date Field', value: formData.dateField.field, onChange: (e) => handleChange(e, 'dateField.field'), options: dateFieldOptions
698
+ }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Table" }), _jsx(Select, { theme: theme, value: formData.dateField.table, onChange: (e) => handleChange(e, 'dateField.table'), options: dateFieldOptions.map((elem) => ({
699
+ label: elem.name,
700
+ value: elem.name,
701
+ })) })] }), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx(Label, { children: "Field" }), _jsx(Select, { theme: theme, value: removeDoubleQuotes(formData.dateField.field), onChange: (e) => handleChange(e, 'dateField.field'), options: dateFieldOptions
621
702
  ?.find((elem) => elem.name === formData.dateField.table)
622
703
  ?.columns?.map((elem) => ({
623
704
  label: elem.name,
@@ -627,7 +708,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
627
708
  flexDirection: 'column',
628
709
  gap: 12,
629
710
  marginTop: 6,
630
- }, 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: {
711
+ }, children: [_jsx(Header, { children: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template, theme: theme, organizationName: organizationName || 'This Organization' }), _jsx("br", {}), _jsx("br", {})] })), _jsxs("div", { style: {
631
712
  display: 'flex',
632
713
  flexDirection: 'row',
633
714
  justifyContent: 'flex-end',
@@ -638,7 +719,7 @@ function ChartBuilderForm({ TextInput = MemoizedTextInput, Select = MemoizedSele
638
719
  ? 'Save changes'
639
720
  : 'Add to dashboard' })] })] })] }));
640
721
  }
641
- function SegmentedControl({ onChange, value, theme, organizationName = 'This Organization', }) {
722
+ function SegmentedControl({ onChange, value, theme, organizationName, }) {
642
723
  return (_jsxs("div", { style: {
643
724
  display: 'flex',
644
725
  flexDirection: 'row',
@@ -68,5 +68,5 @@ export default function ChartEditor({ isOpen, chartId, isEditMode, admin = false
68
68
  isSubscribed = false;
69
69
  };
70
70
  }, [client, chartId]);
71
- return (_jsx("div", { children: dashboardItem && (_jsx(ChartBuilder, { dashboardItem: dashboardItem, rows: dashboardItem.rows, columns: dashboardItem.columns, fields: dashboardItem.fields, query: dashboardItem.queryString, isOpen: isOpen, isEditMode: isEditMode, setIsOpen: setIsOpen, showTableFormatOptions: admin, showDateFieldOptions: admin, showAccessControlOptions: admin, showDashboardDropdown: admin, destinationDashboard: destinationDashboard, dateRange: dateRange, Select: Select, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton, Header: Header, Label: Label, Text: Text, DeleteButton: DeleteButton, Modal: Modal, Popover: Popover, onDelete: onDelete, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, organizationName: organizationName })) }));
71
+ return (_jsx("div", { children: dashboardItem && (_jsx(ChartBuilder, { dashboardItem: dashboardItem, rows: dashboardItem.rows, columns: dashboardItem.columns, fields: dashboardItem.fields, query: dashboardItem.queryString, pivot: dashboardItem.pivot, isOpen: isOpen, isEditMode: isEditMode, setIsOpen: setIsOpen, showTableFormatOptions: admin, showDateFieldOptions: admin, showAccessControlOptions: admin, showDashboardDropdown: admin, destinationDashboard: destinationDashboard, dateRange: dateRange, Select: Select, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton, Header: Header, Label: Label, Text: Text, DeleteButton: DeleteButton, Modal: Modal, Popover: Popover, onDelete: onDelete, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, organizationName: organizationName })) }));
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/Dashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/Dashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAwCf,OAAsB,EACpB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,oBAAoB;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,CAAC,CAAC,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,0BAA0B;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,eAAe,GACf,cAAc,GACd,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,aAAa,GACb,UAAU,GACV,eAAe,GACf,oBAAoB,GACpB,UAAU,CAAC;AAEf;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IAEtB,wDAAwD;IACxD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,wDAAwD;IACxD,OAAO,EAAE,GAAG,EAAE,CAAC;IAEf,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,6DAA6D;IAC7D,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,mCAAmC;IACnC,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;QAC7C,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI,CAAC;IAET,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,sDAAsD;IACtD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,WAAW,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9C,oBAAoB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3C,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC5C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAC;IACzD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAC;IACxD,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7E,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,0BAA0B,KAAK,GAAG,CAAC,OAAO,CAAC;IACvE,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC/D,kCAAkC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7D,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,GAAG,CAAC,OAAO,CAAC;CAChE;AAED,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,OAAO,GACR,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;AAExC,KAAK,4BAA4B,GAAG,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,GACP,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,GAAG,CAAC;IACZ,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,eAAe,EACX,mBAAmB,GACnB,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACnD,wBAAwB,EACpB,4BAA4B,GAC5B,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,KAAK,GACN,EAAE,oBAAoB,kDAuHtB;AA0GD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,cAAc,EACd,mBAAiD,EACjD,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,uBAA+B,EAC/B,eAAe,EACf,uBAAsD,EACtD,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,eAAsC,EACtC,cAAoC,EACpC,cAAoC,EACpC,iBAAiC,EACjC,kCAA8D,EAC9D,yBAA4C,EAC5C,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,GAC1B,EAAE,cAAc,kDAugBhB"}
@@ -479,6 +479,14 @@ export default function Dashboard({ name, containerStyle, chartContainerStyle =
479
479
  ? () => handleOnClickDashboardItem(item)
480
480
  : void null, children: _jsx(Chart, { containerStyle: chartContainerStyle, chartId: item._id, colors: theme.chartColors?.length
481
481
  ? theme.chartColors
482
- : undefined, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid }) }, item.name + '' + index))) })), tables(section).length > 0 && (_jsx(DashboardSectionComponent, { section: "tables", children: tables(section).map((item, index) => (_jsx(DataLoader, { id: item._id, name: item.name, TableComponent: TableComponent, handleOnClickDashboardItem: handleOnClickDashboardItem, onClickDashboardItem: onClickDashboardItem, theme: theme }, `${item.name}${index}`))) }))] }, section + '' + sectionIndex));
482
+ : undefined, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid }) }, item.name + '' + index))) })), tables(section).length > 0 && (_jsx(DashboardSectionComponent, { section: "tables", children: tables(section).map((item, index) => (_jsx(DataLoader, { id: item._id, children: dashboard[item._id] && (_jsx(TableComponent, { theme: theme, dashboardItem: dashboard[item._id], onClickDashboardItem: onClickDashboardItem
483
+ ? () => handleOnClickDashboardItem(item)
484
+ : void null, children: _jsx(Chart, { config: dashboard[item._id], containerStyle: {
485
+ display: 'flex',
486
+ width: '100%',
487
+ height: '400px',
488
+ }, colors: theme.chartColors?.length
489
+ ? theme.chartColors
490
+ : undefined, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid }) })) }, `${item.name}${index}`))) }))] }, section + '' + sectionIndex));
483
491
  })] }));
484
492
  }