@quillsql/react 2.13.2 → 2.13.3

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 (105) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +3 -13
  3. package/dist/cjs/ChartBuilder.d.ts +1 -1
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +2 -2
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +1 -3
  8. package/dist/cjs/Context.d.ts +51 -15
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +30 -23
  11. package/dist/cjs/Dashboard.d.ts +1 -1
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +39 -39
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -1
  15. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  16. package/dist/cjs/ReportBuilder.js +179 -114
  17. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  18. package/dist/cjs/SQLEditor.js +18 -11
  19. package/dist/cjs/Table.js +1 -1
  20. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  21. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/DataLoader.js +4 -3
  23. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  24. package/dist/cjs/components/Dashboard/MetricComponent.js +14 -3
  25. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
  26. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  27. package/dist/cjs/components/QuillMultiSelectWithCombo.js +6 -2
  28. package/dist/cjs/components/QuillSelect.js +3 -3
  29. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  30. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  31. package/dist/cjs/components/QuillSelectWithCombo.js +13 -3
  32. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +33 -0
  33. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  34. package/dist/cjs/components/ReportBuilder/FilterStack.js +121 -0
  35. package/dist/cjs/components/UiComponents.d.ts +1 -0
  36. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  37. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  38. package/dist/cjs/hooks/useDashboard.js +41 -46
  39. package/dist/cjs/hooks/useExport.d.ts +14 -1
  40. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  41. package/dist/cjs/hooks/useExport.js +120 -38
  42. package/dist/cjs/models/Client.d.ts +2 -0
  43. package/dist/cjs/models/Client.d.ts.map +1 -1
  44. package/dist/cjs/models/Filter.d.ts +1 -1
  45. package/dist/cjs/models/Filter.d.ts.map +1 -1
  46. package/dist/cjs/utils/client.d.ts.map +1 -1
  47. package/dist/cjs/utils/client.js +1 -0
  48. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  49. package/dist/cjs/utils/dashboard.js +3 -1
  50. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  51. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  52. package/dist/cjs/utils/filterProcessing.js +3 -3
  53. package/dist/esm/Chart.d.ts.map +1 -1
  54. package/dist/esm/Chart.js +3 -13
  55. package/dist/esm/ChartBuilder.d.ts +1 -1
  56. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  57. package/dist/esm/ChartBuilder.js +2 -2
  58. package/dist/esm/ChartEditor.d.ts.map +1 -1
  59. package/dist/esm/ChartEditor.js +1 -3
  60. package/dist/esm/Context.d.ts +51 -15
  61. package/dist/esm/Context.d.ts.map +1 -1
  62. package/dist/esm/Context.js +29 -22
  63. package/dist/esm/Dashboard.d.ts +1 -1
  64. package/dist/esm/Dashboard.d.ts.map +1 -1
  65. package/dist/esm/Dashboard.js +41 -41
  66. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +1 -1
  67. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  68. package/dist/esm/ReportBuilder.js +182 -117
  69. package/dist/esm/SQLEditor.d.ts.map +1 -1
  70. package/dist/esm/SQLEditor.js +18 -11
  71. package/dist/esm/Table.js +1 -1
  72. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  73. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  74. package/dist/esm/components/Dashboard/DataLoader.js +4 -3
  75. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  76. package/dist/esm/components/Dashboard/MetricComponent.js +14 -3
  77. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
  78. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  79. package/dist/esm/components/QuillMultiSelectWithCombo.js +6 -2
  80. package/dist/esm/components/QuillSelect.js +3 -3
  81. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  82. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  83. package/dist/esm/components/QuillSelectWithCombo.js +13 -3
  84. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +33 -0
  85. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  86. package/dist/esm/components/ReportBuilder/FilterStack.js +118 -0
  87. package/dist/esm/components/UiComponents.d.ts +1 -0
  88. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  89. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  90. package/dist/esm/hooks/useDashboard.js +41 -46
  91. package/dist/esm/hooks/useExport.d.ts +14 -1
  92. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  93. package/dist/esm/hooks/useExport.js +122 -40
  94. package/dist/esm/models/Client.d.ts +2 -0
  95. package/dist/esm/models/Client.d.ts.map +1 -1
  96. package/dist/esm/models/Filter.d.ts +1 -1
  97. package/dist/esm/models/Filter.d.ts.map +1 -1
  98. package/dist/esm/utils/client.d.ts.map +1 -1
  99. package/dist/esm/utils/client.js +1 -0
  100. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  101. package/dist/esm/utils/dashboard.js +3 -1
  102. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  103. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  104. package/dist/esm/utils/filterProcessing.js +3 -3
  105. package/package.json +3 -3
