@quillsql/react 2.13.32 → 2.13.34

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 (37) hide show
  1. package/dist/cjs/ChartBuilder.d.ts +10 -8
  2. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  3. package/dist/cjs/ChartBuilder.js +9 -13
  4. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  5. package/dist/cjs/ChartEditor.js +1 -2
  6. package/dist/cjs/Context.d.ts.map +1 -1
  7. package/dist/cjs/QuillProvider.d.ts +8 -4
  8. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  9. package/dist/cjs/ReportBuilder.d.ts +1 -1
  10. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  11. package/dist/cjs/ReportBuilder.js +39 -100
  12. package/dist/cjs/SQLEditor.d.ts +1 -1
  13. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  14. package/dist/cjs/SQLEditor.js +19 -29
  15. package/dist/cjs/components/Chart/InternalChart.js +4 -4
  16. package/dist/cjs/utils/client.d.ts +12 -0
  17. package/dist/cjs/utils/client.d.ts.map +1 -1
  18. package/dist/cjs/utils/client.js +49 -30
  19. package/dist/esm/ChartBuilder.d.ts +10 -8
  20. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  21. package/dist/esm/ChartBuilder.js +9 -13
  22. package/dist/esm/ChartEditor.d.ts.map +1 -1
  23. package/dist/esm/ChartEditor.js +1 -2
  24. package/dist/esm/Context.d.ts.map +1 -1
  25. package/dist/esm/QuillProvider.d.ts +8 -4
  26. package/dist/esm/QuillProvider.d.ts.map +1 -1
  27. package/dist/esm/ReportBuilder.d.ts +1 -1
  28. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  29. package/dist/esm/ReportBuilder.js +39 -100
  30. package/dist/esm/SQLEditor.d.ts +1 -1
  31. package/dist/esm/SQLEditor.d.ts.map +1 -1
  32. package/dist/esm/SQLEditor.js +20 -30
  33. package/dist/esm/components/Chart/InternalChart.js +4 -4
  34. package/dist/esm/utils/client.d.ts +12 -0
  35. package/dist/esm/utils/client.d.ts.map +1 -1
  36. package/dist/esm/utils/client.js +48 -30
  37. package/package.json +1 -1
@@ -68,10 +68,10 @@ import { QUILL_SERVER } from './utils/constants';
68
68
  * ### Report Builder API
69
69
  * @see https://docs.quillsql.com/components/report-builder
70
70
  */
71
- export default function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard = undefined, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, ModalComponent = MemoizedModal, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, TableComponent = QuillTableReportBuilderComponent, PopoverComponent = MemoizedPopover, TabsComponent = QuillTabs,
71
+ export default function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, ModalComponent = MemoizedModal, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, TableComponent = QuillTableReportBuilderComponent, PopoverComponent = MemoizedPopover, TabsComponent = QuillTabs,
72
72
  // CheckboxComponent = MemoizedCheckbox,
73
73
  SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectColumnComponent = QuillSelectColumn, DraggableColumnComponent = QuillDraggableColumn, SidebarHeadingComponent = QuillSidebarHeading, FilterPopoverComponent = QuillFilterPopover, SortPopoverComponent = QuillSortPopover, LimitPopoverComponent = QuillLimitPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, LoadingComponent = QuillLoadingComponent, ColumnSearchEmptyState = QuillColumnSearchEmptyState, ChartBuilderFormContainer = QuillChartBuilderFormContainer, ChartBuilderModalComponent = MemoizedModal, isAdminEnabled = false, isAIEnabled = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, onClickChartElement, }) {
74
- const [dashboard, dashboardDispatch] = useContext(DashboardContext);
74
+ const [dashboard] = useContext(DashboardContext);
75
75
  const [schemaData] = useContext(SchemaDataContext);
76
76
  const { dashboardFilters } = useContext(DashboardFiltersContext);
77
77
  const { tenants } = useContext(TenantContext);
@@ -84,62 +84,6 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
84
84
  return Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter);
85
85
  }, [dashboardFilters, reportId, dashboard]);
86
86
  const [client] = useContext(ClientContext);
