@quillsql/react 2.13.1 → 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 (147) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +7 -15
  3. package/dist/cjs/ChartBuilder.d.ts +4 -1
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +7 -7
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +40 -19
  8. package/dist/cjs/Context.d.ts +52 -16
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +34 -47
  11. package/dist/cjs/Dashboard.d.ts +5 -2
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +73 -83
  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.d.ts.map +1 -1
  20. package/dist/cjs/Table.js +6 -3
  21. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  22. package/dist/cjs/components/Dashboard/DataLoader.d.ts +6 -4
  23. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  24. package/dist/cjs/components/Dashboard/DataLoader.js +76 -68
  25. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  26. package/dist/cjs/components/Dashboard/MetricComponent.js +14 -3
  27. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  28. package/dist/cjs/components/Dashboard/TableComponent.js +8 -1
  29. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
  30. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  31. package/dist/cjs/components/QuillMultiSelectWithCombo.js +6 -2
  32. package/dist/cjs/components/QuillSelect.js +3 -3
  33. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  34. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  35. package/dist/cjs/components/QuillSelectWithCombo.js +13 -3
  36. package/dist/cjs/components/QuillTable.d.ts +1 -1
  37. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  38. package/dist/cjs/components/QuillTable.js +17 -14
  39. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +33 -0
  40. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  41. package/dist/cjs/components/ReportBuilder/FilterStack.js +121 -0
  42. package/dist/cjs/components/ReportBuilder/ui.d.ts +0 -1
  43. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  44. package/dist/cjs/components/ReportBuilder/ui.js +1 -13
  45. package/dist/cjs/components/UiComponents.d.ts +2 -1
  46. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  47. package/dist/cjs/components/UiComponents.js +3 -3
  48. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  49. package/dist/cjs/hooks/useDashboard.js +41 -50
  50. package/dist/cjs/hooks/useExport.d.ts +14 -1
  51. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  52. package/dist/cjs/hooks/useExport.js +120 -38
  53. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  54. package/dist/cjs/hooks/useQuill.js +3 -1
  55. package/dist/cjs/models/Client.d.ts +2 -0
  56. package/dist/cjs/models/Client.d.ts.map +1 -1
  57. package/dist/cjs/models/Dashboard.d.ts +1 -1
  58. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  59. package/dist/cjs/models/Filter.d.ts +1 -1
  60. package/dist/cjs/models/Filter.d.ts.map +1 -1
  61. package/dist/cjs/utils/client.d.ts.map +1 -1
  62. package/dist/cjs/utils/client.js +1 -0
  63. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  64. package/dist/cjs/utils/dashboard.js +6 -3
  65. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  66. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  67. package/dist/cjs/utils/filterProcessing.js +3 -3
  68. package/dist/cjs/utils/report.d.ts +2 -2
  69. package/dist/cjs/utils/report.d.ts.map +1 -1
  70. package/dist/cjs/utils/report.js +5 -4
  71. package/dist/cjs/utils/tableProcessing.d.ts +2 -2
  72. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  73. package/dist/cjs/utils/tableProcessing.js +3 -1
  74. package/dist/esm/Chart.d.ts.map +1 -1
  75. package/dist/esm/Chart.js +7 -15
  76. package/dist/esm/ChartBuilder.d.ts +4 -1
  77. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  78. package/dist/esm/ChartBuilder.js +7 -7
  79. package/dist/esm/ChartEditor.d.ts.map +1 -1
  80. package/dist/esm/ChartEditor.js +41 -20
  81. package/dist/esm/Context.d.ts +52 -16
  82. package/dist/esm/Context.d.ts.map +1 -1
  83. package/dist/esm/Context.js +33 -46
  84. package/dist/esm/Dashboard.d.ts +5 -2
  85. package/dist/esm/Dashboard.d.ts.map +1 -1
  86. package/dist/esm/Dashboard.js +75 -85
  87. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +1 -1
  88. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  89. package/dist/esm/ReportBuilder.js +182 -117
  90. package/dist/esm/SQLEditor.d.ts.map +1 -1
  91. package/dist/esm/SQLEditor.js +18 -11
  92. package/dist/esm/Table.d.ts.map +1 -1
  93. package/dist/esm/Table.js +6 -3
  94. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  95. package/dist/esm/components/Dashboard/DataLoader.d.ts +6 -4
  96. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  97. package/dist/esm/components/Dashboard/DataLoader.js +77 -69
  98. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  99. package/dist/esm/components/Dashboard/MetricComponent.js +14 -3
  100. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  101. package/dist/esm/components/Dashboard/TableComponent.js +8 -1
  102. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
  103. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  104. package/dist/esm/components/QuillMultiSelectWithCombo.js +6 -2
  105. package/dist/esm/components/QuillSelect.js +3 -3
  106. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  107. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  108. package/dist/esm/components/QuillSelectWithCombo.js +13 -3
  109. package/dist/esm/components/QuillTable.d.ts +1 -1
  110. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  111. package/dist/esm/components/QuillTable.js +17 -14
  112. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +33 -0
  113. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  114. package/dist/esm/components/ReportBuilder/FilterStack.js +118 -0
  115. package/dist/esm/components/ReportBuilder/ui.d.ts +0 -1
  116. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  117. package/dist/esm/components/ReportBuilder/ui.js +0 -8
  118. package/dist/esm/components/UiComponents.d.ts +2 -1
  119. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  120. package/dist/esm/components/UiComponents.js +3 -3
  121. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  122. package/dist/esm/hooks/useDashboard.js +41 -50
  123. package/dist/esm/hooks/useExport.d.ts +14 -1
  124. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  125. package/dist/esm/hooks/useExport.js +122 -40
  126. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  127. package/dist/esm/hooks/useQuill.js +3 -1
  128. package/dist/esm/models/Client.d.ts +2 -0
  129. package/dist/esm/models/Client.d.ts.map +1 -1
  130. package/dist/esm/models/Dashboard.d.ts +1 -1
  131. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  132. package/dist/esm/models/Filter.d.ts +1 -1
  133. package/dist/esm/models/Filter.d.ts.map +1 -1
  134. package/dist/esm/utils/client.d.ts.map +1 -1
  135. package/dist/esm/utils/client.js +1 -0
  136. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  137. package/dist/esm/utils/dashboard.js +6 -3
  138. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  139. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  140. package/dist/esm/utils/filterProcessing.js +3 -3
  141. package/dist/esm/utils/report.d.ts +2 -2
  142. package/dist/esm/utils/report.d.ts.map +1 -1
  143. package/dist/esm/utils/report.js +5 -4
  144. package/dist/esm/utils/tableProcessing.d.ts +2 -2
  145. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  146. package/dist/esm/utils/tableProcessing.js +3 -1
  147. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
