@quillsql/react 2.12.19 → 2.12.21

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 (118) hide show
  1. package/dist/cjs/Chart.d.ts +2 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +117 -105
  4. package/dist/cjs/ChartBuilder.d.ts +4 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +28 -13
  7. package/dist/cjs/ChartEditor.d.ts +1 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +20 -12
  10. package/dist/cjs/Context.d.ts +0 -9
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +15 -43
  13. package/dist/cjs/Dashboard.d.ts +16 -3
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +64 -65
  16. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  17. package/dist/cjs/Table.d.ts.map +1 -1
  18. package/dist/cjs/Table.js +11 -4
  19. package/dist/cjs/components/Chart/BarChart.d.ts +2 -1
  20. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  21. package/dist/cjs/components/Chart/BarChart.js +2 -2
  22. package/dist/cjs/components/Chart/ChartTooltip.d.ts +1 -0
  23. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  24. package/dist/cjs/components/Chart/ChartTooltip.js +3 -4
  25. package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
  26. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  27. package/dist/cjs/components/Chart/LineChart.js +2 -2
  28. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  29. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  30. package/dist/cjs/components/Dashboard/ChartComponent.js +10 -4
  31. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  32. package/dist/cjs/components/Dashboard/DashboardFilter.js +3 -18
  33. package/dist/cjs/components/Dashboard/DataLoader.d.ts +6 -4
  34. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  35. package/dist/cjs/components/Dashboard/DataLoader.js +48 -32
  36. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  37. package/dist/cjs/components/Dashboard/MetricComponent.js +27 -43
  38. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  39. package/dist/cjs/components/Dashboard/TableComponent.js +28 -52
  40. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  41. package/dist/cjs/hooks/useDashboard.js +3 -2
  42. package/dist/cjs/hooks/useQuill.d.ts +7 -0
  43. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  44. package/dist/cjs/hooks/useQuill.js +43 -4
  45. package/dist/cjs/index.d.ts +1 -1
  46. package/dist/cjs/index.d.ts.map +1 -1
  47. package/dist/cjs/index.js +2 -1
  48. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  49. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +8 -3
  50. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  51. package/dist/cjs/internals/ReportBuilder/PivotModal.js +32 -12
  52. package/dist/cjs/utils/aggregate.d.ts.map +1 -1
  53. package/dist/cjs/utils/aggregate.js +0 -4
  54. package/dist/cjs/utils/dashboard.d.ts +2 -2
  55. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  56. package/dist/cjs/utils/dashboard.js +16 -11
  57. package/dist/cjs/utils/dates.d.ts.map +1 -1
  58. package/dist/cjs/utils/dates.js +7 -4
  59. package/dist/esm/Chart.d.ts +2 -1
  60. package/dist/esm/Chart.d.ts.map +1 -1
  61. package/dist/esm/Chart.js +116 -105
  62. package/dist/esm/ChartBuilder.d.ts +4 -2
  63. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  64. package/dist/esm/ChartBuilder.js +29 -14
  65. package/dist/esm/ChartEditor.d.ts +1 -1
  66. package/dist/esm/ChartEditor.d.ts.map +1 -1
  67. package/dist/esm/ChartEditor.js +21 -13
  68. package/dist/esm/Context.d.ts +0 -9
  69. package/dist/esm/Context.d.ts.map +1 -1
  70. package/dist/esm/Context.js +14 -40
  71. package/dist/esm/Dashboard.d.ts +16 -3
  72. package/dist/esm/Dashboard.d.ts.map +1 -1
  73. package/dist/esm/Dashboard.js +66 -67
  74. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  75. package/dist/esm/Table.d.ts.map +1 -1
  76. package/dist/esm/Table.js +12 -5
  77. package/dist/esm/components/Chart/BarChart.d.ts +2 -1
  78. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  79. package/dist/esm/components/Chart/BarChart.js +2 -2
  80. package/dist/esm/components/Chart/ChartTooltip.d.ts +1 -0
  81. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  82. package/dist/esm/components/Chart/ChartTooltip.js +3 -4
  83. package/dist/esm/components/Chart/LineChart.d.ts +2 -1
  84. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  85. package/dist/esm/components/Chart/LineChart.js +2 -2
  86. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  87. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  88. package/dist/esm/components/Dashboard/ChartComponent.js +7 -4
  89. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  90. package/dist/esm/components/Dashboard/DashboardFilter.js +3 -18
  91. package/dist/esm/components/Dashboard/DataLoader.d.ts +6 -4
  92. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  93. package/dist/esm/components/Dashboard/DataLoader.js +49 -33
  94. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  95. package/dist/esm/components/Dashboard/MetricComponent.js +28 -44
  96. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  97. package/dist/esm/components/Dashboard/TableComponent.js +29 -53
  98. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  99. package/dist/esm/hooks/useDashboard.js +3 -2
  100. package/dist/esm/hooks/useQuill.d.ts +7 -0
  101. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  102. package/dist/esm/hooks/useQuill.js +41 -3
  103. package/dist/esm/index.d.ts +1 -1
  104. package/dist/esm/index.d.ts.map +1 -1
  105. package/dist/esm/index.js +1 -1
  106. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  107. package/dist/esm/internals/ReportBuilder/PivotList.js +1 -1
  108. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +8 -3
  109. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  110. package/dist/esm/internals/ReportBuilder/PivotModal.js +32 -12
  111. package/dist/esm/utils/aggregate.d.ts.map +1 -1
  112. package/dist/esm/utils/aggregate.js +0 -4
  113. package/dist/esm/utils/dashboard.d.ts +2 -2
  114. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  115. package/dist/esm/utils/dashboard.js +16 -11
  116. package/dist/esm/utils/dates.d.ts.map +1 -1
  117. package/dist/esm/utils/dates.js +7 -4
  118. package/package.json +1 -1