87
- // const { dashboardConfig } = useContext(DashboardConfigContext);
88
- // const flagsToAdd: { [tenantField: string]: string[] } = useMemo(() => {
89
- // if (client && asSingleDatabaseTenant(client))
90
- // return { 'QUILL_SINGLE_TENANT': flags ?? {} } as { [tenantField: string]: string[] };
91
- // const tenantKeys =
92
- // dashboardConfig[
93
- // dashboard[reportId ?? '']?.dashboardName ?? destinationDashboard ?? ''
94
- // ]?.config.tenantKeys ?? [];
95
- // if (!tenantKeys.length) return {};
96
- // if (
97
- // tenants &&
98
- // (typeof tenants[0] === 'string' || typeof tenants[0] === 'number')
99
- // ) {
100
- // const dashboardOwner = tenantKeys[0]!;
101
- // const tenantIds = (client?.allTenantTypes as QuillTenant[])?.find(
102
- // (tt) => dashboardOwner === tt.tenantField,
103
- // )?.tenantIds;
104
- // return {
105
- // [dashboardOwner]:
106
- // tenantIds
107
- // ?.filter(
108
- // (tt) =>
109
- // (tenants as (string | number)[]).includes(tt.id) && tt.flag,
110
- // )
111
- // ?.map((tt) => tt.flag!) ?? [],
112
- // };
113
- // }
114
- // const tenantKeysSet = new Set(tenantKeys);
115
- // return (
116
- // (
117
- // tenants as
118
- // | { tenantField: string; tenantIds: (string | number)[] }[]
119
- // | undefined
120
- // )
121
- // ?.filter((t) => tenantKeysSet.has(t.tenantField))
122
- // .reduce(
123
- // (acc, t) => {
124
- // const tenantIds = new Set(t.tenantIds);
125
- // acc[t.tenantField] =
126
- // (client?.allTenantTypes as QuillTenant[])
127
- // ?.find((tt) => t.tenantField === tt.tenantField)
128
- // ?.tenantIds?.filter((tt) => tenantIds.has(tt.id) && tt.flag)
129
- // ?.map((tt) => tt.flag!) ?? [];
130
- // return acc;
131
- // },
132
- // {} as { [tenantField: string]: string[] },
133
- // ) ?? {}
134
- // );
135
- // }, [
136
- // tenants,
137
- // flags,
138
- // dashboardConfig,
139
- // destinationDashboard,
140
- // dashboard[reportId ?? '']?.dashboardName,
141
- // client?.allTenantTypes,
142
- // ]);
143
87
  const [reportInfo, setReportInfo] = useState(null);
144
88
  const [aiPrompt, setAiPrompt] = useState('');
145
89
  const [errorMessage, setErrorMessage] = useState('');
@@ -1696,54 +1640,49 @@ SidebarComponent = QuillSidebar, ContainerComponent = CustomContainer, SelectCol
1696
1640
  fetchAstFromPromptHelper();