@@ -47,7 +47,7 @@ function displaySelectedOptionLabels({ options, value, }) {
47
47
  /**
48
48
  * A robust select component that implements the new minimal Select interface.
49
49
  */
50
- function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, }) {
50
+ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, }) {
51
51
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
52
52
  const [selectedOptions, setSelectedOptions] = (0, react_1.useState)([]);
53
53
  const [showModal, setShowModal] = (0, react_1.useState)(false);
@@ -150,8 +150,12 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
150
150
  height: 40,
151
151
  minHeight: 40,
152
152
  maxHeight: 40,
153
- }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
153
+ }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
154
154
  .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
155
+ .quill-select-button:disabled {
156
+ cursor: not-allowed;
157
+ background: ${theme?.hoverBackgroundColor};
158
+ }
155
159
  ` }), (0, jsx_runtime_1.jsx)("span", { style: {
156
160
  textOverflow: 'ellipsis',
157
161
  whiteSpace: 'nowrap',
@@ -66,8 +66,8 @@ function QuillSelectComponent({ options, value, width, onChange, label, isLoadin
66
66
  }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: `
67
67
  .quill-select-button { background: ${theme?.backgroundColor}; }
68
68
  .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
69
- .quill-select-button:disabled {
70
- opacity: 0.5;
69
+ .quill-select-button:disabled, {
70
+ background: ${theme?.hoverBackgroundColor};
71
71
  cursor: not-allowed;
72
72
  }
73
73
  ` }), (0, jsx_runtime_1.jsx)("span", { style: {
@@ -94,7 +94,7 @@ function QuillSelectComponent({ options, value, width, onChange, label, isLoadin
94
94
  fontFamily: theme?.fontFamily,
95
95
  maxHeight: '50vh',
96
96
  overflow: 'scroll',
97
- }, children: [!isLoading && !hideEmptyOption && ((0, jsx_runtime_1.jsxs)("button", { style: {
97
+ }, children: [!isLoading && (!hideEmptyOption || !options.length) && ((0, jsx_runtime_1.jsxs)("button", { style: {
98
98
  display: 'flex',
99
99
  alignItems: 'center',
100
100
  justifyContent: 'space-between',
@@ -2,5 +2,5 @@ import { SelectComponentProps } from './UiComponents';
2
2
  /**
3
3
  * A robust select component that implements the new minimal Select interface.
4
4
  */
5
- export declare function QuillSelectComponentWithCombo({ options, value, width, onChange, label, isLoading, hideEmptyOption, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function QuillSelectComponentWithCombo({ options, value, width, onChange, label, isLoading, hideEmptyOption, disabled, }: SelectComponentProps): import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=QuillSelectWithCombo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAWtE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,eAAe,GAChB,EAAE,oBAAoB,2CA8QtB"}
1
+ {"version":3,"file":"QuillSelectWithCombo.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelectWithCombo.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAWtE;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,EAC5C,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,oBAAoB,2CAyRtB"}
@@ -33,7 +33,7 @@ const QuillMultiSelectWithCombo_1 = require("./QuillMultiSelectWithCombo");
33
33
  /**
34
34
  * A robust select component that implements the new minimal Select interface.
35
35
  */
36
- function QuillSelectComponentWithCombo({ options, value, width, onChange, label, isLoading, hideEmptyOption, }) {
36
+ function QuillSelectComponentWithCombo({ options, value, width, onChange, label, isLoading, hideEmptyOption, disabled, }) {
37
37
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
38
38
  const [showModal, setShowModal] = (0, react_1.useState)(false);
39
39
  const modalRef = (0, react_1.useRef)(null);
@@ -116,7 +116,15 @@ function QuillSelectComponentWithCombo({ options, value, width, onChange, label,
116
116
  height: 40,
117
117
  minHeight: 40,
118
118
  maxHeight: 40,
119
- }, className: "quill-select-button", onClick: () => setShowModal((showModal) => !showModal), children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; } .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }` }), (0, jsx_runtime_1.jsx)("span", { style: {
119
+ }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, children: [(0, jsx_runtime_1.jsx)("style", { children: `
120
+ .quill-select-button { background: ${theme?.backgroundColor}; }
121
+ .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
122
+ .quill-select-button:disabled {
123
+ cursor: not-allowed;
124
+ background: ${theme?.hoverBackgroundColor};
125
+ }
126
+
127
+ ` }), (0, jsx_runtime_1.jsx)("span", { style: {
120
128
  textOverflow: 'ellipsis',
121
129
  whiteSpace: 'nowrap',
122
130
  overflow: 'hidden',
@@ -143,7 +151,9 @@ function QuillSelectComponentWithCombo({ options, value, width, onChange, label,
143
151
  fontSize: 14,
144
152
  }, children: [options && options.length > 20 && !isLoading && ((0, jsx_runtime_1.jsx)(QuillMultiSelectWithCombo_1.ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
145
153
  setSearchQuery(value);
146
- } })), searchQuery === '' && !isLoading && !hideEmptyOption && ((0, jsx_runtime_1.jsxs)("button", { style: {
154
+ } })), searchQuery === '' &&
155
+ !isLoading &&
156
+ (!hideEmptyOption || !options.length) && ((0, jsx_runtime_1.jsxs)("button", { style: {
147
157
  display: 'flex',
148
158
  alignItems: 'center',
149
159
  justifyContent: 'space-between',
@@ -0,0 +1,33 @@
1
+ import { FilterTreeNode } from '../../utils/astFilterProcessing';
2
+ interface FilterStackProps {
3
+ client: any;
4
+ filterStack: FilterTreeNode[];
5
+ filterTree: FilterTreeNode | null;
6
+ defaultAST: any;
7
+ baseAst: any;
8
+ setBaseAst: any;
9
+ setFormData: any;
10
+ fetchSqlQuery: any;
11
+ schemaData: any;
12
+ defaultColumn: any;
13
+ defaultTable: any;
14
+ currentTable: any;
15
+ initialTableName: string;
16
+ globalUniqueValues: any;
17
+ globalUniqueValuesIsLoading: boolean;
18
+ columns: any;
19
+ removingFilter: any;
20
+ setRemovingFilter: any;
21
+ TabsComponent: any;
22
+ FilterPopoverComponent: any;
23
+ FilterModal: any;
24
+ ButtonComponent: any;
25
+ SecondaryButtonComponent: any;
26
+ SelectComponent: any;
27
+ TextInputComponent: any;
28
+ MultiSelectComponent: any;
29
+ actionsEnabled: boolean;
30
+ }
31
+ export default function FilterStack({ client, filterStack, filterTree, defaultAST, baseAst, setBaseAst, setFormData, fetchSqlQuery, schemaData, defaultColumn, defaultTable, currentTable, initialTableName, globalUniqueValues, globalUniqueValuesIsLoading, columns, removingFilter, setRemovingFilter, TabsComponent, FilterPopoverComponent, FilterModal, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, actionsEnabled, }: FilterStackProps): import("react/jsx-runtime").JSX.Element;
32
+ export {};
33
+ //# sourceMappingURL=FilterStack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterStack.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/FilterStack.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EAEf,MAAM,iCAAiC,CAAC;AAUzC,UAAU,gBAAgB;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC;IAChB,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,GAAG,CAAC;IACxB,2BAA2B,EAAE,OAAO,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC;IACb,cAAc,EAAE,GAAG,CAAC;IACpB,iBAAiB,EAAE,GAAG,CAAC;IACvB,aAAa,EAAE,GAAG,CAAC;IACnB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC;IACrB,wBAAwB,EAAE,GAAG,CAAC;IAC9B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,WAAW,EACX,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,cAAqB,GACtB,EAAE,gBAAgB,2CAgLlB"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const ReportBuilder_1 = require("../../ReportBuilder");
5
+ const astFilterProcessing_1 = require("../../utils/astFilterProcessing");
6
+ const astProcessing_1 = require("../../utils/astProcessing");
7
+ const filterProcessing_1 = require("../../utils/filterProcessing");
8
+ const UiComponents_1 = require("../UiComponents");
9
+ const ui_1 = require("./ui");
10
+ const util_1 = require("./util");
11
+ function FilterStack({ client, filterStack, filterTree, defaultAST, baseAst, setBaseAst, setFormData, fetchSqlQuery, schemaData, defaultColumn, defaultTable, currentTable, initialTableName, globalUniqueValues, globalUniqueValuesIsLoading, columns, removingFilter, setRemovingFilter, TabsComponent, FilterPopoverComponent, FilterModal, ButtonComponent, SecondaryButtonComponent, SelectComponent, TextInputComponent, MultiSelectComponent, actionsEnabled = true, }) {
12
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
13
+ display: 'flex',
14
+ flexDirection: 'column',
15
+ }, children: filterStack.map((item, index) => {
16
+ if (!item.leaf && (item.operator === 'and' || item.operator === 'or')) {
17
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
18
+ width: 'fit-content',
19
+ marginBottom: '8px',
20
+ marginTop: '8px',
21
+ }, children: (0, jsx_runtime_1.jsx)(TabsComponent, { value: item.operator.toUpperCase(), options: UiComponents_1.DEFAULT_TAB_OPTIONS, onChange: () => {
22
+ if (item.operator === 'and') {
23
+ item.operator = 'or';
24
+ }
25
+ else {
26
+ item.operator = 'and';
27
+ }
28
+ let newFormData = null;
29
+ if (filterTree) {
30
+ newFormData = (0, astFilterProcessing_1.filterTreeToAst)(filterTree, client.databaseType.toLowerCase());
31
+ }
32
+ const newAst = (0, util_1.deepCopy)({
33
+ ...defaultAST,
34
+ ...baseAst,
35
+ ...(!baseAst?.columns && {
36
+ columns: (0, astProcessing_1.getAllPossibleColumns)(baseAst, schemaData.schema).map((c) => {
37
+ const newColumn = (0, util_1.deepCopy)(defaultColumn);
38
+ newColumn.expr.column = c.field;
39
+ return newColumn;
40
+ }),
41
+ }),
42
+ ...(!baseAst?.from && {
43
+ from: [{ ...defaultTable, table: initialTableName }],
44
+ }),
45
+ where: newFormData,
46
+ });
47
+ setBaseAst(newAst);
48
+ setFormData(newFormData);
49
+ fetchSqlQuery(newAst, newFormData);
50
+ } }) }, index));
51
+ }
52
+ else if (item.value) {
53
+ return ((0, jsx_runtime_1.jsx)(ui_1.FilterPopoverWrapper, { schema: schemaData.schema.find((s) => s.name === currentTable || s.displayName === currentTable) ?? schemaData.schema[0], filter: item.value, filterLabel: item.value ? (0, filterProcessing_1.filterSentence)(item.value) : '', index: index, FilterTagComponent: FilterPopoverComponent, FilterModal: FilterModal, fieldValuesMap: globalUniqueValues, fieldValuesMapIsLoading: globalUniqueValuesIsLoading, priorFilters: filterStack.slice(0, index > 0 ? index - 1 : 0), columns: columns, client: client, customFields: schemaData.customFields, baseAst: baseAst, endpoint: ReportBuilder_1.QUILL_SERVER, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, handleFilterSave: (filter) => {
54
+ item.value = filter;
55
+ let newFormData = null;
56
+ if (filterTree) {
57
+ newFormData = (0, astFilterProcessing_1.filterTreeToAst)(filterTree, client.databaseType.toLowerCase());
58
+ }
59
+ const newAst = (0, util_1.deepCopy)({
60
+ ...defaultAST,
61
+ ...baseAst,
62
+ ...(!baseAst?.columns && {
63
+ columns: (0, astProcessing_1.getAllPossibleColumns)(baseAst, schemaData.schema).map((c) => {
64
+ const newColumn = (0, util_1.deepCopy)(defaultColumn);
65
+ newColumn.expr.column = c.field;
66
+ return newColumn;
67
+ }),
68
+ }),
69
+ ...(!baseAst?.from && {
70
+ from: [{ ...defaultTable, table: initialTableName }],
71
+ }),
72
+ where: newFormData,
73
+ });
74
+ setBaseAst(newAst);
75
+ setFormData(newFormData);
76
+ fetchSqlQuery(newAst, newFormData);
77
+ }, handleFilterDelete: (i) => {
78
+ if (!removingFilter) {
79
+ setRemovingFilter(true);
80
+ const newStack = filterStack;
81
+ if (i > 0) {
82
+ newStack.splice(i - 1, 2);
83
+ }
84
+ else {
85
+ if (filterStack.length > 1) {
86
+ newStack.splice(i, 2);
87
+ }
88
+ else {
89
+ newStack.splice(i, 1);
90
+ }
91
+ }
92
+ const tree = (0, filterProcessing_1.filterStackToFilterTree)(newStack);
93
+ let newFormData = null;
94
+ if (tree) {
95
+ newFormData = (0, astFilterProcessing_1.filterTreeToAst)(tree, client.databaseType.toLowerCase());
96
+ }
97
+ const newAst = (0, util_1.deepCopy)({
98
+ ...defaultAST,
99
+ ...baseAst,
100
+ ...(!baseAst?.columns && {
101
+ columns: (0, astProcessing_1.getAllPossibleColumns)(baseAst, schemaData.schema).map((c) => {
102
+ const newColumn = (0, util_1.deepCopy)(defaultColumn);
103
+ newColumn.expr.column = c.field;
104
+ return newColumn;
105
+ }),
106
+ }),
107
+ ...(!baseAst?.from && {
108
+ from: [{ ...defaultTable, table: initialTableName }],
109
+ }),
110
+ where: newFormData,
111
+ });
112
+ setBaseAst(newAst);
113
+ setFormData(newFormData);
114
+ fetchSqlQuery(newAst, newFormData);
115
+ setRemovingFilter(false);
116
+ }
117
+ }, disabled: !actionsEnabled }, `filter_${index}_${item.value ? (0, filterProcessing_1.filterSentence)(item.value) : ''}`));
118
+ }
119
+ }) }));
120
+ }
121
+ exports.default = FilterStack;
@@ -106,6 +106,7 @@ export interface MultiSelectComponentProps {
106
106
  };
107
107
  }) => void;