@@ -4,12 +4,9 @@ exports.DashboardFilter = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUtils");
7
- const Context_1 = require("../../Context");
8
7
  const QuillMultiSelect_1 = require("../QuillMultiSelect");
9
8
  const QuillSelect_1 = require("../QuillSelect");
10
9
  function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelect_1.QuillMultiSelectComponent, DateRangePickerComponent, theme, }) {
11
- const { comparisonRange, setComparisonRange } = (0, Context_1.useComparisonRange)();
12
- const { setDateFilter } = (0, Context_1.useDateFilter)();
13
10
  const [filterValue, setFilterValue] = (0, react_1.useState)(null);
14
11
  (0, react_1.useEffect)(() => {
15
12
  if (filter.filterType === 'string') {
@@ -20,18 +17,6 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
20
17
  setFilterValue(filter.selectedValue);
21
18
  }
22
19
  }
23
- if (filter.filterType === 'date_range') {
24
- setDateFilter(filter.preset.label);
25
- if (filter?.comparisonRange?.value) {
26
- const newComparisonRange = dateRangePickerUtils_1.COMPARISON_OPTIONS.find((option) => {
27
- return option.value === filter.comparisonRange.value;
28
- });
29
- setComparisonRange(newComparisonRange);
30
- }
31
- else {
32
- setComparisonRange(null);
33
- }
34
- }
35
20
  }, [filter]);
