@quillsql/react 2.8.8 → 2.8.9

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 (114) hide show
  1. package/dist/AddToDashboardModal.js +146 -181
  2. package/dist/BarList.js +36 -44
  3. package/dist/Chart.d.ts +0 -5
  4. package/dist/Chart.d.ts.map +1 -1
  5. package/dist/Chart.js +94 -276
  6. package/dist/ChartBuilder.d.ts +1 -0
  7. package/dist/ChartBuilder.d.ts.map +1 -1
  8. package/dist/ChartBuilder.js +96 -93
  9. package/dist/ChartEditor.d.ts +2 -1
  10. package/dist/ChartEditor.d.ts.map +1 -1
  11. package/dist/ChartEditor.js +14 -21
  12. package/dist/Context.js +52 -57
  13. package/dist/Dashboard.d.ts.map +1 -1
  14. package/dist/Dashboard.js +181 -213
  15. package/dist/DateRangePicker/Calendar.js +41 -46
  16. package/dist/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  17. package/dist/DateRangePicker/DateRangePicker.js +33 -62
  18. package/dist/DateRangePicker/DateRangePickerButton.js +14 -17
  19. package/dist/DateRangePicker/dateRangePickerUtils.js +76 -90
  20. package/dist/DateRangePicker/index.js +1 -9
  21. package/dist/PieChart.js +35 -70
  22. package/dist/QuillProvider.js +4 -7
  23. package/dist/ReportBuilder.js +120 -129
  24. package/dist/SQLEditor.d.ts +5 -1
  25. package/dist/SQLEditor.d.ts.map +1 -1
  26. package/dist/SQLEditor.js +82 -89
  27. package/dist/Table.d.ts.map +1 -1
  28. package/dist/Table.js +64 -66
  29. package/dist/TableChart.js +17 -45
  30. package/dist/assets/ArrowDownHeadIcon.js +3 -6
  31. package/dist/assets/ArrowDownIcon.js +3 -6
  32. package/dist/assets/ArrowDownRightIcon.js +3 -6
  33. package/dist/assets/ArrowLeftHeadIcon.js +3 -6
  34. package/dist/assets/ArrowRightHeadIcon.js +3 -6
  35. package/dist/assets/ArrowRightIcon.js +3 -6
  36. package/dist/assets/ArrowUpHeadIcon.js +3 -6
  37. package/dist/assets/ArrowUpIcon.js +3 -6
  38. package/dist/assets/ArrowUpRightIcon.js +3 -6
  39. package/dist/assets/CalendarIcon.js +3 -6
  40. package/dist/assets/CalendarNormalIcon.js +3 -6
  41. package/dist/assets/DoubleArrowLeftHeadIcon.js +3 -6
  42. package/dist/assets/DoubleArrowRightHeadIcon.js +3 -6
  43. package/dist/assets/ExclamationFilledIcon.js +3 -6
  44. package/dist/assets/FilterIcon.js +3 -6
  45. package/dist/assets/LoadingSpinner.js +3 -6
  46. package/dist/assets/RefreshIcon.js +3 -6
  47. package/dist/assets/SearchIcon.js +3 -6
  48. package/dist/assets/UpLeftArrowsIcon.js +3 -6
  49. package/dist/assets/XCircleIcon.js +3 -6
  50. package/dist/assets/XIcon.js +3 -6
  51. package/dist/assets/index.js +21 -49
  52. package/dist/components/Banner/index.d.ts +3 -0
  53. package/dist/components/Banner/index.d.ts.map +1 -0
  54. package/dist/components/Banner/index.js +24 -0
  55. package/dist/components/BigModal/BigModal.js +13 -39
  56. package/dist/components/Dropdown/Dropdown.js +24 -53
  57. package/dist/components/Dropdown/DropdownItem.js +9 -35
  58. package/dist/components/Dropdown/index.js +2 -11
  59. package/dist/components/Modal/Modal.js +13 -39
  60. package/dist/components/Modal/index.js +1 -9
  61. package/dist/components/QuillCard.js +8 -13
  62. package/dist/components/ReportBuilder/ColumnSelector.d.ts +19 -0
  63. package/dist/components/ReportBuilder/ColumnSelector.d.ts.map +1 -0
  64. package/dist/components/ReportBuilder/ColumnSelector.js +87 -0
  65. package/dist/components/SqlTextEditor.d.ts.map +1 -1
  66. package/dist/components/SqlTextEditor.js +30 -13
  67. package/dist/components/UiComponents.d.ts.map +1 -1
  68. package/dist/components/UiComponents.js +40 -53
  69. package/dist/components/selectUtils.js +6 -17
  70. package/dist/contexts/BaseColorContext.js +3 -6
  71. package/dist/contexts/HoveredValueContext.js +3 -6
  72. package/dist/contexts/RootStylesContext.js +3 -6
  73. package/dist/contexts/SelectedValueContext.js +3 -6
  74. package/dist/contexts/index.js +4 -15
  75. package/dist/hooks/index.js +4 -15
  76. package/dist/hooks/useDashboard.js +10 -15
  77. package/dist/hooks/useInternalState.js +3 -6
  78. package/dist/hooks/useOnClickOutside.js +3 -6
  79. package/dist/hooks/useOnWindowResize.js +4 -7
  80. package/dist/hooks/useQuill.js +11 -16
  81. package/dist/hooks/useSelectOnKeyDown.js +4 -7
  82. package/dist/index.js +13 -33
  83. package/dist/internals/ReportBuilder/PivotList.js +14 -20
  84. package/dist/internals/ReportBuilder/PivotModal.d.ts +2 -2
  85. package/dist/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  86. package/dist/internals/ReportBuilder/PivotModal.js +116 -119
  87. package/dist/internals/ReportBuilder/PivotModal.spec.js +70 -73
  88. package/dist/lib/font.js +2 -6
  89. package/dist/lib/index.js +3 -20
  90. package/dist/lib/inputTypes.js +1 -3
  91. package/dist/lib/utils.js +8 -19
  92. package/dist/test-data/tables.d.ts +2 -0
  93. package/dist/test-data/tables.d.ts.map +1 -0
  94. package/dist/test-data/tables.js +621 -0
  95. package/dist/utils/aggregate.js +28 -35
  96. package/dist/utils/axisFormatter.d.ts +20 -0
  97. package/dist/utils/axisFormatter.d.ts.map +1 -0
  98. package/dist/utils/axisFormatter.js +185 -0
  99. package/dist/utils/colorToHex.js +1 -5
  100. package/dist/utils/dataFetcher.js +2 -8
  101. package/dist/utils/downloadCSV.js +1 -6
  102. package/dist/utils/schema.d.ts +22 -0
  103. package/dist/utils/schema.d.ts.map +1 -0
  104. package/dist/utils/schema.js +134 -0
  105. package/dist/utils/textFormatting.d.ts +4 -0
  106. package/dist/utils/textFormatting.d.ts.map +1 -0
  107. package/dist/utils/textFormatting.js +38 -0
  108. package/dist/utils/valueFormatter.d.ts +17 -0
  109. package/dist/utils/valueFormatter.d.ts.map +1 -0
  110. package/dist/utils/valueFormatter.js +166 -0
  111. package/dist/utils/valueFormatterCSV.d.ts +17 -0
  112. package/dist/utils/valueFormatterCSV.d.ts.map +1 -0
  113. package/dist/utils/valueFormatterCSV.js +90 -0
  114. package/package.json +1 -2