1697
1641
  }, label: 'Retry' }), _jsx(SecondaryButtonComponent, { onClick: clearAllState, label: 'Reset' })] })) : (_jsx("div", { style: { width: '100%' } })), baseAst && dataDisplayed && (_jsxs(_Fragment, { children: [onDiscardChanges && (_jsx(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), !hideCopySQL && (_jsx(SecondaryButtonComponent, { label: isCopying ? 'Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), _jsx(ButtonComponent, { onClick: async () => {
1698
1642
  onSaveChanges && onSaveChanges();
1699
- dashboardDispatch({
1700
- type: 'ADD_DASHBOARD_ITEM',
1701
- id: TEMP_REPORT_ID,
1702
- data: {
1703
- ...(reportInfo
1704
- ? {
1705
- ...reportInfo,
1706
- ...tempReport,
1707
- id: TEMP_REPORT_ID,
1708
- dashboardName: destinationDashboard,
1709
- pivot: pivot,
1710
- yAxisFields: reportInfo?.pivot && !pivot
1711
- ? []
1712
- : reportInfo?.yAxisFields,
1713
- columns: selectedOrderedColumns.length > 0
1714
- ? selectedOrderedColumns
1715
- .map((columnName) => {
1716
- return columns.find((col) => col.field === columnName);
1717
- })
1718
- .filter((col) => col !== undefined)
1719
- .map((c) => reportInfo?.columns.find((col) => col.field === c.field))
1720
- .filter((col) => col !== undefined)
1721
- : reportInfo?.columns.filter((col) => {
1722
- return columns.find((c) => {
1723
- return col.field === c.field;
1724
- });
1725
- }),
1726
- queryString: activeQuery,
1727
- rows: rows,
1728
- pivotRows: pivotData?.rows,
1729
- pivotColumns: pivotData?.columns,
1730
- flags: reportInfo?.flags ??
1731
- tempReport?.flags
1732
- // flagsToAdd,
1733
- }
1734
- : {
1735
- ...tempReport,
1736
- id: TEMP_REPORT_ID,
1737
- flags: tempReport?.flags,
1738
- }),
1739
- },
1643
+ setTempReport({
1644
+ ...(reportInfo
1645
+ ? {
1646
+ ...reportInfo,
1647
+ ...tempReport,
1648
+ id: TEMP_REPORT_ID,
1649
+ dashboardName: destinationDashboard,
1650
+ pivot: pivot,
1651
+ yAxisFields: reportInfo?.pivot && !pivot
1652
+ ? []
1653
+ : reportInfo?.yAxisFields,
1654
+ columns: selectedOrderedColumns.length > 0
1655
+ ? selectedOrderedColumns
1656
+ .map((columnName) => {
1657
+ return columns.find((col) => col.field === columnName);
1658
+ })
1659
+ .filter((col) => col !== undefined)
1660
+ .map((c) => reportInfo?.columns.find((col) => col.field === c.field))
1661
+ .filter((col) => col !== undefined)
1662
+ : reportInfo?.columns.filter((col) => {
1663
+ return columns.find((c) => {
1664
+ return col.field === c.field;
1665
+ });
1666
+ }),
1667
+ queryString: activeQuery,
1668
+ rows: rows,
1669
+ pivotRows: pivotData?.rows,
1670
+ pivotColumns: pivotData?.columns,
1671
+ flags: reportInfo?.flags ??
1672
+ tempReport?.flags,
1673
+ }
1674
+ : {
1675
+ ...tempReport,
1676
+ id: TEMP_REPORT_ID,
1677
+ flags: tempReport?.flags,
1678
+ }),
1740
1679
  });
1741
1680
  setIsChartBuilderOpen(true);
1742
1681
  }, disabled: !!errorMessage ||
1743
1682
  !!pivotError ||
1744
1683
  tableLoading ||
1745
1684
  loading ||
1746
- unresolvedReportMessage, label: reportId ? 'Save changes' : 'Add to dashboard', tooltipText: unresolvedReportMessage })] }))] })] }), _jsx("style", { children: `body{margin:0;}` })] })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { reportId: reportId, isAdmin: isAdminEnabled, title: chartBuilderTitle
1685
+ unresolvedReportMessage, label: reportId ? 'Save changes' : 'Add to dashboard', tooltipText: unresolvedReportMessage })] }))] })] }), _jsx("style", { children: `body{margin:0;}` })] })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { tempReport: tempReport, reportId: reportId, isAdmin: isAdminEnabled, title: chartBuilderTitle
1747
1686
  ? chartBuilderTitle
1748
1687
  : reportId
1749
1688
  ? 'Save changes'
@@ -220,7 +220,7 @@ export interface SQLEditorProps {
220
220
  /**
221
221
  * The default dashboard to add the query to.
222
222
  */
223
- destinationDashboard?: string;
223
+ destinationDashboard: string;
224
224
  /**
225
225
  * The title of the ChartBuilder dialog.
226
226
  */
@@ -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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"}
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
4
4
  import { useState, useContext, useEffect, useRef, useMemo, useCallback, } from 'react';
5
5
  import MonacoEditor from '@monaco-editor/react';
6
- import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
6
+ import { ClientContext, DashboardFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
7
7
  import { ChartBuilderWithModal, createInitialFormData } from './ChartBuilder';
8
8
  import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedModal, MemoizedPopover, MemoizedSecondaryButton, MemoizedSubHeader, MemoizedText, OverflowContainer, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableSQLEditorComponent, } from './components/UiComponents';
9
9
  import { QuillTextInput } from './components/UiComponents';
@@ -96,7 +96,6 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
96
96
  const [columns, setColumns] = useState([]);
97
97
  const [schemaData] = useContext(SchemaDataContext);
98
98
  const { dashboardFilters } = useContext(DashboardFiltersContext);
99
- const [, dashboardDispatch] = useContext(DashboardContext);
100
99
  const specificDashboardFilters = useMemo(() => {
101
100
  return Object.values(dashboardFilters[report?.dashboardName ?? destinationDashboard ?? ''] ??
102
101
  {}).map((f) => f.filter);
@@ -482,21 +481,16 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
482
481
  }, label: "Run query" })), isNewQueryEnabled && (_jsx(SecondaryButtonComponent, { onClick: handleClearQuery, label: "Clear query" })), addToDashboardButtonLabel ===