- import { DEFAULT_TAB_OPTIONS, MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableSQLEditorComponent, } from './components/UiComponents';
3
+ import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedSecondaryButton, MemoizedText, MemoizedPopover, QuillTabs, MemoizedModal, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillColumnSearchEmptyState, QuillChartBuilderFormContainer, QuillLoadingComponent, QuillTableSQLEditorComponent, } from './components/UiComponents';
4
4
  import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
5
5
  import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
6
6
  import { CSS as DND_CSS } from '@dnd-kit/utilities';
@@ -8,7 +8,7 @@ import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataCon
8
8
  import { getTableNames, isNumericColumnType, } from './components/ReportBuilder/ast';
9
9
  import { ChartBuilderWithModal } from './ChartBuilder';
10
10
  import { QuillTextInput } from './components/UiComponents';
11
- import { QuillSidebar, CustomContainer, QuillSelectColumn, QuillDraggableColumn, QuillSidebarHeading, QuillFilterPopover, QuillSortPopover, QuillLimitPopover, FilterPopoverWrapper, } from './components/ReportBuilder/ui';
11
+ import { QuillSidebar, CustomContainer, QuillSelectColumn, QuillDraggableColumn, QuillSidebarHeading, QuillFilterPopover, QuillSortPopover, QuillLimitPopover, } from './components/ReportBuilder/ui';
12
12
  import { deepCopy } from './components/ReportBuilder/util';
13
13
  import { hashCode } from './utils/crypto';
14
14
  import { defaultAST, defaultColumn, defaultEntry, defaultNumericComparison, defaultTable, defaultVariant, } from './components/ReportBuilder/constants';
@@ -29,11 +29,12 @@ import { getDateBucketFromRange } from './utils/dates';
29
29
  import FilterModal from './components/ReportBuilder/FilterModal';
30
30
  import { astToFilterTree, filterToAst, filterTreeToAst, } from './utils/astFilterProcessing';
31
31
  import useAstToFilterTree from './hooks/useAstToFilterTree';
32
- import { filterSentence, filterStackToFilterTree, uniqueValuesToStringMap, } from './utils/filterProcessing';
32
+ import { uniqueValuesToStringMap } from './utils/filterProcessing';
33
33
  import { QuillMultiSelectComponentWithCombo } from './components/QuillMultiSelectWithCombo';