@@ -19,6 +19,7 @@ interface ChartBuilderProps {
19
19
  rows: object[];
20
20
  columns: object[];
21
21
  query?: string;
22
+ isEditMode?: boolean;
22
23
  formHeaderStyle?: React.CSSProperties;
23
24
  formLabelStyle?: React.CSSProperties;
24
25
  showTableFormatOptions?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../src/ChartBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,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;AAcnC,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAavC;AA0DD,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,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;CACrB;AACD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4B5D"}
1
+ {"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../src/ChartBuilder.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAUhF,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;AAenC,wBAAgB,oBAAoB,CAAC,GAAG,KAAA,OAavC;AA0DD,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;CACrB;AACD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4B5D"}
@@ -1,21 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.numberFormatOptions = exports.snakeCaseToTitleCase = void 0;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
2
  // @ts-nocheck
9
- const react_1 = require("react");
10
- const Context_1 = require("./Context");
11
- const dataFetcher_1 = require("./utils/dataFetcher");
12
- const ReportBuilder_1 = require("./ReportBuilder");
13
- const PivotModal_1 = require("./internals/ReportBuilder/PivotModal");
14
- const PivotList_1 = require("./internals/ReportBuilder/PivotList");
15
- const Chart_1 = __importDefault(require("./Chart"));
16
- const UiComponents_1 = require("./components/UiComponents");
3
+ import { useEffect, useRef, useState, useContext, useMemo } from 'react';
4
+ import { ClientContext, DashboardContext, SchemaContext, ThemeContext, } from './Context';
5
+ import { getData, getDataFromCloud } from './utils/dataFetcher';
6
+ import { getPostgresBasicType } from './ReportBuilder';
7
+ import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
8
+ import { PivotCard } from './internals/ReportBuilder/PivotList';
9
+ import Chart from './Chart';
10
+ import { MemoizedModal, MemoizedTextInput, MemoizedSelect, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, } from './components/UiComponents';
11
+ import Banner from './components/Banner';
17
12
  const CHART_TYPES = ['column', 'line', 'table', 'metric', 'bar', 'pie'];
18
- function snakeCaseToTitleCase(str) {
13
+ export function snakeCaseToTitleCase(str) {
19
14
  if (!str) {
20
15
  return str;
21
16
  }
@@ -27,7 +22,6 @@ function snakeCaseToTitleCase(str) {
27
22
  : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
28
23
  .join(' ');
29
24
  }
30
- exports.snakeCaseToTitleCase = snakeCaseToTitleCase;
31
25
  const POSTGRES_DATE_TYPES = [
32
26
  'timestamp',
33
27
  'date',
@@ -39,7 +33,7 @@ async function getReferencedTables(client, sqlQuery, dbTables) {
39
33
  // const parser = new Parser();
40
34
  const tables = [];
41
35
  const withAliases = [];
42
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `astify`, { query: sqlQuery });
36
+ const resp = await getDataFromCloud(client, `astify`, { query: sqlQuery });
43
37
  let ast = resp.ast;
44
38
  ast = ast.length ? ast[0] : ast;
45
39
  if (ast.with && ast.with.length) {
@@ -73,7 +67,7 @@ const AGGREGATION_TYPES = [
73
67
  { label: 'count', value: 'count' },
74
68
  { label: 'average', value: 'avg' },
75
69
  ];
76
- exports.numberFormatOptions = [
70
+ export const numberFormatOptions = [
77
71
  'whole_number',
78
72
  'one_decimal_place',
79
73
  'two_decimal_places',
@@ -97,30 +91,29 @@ const formatOptions = [
97
91
  { value: 'percent', label: 'percent' },
98
92
  { value: 'string', label: 'string' },
99
93
  ];
100
- function ChartBuilder(props) {
101
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
102
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: props.Modal ? ((0, jsx_runtime_1.jsx)(props.Modal, { isOpen: props.isOpen, setIsOpen: props.setIsOpen, title: props.title || 'Add to dashboard', onClose: () => props.setIsOpen(false), theme: theme, children: (0, jsx_runtime_1.jsx)(ChartBuilderForm, { ...props }) })) : ((0, jsx_runtime_1.jsx)(UiComponents_1.MemoizedModal, { setIsOpen: props.setIsOpen, isOpen: props.isOpen, onClose: () => props.setIsOpen(false), title: props.title || 'Add to dashboard', theme: theme, children: (0, jsx_runtime_1.jsx)(ChartBuilderForm, { ...props }) })) }));
94
+ export default function ChartBuilder(props) {
95
+ const [theme] = useContext(ThemeContext);
96
+ 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 }) })) }));
103
97
  }