483
482
  'Add to dashboard' && (_jsx(ButtonComponent, { onClick: async () => {
484
483
  onSaveChanges && onSaveChanges();
485
- dashboardDispatch({
484
+ setTempReport({
485
+ ...tempReport,
486
486
  id: TEMP_REPORT_ID,
487
- type: 'ADD_DASHBOARD_ITEM',
488
- data: {
489
- ...tempReport,
490
- id: TEMP_REPORT_ID,
491
- rows,
492
- columns: columns,
493
- columnInternal: columns,
494
- rowCount: rowCount ?? 0,
495
- queryString: query ?? '',
496
- dashboardName: report?.dashboardName ??
497
- destinationDashboard,
498
- // flags: flagsToAdd,
499
- },
487
+ rows,
488
+ columns: columns,
489
+ columnInternal: columns,
490
+ rowCount: rowCount ?? 0,
491
+ queryString: query ?? '',
492
+ dashboardName: report?.dashboardName ??
493
+ destinationDashboard,
500
494
  });
501
495
  setIsChartBuilderOpen(true);
502
496
  }, label: addToDashboardButtonLabel, disabled: !!errorMessage ||
@@ -547,23 +541,19 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
547
541
  marginBottom: 5,
548
542
  }, children: [onDiscardChanges && (_jsx(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), addToDashboardButtonLabel !== 'Add to dashboard' && (_jsx(ButtonComponent, { onClick: async () => {
549
543
  onSaveChanges && onSaveChanges();
550
- dashboardDispatch({
544
+ setTempReport({
545
+ ...tempReport,
551
546
  id: TEMP_REPORT_ID,
552
- type: 'ADD_DASHBOARD_ITEM',
553
- data: {
554
- ...tempReport,
555
- id: TEMP_REPORT_ID,
556
- rows,
557
- columns: columns,
558
- columnInternal: columns,
559
- rowCount: rowCount ?? 0,
560
- queryString: query ?? '',
561
- dashboardName: report?.dashboardName ?? destinationDashboard,
562
- // flags: flagsToAdd,
563
- },
547
+ rows,
548
+ columns: columns,
549
+ columnInternal: columns,
550
+ rowCount: rowCount ?? 0,
551
+ queryString: query ?? '',
552
+ dashboardName: report?.dashboardName ?? destinationDashboard,
553
+ // flags: flagsToAdd,
564
554
  });
565
555
  setIsChartBuilderOpen(true);
566
- }, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, reportId: report?.id, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true }))] }));
556
+ }, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, tempReport: tempReport, reportId: report?.id, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true }))] }));
567
557
  }
568
558
  const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery, setEditorMounted, handleRunQuery, defineEditorTheme, setEditorTheme, runQueryOnMount = false, theme, loading, LoadingComponent = QuillLoadingComponent, }) => {
569
559
  const [editorKey, setEditorKey] = useState(0);
@@ -166,9 +166,9 @@ export default function InternalChart({ report, colors, className, containerStyl
166
166
  const currentReportFilters = useMemo(() => {
167
167
  const dashFilters = dashboardConfig[report?.dashboardName ?? '']?.config.filters;
168
168
  if (!dashFilters)
169
- return Object.values(reportFilters[report?.id ?? ''] ?? {});
169
+ return Object.values(reportFilters[report?.id ?? TEMP_REPORT_ID] ?? {});
170
170
  // Sort the filters with "date_range" type first, followed by the rest in the same order as the dashFilters, by label.
171
- return Object.values(reportFilters[report?.id ?? ''] ?? {}).sort((a, b) => {
171
+ return Object.values(reportFilters[report?.id ?? TEMP_REPORT_ID] ?? {}).sort((a, b) => {
172
172
  if (a.filter.filterType === 'date_range' &&
173
173
  b.filter.filterType !== 'date_range') {
174
174
  return -1;
@@ -184,7 +184,7 @@ export default function InternalChart({ report, colors, className, containerStyl
184
184
  });
185
185
  }, [reportFilters, report?.id]);
186
186
  const reportDateFilter = useMemo(() => {
187
- return Object.values(reportFilters[report?.id ?? ''] ?? {}).find((f) => f.filter.filterType === 'date_range')?.filter;
187
+ return Object.values(reportFilters[report?.id ?? TEMP_REPORT_ID] ?? {}).find((f) => f.filter.filterType === 'date_range')?.filter;
188
188
  }, [reportFilters, report?.id]);
189
189
  const presetOptions = useMemo(() => {
190
190
  return reportDateFilter
@@ -457,5 +457,5 @@ export default function InternalChart({ report, colors, className, containerStyl
457
457
  width: '100%',
458
458
  height: '100%',
459
459
  minHeight: 300,
460
- }, reportId: TEMP_REPORT_ID, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement }))] }))] }));
460
+ }, reportId: report.id, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement }))] }))] }));
461
461
  }
@@ -3,4 +3,16 @@ export declare const EMPTY_CLIENT: Client;
3
3
  export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials?: boolean, queryHeaders?: HeadersInit): Promise<Client & {
4
4
  allTenantTypes?: QuillTenant[];
5
5
  }>;