34
34
  import { shouldFetchMore, shouldSortInMemory, } from './utils/paginationProcessing';
35
35
  import { EMPTY_INTERNAL_REPORT, fetchReportBuilderDataFromAST, formatRowsFromReport, } from './utils/report';
36
36
  import equal from 'fast-deep-equal';
37
+ import FilterStack from './components/ReportBuilder/FilterStack';
37
38
  export const QUILL_SERVER = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
38
39
  'https://quill-344421.uc.r.appspot.com';
39
40
  /**
@@ -790,118 +791,182 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
790
791
  return;
791
792
  }
792
793
  };
793
- const renderFilters = (actionsEnabled = true) => {
794
- // Render filterStack
795
- return (_jsx("div", { style: {
796
- display: 'flex',
797
- flexDirection: 'column',
798
- }, children: filterStack.map((item, index) => {
799
- if (!item.leaf &&
800
- (item.operator === 'and' || item.operator === 'or')) {
801
- return (_jsx("div", { style: {
802
- width: 'fit-content',
803
- marginBottom: '8px',
804
- marginTop: '8px',
805
- }, children: _jsx(TabsComponent, { value: item.operator.toUpperCase(), options: DEFAULT_TAB_OPTIONS, onChange: () => {
806
- if (item.operator === 'and') {
807
- item.operator = 'or';
808
- }
809
- else {
810
- item.operator = 'and';
811
- }
812
- let newFormData = null;
813
- if (filterTree) {
814
- newFormData = filterTreeToAst(filterTree, client.databaseType.toLowerCase());
815
- }
816
- const newAst = deepCopy({
817
- ...defaultAST,
818
- ...baseAst,
819
- ...(!baseAst?.columns && {
820
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
821
- const newColumn = deepCopy(defaultColumn);
822
- newColumn.expr.column = c.field;
823
- return newColumn;
824
- }),
825
- }),
826
- ...(!baseAst?.from && {
827
- from: [{ ...defaultTable, table: initialTableName }],
828
- }),
829
- where: newFormData,
830
- });
831
- setBaseAst(newAst);
832
- setFormData(newFormData);
833
- fetchSqlQuery(newAst, newFormData);
834
- } }) }, index));
835
- }
836
- else if (item.value) {
837
- return (_jsx(FilterPopoverWrapper, { schema: schemaData.schema.find((s) => s.name === currentTable || s.displayName === currentTable) ?? schemaData.schema[0], filter: item.value, filterLabel: item.value ? 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: QUILL_SERVER, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, handleFilterSave: (filter) => {
838
- item.value = filter;
839
- let newFormData = null;
840
- if (filterTree) {
841
- newFormData = filterTreeToAst(filterTree, client.databaseType.toLowerCase());
842
- }
843
- const newAst = deepCopy({
844
- ...defaultAST,
845
- ...baseAst,
846
- ...(!baseAst?.columns && {
847
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
848
- const newColumn = deepCopy(defaultColumn);
849
- newColumn.expr.column = c.field;
850
- return newColumn;
851
- }),
852
- }),
853
- ...(!baseAst?.from && {
854
- from: [{ ...defaultTable, table: initialTableName }],
855
- }),
856
- where: newFormData,
857
- });
858
- setBaseAst(newAst);
859
- setFormData(newFormData);
860
- fetchSqlQuery(newAst, newFormData);
861
- }, handleFilterDelete: (i) => {
862
- if (!removingFilter) {
863
- setRemovingFilter(true);
864
- const newStack = filterStack;
865
- if (i > 0) {
866
- newStack.splice(i - 1, 2);
867
- }
868
- else {
869
- if (filterStack.length > 1) {
870
- newStack.splice(i, 2);
871
- }
872
- else {
873
- newStack.splice(i, 1);
874
- }
875
- }
876
- const tree = filterStackToFilterTree(newStack);
877
- let newFormData = null;
878
- if (tree) {
879
- newFormData = filterTreeToAst(tree, client.databaseType.toLowerCase());
880
- }
881
- const newAst = deepCopy({
882
- ...defaultAST,
883
- ...baseAst,
884
- ...(!baseAst?.columns && {
885
- columns: getAllPossibleColumns(baseAst, schemaData.schema).map((c) => {
886
- const newColumn = deepCopy(defaultColumn);
887
- newColumn.expr.column = c.field;
888
- return newColumn;
889
- }),
890
- }),
891
- ...(!baseAst?.from && {
892
- from: [{ ...defaultTable, table: initialTableName }],
893
- }),
894
- where: newFormData,
895
- });
896
- setBaseAst(newAst);
897
- setFormData(newFormData);
898
- fetchSqlQuery(newAst, newFormData);
899
- setRemovingFilter(false);
900
- }
901
- }, disabled: !actionsEnabled }, `filter_${index}_${item.value ? filterSentence(item.value) : ''}`));
902
- }
903
- }) }));
904
- };
794
+ // const renderFilters = (actionsEnabled = true) => {
795
+ // // Render filterStack
796
+ // return (
797
+ // <div
798
+ // style={{
799
+ // display: 'flex',
800
+ // flexDirection: 'column',
801
+ // }}
802
+ // >
803
+ // {filterStack.map((item, index) => {
804
+ // if (
805
+ // !item.leaf &&
806
+ // (item.operator === 'and' || item.operator === 'or')
807
+ // ) {
808
+ // return (
809
+ // <div
810
+ // style={{
811
+ // width: 'fit-content',
812
+ // marginBottom: '8px',
813
+ // marginTop: '8px',
814
+ // }}
815
+ // key={index}
816
+ // >
817
+ // <TabsComponent
818
+ // value={item.operator.toUpperCase()}
819
+ // options={DEFAULT_TAB_OPTIONS}
820
+ // onChange={() => {
821
+ // if (item.operator === 'and') {
822
+ // item.operator = 'or';
823
+ // } else {
824
+ // item.operator = 'and';
825
+ // }
826
+ // let newFormData = null;
827
+ // if (filterTree) {
828
+ // newFormData = filterTreeToAst(
829
+ // filterTree,
830
+ // client.databaseType.toLowerCase(),
831
+ // );
832
+ // }
833
+ // const newAst = deepCopy({
834
+ // ...defaultAST,
835
+ // ...baseAst,
836
+ // ...(!baseAst?.columns && {
837
+ // columns: getAllPossibleColumns(
838
+ // baseAst,
839
+ // schemaData.schema,
840
+ // ).map((c) => {
841
+ // const newColumn = deepCopy(defaultColumn);
842
+ // newColumn.expr.column = c.field;
843
+ // return newColumn;
844
+ // }),
845
+ // }),
846
+ // ...(!baseAst?.from && {
847
+ // from: [{ ...defaultTable, table: initialTableName }],
848
+ // }),
849
+ // where: newFormData,
850
+ // });
851
+ // setBaseAst(newAst);
852
+ // setFormData(newFormData);
853
+ // fetchSqlQuery(newAst, newFormData);
854
+ // }}
855
+ // />
856
+ // </div>
857
+ // );
858
+ // } else if (item.value) {
859
+ // return (
860
+ // <FilterPopoverWrapper
861
+ // key={`filter_${index}_${item.value ? filterSentence(item.value) : ''}`}
862
+ // schema={
863
+ // schemaData.schema.find(
864
+ // (s: Table) =>
865
+ // s.name === currentTable || s.displayName === currentTable,
866
+ // ) ?? schemaData.schema[0]
867
+ // }
868
+ // filter={item.value}
869
+ // filterLabel={item.value ? filterSentence(item.value) : ''}
870
+ // index={index}
871
+ // FilterTagComponent={FilterPopoverComponent}
872
+ // FilterModal={FilterModal}
873
+ // fieldValuesMap={globalUniqueValues}
874
+ // fieldValuesMapIsLoading={globalUniqueValuesIsLoading}
875
+ // priorFilters={filterStack.slice(0, index > 0 ? index - 1 : 0)}
876
+ // columns={columns}
877
+ // client={client}
878
+ // customFields={schemaData.customFields}
879
+ // baseAst={baseAst}
880
+ // endpoint={QUILL_SERVER}
881
+ // ButtonComponent={ButtonComponent}
882
+ // SecondaryButtonComponent={SecondaryButtonComponent}
883
+ // SelectComponent={SelectComponent}
884
+ // TextInputComponent={TextInputComponent}
885
+ // MultiSelectComponent={MultiSelectComponent}
886
+ // handleFilterSave={(filter: Filter) => {
887
+ // item.value = filter;
888
+ // let newFormData = null;
889
+ // if (filterTree) {
890
+ // newFormData = filterTreeToAst(
891
+ // filterTree,
892
+ // client.databaseType.toLowerCase(),
893
+ // );
894
+ // }
895
+ // const newAst = deepCopy({
896
+ // ...defaultAST,
897
+ // ...baseAst,
898
+ // ...(!baseAst?.columns && {
899
+ // columns: getAllPossibleColumns(
900
+ // baseAst,
901
+ // schemaData.schema,
902
+ // ).map((c) => {
903
+ // const newColumn = deepCopy(defaultColumn);
904
+ // newColumn.expr.column = c.field;
905
+ // return newColumn;
906
+ // }),
907
+ // }),
908
+ // ...(!baseAst?.from && {
909
+ // from: [{ ...defaultTable, table: initialTableName }],
910
+ // }),
911
+ // where: newFormData,
912
+ // });
913
+ // setBaseAst(newAst);
914
+ // setFormData(newFormData);
915
+ // fetchSqlQuery(newAst, newFormData);
916
+ // }}
917
+ // handleFilterDelete={(i: number) => {
918
+ // if (!removingFilter) {
919
+ // setRemovingFilter(true);
920
+ // const newStack = filterStack;
921
+ // if (i > 0) {
922
+ // newStack.splice(i - 1, 2);
923
+ // } else {
924
+ // if (filterStack.length > 1) {
925
+ // newStack.splice(i, 2);
926
+ // } else {
927
+ // newStack.splice(i, 1);
928
+ // }
929
+ // }
930
+ // const tree = filterStackToFilterTree(newStack);
931
+ // let newFormData = null;
932
+ // if (tree) {
933
+ // newFormData = filterTreeToAst(
934
+ // tree,
935
+ // client.databaseType.toLowerCase(),
936
+ // );
937
+ // }
938
+ // const newAst = deepCopy({
939
+ // ...defaultAST,
940
+ // ...baseAst,
941
+ // ...(!baseAst?.columns && {
942
+ // columns: getAllPossibleColumns(
943
+ // baseAst,
944
+ // schemaData.schema,
945
+ // ).map((c) => {
946
+ // const newColumn = deepCopy(defaultColumn);
947
+ // newColumn.expr.column = c.field;
948
+ // return newColumn;
949
+ // }),
950
+ // }),
951
+ // ...(!baseAst?.from && {
952
+ // from: [{ ...defaultTable, table: initialTableName }],
953
+ // }),
954
+ // where: newFormData,
955
+ // });
956
+ // setBaseAst(newAst);
957
+ // setFormData(newFormData);
958
+ // fetchSqlQuery(newAst, newFormData);
959
+ // setRemovingFilter(false);
960
+ // }
961
+ // }}
962
+ // disabled={!actionsEnabled}
963
+ // />
964
+ // );
965
+ // }
966
+ // })}
967
+ // </div>
968
+ // );
969
+ // };
905
970
  /**
906
971
  * Return whether all columns have been selected (used to hide select all
907
972
  * and show clear button).
@@ -1181,7 +1246,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1181
1246
  flexDirection: 'column',
1182
1247
  gap: 8,
1183
1248
  marginBottom: 12,
1184
- }, children: renderFilters(false) })), _jsxs("div", { style: {
1249
+ }, children: _jsx(FilterStack, { client: client, filterStack: filterStack, filterTree: filterTree, defaultAST: defaultAST, baseAst: baseAst, setBaseAst: setBaseAst, setFormData: setFormData, fetchSqlQuery: fetchSqlQuery, schemaData: schemaData, defaultColumn: defaultColumn, defaultTable: defaultTable, currentTable: currentTable, initialTableName: initialTableName, globalUniqueValues: globalUniqueValues, globalUniqueValuesIsLoading: globalUniqueValuesIsLoading, columns: columns, removingFilter: removingFilter, setRemovingFilter: setRemovingFilter, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: false }) })), _jsxs("div", { style: {
1185
1250
  display: 'flex',
1186
1251
  flexDirection: 'column',
1187
1252
  alignItems: 'flex-start',
@@ -1419,7 +1484,7 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1419
1484
  flexDirection: 'column',
1420
1485
  gap: 8,
1421
1486
  marginBottom: 12,
1422
- }, children: renderFilters() })), _jsxs("div", { style: {
1487
+ }, children: _jsx(FilterStack, { client: client, filterStack: filterStack, filterTree: filterTree, defaultAST: defaultAST, baseAst: baseAst, setBaseAst: setBaseAst, setFormData: setFormData, fetchSqlQuery: fetchSqlQuery, schemaData: schemaData, defaultColumn: defaultColumn, defaultTable: defaultTable, currentTable: currentTable, initialTableName: initialTableName, globalUniqueValues: globalUniqueValues, globalUniqueValuesIsLoading: globalUniqueValuesIsLoading, columns: columns, removingFilter: removingFilter, setRemovingFilter: setRemovingFilter, TabsComponent: TabsComponent, FilterPopoverComponent: FilterPopoverComponent, FilterModal: FilterModal, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent, actionsEnabled: true }) })), _jsxs("div", { style: {
1423
1488
  display: 'flex',
1424
1489
  flexDirection: 'column',
1425
1490
  alignItems: 'flex-start',
@@ -1 +1 @@
1
- {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
@@ -100,11 +100,12 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
100
100
  const [isAddLoading, setIsAddLoading] = useState(false);
101
101
  const [isChartBuilderOpen, setIsChartBuilderOpen] = useState(false);
102
102
  const [displayTable, setDisplayTable] = useState(false);
103
+ const [formattedRows, setFormattedRows] = useState([]);
103
104
  const formRef = useRef(null);
104
105
  const sidebarRef = useRef(null);
105
106
  const [searchBarWidth, setSearchBarWidth] = useState(200);
107
+ const [showSearchBar, setShowSearchBar] = useState(false);
106
108
  const [filterBarWidth, setFilterBarWidth] = useState(200);
107
- const [formattedRows, setFormattedRows] = useState([]);
108
109
  const [rowCount, setRowCount] = useState(undefined);
109
110
  const [rowCountIsLoading, setRowCountIsLoading] = useState(false);
110
111
  const [maxPage, setMaxPage] = useState(1);
@@ -114,12 +115,12 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
114
115
  ...EMPTY_INTERNAL_REPORT,
115
116
  ...report,
116
117
  });
117
- const DEFAULT_ROWS_PER_PAGE = 10;
118
+ const tableRef = useRef(null);
119
+ const DEFAULT_ROWS_PER_PAGE = 5;
118
120
  const ROW_HEIGHT = 37;
119
121
  const TABLE_TAB_HEIGHT = 75;
120
- const dynamicHeight = window.innerHeight * 0.8 - 310;
121
- const rowsPerPage = Math.max(DEFAULT_ROWS_PER_PAGE, Math.floor((dynamicHeight - TABLE_TAB_HEIGHT) / ROW_HEIGHT));
122
- const calculatedHeight = TABLE_TAB_HEIGHT + rowsPerPage * ROW_HEIGHT; // height needs to be 75 + rows * rowheight <= window.innerHeight * 0.8 - 330
122
+ const dynamicHeight = tableRef.current ? tableRef.current.clientHeight : 0;
123
+ const rowsPerPage = Math.max(DEFAULT_ROWS_PER_PAGE, Math.ceil((dynamicHeight - TABLE_TAB_HEIGHT) / ROW_HEIGHT));
123
124
  const pagination = {
124
125
  page: 0,
125
126
  rowsPerPage,
@@ -145,6 +146,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
145
146
  function handleResize() {
146
147
  updateFirstChildWidth(formRef, setSearchBarWidth, { gap: 12 });
147
148
  updateFirstChildWidth(sidebarRef, setFilterBarWidth, { gap: 12 });
149
+ setShowSearchBar(true);
148
150
  }
149
151
  handleResize();
150
152
  window.addEventListener('resize', handleResize);
@@ -313,6 +315,9 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
313
315
  onChangeQuery(query || '');
314
316
  }
315
317
  }, [query]);
318
+ if (schemaData.isSchemaLoading) {
319
+ return _jsx(LoadingComponent, {});
320
+ }
316
321
  return (_jsxs("div", { style: { backgroundColor: theme?.backgroundColor, ...containerStyle }, className: className, children: [(!isChartBuilderHorizontalView ||
317
322
  (isChartBuilderHorizontalView && !isChartBuilderOpen)) &&
318
323
  !schemaData.isSchemaLoading && (_jsx("div", { style: {
@@ -360,14 +365,15 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
360
365
  handleRunSqlPrompt();
361
366
  }, style: {
362
367
  display: 'flex',
368
+ visibility: showSearchBar ? 'visible' : 'hidden',
363
369
  flexDirection: 'row',
364
370
  gap: 12,
365
371
  paddingTop: 16,
366
372
  paddingBottom: 16,
367
373
  }, children: [_jsx(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }), _jsx(ButtonComponent, { onClick: handleRunSqlPrompt, label: "Ask AI" })] }), _jsx("div", { style: {
368
- minHeight: Math.max(210, window.innerHeight * 0.2),
374
+ minHeight: 'max(210px, 20vh)',
369
375
  maxHeight: '30%',
370
- height: window.innerHeight * 0.2,
376
+ height: '20vh',
371
377
  }, children: _jsx(SQLEditorComponent, { query: query || '', schema: schemaData.schema, databaseType: client?.databaseType ?? 'postgresql', clientName: client?.publicKey || '', setQuery: setQuery, handleRunQuery: () => {
372
378
  handleRunQuery(currentProcessing, true);
373
379
  }, handleFixWithAI: handleFixWithAI, isNewQueryEnabled: isNewQueryEnabled, runQueryOnMount: runQueryOnMount, handleClearQuery: handleClearQuery, theme: theme, defineEditorTheme: defineEditorTheme, setEditorTheme: setEditorTheme, setEditorMounted: () => { }, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, loading: sqlResponseLoading && schemaData.isSchemaLoading, LoadingComponent: LoadingComponent }) }), _jsx("div", { style: {
@@ -428,10 +434,11 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
428
434
  width: '100%',
429
435
  alignItems: 'center',
430
436
  }, children: [errorMessage, errorMessage !== 'No data found' &&
431
- errorMessage !== 'No query found' && (_jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : (_jsx(TableComponent, { isLoading: sqlQueryLoading && !isAddLoading, rows: formattedRows, columns: columns, rowCount: rowCount, rowsPerPage: rowsPerPage, rowCountIsLoading: rowCountIsLoading, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
432
- height: calculatedHeight,
433
- maxHeight: calculatedHeight,
434
- }, currentPage: currentPage, setCurrentPage: setCurrentPage }))] })] }) }), isChartBuilderEnabled && (_jsxs("div", { style: {
437
+ errorMessage !== 'No query found' && (_jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : (_jsx("div", { ref: tableRef, children: _jsx(TableComponent, { isLoading: sqlQueryLoading && !isAddLoading, rows: formattedRows, columns: columns, rowCount: rowCount, rowsPerPage: rowsPerPage, rowCountIsLoading: rowCountIsLoading, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
438
+ height: 'calc(100vh - max(210px, 20vh) - 310px)',
439
+ minHeight: `calc(${DEFAULT_ROWS_PER_PAGE} * ${ROW_HEIGHT}px + ${TABLE_TAB_HEIGHT}px)`, // at least 10 rows tall
440
+ maxHeight: 'calc(100vh - max(210px, 20vh) - 310px)',
441
+ }, currentPage: currentPage, setCurrentPage: setCurrentPage }) }))] })] }) }), isChartBuilderEnabled && (_jsxs("div", { style: {
435
442
  display: 'flex',
436
443
  flexDirection: 'row',
437
444
  alignItems: 'center',
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EAIV,MAAM,OAAO,CAAC;AAcf,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAuBnC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAwDD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClD,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,OAAO,GACR,EAAE;YACD,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,KAAK,IAAI,CAAC;QACX,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KACjE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,mDAsC/B,CAAC;AAmSF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EAIV,MAAM,OAAO,CAAC;AAcf,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAuBnC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAwDD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClD,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,OAAO,GACR,EAAE;YACD,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,KAAK,IAAI,CAAC;QACX,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KACjE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,mDAyC/B,CAAC;AAsSF,eAAe,KAAK,CAAC"}
package/dist/esm/Table.js CHANGED
@@ -47,8 +47,9 @@ const Table = (props) => {
47
47
  const data = props;
48
48
  const [dashboard] = useContext(DashboardContext);
49
49
  const [client] = useContext(ClientContext);
50
+ const [page, setPage] = useState(0);
50
51
  if ('rows' in data && 'columns' in data) {
51
- return (_jsx(QuillTable, { hideCSVDownloadButton: data.hideCSVDownloadButton, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
52
+ return (_jsx(QuillTable, { hideCSVDownloadButton: data.hideCSVDownloadButton, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV, currentPage: page, onPageChange: setPage }));
52
53
  }
53
54
  if (!client) {
54
55
  return null;
@@ -66,12 +67,14 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, c
66
67
  const [filterUpdateIndex, setFilterUpdateIndex] = useState(0);
67
68
  const [previousPage, setPreviousPage] = useState(1);
68
69
  const [rowCount, setRowCount] = useState(0);
70
+ const [currentPage, setCurrentPage] = useState(0);
69
71
  const { reportFiltersDispatch, reportFilters } = useContext(ReportFiltersContext);
70
72
  const [currentProcessing, setCurrentProcessing] = useState({
71
73
  page: pagination,
72
74
  });
73
75
  const [theme] = useContext(ThemeContext);
74
76
  const onPageChange = (page) => {
77
+ setCurrentPage(page);
75
78
  if (currentProcessing.page &&
76
79
  page > previousPage &&
77
80
  shouldFetchMore(DEFAULT_PAGINATION, page, previousPage)) {
@@ -194,7 +197,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, c
194
197
  if (f.field === filter.field ||
195
198
  (f.filterType === 'date_range' &&
196
199
  filter.filterType === 'date_range')) {
197
- return updateFilter(f, value, comparison);
200
+ return updateFilter(f, value, comparison, f.dashboardName);
198
201
  }
199
202
  return f;
200
203
  });
@@ -212,6 +215,6 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, c
212
215
  updateIndex: filterUpdateIndex + 1,
213
216
  },
214
217
  });
215
- }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), _jsx(QuillTable, { hideCSVDownloadButton: hideCSVDownloadButton, columns: columns ?? [], rows: rows ?? [], containerStyle: containerStyle, className: className, LoadingComponent: LoadingComponent, sort: currentProcessing.sort, isLoading: loading || initialLoad, downloadCSV: downloadCSV, onPageChange: onPageChange, onSortChange: onSortChange, rowCount: rowCount })] }));
218
+ }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), _jsx(QuillTable, { hideCSVDownloadButton: hideCSVDownloadButton, columns: columns ?? [], rows: rows ?? [], containerStyle: containerStyle, className: className, LoadingComponent: LoadingComponent, sort: currentProcessing.sort, isLoading: loading || initialLoad, downloadCSV: downloadCSV, onPageChange: onPageChange, onSortChange: onSortChange, rowCount: rowCount, currentPage: currentPage })] }));
216
219
  };
217
220
  export default Table;
@@ -83,7 +83,7 @@ export function DashboardFilter({ filter, onChangeFilter, SelectComponent = Quil
83
83
  whiteSpace: 'nowrap',
84
84
  minWidth: 80,
85
85
  justifyContent: 'center',
86
- }, children: "compared to" }), _jsx(SelectComponent, { value: filter.comparisonRange?.value, onChange: (e) => {
86
+ }, children: "compared to" }), _jsx(SelectComponent, { value: filter.comparisonRange?.value ?? 'NO_COMPARISON', onChange: (e) => {
87
87
  onChangeFilter(filter, null, COMPARISON_OPTIONS.find((option) => option.value === e.target.value));
88
88
  }, options: COMPARISON_OPTIONS.map((compareOption) => ({
89
89
  value: compareOption.value,
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { QuillReport } from '../../models/Report';
3
3
  import { QuillTheme } from '../../QuillProvider';
4
+ import { AdditionalProcessing } from '../../utils/tableProcessing';
4
5
  export type DataLoaderChildProps = {
5
6
  isLoading: boolean;
6
7
  error?: string;
@@ -13,9 +14,10 @@ export type DataLoaderChildProps = {
13
14
  rowCount?: number;
14
15
  rowCountIsLoading?: boolean;
15
16
  };
16
- export default function DataLoader({ item, children, filters, }: {
17
- item: any;
17
+ export default function DataLoader({ item, children, filters, additionalProcessing: defaultAdditionalProcessing, }: {
18
+ item: QuillReport;
18
19
  filters: any[] | null;
20
+ additionalProcessing: AdditionalProcessing;
19
21
  children: ({ isLoading, error, onPageChange, onSortChange, data, }: DataLoaderChildProps) => JSX.Element;
20
22
  }): JSX.Element;
21
23
  type ColorMapType = {
@@ -37,10 +39,10 @@ export type ChartDataLoaderChildProps = {
37
39
  rowCountIsLoading?: boolean;
38
40
  };
39
41
  export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, }: {
40
- item: any;
42
+ item: QuillReport;
41
43
  dateBucket?: string | undefined;
42
44
  mapColorsToFields?: ((_report: QuillReport, _theme: QuillTheme) => ColorMapType) | undefined;
43
- additionalProcessing?: any;
45
+ additionalProcessing: AdditionalProcessing;
44
46
  filters: any[] | null;
45
47
  children: ({ isLoading, error, data, dateBucket, rowCount, rowCountIsLoading, }: ChartDataLoaderChildProps) => JSX.Element;
46
48
  }) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAoCjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,GACR,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,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,CAqNd;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,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,GAAG;;mCAGE,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;aACjB,GAAG,EAAE,GAAG,IAAI;qFAQlB,yBAAyB,KAAK,WAAW;MAC1C,WA4EH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAuB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAuBrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAoCF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,oBAAoB,EAAE,2BAA2B,GAClD,EAAE;IACD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,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,CAwLd;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,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe;UAOpB,WAAW;;mCAGN,WAAW,UACZ,UAAU,KACf,YAAY;0BACK,oBAAoB;aACjC,GAAG,EAAE,GAAG,IAAI;qFAQlB,yBAAyB,KAAK,WAAW;MAC1C,WAmFH,CAAC"}