104
- exports.default = ChartBuilder;
105
- function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select = UiComponents_1.MemoizedSelect, Button = UiComponents_1.MemoizedButton, SecondaryButton = UiComponents_1.MemoizedSecondaryButton, Header = UiComponents_1.MemoizedHeader, Label = UiComponents_1.MemoizedLabel, DeleteButton = UiComponents_1.MemoizedDeleteButton, Text = UiComponents_1.MemoizedText, Modal = UiComponents_1.MemoizedModal, Popover = UiComponents_1.MemoizedPopover, isOpen, 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, }) {
98
+ 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, }) {
106
99
  const dateRange = dr || [null, null, null];
107
- const [client] = (0, react_1.useContext)(Context_1.ClientContext);
108
- const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
109
- const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
110
- const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
111
- const [divWidth, setDivWidth] = (0, react_1.useState)(0);
112
- const { dispatch } = (0, react_1.useContext)(Context_1.DashboardContext);
100
+ const [client] = useContext(ClientContext);
101
+ const [theme] = useContext(ThemeContext);
102
+ const [schema, setSchema] = useContext(SchemaContext);
103
+ const [isSubmitting, setIsSubmitting] = useState(false);
104
+ const [divWidth, setDivWidth] = useState(0);
105
+ const { dispatch } = useContext(DashboardContext);
113
106
  const fields = fieldsProp?.map((field) => ({
114
107
  field: field.name,
115
- type: (0, ReportBuilder_1.getPostgresBasicType)(field),
108
+ type: getPostgresBasicType(field),
116
109
  format: field.format,
117
110
  label: field.name,
118
111
  })) || [];
119
- const parentRef = (0, react_1.useRef)();
120
- const deleteRef = (0, react_1.useRef)();
112
+ const parentRef = useRef();
113
+ const deleteRef = useRef();
121
114
  const modalPadding = 20;
122
115
  const deleteButtonMargin = -13;
123
- (0, react_1.useEffect)(() => {
116
+ useEffect(() => {
124
117
  const calculateWidth = () => {
125
118
  return (parentRef.current.offsetWidth -
126
119
  (deleteRef?.current
@@ -144,11 +137,11 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
144
137
  };
145
138
  }, []);
146
139
  // get schema
147
- (0, react_1.useEffect)(() => {
140
+ useEffect(() => {
148
141
  let isSubscribed = true;
149
142
  async function getSchema() {
150
143
  if (!schema || !schema.length) {
151
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `schema2/${client.publicKey}/`, null, 'GET');
144
+ const resp = await getDataFromCloud(client, `schema2/${client.publicKey}/`, null, 'GET');
152
145
  if (isSubscribed) {
153
146
  setSchema(resp.tables);
154
147
  }
@@ -162,11 +155,11 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
162
155
  };
163
156
  }, [schema]);
164
157
  // get dashboards
165
- const [dashboardOptions, setDashboardOptions] = (0, react_1.useState)([]);
166
- const [defaultDashboardName, setDefaultDashboardName] = (0, react_1.useState)(destinationDashboard ||
158
+ const [dashboardOptions, setDashboardOptions] = useState([]);
159
+ const [defaultDashboardName, setDefaultDashboardName] = useState(destinationDashboard ||
167
160
  dashboardItem?.dashboardName ||
168
161
  dashboardOptions[0]?.label);
169
- (0, react_1.useEffect)(() => {
162
+ useEffect(() => {
170
163
  if (!destinationDashboard &&
171
164
  !dashboardItem &&
172
165
  dashboardOptions &&
@@ -174,31 +167,31 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
174
167
  setDefaultDashboardName(dashboardOptions[0]?.label);
175
168
  }
176
169
  }, [dashboardOptions]);
177
- (0, react_1.useEffect)(() => {
170
+ useEffect(() => {
178
171
  async function getDashNames() {
179
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `dashnames/${client.publicKey}/`, null, 'GET');
172
+ const resp = await getDataFromCloud(client, `dashnames/${client.publicKey}/`, null, 'GET');
180
173
  setDashboardOptions(resp.dashboardNames
181
174
  .filter((elem) => elem !== null)
182
175
  .map((key) => ({ label: key, value: key })));
183
176
  }
184
177
  getDashNames();
185
178
  }, []);
186
- const [showPivotPopover, setShowPivotPopover] = (0, react_1.useState)(false);
187
- const [isEdittingPivot, setIsEdittingPivot] = (0, react_1.useState)(false);
188
- const [selectedPivotIndex, setSelectedPivotIndex] = (0, react_1.useState)(-1);
189
- const [tableName, setTableName] = (0, react_1.useState)(null);
179
+ const [showPivotPopover, setShowPivotPopover] = useState(false);
180
+ const [isEdittingPivot, setIsEdittingPivot] = useState(false);
181
+ const [selectedPivotIndex, setSelectedPivotIndex] = useState(-1);
182
+ const [tableName, setTableName] = useState(null);
190
183
  const selectedTable = schema?.find((t) => t.displayName === tableName);
191
- const [pivotPopUpTitle, setPivotPopUpTitle] = (0, react_1.useState)('Add Pivot');
192
- const [createdPivots, setCreatedPivots] = (0, react_1.useState)(pivot ? [pivot] : dashboardItem?.pivot ? [dashboardItem.pivot] : cp);
193
- const [recommendedPivots, setRecommendedPivots] = (0, react_1.useState)(rp);
194
- const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
195
- const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
196
- const [pivotValueField, setPivotValueField] = (0, react_1.useState)(undefined);
197
- const [pivotAggregation, setPivotAggregation] = (0, react_1.useState)(undefined);
184
+ const [pivotPopUpTitle, setPivotPopUpTitle] = useState('Add Pivot');
185
+ const [createdPivots, setCreatedPivots] = useState(pivot ? [pivot] : dashboardItem?.pivot ? [dashboardItem.pivot] : cp);
186
+ const [recommendedPivots, setRecommendedPivots] = useState(rp);
187
+ const [pivotRowField, setPivotRowField] = useState(undefined);
188
+ const [pivotColumnField, setPivotColumnField] = useState(undefined);
189
+ const [pivotValueField, setPivotValueField] = useState(undefined);
190
+ const [pivotAggregation, setPivotAggregation] = useState(undefined);
198
191
  // initial state is the fields array passed in, but can eventually be changed to be the pivot fields
199
- const [fieldOptions, setFieldOptions] = (0, react_1.useState)(fields);
200
- const [dateFieldOptions, setDateFieldOptions] = (0, react_1.useState)([]);
201
- (0, react_1.useEffect)(() => {
192
+ const [fieldOptions, setFieldOptions] = useState(fields);
193
+ const [dateFieldOptions, setDateFieldOptions] = useState([]);
194
+ useEffect(() => {
202
195
  const fetchReferencedTables = async () => {
203
196
  if (!query) {
204
197
  return;
@@ -223,7 +216,7 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
223
216
  table: dateFieldOptions[0]?.name,
224
217
  field: dateFieldOptions[0]?.columns[0]?.name,
225
218
  };
226
- const firstNumberColumn = columns?.find((col) => exports.numberFormatOptions.includes(col.format));
219
+ const firstNumberColumn = columns?.find((col) => numberFormatOptions.includes(col.format));
227
220
  const formEmptyState = {
228
221
  name: '',
229
222
  dashboardName: dashboardOptions?.[0]?.label,
@@ -250,13 +243,13 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
250
243
  // date labels for pivots should be treated like strings since they are
251
244
  // formatted in generatePivotTable
252
245
  const yAxisIsDate = pivot.columnField
253
- ? (0, PivotModal_1.isDateField)(pivot.columnFieldType)
246
+ ? isDateField(pivot.columnFieldType)
254
247
  : false;
255
248
  return {
256
249
  pivot,
257
250
  chartType: 'column',
258
251
  xAxisField: pivot.rowField,
259
- xAxisFormat: (0, PivotModal_1.isDateField)(pivot.rowFieldType)
252
+ xAxisFormat: isDateField(pivot.rowFieldType)
260
253
  ? 'string'
261
254
  : columns.find((col) => col.field === pivot.rowField)?.format ||
262
255
  'whole_number',
@@ -273,12 +266,12 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
273
266
  ],
274
267
  };
275
268
  };
276
- const [formData, setFormData] = (0, react_1.useState)(pivot
269
+ const [formData, setFormData] = useState(pivot
277
270
  ? { ...formEmptyState, ...pivotFormData(pivot) }
278
271
  : dashboardItem || formEmptyState);
279
- const selectedPivotTable = (0, react_1.useMemo)(() => {
272
+ const selectedPivotTable = useMemo(() => {
280
273
  if (formData.pivot && rows) {
281
- return (0, PivotModal_1.generatePivotTable)(formData.pivot, rows, dateRange);
274
+ return generatePivotTable(formData.pivot, rows, dateRange);
282
275
  }
283
276
  else {
284
277
  return {};
@@ -396,7 +389,6 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
396
389
  };
397
390
  const handleSubmit = (e) => {
398
391
  e.preventDefault();
399
- console.log(formData);
400
392
  };
401
393
  const deleteChart = async () => {
402
394
  if (!dashboardItem._id || !client) {
@@ -412,7 +404,7 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
412
404
  customerId: customerId,
413
405
  }
414
406
  : { clientId: publicKey }).toString();
415
- const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `deletedash/${publicKey}/${customerId}/?${searchParams}`, cloudBody);
407
+ const resp = await getDataFromCloud(client, `deletedash/${publicKey}/${customerId}/?${searchParams}`, cloudBody);
416
408
  if (resp) {
417
409
  if (onDelete) {
418
410
  onDelete();
@@ -422,13 +414,11 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
422
414
  setIsSubmitting(false);
423
415
  };
424
416
  const editChart = async ({}) => {
425
- console.log(isSubmitting);
426
417
  if (isSubmitting) {
427
418
  return;
428
419
  }
429
420
  setIsSubmitting(true);
430
421
  const { publicKey, customerId } = client;
431
- console.log(client);
432
422
  if (!client) {
433
423
  return;
434
424
  }
@@ -444,6 +434,9 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
444
434
  query: queryNoDateColumn || query,
445
435
  pivot: formData.pivot,
446
436
  };
437
+ if (cloudBody['rows']) {
438
+ delete cloudBody['rows'];
439
+ }
447
440
  // add orgId: customerId if present for hostedBody
448
441
  // set defaultDateField if date field not present
449
442
  const hostedBody = {
@@ -460,8 +453,7 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
460
453
  customerId: customerId,
461
454
  }
462
455
  : { clientId: publicKey }).toString();
463
- const resp = await (0, dataFetcher_1.getData)(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
464
- console.log(`RESP: ${resp}`);
456
+ const resp = await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
465
457
  if (resp) {
466
458
  dispatch({
467
459
  type: 'UPDATE_DASHBOARD_ITEM',
@@ -482,13 +474,25 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
482
474
  if (!schema) {
483
475
  return;
484
476
  }
485
- return ((0, jsx_runtime_1.jsxs)("div", { id: "quill-chart-modal", style: { padding: modalPadding }, children: [(0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(Chart_1.default, { config: { ...formData, rows }, colors: theme.chartColors, containerStyle: {
477
+ return (_jsxs("div", { id: "quill-chart-modal", style: { padding: modalPadding }, children: [isEditMode && (_jsxs(_Fragment, { children: [_jsx(Banner, { dashboardItemName: dashboardItem.name, dashboardName: dashboardItem.dashboardName, style: {
478
+ position: 'fixed',
479
+ top: 0,
480
+ left: 0,
481
+ right: 0,
482
+ margin: 0,
483
+ }, onExit: () => {
484
+ const msg = 'Are you sure you want to exit edit mode? Your changes will not be saved.';
485
+ if (!confirm(msg))
486
+ return;
487
+ dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
488
+ dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
489
+ } }), _jsxs("style", { children: [" ", `#quill-modal-header { padding-top: 41px; }`, " "] })] })), _jsx("div", { children: _jsx(Chart, { config: { ...formData, rows }, colors: theme.chartColors, containerStyle: {
486
490
  width: formData.chartType === 'table' ? 640 : 'calc(100% - 24px)',
487
491
  height: 300,
488
- } }) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), (0, jsx_runtime_1.jsxs)("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Name" }), (0, jsx_runtime_1.jsx)(TextInput, { value: formData.name, onChange: (e) => handleChange(e, 'name'), placeholder: "Name" })] }), showDashboardDropdown && !destinationDashboard && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Dashboard" }), (0, jsx_runtime_1.jsx)(Select, { label: 'Dashboard', value: formData.dashboardName, onChange: (e) => handleChange(e, 'dashboardName'), options: dashboardOptions.map((elem) => ({
492
+ } }) }), _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) => ({
489
493
  label: elem.label,
490
494
  value: elem.label,
491
- })) })] })), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Chart type" }), (0, jsx_runtime_1.jsx)(Select, { label: 'Chart Type', value: formData.chartType, onChange: (e) => handleChange(e, 'chartType'),
495
+ })) })] })), _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'),
492
496
  // filter out metric for all pivots
493
497
  // filter out bar and pie for row and column pivot
494
498
  options: CHART_TYPES.filter((elem) => !firstNumberColumn
@@ -496,21 +500,21 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
496
500
  : !((formData.pivot && elem === 'metric') ||
497
501
  (formData.pivot &&
498
502
  formData.pivot.columnField &&
499
- (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)("div", { style: {
503
+ (elem === 'bar' || elem === 'pie')))).map((elem) => ({ label: elem, value: elem })) })] })] }), _jsx("br", {}), _jsxs("div", { style: {
500
504
  display: 'flex',
501
505
  flexDirection: 'column',
502
506
  gap: 12,
503
507
  marginTop: 6,
504
- }, children: [(0, jsx_runtime_1.jsx)(Header, { children: "Pivot" }), (0, jsx_runtime_1.jsxs)("div", { style: { fontFamily: theme?.fontFamily }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
508
+ }, children: [_jsx(Header, { children: "Pivot" }), _jsxs("div", { style: { fontFamily: theme?.fontFamily }, children: [_jsx("div", { style: {
505
509
  maxWidth: 200,
506
510
  // marginTop: 6,
507
511
  display: 'flex',
508
512
  flexDirection: 'column',
509
- }, children: (0, jsx_runtime_1.jsx)(PivotModal_1.PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: Select, ButtonComponent: Button, PopoverComponent: Popover, LabelComponent: Label, TextComponent: Text, HeaderComponent: Header, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: columns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot }) }), formData.pivot && ((0, jsx_runtime_1.jsx)("div", { style: {
513
+ }, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: Select, ButtonComponent: Button, PopoverComponent: Popover, LabelComponent: Label, TextComponent: Text, HeaderComponent: Header, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: columns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot }) }), formData.pivot && (_jsx("div", { style: {
510
514
  // width: 592,
511
515
  paddingRight: deleteRef?.current ? 42 : 0,
512
516
  maxWidth: 750,
513
- }, children: (0, jsx_runtime_1.jsx)("div", { style: { width: divWidth }, children: (0, jsx_runtime_1.jsx)(PivotList_1.PivotCard, { pivotTable: {
517
+ }, children: _jsx("div", { style: { width: divWidth }, children: _jsx(PivotCard, { pivotTable: {
514
518
  pivot: formData.pivot,
515
519
  rows: selectedPivotTable?.rows,
516
520
  columns: selectedPivotTable?.columns,
@@ -522,23 +526,23 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
522
526
  setPivotValueField(formData.pivot?.valueField);
523
527
  setPivotAggregation(formData.pivot?.aggregationType);
524
528
  setPivotPopUpTitle('Edit Pivot');
525
- }, selectedPivotIndex: -1, onEditPivot: () => { }, ButtonComponent: Button, HeaderComponent: Header, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: Label, TextComponent: Text }) }) }))] })] }), (0, jsx_runtime_1.jsx)("br", {}), (formData.pivot || formData.chartType !== 'table') && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
529
+ }, 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: {
526
530
  display: 'flex',
527
531
  flexDirection: 'column',
528
532
  gap: 6,
529
533
  marginTop: 6,
530
- }, children: [(0, jsx_runtime_1.jsx)(Header, { children: "Chart" }), (0, jsx_runtime_1.jsx)(Label, { children: "X-axis" })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(Select, { label: 'X-axis Field', value: formData.xAxisField, onChange: (e) => handleChange(e, 'xAxisField'), disabled: formData.pivot !== null, options: fieldOptions.map((elem) => ({
534
+ }, 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) => ({
531
535
  label: formData.pivot
532
536
  ? `pivot row (${elem.field})`
533
537
  : elem.field,
534
538
  value: elem.field,
535
- })) }), (0, jsx_runtime_1.jsx)(TextInput, { value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e, 'xAxisLabel') }), (0, jsx_runtime_1.jsx)(Select, { label: 'X-axis Format', value: formData.xAxisFormat, onChange: (e) => handleChange(e, 'xAxisFormat'), options: formatOptions })] }, 'xAxisField0'), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(Label, { children: "Y-axis" }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.yAxisFields.map((yAxisField, index) => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(Select, { label: 'Y-axis Field', value: yAxisField.field, onChange: (e) => handleChange(e, 'yAxisFields.field', index), disabled: formData.pivot !== null, options: [
539
+ })) }), _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: [
536
540
  { label: 'Select', value: '' },
537
541
  ...fieldOptions
538
542
  .filter((elem) => {
539
543
  return (formData.chartType === 'table' ||
540
544
  formData.pivot ||
541
- exports.numberFormatOptions.includes(columns.find((col) => col.field === elem.field)
545
+ numberFormatOptions.includes(columns.find((col) => col.field === elem.field)
542
546
  ?.format));
543
547
  })
544
548
  .map((elem) => ({
@@ -547,28 +551,28 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
547
551
  : elem.field,
548
552
  value: elem.field,
549
553
  })),
550
- ] }), (0, jsx_runtime_1.jsx)(TextInput, { value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'yAxisFields.label', index) }), (0, jsx_runtime_1.jsx)(Select, { label: 'Y-axis Format', value: yAxisField.format, onChange: (e) => handleChange(e, 'yAxisFields.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), formData.pivot === null && ((0, jsx_runtime_1.jsx)("div", { ref: deleteRef, children: (0, jsx_runtime_1.jsx)(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField' + index))) }), formData.pivot === null && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(SecondaryButton, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" })] })), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {})] })), (showTableFormatOptions || formData.chartType === 'table') && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
554
+ ] }), _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: {
551
555
  display: 'flex',
552
556
  flexDirection: 'column',
553
557
  gap: 6,
554
558
  marginTop: 6,
555
- }, children: [(0, jsx_runtime_1.jsx)(Header, { children: "Table" }), (0, jsx_runtime_1.jsx)(Label, { children: "Columns" })] }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: 10 }, children: formData.columns.map((column, index) => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(Select, { label: 'Column Field', value: column.field, onChange: (e) => handleChange(e, 'columns.field', index), options: [
559
+ }, 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: [
556
560
  { label: 'Select', value: '' },
557
561
  ...fields.map((elem) => ({
558
562
  label: elem.field,
559
563
  value: elem.field,
560
564
  })),
561
- ] }), (0, jsx_runtime_1.jsx)(TextInput, { name: "label", value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e, 'columns.label', index) }), (0, jsx_runtime_1.jsx)(Select, { label: 'Column Format', value: column.format, onChange: (e) => handleChange(e, 'columns.format', index), options: [{ label: 'Select', value: '' }, ...formatOptions] }), (0, jsx_runtime_1.jsx)("div", { ref: deleteRef, children: (0, jsx_runtime_1.jsx)(DeleteButton, { style: { marginLeft: deleteButtonMargin }, onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))) }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)(SecondaryButton, { onClick: () => handleAddField('columns'), label: "Add column +" }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {})] })), showDateFieldOptions && ((0, jsx_runtime_1.jsxs)("div", { style: {
565
+ ] }), _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: {
562
566
  display: 'flex',
563
567
  flexDirection: 'column',
564
568
  gap: 6,
565
569
  marginTop: 6,
566
- }, children: [(0, jsx_runtime_1.jsx)(Header, { children: "Date field" }), (0, jsx_runtime_1.jsxs)("div", { style: {
570
+ }, children: [_jsx(Header, { children: "Date field" }), _jsxs("div", { style: {
567
571
  display: 'flex',
568
572
  flexDirection: 'row',
569
573
  gap: 12,
570
574
  // lmao part 2
571
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Table" }), (0, jsx_runtime_1.jsx)(Select, { label: 'Date Table', value: formData.dateField.table, onChange: (e) => handleChange(e, 'dateField.table'), options: [
575
+ }, 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: [
572
576
  {
573
577
  label: 'Select',
574
578
  value: '',
@@ -577,29 +581,29 @@ function ChartBuilderForm({ TextInput = UiComponents_1.MemoizedTextInput, Select
577
581
  label: elem.name,
578
582
  value: elem.name,
579
583
  })),
580
- ] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(Label, { children: "Field" }), (0, jsx_runtime_1.jsx)(Select, { label: 'Date Field', value: formData.dateField.field, onChange: (e) => handleChange(e, 'dateField.field'), options: dateFieldOptions
584
+ ] })] }), _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
581
585
  ?.find((elem) => elem.name === formData.dateField.table)
582
586
  ?.columns?.map((elem) => ({
583
587
  label: elem.name,
584
588
  value: elem.name,
585
- })) || [] })] })] }), (0, jsx_runtime_1.jsx)("br", {})] })), showAccessControlOptions && ((0, jsx_runtime_1.jsxs)("div", { style: {
589
+ })) || [] })] })] }), _jsx("br", {})] })), showAccessControlOptions && (_jsxs("div", { style: {
586
590
  display: 'flex',
587
591
  flexDirection: 'column',
588
592
  gap: 12,
589
593
  marginTop: 6,
590
- }, children: [(0, jsx_runtime_1.jsx)(Header, { children: "Organization access" }), (0, jsx_runtime_1.jsx)(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template, theme: theme }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("br", {})] })), (0, jsx_runtime_1.jsxs)("div", { style: {
594
+ }, 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: {
591
595
  display: 'flex',
592
596
  flexDirection: 'row',
593
597
  justifyContent: 'flex-end',
594
598
  gap: 10,
595
- }, children: [dashboardItem && ((0, jsx_runtime_1.jsx)(SecondaryButton, { onClick: deleteChart, label: 'Delete' })), (0, jsx_runtime_1.jsx)(Button, { onClick: editChart, label: buttonLabel
599
+ }, children: [dashboardItem && (_jsx(SecondaryButton, { onClick: deleteChart, label: 'Delete' })), _jsx(Button, { onClick: editChart, label: buttonLabel
596
600
  ? buttonLabel
597
601
  : dashboardItem
598
602
  ? 'Save changes'
599
603
  : 'Add to dashboard' })] })] })] }));