6
+ export declare function getClientTenantIds({ queryEndpoint, queryHeaders, withCredentials, tenant, clientId, }: {
7
+ queryEndpoint: string;
8
+ queryHeaders?: HeadersInit;
9
+ withCredentials?: boolean;
10
+ tenant: QuillTenant & {
11
+ id: string;
12
+ };
13
+ clientId: string;
14
+ }): Promise<{
15
+ id: string;
16
+ tenantIds: any;
17
+ }>;
6
18
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CACR,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAC5C,CAwEA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,YAAY,EAAE,MAM1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAgDtD;AAED,wBAAsB,kBAAkB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,eAAe,EACf,MAAM,EACN,QAAQ,GACT,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,WAAW,GAAG;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;;;GAyCA"}
@@ -27,36 +27,13 @@ export async function fetchClient(publicKey, queryEndpoint, withCredentials = fa
27
27
  const json = await response.json();
28
28
  result = json.data?.data?.client || json.data?.client;
29
29
  clientTenantIds = await Promise.all(result.allTenantTypes?.map(async (tenant) => {
30
- const tenantResponse = await fetch(queryEndpoint, {
31
- method: 'POST',
32
- headers: {
33
- ...queryHeaders,
34
- 'Content-Type': 'application/json',
35
- },
36
- body: JSON.stringify({
37
- metadata: {
38
- tenantId: tenant.id,
39
- task: 'tenant-query',
40
- clientId: result.id,
41
- },
42
- }),
43
- credentials: withCredentials ? 'include' : 'omit',
30
+ return await getClientTenantIds({
31
+ queryEndpoint,
32
+ queryHeaders,
33
+ withCredentials,
34
+ tenant,
35
+ clientId: publicKey,
44
36
  });
45
- const data = await tenantResponse.json();
46
- if (!data.data?.rows) {
47
- return {
48
- id: tenant.id,
49
- tenantIds: [],
50
- };
51
- }
52
- return {
53
- id: tenant.id,
54
- tenantIds: data.data.rows.map((row) => ({
55
- id: row[tenant.tenantField],
56
- flag: row['quill_flag'],
57
- label: row['quill_label'],
58
- })),
59
- };
60
37
  }));
61
38
  }
62
39
  catch (error) {
@@ -66,7 +43,48 @@ export async function fetchClient(publicKey, queryEndpoint, withCredentials = fa
66
43
  ...result,
67
44
  allTenantTypes: result.allTenantTypes?.map((tenant) => ({
68
45
  ...tenant,
69
- tenantIds: clientTenantIds?.find((clientTenant) => clientTenant.id === tenant.id)?.tenantIds || [],
46
+ tenantIds: clientTenantIds?.find((clientTenant) => clientTenant.id === tenant.id)
47
+ ?.tenantIds || [],
48
+ })),
49
+ };
50
+ }
51
+ export async function getClientTenantIds({ queryEndpoint, queryHeaders, withCredentials, tenant, clientId, }) {
52
+ if (tenant.scope === 'database') {
53
+ return {
54
+ id: tenant.id,
55
+ tenantIds: [],
56
+ };
57
+ }
58
+ const tenantResponse = await fetch(queryEndpoint, {
59
+ method: 'POST',
60
+ headers: {
61
+ ...queryHeaders,
62
+ 'Content-Type': 'application/json',
63
+ },
64
+ body: JSON.stringify({
65
+ metadata: {
66
+ tenantId: tenant.id,
67
+ task: 'tenant-query',
68
+ clientId: clientId,
69
+ },
70
+ }),
71
+ credentials: withCredentials ? 'include' : 'omit',
72
+ });
73
+ const data = await tenantResponse.json();
74
+ if (!data.data?.rows || !data.data?.fields) {
75
+ return {
76
+ id: tenant.id,
77
+ tenantIds: [],
78
+ };
79
+ }
80
+ const tenantFieldDataType = data.data.fields.find((field) => field.name === tenant.tenantField)?.dataTypeID;
81
+ const isNumber = [20, 21, 23, 700, 701, 1700].includes(tenantFieldDataType);
82
+ return {
83
+ id: tenant.id,
84
+ tenantIds: data.data.rows.map((row) => ({
85
+ id: isNumber ? Number(row[tenant.tenantField]) : row[tenant.tenantField],
86
+ flag: row['quill_flag'],
87
+ label: row['quill_label'],
70
88
  })),
71
89
  };
72
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.13.32",
3
+ "version": "2.13.34",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",