36
21
  if (filter.filterType === 'string') {
37
22
  if (!filter.options) {
@@ -41,7 +26,7 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
41
26
  return ((0, jsx_runtime_1.jsx)(MultiSelectComponent, { label: filter.label, value: filterValue, onChange: (e) => {
42
27
  if (e.target.value === '') {
43
28
  setFilterValue(null);
44
- onChangeFilter(filter, "[]");
29
+ onChangeFilter(filter, '[]');
45
30
  return;
46
31
  }
47
32
  const jsonValue = JSON.parse(e.target.value);
@@ -75,7 +60,7 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
75
60
  onChangeFilter(filter, { preset: e.target.value });
76
61
  }, presetOptions: filter.options.map((option) => {
77
62
  return { label: option.label, value: option.label };
78
- }), selectWidth: 200 }), comparisonRange && ((0, jsx_runtime_1.jsxs)("div", { style: {
63
+ }), selectWidth: 200 }), filter.comparison && ((0, jsx_runtime_1.jsxs)("div", { style: {
79
64
  display: 'flex',
80
65
  flexDirection: 'row',
81
66
  alignItems: 'center',
@@ -91,7 +76,7 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
91
76
  whiteSpace: 'nowrap',
92
77
  minWidth: 80,
93
78
  justifyContent: 'center',
94
- }, children: "compared to" }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: comparisonRange.value, onChange: (e) => {
79
+ }, children: "compared to" }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: filter.comparisonRange.value, onChange: (e) => {
95
80
  onChangeFilter(filter, null, dateRangePickerUtils_1.COMPARISON_OPTIONS.find((option) => option.value === e.target.value));
96
81
  }, options: dateRangePickerUtils_1.COMPARISON_OPTIONS.map((compareOption) => ({
97
82
  value: compareOption.value,
@@ -12,10 +12,12 @@ export type DataLoaderChildProps = {
12
12
  field: string;
13
13
  direction: string;
14
14
  }) => void;
15
+ data?: any;
15
16
  };
16
- export default function DataLoader({ id, children, }: {
17
+ export default function DataLoader({ id, children, filters, }: {
17
18
  id: string;
18
- children: ({ isLoading, error, onPageChange, onSortChange, }: DataLoaderChildProps) => JSX.Element;
19
+ filters?: any;
20
+ children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
19
21
  }): JSX.Element;
20
22
  type ColorMapType = {
21
23
  [key: string]: {
@@ -33,13 +35,13 @@ export type ChartDataLoaderChildProps = {
33
35
  data?: any;
34
36
  dateBucket?: string;
35
37
  };
36
- export declare const ChartDataLoader: ({ id, children, hideDateRangeFilter, dateBucket, limit, additionalProcessing, }: {
38
+ export declare const ChartDataLoader: ({ id, children, hideDateRangeFilter, dateBucket, additionalProcessing, filters, }: {
37
39
  id: string;
38
40
  hideDateRangeFilter?: boolean | undefined;
39
41
  dateBucket?: string | undefined;
40
42
  mapColorsToFields?: ((_report: QuillReport, _theme: QuillTheme) => ColorMapType) | undefined;
41
- limit?: number | undefined;
42
43
  additionalProcessing?: any;
44
+ filters?: any;
43
45
  children: ({ isLoading, error, data, dateBucket, }: ChartDataLoaderChildProps) => JSX.Element;
44
46
  }) => JSX.Element;
45
47
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,GACb,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAmHd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;QAQtB,MAAM;;;mCAIC,WAAW,UACZ,UAAU,KACf,YAAY;;2BAEM,GAAG;wDAMvB,yBAAyB,KAAK,WAAW;MAC1C,WA8FH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,EACR,OAAO,GACR,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAkId;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;QAQtB,MAAM;;;mCAIC,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;cAChB,GAAG;wDAMV,yBAAyB,KAAK,WAAW;MAC1C,WAuGH,CAAC"}
@@ -9,15 +9,17 @@ const hooks_1 = require("../../hooks");
9
9
  const dataFetcher_1 = require("../../utils/dataFetcher");
10
10
  const merge_1 = require("../../utils/merge");
11
11
  const errorProcessing_1 = require("../../utils/errorProcessing");
12
- function DataLoader({ id, children, }) {
12
+ const dashboard_1 = require("../../utils/dashboard");
13
+ function DataLoader({ id, children, filters, }) {
13
14
  const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
14
15
  const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
15
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
16
+ // const { dashboardFilters } = useContext(DashboardFiltersContext);
16
17
  const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
17
18
  const [isLoading, setIsLoading] = (0, react_1.useState)(true);
18
19
  const [isPaginationLoading, setIsPaginationLoading] = (0, react_1.useState)(true);
19
20
  const [error, setError] = (0, react_1.useState)(undefined);
20
21
  const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
22
+ const [report, setReport] = (0, react_1.useState)(dashboard[id]);
21
23
  const [additionalProcessing, setAdditionProcessing] = (0, react_1.useState)({
22
24
  page: 0,
23
25
  });
@@ -35,11 +37,14 @@ function DataLoader({ id, children, }) {
35
37
  setPreviousPage(0);
36
38
  };
37
39
  const getChartOptions = async (processing) => {
38
- setIsLoading(true);
39
- if (!(0, Chart_1.didFiltersChange)(dashboard[id], dashboardFilters)) {
40
+ if (!(0, Chart_1.didFiltersChange)(dashboard[id], filters) &&
41
+ !isLoading &&
42
+ !dashboard[id].triggerReload) {
40
43
  setIsLoading(false);
44
+ setReport(dashboard[id]);
41
45
  return;
42
46
  }
47
+ setIsLoading(true);
43
48
  try {
44
49
  let updatedProcessing = { ...additionalProcessing, ...processing };
45
50
  if (processing && processing.sort) {
@@ -49,8 +54,8 @@ function DataLoader({ id, children, }) {
49
54
  updatedProcessing.page.currentPage = 0;
50
55
  }
51
56
  // Remove extra fields on each filter so we don't confuse the backend.
52
- const minimalFilters = Object.values(dashboardFilters).length
53
- ? Object.values(dashboardFilters).map((filter) => {
57
+ const minimalFilters = Object.values(filters).length
58
+ ? Object.values(filters).map((filter) => {
54
59
  const newFilter = { ...filter };
55
60
  if (newFilter.filterType === 'date_range') {
56
61
  delete newFilter['field'];
@@ -83,15 +88,14 @@ function DataLoader({ id, children, }) {
83
88
  if (resp.compareRows) {
84
89
  (0, merge_1.mergeComparisonRange)(resp);
85
90
  }
91
+ const dashboardItem = { ...resp, filtersApplied: filters };
92
+ const cleanedReport = (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters);
86
93
  dispatch({
87
94
  type: 'UPDATE_DASHBOARD_ITEM',
88
95
  id: id,
89
- data: {
90
- ...resp,
91
- filtersApplied: dashboardFilters,
92
- id: resp._id,
93
- },
96
+ data: { ...cleanedReport, triggerReload: false },
94
97
  });
98
+ setReport(cleanedReport);
95
99
  }
96
100
  else {
97
101
  setError(resp?.errorMessage);
@@ -108,33 +112,34 @@ function DataLoader({ id, children, }) {
108
112
  };
109
113
  (0, react_1.useEffect)(() => {
110
114
  getChartOptions();
111
- }, [dashboardFilters, client, id]);
112
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children({ isLoading, error, onPageChange, onSortChange }) });
115
+ }, [filters, id, dashboard[id]]);
116
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children({
117
+ isLoading,
118
+ error,
119
+ onPageChange,
120
+ onSortChange,
121
+ data: report ?? undefined,
122
+ }) }));
113
123
  }
114
124
  exports.default = DataLoader;
115
125
  // The same data-loader pattern as above, but with special logic for charts
116
126
  // At some point these may be able to get merged into one function.
117
- const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket, limit, additionalProcessing, }) => {
127
+ const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket, additionalProcessing, filters, }) => {
118
128
  const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
119
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
120
- const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
129
+ // const [initialLoad, setInitialLoad] = useState(true);
121
130
  const [loading, setLoading] = (0, react_1.useState)(false);
122
131
  const [error, setError] = (0, react_1.useState)(undefined);
123
132
  const [isComparison, setIsComparison] = (0, react_1.useState)(false);
133
+ const [report, setReport] = (0, react_1.useState)(dashboard[id]);
124
134
  const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
125
135
  const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
126
136
  const theme = (0, hooks_1.useTheme)();
127
137
  const getChartOptions = async () => {
128
- setLoading(true);
129
- if (!(0, Chart_1.didFiltersChange)(dashboard[id], dashboardFilters)) {
130
- setLoading(false);
131
- return;
132
- }
133
138
  try {
134
139
  // Remove extra fields on each filter so we don't confuse the backend.
135
140
  const allowDateRange = !hideDateRangeFilter;
136
- const minimalFilters = Object.values(dashboardFilters).length
137
- ? Object.values(dashboardFilters)
141
+ const minimalFilters = Object.values(filters).length
142
+ ? Object.values(filters)
138
143
  .filter((f) => allowDateRange || f.filterType !== 'date_range')
139
144
  .map((filter) => {
140
145
  const newFilter = { ...filter };
@@ -146,6 +151,14 @@ const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket
146
151
  return newFilter;
147
152
  })
148
153
  : [];
154
+ if (!(0, Chart_1.didFiltersChange)(dashboard[id], filters) &&
155
+ !loading &&
156
+ !dashboard[id].triggerReload) {
157
+ setLoading(false);
158
+ setReport(dashboard[id]);
159
+ return;
160
+ }
161
+ setLoading(true);
149
162
  const hostedBody = {
150
163
  metadata: {
151
164
  dashboardItemId: id,
@@ -153,15 +166,14 @@ const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket
153
166
  clientId: client.publicKey,
154
167
  task: 'item',
155
168
  databaseType: client.databaseType,
156
- filters: minimalFilters,
169
+ filters: filters,
157
170
  customFields,
158
- runQueryConfig: limit ? { limitBy: limit } : undefined,
159
171
  additionalProcessing,
160
172
  },
161
173
  };
162
174
  const cloudBody = {
163
175
  id: id,
164
- filters: minimalFilters,
176
+ filters: filters,
165
177
  };
166
178
  setError(undefined);
167
179
  const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody);
@@ -171,11 +183,13 @@ const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket
171
183
  if (resp.compareRows) {
172
184
  (0, merge_1.mergeComparisonRange)(resp);
173
185
  }
174
- const dashboardItem = { ...resp, filtersApplied: dashboardFilters };
186
+ const dashboardItem = { ...resp, filtersApplied: filters };
187
+ const cleanedReport = (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters);
188
+ setReport(cleanedReport);
175
189
  dispatch({
176
190
  type: 'UPDATE_DASHBOARD_ITEM',
177
191
  id: id,
178
- data: dashboardItem,
192
+ data: { ...cleanedReport, triggerReload: false },
179
193
  });
180
194
  }
181
195
  else {
@@ -189,12 +203,14 @@ const ChartDataLoader = ({ id, children, hideDateRangeFilter = false, dateBucket
189
203
  }
190
204
  };
191
205
  (0, react_1.useEffect)(() => {
192
- setInitialLoad(false);
206
+ if (loading) {
207
+ return;
208
+ }
193
209
  getChartOptions();
194
- }, [dashboardFilters, client, id, limit]);
210
+ }, [filters, id, dashboard[id]]);
195
211
  return children({
196
- isLoading: loading || initialLoad,
197
- data: loading || initialLoad ? undefined : dashboard[id],
212
+ isLoading: loading,
213
+ data: report ?? undefined,
198
214
  error,
199
215
  dateBucket,
200
216
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AASnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CA6QhC"}
1
+ {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AASnD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAwPhC"}
@@ -9,37 +9,21 @@ const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUti
9
9
  const valueFormatter_1 = require("../../utils/valueFormatter");
10
10
  const ChartError_1 = __importDefault(require("../Chart/ChartError"));
11
11
  const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
12
- const PivotModal_1 = require("../../internals/ReportBuilder/PivotModal");
13
- const Context_1 = require("../../Context");
14
12
  const hooks_1 = require("../../hooks");
13
+ const useQuill_1 = require("../../hooks/useQuill");
15
14
  function QuillMetricComponent({ report, onClick, error, isLoading, }) {
16
15
  const theme = (0, hooks_1.useTheme)();
17
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
18
- const data = report;
19
- const config = report;
20
- const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
21
- const pivotTable = (0, react_1.useMemo)(() => {
22
- const pivot = config?.pivot;
23
- const data = config;
24
- return pivot && data?.rows
25
- ? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
26
- dateFilter
27
- ? { start: dateFilter.startDate, end: dateFilter.endDate }
28
- : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
29
- dateFilter?.comparisonRange?.endDate
30
- ? {
31
- start: dateFilter.comparisonRange.startDate,
32
- end: dateFilter.comparisonRange.endDate,
33
- }
34
- : undefined)
35
- : null;
36
- }, [config?.pivot]);
37
- const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
38
- const comparisonKey = data?.filtersApplied?.date_range?.comparisonRange?.value;
16
+ const dateFilter = report?.filtersApplied?.find((filter) => filter.filterType == 'date_range');
17
+ const [rows, setRows] = (0, react_1.useState)(report?.rows ?? []);
18
+ const pivotData = (0, useQuill_1.usePivot)(report.id);
19
+ (0, react_1.useEffect)(() => {
20
+ if (pivotData.data) {
21
+ setRows(pivotData.data.rows);
22
+ }
23
+ }, [pivotData]);
24
+ const primaryMetricLabel = report?.filtersApplied?.date_range?.preset?.label;
25
+ const comparisonKey = report?.filtersApplied?.date_range?.comparisonRange?.value;
39
26
  const comparisonLabel = dateRangePickerUtils_1.COMPARISON_OPTIONS.find((opt) => opt.value === comparisonKey)?.text;
40
- const rows = pivotTable?.rows ?? data.rows ?? [];
41
- const isComparison = rows.length > 0 &&
42
- Object.keys(rows[0]).includes(`comparison_${data.xAxisField}`);
43
27
  return ((0, jsx_runtime_1.jsx)("div", { onClick: () => onClick && onClick(report), style: {
44
28
  cursor: 'pointer',
45
29
  boxSizing: 'content-box',
@@ -77,7 +61,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
77
61
  display: 'block',
78
62
  maxWidth: '100%',
79
63
  overflow: 'hidden',
80
- }, children: report?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
64
+ }, children: report?.name }), onClick && report?.name ? ((0, jsx_runtime_1.jsx)("div", { style: {
81
65
  fontFamily: theme.fontFamily,
82
66
  color: theme.primaryTextColor,
83
67
  boxSizing: 'content-box',
@@ -90,7 +74,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
90
74
  }, children: 'view report →' })) : null] }), isLoading ? ((0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, { containerStyle: {
91
75
  maxHeight: '78px',
92
76
  height: '100%',
93
- } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : rows?.length === 0 || rows[0][data.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
77
+ } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, {})) : rows?.length === 0 || rows[0][report.xAxisField] === null ? ((0, jsx_runtime_1.jsx)("div", { style: {
94
78
  display: 'flex',
95
79
  flex: '1 0 auto',
96
80
  height: '100%',
@@ -129,17 +113,17 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
129
113
  marginRight: 'auto',
130
114
  }, children: [(0, jsx_runtime_1.jsx)("span", { children: rows.length > 0 &&
131
115
  (0, valueFormatter_1.valueFormatter)({
132
- value: rows[0][data.xAxisField] ?? 0,
133
- field: data.xAxisField,
116
+ value: rows[0][report.xAxisField] ?? 0,
117
+ field: report.xAxisField,
134
118
  fields: [
135
119
  {
136
- field: data.xAxisField,
137
- format: data.xAxisFormat,
138
- label: data.xAxisLabel,
139
- _id: data.id || 'dummy',
120
+ field: report.xAxisField,
121
+ format: report.xAxisFormat,
122
+ label: report.xAxisLabel,
123
+ _id: report.id || 'dummy',
140
124
  },
141
125
  ],
142
- }) }), isComparison && ((0, jsx_runtime_1.jsx)("span", { style: {
126
+ }) }), dateFilter?.comparison && ((0, jsx_runtime_1.jsx)("span", { style: {
143
127
  fontSize: 13,
144
128
  fontWeight: '500',
145
129
  fontFamily: theme?.fontFamily,
@@ -147,7 +131,7 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
147
131
  marginLeft: 2,
148
132
  }, children: primaryMetricLabel
149
133
  ? `in ${primaryMetricLabel.toLowerCase()}`
150
- : 'this period' }))] }), isComparison && ((0, jsx_runtime_1.jsxs)("div", { style: {
134
+ : 'this period' }))] }), dateFilter?.comparison && ((0, jsx_runtime_1.jsxs)("div", { style: {
151
135
  display: 'flex',
152
136
  gap: 4,
153
137
  alignItems: 'baseline',
@@ -160,14 +144,14 @@ function QuillMetricComponent({ report, onClick, error, isLoading, }) {
160
144
  color: theme?.secondaryTextColor,
161
145
  }, children: rows.length > 0 &&
162
146
  (0, valueFormatter_1.valueFormatter)({
163
- value: rows[0][`comparison_${data.xAxisField}`] ?? 0,
164
- field: data.xAxisField,
147
+ value: rows[0][`comparison_${report.xAxisField}`] ?? 0,
148
+ field: report.xAxisField,
165
149
  fields: [
166
150
  {
167
- field: data.xAxisField,
168
- format: data.xAxisFormat,
169
- label: data.xAxisLabel,
170
- _id: data.id || 'dummy',
151
+ field: report.xAxisField,
152
+ format: report.xAxisFormat,
153
+ label: report.xAxisLabel,
154
+ _id: report.id || 'dummy',
171
155
  },
172
156
  ],
173
157
  }) }), (0, jsx_runtime_1.jsx)("span", { style: {
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,GACb,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAuLhC"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,GACb,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAoJhC"}
@@ -6,62 +6,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const jsx_runtime_1 = require("react/jsx-runtime");
7
7
  const react_1 = require("react");
8
8
  const QuillTable_1 = __importDefault(require("../QuillTable"));
9
- const PivotModal_1 = require("../../internals/ReportBuilder/PivotModal");
10
- const Context_1 = require("../../Context");
11
9
  const valueFormatter_1 = require("../../utils/valueFormatter");
12
10
  const ChartSkeleton_1 = __importDefault(require("../Chart/ChartSkeleton"));
13
11
  const ChartError_1 = __importDefault(require("../Chart/ChartError"));
14
12
  const hooks_1 = require("../../hooks");
15
13
  const useExport_1 = require("../../hooks/useExport");
14
+ const useQuill_1 = require("../../hooks/useQuill");
16
15
  function QuillTableComponent({ report, onClick, isLoading, error, onPageChange, onSortChange, }) {
17
16
  const theme = (0, hooks_1.useTheme)();
18
- const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
19
17
  const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
20
18
  const { downloadCSV } = (0, useExport_1.useExport)(report?.id);
19
+ const pivotData = (0, useQuill_1.usePivot)(report.id);
20
+ const [rows, setRows] = (0, react_1.useState)(report?.rows ?? []);
21
+ const [columns, setColumns] = (0, react_1.useState)(report?.columns ?? report?.yAxisFields ?? []);
22
+ (0, react_1.useEffect)(() => {
23
+ if (!report.rows || !report.columns) {
24
+ return;
25
+ }
26
+ if (report.pivot !== null && pivotData.data) {
27
+ setRows(pivotData.data.rows);
28
+ setColumns(pivotData.data.columns);
29
+ }
30
+ else {
31
+ setRows(report?.rows ?? []);
32
+ setColumns(report?.columns ?? report?.yAxisFields ?? []);
33
+ }
34
+ }, [pivotData, report]);
21
35
  (0, react_1.useEffect)(() => {
22
36
  if (!isLoading) {
23
37
  setInitialLoad(false);
24
38
  }
25
39
  }, [isLoading]);
26
- const config = report;
27
- const data = report;
28
- const dateFilter = Object.values(dashboardFilters).find((filter) => filter.filterType == 'date_range');
29
- const pivotTable = (0, react_1.useMemo)(() => {
30
- const pivot = config?.pivot;
31
- const data = config;
32
- return pivot && data?.rows
33
- ? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
34
- dateFilter
35
- ? { start: dateFilter.startDate, end: dateFilter.endDate }
36
- : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
37
- dateFilter?.comparisonRange?.endDate
38
- ? {
39
- start: dateFilter.comparisonRange.startDate,
40
- end: dateFilter.comparisonRange.endDate,
41
- }
42
- : undefined)
43
- : null;
44
- }, [config?.pivot]);
45
- const columns = pivotTable?.columns ?? data.columns ?? data.yAxisFields;
46
- const rows = pivotTable?.rows ?? data.rows ?? [];
47
- // FOR PIVOTS - ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
48
- const valueFieldType = config?.pivot?.valueFieldType || undefined;
49
- // Walk through data.columns and pick off the labels from yAxisFields
50
- columns.forEach((col, index) => {
51
- // ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
52
- if ((valueFieldType ||
53
- ['min', 'max'].includes(config?.pivot?.aggregationType || '')) &&
54
- index !== 0) {
55
- col.format = valueFieldType || 'two_decimal_places';
56
- }
57
- if (!data.yAxisFields)
58
- return;
59
- const matchingCol = data.yAxisFields.find((c) => c.field === col.field);
60
- if (!col.label && matchingCol) {
61
- col.label = matchingCol.label;
62
- col.format = matchingCol.format;
63
- }
64
- });
65
40
  const formattedRows = rows.map((row) => {
66
41
  return columns.reduce((formattedRow, column) => {
67
42
  // Apply the format function to each field in the row
@@ -74,14 +49,15 @@ function QuillTableComponent({ report, onClick, isLoading, error, onPageChange,
74
49
  }, {});
75
50
  });
76
51
  let numberOfRows = undefined;
77
- if (data.compareRows &&
78
- data.compareRows[0] &&
79
- (data.compareRows[0].count || data.compareRows[0].COUNT)) {
80
- if (data.compareRows[0].COUNT) {
81
- numberOfRows = parseInt(data.compareRows[0].COUNT);
52
+ if (report &&
53
+ report.compareRows &&
54
+ report.compareRows[0] &&
55
+ (report.compareRows[0].count || report.compareRows[0].COUNT)) {
56
+ if (report.compareRows[0].COUNT) {
57
+ numberOfRows = parseInt(report.compareRows[0].COUNT);
82
58
  }
83
- else if (data.compareRows[0].count) {
84
- numberOfRows = parseInt(data.compareRows[0].count);
59
+ else if (report.compareRows[0].count) {
60
+ numberOfRows = parseInt(report.compareRows[0].count);
85
61
  }
86
62
  }
87
63
  return ((0, jsx_runtime_1.jsxs)("div", { style: { cursor: 'pointer' }, onClick: () => onClick && onClick(report), children: [(0, jsx_runtime_1.jsxs)("div", { style: {
@@ -103,7 +79,7 @@ function QuillTableComponent({ report, onClick, isLoading, error, onPageChange,
103
79
  display: 'block',
104
80
  maxWidth: '100%',
105
81
  overflow: 'hidden',
106
- }, children: report?.name }), onClick ? ((0, jsx_runtime_1.jsx)("div", { style: {
82
+ }, children: report?.name }), onClick && report?.name ? ((0, jsx_runtime_1.jsx)("div", { style: {
107
83
  fontFamily: theme.fontFamily,
108
84
  color: theme.primaryTextColor,
109
85
  boxSizing: 'content-box',
@@ -119,7 +95,7 @@ function QuillTableComponent({ report, onClick, isLoading, error, onPageChange,
119
95
  } })) : error ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, { containerStyle: {
120
96
  width: '100%',
121
97
  height: '400px',
122
- } })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows: formattedRows ?? [], numberOfRows: numberOfRows, columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
98
+ } })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { isLoading: isLoading, rows: formattedRows ?? [], numberOfRows: numberOfRows, columns: columns, rowsPerPage: 10, containerStyle: {
123
99
  width: '100%',
124
100
  height: '400px',
125
101
  }, downloadCSV: () => {
@@ -128,6 +104,6 @@ function QuillTableComponent({ report, onClick, isLoading, error, onPageChange,
128
104
  onPageChange && onPageChange(page);
129
105
  }, onSortChange: (sort) => {
130
106
  onSortChange && onSortChange(sort);
131
- }, currentPage: data.page, sort: data.sort }))] }, report?.name));
107
+ }, currentPage: report?.page, sort: report?.sort }))] }, report?.name));
132
108
  }
133
109
  exports.default = QuillTableComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,kBAAmB,MAAM;;;;qCASF,MAAM;CAiDrD,CAAC"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,kBAAmB,MAAM;;;;qCASF,MAAM;CAkDrD,CAAC"}
@@ -16,9 +16,9 @@ const useDashboard = (dashboardName) => {
16
16
  getDashboards(overrideDashboardName ?? dashboardName);
17
17
  };
18
18
  async function getDashboards(dashboardName) {
19
+ setIsLoading(true);
19
20
  if (dashboardName === null || dashboardName === undefined)
20
21
  return;
21
- setIsLoading(true);
22
22
  const { databaseType, publicKey, customerId } = client;
23
23
  try {
24
24
  const searchParams = new URLSearchParams({
@@ -37,14 +37,15 @@ const useDashboard = (dashboardName) => {
37
37
  };
38
38
  const resp = await (0, dataFetcher_1.getData)(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
39
39
  setData(resp);
40
+ setIsLoading(false);
40
41
  setError(null);
41
42
  }
42
43
  catch (error) {
43
44
  setError(null);
45
+ setIsLoading(false);
44
46
  setError(error);
45
47
  console.error('Error fetching data:', error);
46
48
  }
47
- setIsLoading(false);
48
49
  }
49
50
  (0, react_1.useEffect)(() => {
50
51
  getDashboards(dashboardName);
@@ -43,5 +43,12 @@ export declare const useQuill: (reportId?: string) => {
43
43
  loading: boolean;
44
44
  error: string | null;
45
45
  };
46
+ export declare const usePivot: (reportId?: string) => {
47
+ data: {
48
+ rows: any[];
49
+ columns: Column[];
50
+ } | undefined;
51
+ error: string | undefined;
52
+ };
46
53
  export {};
47
54
  //# sourceMappingURL=useQuill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useQuill.ts"],"names":[],"mappings":"AAWA,UAAU,MAAM;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,cACR,MAAM;UAEX,WAAW,GAAG,IAAI;aACf,OAAO;WACT,MAAM,GAAG,IAAI;CA0FrB,CAAC"}
1
+ {"version":3,"file":"useQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useQuill.ts"],"names":[],"mappings":"AAWA,UAAU,MAAM;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,QAAQ,cACR,MAAM;UAEX,WAAW,GAAG,IAAI;aACf,OAAO;WACT,MAAM,GAAG,IAAI;CAkGrB,CAAC;AAaF,eAAO,MAAM,QAAQ,cACR,MAAM;UAEX;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS;WAC7C,MAAM,GAAG,SAAS;CA4C1B,CAAC"}