600
604
  }
601
605
  function SegmentedControl({ onChange, value, theme }) {
602
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
606
+ return (_jsxs("div", { style: {
603
607
  display: 'flex',
604
608
  flexDirection: 'row',
605
609
  alignItems: 'center',
@@ -607,7 +611,7 @@ function SegmentedControl({ onChange, value, theme }) {
607
611
  maxWidth: 418,
608
612
  padding: 4,
609
613
  borderRadius: 6,
610
- }, children: [(0, jsx_runtime_1.jsxs)("button", { className: "quill-tab", onClick: () => onChange(true), style: {
614
+ }, children: [_jsxs("button", { className: "quill-tab", onClick: () => onChange(true), style: {
611
615
  border: value === true ? '1px solid #E7E7E7' : '1px solid transparent',
612
616
  outline: 'none',
613
617
  width: '100%',
@@ -620,7 +624,7 @@ function SegmentedControl({ onChange, value, theme }) {
620
624
  fontWeight: value === true ? 600 : 500,
621
625
  fontSize: 14,
622
626
  fontFamily: theme?.fontFamily,
623
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
627
+ }, children: [_jsx("style", { children: `
624
628
  .quill-tab {
625
629
  background-color: ${value === true ? 'white' : 'transparent'};
626
630
  }
@@ -630,7 +634,7 @@ function SegmentedControl({ onChange, value, theme }) {
630
634
  .quill-tab:active {
631
635
  background-color: "rgba(56, 65, 81, 0.15)";
632
636
  }
633
- ` }), 'All Organizations'] }), (0, jsx_runtime_1.jsxs)("button", { className: "quill-tab2", onClick: () => onChange(false), style: {
637
+ ` }), 'All Organizations'] }), _jsxs("button", { className: "quill-tab2", onClick: () => onChange(false), style: {
634
638
  border: value === false ? '1px solid #E7E7E7' : '1px solid transparent',
635
639
  boxShadow: value === false
636
640
  ? '0px 1px 4px 0px rgba(56, 65, 81, 0.08)'
@@ -643,7 +647,7 @@ function SegmentedControl({ onChange, value, theme }) {
643
647
  fontWeight: value === false ? 600 : 500,
644
648
  fontSize: 14,
645
649
  fontFamily: theme?.fontFamily,
646
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
650
+ }, children: [_jsx("style", { children: `
647
651
  .quill-tab2 {
648
652
  background-color: ${value === false ? 'white' : 'transparent'};
649
653
  }
@@ -658,4 +662,3 @@ function SegmentedControl({ onChange, value, theme }) {
658
662
  }
659
663
  ` }), 'This Organization'] })] }));
660
664
  }
661
- //# sourceMappingURL=ChartBuilder.js.map
@@ -4,6 +4,7 @@ interface ChartEditorProps {
4
4
  isOpen: boolean;
5
5
  chartId: string;
6
6
  admin?: boolean;
7
+ isEditMode?: boolean;
7
8
  chartBuilderTitle?: string;
8
9
  chartBuilderButtonLabel?: string;
9
10
  onDelete?: () => void;
@@ -20,6 +21,6 @@ interface ChartEditorProps {
20
21
  Popover?: (props: PopoverComponentProps) => JSX.Element;
21
22
  destinationDashboard?: string;
22
23
  }
23
- export default function ChartEditor({ isOpen, chartId, admin, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onDelete, setIsOpen, Select, TextInput, Button, SecondaryButton, Header, Label, Text, DeleteButton, Modal, Popover, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
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;
24
25
  export {};
25
26
  //# 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;AAGnC,UAAU,gBAAgB;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,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;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,KAAa,EACb,oBAAoB,EACpB,iBAAgC,EAChC,uBAAuB,EACvB,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,2CA4GlB"}
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;AAGnC,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;CAC/B;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,OAAO,EACP,UAAU,EACV,KAAa,EACb,oBAAoB,EACpB,iBAAgC,EAChC,uBAAuB,EACvB,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,2CA6GlB"}
@@ -1,25 +1,20 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
1
+ import { jsx as _jsx } from "react/jsx-runtime";
7
2
  // @ts-nocheck
8
- const react_1 = require("react");
9
- const ChartBuilder_1 = __importDefault(require("./ChartBuilder"));
10
- const Context_1 = require("./Context");
11
- const dataFetcher_1 = require("./utils/dataFetcher");
12
- function ChartEditor({ isOpen, chartId, admin = false, destinationDashboard, chartBuilderTitle = 'Edit chart', chartBuilderButtonLabel, onDelete, setIsOpen, Select, TextInput, Button, SecondaryButton, Header, Label, Text, DeleteButton, Modal, Popover, }) {
13
- const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
14
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
15
- const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
16
- const [dashboardItem, setDashboardItem] = (0, react_1.useState)(dashboard?.[chartId]);
17
- const [isLoading, setIsLoading] = (0, react_1.useState)(false);
3
+ import { useContext, useEffect, useState } from 'react';
4
+ import ChartBuilder from './ChartBuilder';
5
+ import { DashboardContext, DashboardFiltersContext, ClientContext, } from './Context';
6
+ import { getData } from './utils/dataFetcher';
7
+ export default function ChartEditor({ isOpen, chartId, isEditMode, admin = false, destinationDashboard, chartBuilderTitle = 'Edit chart', chartBuilderButtonLabel, onDelete, setIsOpen, Select, TextInput, Button, SecondaryButton, Header, Label, Text, DeleteButton, Modal, Popover, }) {
8
+ const { dispatch, dashboard } = useContext(DashboardContext);
9
+ const { dashboardFilters } = useContext(DashboardFiltersContext);
10
+ const [client, _] = useContext(ClientContext);
11
+ const [dashboardItem, setDashboardItem] = useState(dashboard?.[chartId]);
12
+ const [isLoading, setIsLoading] = useState(false);
18
13
  const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
19
14
  const dateRange = dateFilter?.startDate
20
15
  ? [dateFilter?.startDate, dateFilter?.endDate, null]
21
16
  : [null, null, null];
22
- (0, react_1.useEffect)(() => {
17
+ useEffect(() => {
23
18
  let isSubscribed = true;
24
19
  async function getChartOptions() {
25
20
  if (isSubscribed && !isLoading) {
@@ -45,7 +40,7 @@ function ChartEditor({ isOpen, chartId, admin = false, destinationDashboard, cha
45
40
  id: chartId,
46
41
  filters: [],
47
42
  };
48
- const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody);
43
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody);
49
44
  if (resp) {
50
45
  setDashboardItem(resp);
51
46
  dispatch({
@@ -71,7 +66,5 @@ function ChartEditor({ isOpen, chartId, admin = false, destinationDashboard, cha
71
66
  isSubscribed = false;
72
67
  };
73
68
  }, [client, chartId]);
74
- return ((0, jsx_runtime_1.jsx)("div", { children: dashboardItem && ((0, jsx_runtime_1.jsx)(ChartBuilder_1.default, { dashboardItem: dashboardItem, rows: dashboardItem.rows, columns: dashboardItem.columns, fields: dashboardItem.fields, query: dashboardItem.queryString, isOpen: isOpen, 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 })) }));
69
+ 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 })) }));
75
70
  }
76
- exports.default = ChartEditor;
77
- //# sourceMappingURL=ChartEditor.js.map