108
108
  isLoading?: boolean;
109
+ disabled?: boolean;
109
110
  }
110
111
  export interface HeaderComponentProps {
111
112
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,UAAU;gDAYC,mBAAmB,KAAK,OAAO;CAYtD,CAAC;AAEF,eAAO,MAAM,YAAY,kBAAmB,MAAM;;;;2CAiQF,MAAM;;qCA3O1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE;CAqP9E,CAAC"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDashboard.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,UAAU;gDAYC,mBAAmB,KAAK,OAAO;CAYtD,CAAC;AAEF,eAAO,MAAM,YAAY,kBAAmB,MAAM;;;;2CA0PF,MAAM;;qCApO1B,MAAM,4CAEf;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,oBACiB;QAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE;CA8O9E,CAAC"}
@@ -15,7 +15,7 @@ const useReports = () => {
15
15
  dispatch({
16
16
  type: 'UPDATE_DASHBOARD_ITEM',
17
17
  id: id,
18
- data: { ...dashboard[id], triggerReload: true },
18
+ data: { triggerReload: true },
19
19
  });
20
20
  };
21
21
  const reloadFilteredReports = (predicate) => {
@@ -42,8 +42,6 @@ const useDashboard = (dashboardName) => {
42
42
  (dashboardConfig[dashboardName] &&
43
43
  !dashboardConfig[dashboardName]?.sections), [isLoading, isClientLoading, dashboardConfig, dashboardName]);
44
44
  const handleReload = async (overrideDashboardName, fetchFromServer = false, reportAction, overrideFilters) => {
45
- if (!fetchFromServer && isLoading)
46
- return;
47
45
  if (overrideFilters) {
48
46
  // Pull the date filter out of the override filters, process it, and append it to the filters
49
47
  const dateFilter = overrideFilters.filters.find((f) => f.filterType === 'date_range');
@@ -121,56 +119,53 @@ const useDashboard = (dashboardName) => {
121
119
  ]);
122
120
  };
123
121
  async function getDashboards(dashboardName, fetchFromServer = false, reportAction) {
124
- const curDashboardConfig = dashboardConfig[dashboardName];
122
+ let curDashboardConfig = dashboardConfig[dashboardName];
125
123
  if (!fetchFromServer && curDashboardConfig?.sections) {
126
124
  if (reportAction?.action === 'delete') {
127
- dashboardConfigContext({
128
- type: 'UPDATE_DASHBOARD',
129
- id: dashboardName,
130
- data: {
131
- ...curDashboardConfig,
132
- sections: Object.fromEntries(Object.entries(curDashboardConfig?.sections ?? {}).map(([sectionKey, reports]) => [
133
- sectionKey,
134
- reports.filter((report) => report.id !== reportAction.report.id),
135
- ])),
136
- },
137
- });
125
+ curDashboardConfig = {
126
+ ...curDashboardConfig,
127
+ sections: Object.fromEntries(Object.entries(curDashboardConfig?.sections ?? {}).map(([sectionKey, reports]) => [
128
+ sectionKey,
129
+ reports.filter((report) => report.id !== reportAction.report.id),
130
+ ])),
131
+ };
138
132
  }
139
133
  else if (reportAction?.action === 'upsert') {
140
134
  const containsReport = Object.values(curDashboardConfig?.sections ?? {})
141
135
  .flat()
142
- .some((report) => (report.id ?? report._id) === reportAction?.report.id);
143
- dashboardConfigContext({
144
- type: 'UPDATE_DASHBOARD',
145
- id: dashboardName,
146
- data: {
147
- ...curDashboardConfig,
148
- sections: Object.fromEntries(Object.entries(curDashboardConfig?.sections ?? {}).map(([sectionKey, reports]) => [
149
- sectionKey,
150
- containsReport
151
- ? reports.map((report) => {
152
- return {
153
- report,
154
- ...(reportAction?.report.id === report.id
155
- ? reportAction?.report
156
- : dashboard[report.id]),
157
- _id: report.id,
158
- id: report.id,
159
- };
160
- })
161
- : [
162
- ...(reports ?? []),
163
- {
164
- report: reportAction?.report,
165
- ...dashboard[reportAction?.report.id],
166
- id: reportAction?.report.id,
167
- _id: reportAction?.report.id,
168
- },
169
- ],
170
- ])),
171
- },
172
- });
136
+ .some((report) => report.id === reportAction?.report.id);
137
+ curDashboardConfig = {
138
+ ...curDashboardConfig,
139
+ sections: Object.fromEntries(Object.entries(curDashboardConfig?.sections ?? {}).map(([sectionKey, reports]) => [
140
+ sectionKey,
141
+ containsReport
142
+ ? reports.map((report) => {
143
+ return {
144
+ report,
145
+ ...(reportAction?.report.id === report.id
146
+ ? reportAction?.report
147
+ : dashboard[report.id]),
148
+ _id: report.id,
149
+ id: report.id,
150
+ };
151
+ })
152
+ : [
153
+ ...(reports ?? []),
154
+ {
155
+ report: reportAction?.report,
156
+ ...dashboard[reportAction?.report.id],
157
+ id: reportAction?.report.id,
158
+ _id: reportAction?.report.id,
159
+ },
160
+ ],
161
+ ])),
162
+ };
173
163
  }
164
+ dashboardConfigContext({
165
+ type: 'UPDATE_DASHBOARD',
166
+ id: dashboardName,
167
+ data: curDashboardConfig,
168
+ });
174
169
  setIsLoading(false);
175
170
  return curDashboardConfig;
176
171
  }
@@ -1,6 +1,19 @@
1
- export declare const useExport: (reportId?: string) => {
1
+ /// <reference types="react" />
2
+ import { QuillReport } from '../models/Report';
3
+ export declare const useExport: (reportId?: string, { CustomDocumentComponent, maximumRowsPerPage, sectionField, }?: {
4
+ CustomDocumentComponent?: ((props: QuillPDFProps) => JSX.Element) | undefined;
5
+ maximumRowsPerPage?: number | undefined;
6
+ sectionField?: string | undefined;
7
+ }) => {
2
8
  downloadCSV: () => void;
3
9
  downloadPDF: () => void;
4
10
  isLoading: boolean;
5
11
  };
12
+ interface QuillPDFProps {
13
+ report: QuillReport;
14
+ pageNumber: number;
15
+ numberOfPages: number;
16
+ maximumRowsPerPage: number;
17
+ }
18
+ export {};
6
19
  //# sourceMappingURL=useExport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AA8DA,eAAO,MAAM,SAAS,cAAe,MAAM;;;;CA2D1C,CAAC"}
1
+ {"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwD/C,eAAO,MAAM,SAAS,cACT,MAAM;uCAOmB,aAAa,KAAK,WAAW;;;;;;;CA2LlE,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}