@quillsql/react 2.16.1 → 2.16.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.
package/dist/index.d.cts CHANGED
@@ -569,6 +569,49 @@ type PivotData = {
569
569
  comparisonPivotQuery?: string;
570
570
  };
571
571
 
572
+ type SortDirection = 'asc' | 'desc' | 'ASC' | 'DESC';
573
+ type ReportBuilderTable = {
574
+ name: string;
575
+ alias?: string;
576
+ join?: JoinInfo;
577
+ };
578
+ declare enum JoinType {
579
+ JOIN = "JOIN",
580
+ INNER = "INNER JOIN",
581
+ LEFT = "LEFT JOIN",
582
+ RIGHT = "RIGHT JOIN",
583
+ FULL = "FULL JOIN"
584
+ }
585
+ type JoinInfo = {
586
+ type: JoinType;
587
+ condition: JoinCondition;
588
+ };
589
+ type JoinCondition = {
590
+ operator: string;
591
+ left: ReportBuilderColumn;
592
+ right: ReportBuilderColumn;
593
+ };
594
+ type ReportBuilderColumn = {
595
+ field: string;
596
+ table: string;
597
+ alias?: string;
598
+ };
599
+ type ReportBuilderSort = {
600
+ field: string;
601
+ direction: SortDirection;
602
+ };
603
+ type ReportBuilderLimit = {
604
+ value: number;
605
+ };
606
+ type ReportBuilderState = {
607
+ tables: ReportBuilderTable[];
608
+ columns: ReportBuilderColumn[];
609
+ filterStack: FilterTreeNode[];
610
+ pivot: Pivot | null;
611
+ sort: ReportBuilderSort[];
612
+ limit: ReportBuilderLimit | null;
613
+ };
614
+
572
615
  /**
573
616
  * ## QuillReport
574
617
  * Represents an individual item on a dashboard.
@@ -708,6 +751,11 @@ interface QuillReportInternal extends QuillReport {
708
751
  flags?: {
709
752
  [tenantField: string]: string[] | 'QUILL_ALL_TENANTS';
710
753
  };
754
+ /**
755
+ * ReportBuilderState used for ReportBuilder reports.
756
+ * When present, backend will generate SQL from this state instead of using queryString.
757
+ */
758
+ reportBuilderState?: ReportBuilderState;
711
759
  }
712
760
 
713
761
  /**
@@ -2246,12 +2294,16 @@ interface ChartEditorProps {
2246
2294
  * A callback that is fired when the add to dashboard flow has been completed.
2247
2295
  */
2248
2296
  onAddToDashboardComplete?: (report: QuillReport) => void;
2297
+ /** A callback function that will trigger when a chart is edited */
2298
+ onSubmitEditReport?: (report: QuillReport) => void;
2299
+ /** A callback function that will trigger when changes are discarded */
2300
+ onDiscardChanges?: () => void;
2249
2301
  /** A callback function triggered when a chart element is clicked */
2250
2302
  onClickChartElement?: (element: any) => void;
2251
2303
  /** A callback function triggered when the chart error button is clicked */
2252
2304
  onClickChartError?: (element: any) => void;
2253
2305
  /** A callback that is fired when the item is deleted. */
2254
- onDelete?: () => boolean | Promise<boolean>;
2306
+ onDelete?: () => void;
2255
2307
  /** A select component. */
2256
2308
  SelectComponent?: (props: {
2257
2309
  value: string | number | null | undefined;
@@ -2404,6 +2456,23 @@ interface ChartEditorProps {
2404
2456
  hideDeleteButton?: boolean;
2405
2457
  /** Whether to hide the submit button. */
2406
2458
  hideSubmitButton?: boolean;
2459
+ /** The section of the dashboard to add items to. */
2460
+ destinationSection?: string;
2461
+ /** Whether to show table format options */
2462
+ showTableFormatOptions?: boolean;
2463
+ /** Whether to show dashboard filter fields */
2464
+ showDashboardFilterFields?: boolean;
2465
+ /**
2466
+ * Options for the chart builder modal.
2467
+ */
2468
+ chartBuilderOptions?: {
2469
+ /** Whether to show table format options. */
2470
+ showTableFormatOptions?: boolean;
2471
+ /** Whether to show dashboard filter fields. */
2472
+ showDashboardFilterFields?: boolean;
2473
+ /** Whether to show the delete button. */
2474
+ showDeleteButton?: boolean;
2475
+ };
2407
2476
  }
2408
2477
  /**
2409
2478
  * ### Quill Chart Editor
@@ -2431,7 +2500,7 @@ interface ChartEditorProps {
2431
2500
  * ### Chart Editor API
2432
2501
  * @see https://docs.quillsql.com/components/chart-editor
2433
2502
  */
2434
- declare function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, destinationDashboard, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, onClickChartElement, onClickChartError, }: ChartEditorProps): react_jsx_runtime.JSX.Element;
2503
+ declare function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, onSubmitEditReport, onDiscardChanges, destinationDashboard, destinationSection, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, showTableFormatOptions, showDashboardFilterFields, chartBuilderOptions, onClickChartElement, onClickChartError, }: ChartEditorProps): react_jsx_runtime.JSX.Element;
2435
2504
 
2436
2505
  interface StaticChartProps {
2437
2506
  reportId: string;
@@ -2557,49 +2626,6 @@ interface UniqueValuesByColumn {
2557
2626
  [column: string]: string[];
2558
2627
  }
2559
2628
 
2560
- type SortDirection = 'asc' | 'desc' | 'ASC' | 'DESC';
2561
- type ReportBuilderTable = {
2562
- name: string;
2563
- alias?: string;
2564
- join?: JoinInfo;
2565
- };
2566
- declare enum JoinType {
2567
- JOIN = "JOIN",
2568
- INNER = "INNER JOIN",
2569
- LEFT = "LEFT JOIN",
2570
- RIGHT = "RIGHT JOIN",
2571
- FULL = "FULL JOIN"
2572
- }
2573
- type JoinInfo = {
2574
- type: JoinType;
2575
- condition: JoinCondition;
2576
- };
2577
- type JoinCondition = {
2578
- operator: string;
2579
- left: ReportBuilderColumn;
2580
- right: ReportBuilderColumn;
2581
- };
2582
- type ReportBuilderColumn = {
2583
- field: string;
2584
- table: string;
2585
- alias?: string;
2586
- };
2587
- type ReportBuilderSort = {
2588
- field: string;
2589
- direction: SortDirection;
2590
- };
2591
- type ReportBuilderLimit = {
2592
- value: number;
2593
- };
2594
- type ReportBuilderState = {
2595
- tables: ReportBuilderTable[];
2596
- columns: ReportBuilderColumn[];
2597
- filterStack: FilterTreeNode[];
2598
- pivot: Pivot | null;
2599
- sort: ReportBuilderSort[];
2600
- limit: ReportBuilderLimit | null;
2601
- };
2602
-
2603
2629
  type ForeignKeyMap = {
2604
2630
  [table: string]: {
2605
2631
  foreignTable: string;
@@ -2615,7 +2641,6 @@ type ReportBuilder = {
2615
2641
  limit: ReportBuilderLimit | null;
2616
2642
  filterStack: FilterTreeNode[];
2617
2643
  state: ReportBuilderState;
2618
- activeQuery: string;
2619
2644
  tempReport: QuillReportInternal;
2620
2645
  stateStack: ReportBuilderState[];
2621
2646
  poppedStateStack: ReportBuilderState[];
@@ -3285,6 +3310,8 @@ interface SaveReportProps {
3285
3310
  onSubmitEditReport?: (report: QuillReport) => void;
3286
3311
  /** Callback when creating a new report is submitted. */
3287
3312
  onSubmitCreateReport?: (report: QuillReport) => void;
3313
+ /** Callback when changes are discarded. */
3314
+ onDiscardChanges?: () => void;
3288
3315
  /** The destination section for the report. */
3289
3316
  destinationSection?: string;
3290
3317
  /** Whether to show table format options. */
@@ -3430,7 +3457,7 @@ interface SaveReportProps {
3430
3457
  /** The label for the submit button. */
3431
3458
  submitButtonLabel?: string;
3432
3459
  }
3433
- declare const SaveReport: ({ reportBuilder, isOpen, setIsOpen, isAdminEnabled, chartBuilderTitle, onSubmitEditReport, onSubmitCreateReport, destinationSection, showTableFormatOptions, showDashboardFilterFields, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, CardComponent, ModalComponent, PopoverComponent, TableComponent, DeleteButtonComponent, LoadingComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, CheckboxComponent, ChartBuilderFormContainer, onClickChartElement, SaveTrigger, submitButtonLabel, }: SaveReportProps) => react_jsx_runtime.JSX.Element;
3460
+ declare const SaveReport: ({ reportBuilder, isOpen, setIsOpen, isAdminEnabled, chartBuilderTitle, onSubmitEditReport, onSubmitCreateReport, onDiscardChanges, destinationSection, showTableFormatOptions, showDashboardFilterFields, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, CardComponent, ModalComponent, PopoverComponent, TableComponent, DeleteButtonComponent, LoadingComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, CheckboxComponent, ChartBuilderFormContainer, onClickChartElement, SaveTrigger, submitButtonLabel, }: SaveReportProps) => react_jsx_runtime.JSX.Element;
3434
3461
 
3435
3462
  interface ReportTableProps {
3436
3463
  reportBuilder: ReportBuilder;
package/dist/index.d.ts CHANGED
@@ -569,6 +569,49 @@ type PivotData = {
569
569
  comparisonPivotQuery?: string;
570
570
  };
571
571
 
572
+ type SortDirection = 'asc' | 'desc' | 'ASC' | 'DESC';
573
+ type ReportBuilderTable = {
574
+ name: string;
575
+ alias?: string;
576
+ join?: JoinInfo;
577
+ };
578
+ declare enum JoinType {
579
+ JOIN = "JOIN",
580
+ INNER = "INNER JOIN",
581
+ LEFT = "LEFT JOIN",
582
+ RIGHT = "RIGHT JOIN",
583
+ FULL = "FULL JOIN"
584
+ }
585
+ type JoinInfo = {
586
+ type: JoinType;
587
+ condition: JoinCondition;
588
+ };
589
+ type JoinCondition = {
590
+ operator: string;
591
+ left: ReportBuilderColumn;
592
+ right: ReportBuilderColumn;
593
+ };
594
+ type ReportBuilderColumn = {
595
+ field: string;
596
+ table: string;
597
+ alias?: string;
598
+ };
599
+ type ReportBuilderSort = {
600
+ field: string;
601
+ direction: SortDirection;
602
+ };
603
+ type ReportBuilderLimit = {
604
+ value: number;
605
+ };
606
+ type ReportBuilderState = {
607
+ tables: ReportBuilderTable[];
608
+ columns: ReportBuilderColumn[];
609
+ filterStack: FilterTreeNode[];
610
+ pivot: Pivot | null;
611
+ sort: ReportBuilderSort[];
612
+ limit: ReportBuilderLimit | null;
613
+ };
614
+
572
615
  /**
573
616
  * ## QuillReport
574
617
  * Represents an individual item on a dashboard.
@@ -708,6 +751,11 @@ interface QuillReportInternal extends QuillReport {
708
751
  flags?: {
709
752
  [tenantField: string]: string[] | 'QUILL_ALL_TENANTS';
710
753
  };
754
+ /**
755
+ * ReportBuilderState used for ReportBuilder reports.
756
+ * When present, backend will generate SQL from this state instead of using queryString.
757
+ */
758
+ reportBuilderState?: ReportBuilderState;
711
759
  }
712
760
 
713
761
  /**
@@ -2246,12 +2294,16 @@ interface ChartEditorProps {
2246
2294
  * A callback that is fired when the add to dashboard flow has been completed.
2247
2295
  */
2248
2296
  onAddToDashboardComplete?: (report: QuillReport) => void;
2297
+ /** A callback function that will trigger when a chart is edited */
2298
+ onSubmitEditReport?: (report: QuillReport) => void;
2299
+ /** A callback function that will trigger when changes are discarded */
2300
+ onDiscardChanges?: () => void;
2249
2301
  /** A callback function triggered when a chart element is clicked */
2250
2302
  onClickChartElement?: (element: any) => void;
2251
2303
  /** A callback function triggered when the chart error button is clicked */
2252
2304
  onClickChartError?: (element: any) => void;
2253
2305
  /** A callback that is fired when the item is deleted. */
2254
- onDelete?: () => boolean | Promise<boolean>;
2306
+ onDelete?: () => void;
2255
2307
  /** A select component. */
2256
2308
  SelectComponent?: (props: {
2257
2309
  value: string | number | null | undefined;
@@ -2404,6 +2456,23 @@ interface ChartEditorProps {
2404
2456
  hideDeleteButton?: boolean;
2405
2457
  /** Whether to hide the submit button. */
2406
2458
  hideSubmitButton?: boolean;
2459
+ /** The section of the dashboard to add items to. */
2460
+ destinationSection?: string;
2461
+ /** Whether to show table format options */
2462
+ showTableFormatOptions?: boolean;
2463
+ /** Whether to show dashboard filter fields */
2464
+ showDashboardFilterFields?: boolean;
2465
+ /**
2466
+ * Options for the chart builder modal.
2467
+ */
2468
+ chartBuilderOptions?: {
2469
+ /** Whether to show table format options. */
2470
+ showTableFormatOptions?: boolean;
2471
+ /** Whether to show dashboard filter fields. */
2472
+ showDashboardFilterFields?: boolean;
2473
+ /** Whether to show the delete button. */
2474
+ showDeleteButton?: boolean;
2475
+ };
2407
2476
  }
2408
2477
  /**
2409
2478
  * ### Quill Chart Editor
@@ -2431,7 +2500,7 @@ interface ChartEditorProps {
2431
2500
  * ### Chart Editor API
2432
2501
  * @see https://docs.quillsql.com/components/chart-editor
2433
2502
  */
2434
- declare function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, destinationDashboard, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, onClickChartElement, onClickChartError, }: ChartEditorProps): react_jsx_runtime.JSX.Element;
2503
+ declare function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, onSubmitEditReport, onDiscardChanges, destinationDashboard, destinationSection, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, showTableFormatOptions, showDashboardFilterFields, chartBuilderOptions, onClickChartElement, onClickChartError, }: ChartEditorProps): react_jsx_runtime.JSX.Element;
2435
2504
 
2436
2505
  interface StaticChartProps {
2437
2506
  reportId: string;
@@ -2557,49 +2626,6 @@ interface UniqueValuesByColumn {
2557
2626
  [column: string]: string[];
2558
2627
  }
2559
2628
 
2560
- type SortDirection = 'asc' | 'desc' | 'ASC' | 'DESC';
2561
- type ReportBuilderTable = {
2562
- name: string;
2563
- alias?: string;
2564
- join?: JoinInfo;
2565
- };
2566
- declare enum JoinType {
2567
- JOIN = "JOIN",
2568
- INNER = "INNER JOIN",
2569
- LEFT = "LEFT JOIN",
2570
- RIGHT = "RIGHT JOIN",
2571
- FULL = "FULL JOIN"
2572
- }
2573
- type JoinInfo = {
2574
- type: JoinType;
2575
- condition: JoinCondition;
2576
- };
2577
- type JoinCondition = {
2578
- operator: string;
2579
- left: ReportBuilderColumn;
2580
- right: ReportBuilderColumn;
2581
- };
2582
- type ReportBuilderColumn = {
2583
- field: string;
2584
- table: string;
2585
- alias?: string;
2586
- };
2587
- type ReportBuilderSort = {
2588
- field: string;
2589
- direction: SortDirection;
2590
- };
2591
- type ReportBuilderLimit = {
2592
- value: number;
2593
- };
2594
- type ReportBuilderState = {
2595
- tables: ReportBuilderTable[];
2596
- columns: ReportBuilderColumn[];
2597
- filterStack: FilterTreeNode[];
2598
- pivot: Pivot | null;
2599
- sort: ReportBuilderSort[];
2600
- limit: ReportBuilderLimit | null;
2601
- };
2602
-
2603
2629
  type ForeignKeyMap = {
2604
2630
  [table: string]: {
2605
2631
  foreignTable: string;
@@ -2615,7 +2641,6 @@ type ReportBuilder = {
2615
2641
  limit: ReportBuilderLimit | null;
2616
2642
  filterStack: FilterTreeNode[];
2617
2643
  state: ReportBuilderState;
2618
- activeQuery: string;
2619
2644
  tempReport: QuillReportInternal;
2620
2645
  stateStack: ReportBuilderState[];
2621
2646
  poppedStateStack: ReportBuilderState[];
@@ -3285,6 +3310,8 @@ interface SaveReportProps {
3285
3310
  onSubmitEditReport?: (report: QuillReport) => void;
3286
3311
  /** Callback when creating a new report is submitted. */
3287
3312
  onSubmitCreateReport?: (report: QuillReport) => void;
3313
+ /** Callback when changes are discarded. */
3314
+ onDiscardChanges?: () => void;
3288
3315
  /** The destination section for the report. */
3289
3316
  destinationSection?: string;
3290
3317
  /** Whether to show table format options. */
@@ -3430,7 +3457,7 @@ interface SaveReportProps {
3430
3457
  /** The label for the submit button. */
3431
3458
  submitButtonLabel?: string;
3432
3459
  }
3433
- declare const SaveReport: ({ reportBuilder, isOpen, setIsOpen, isAdminEnabled, chartBuilderTitle, onSubmitEditReport, onSubmitCreateReport, destinationSection, showTableFormatOptions, showDashboardFilterFields, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, CardComponent, ModalComponent, PopoverComponent, TableComponent, DeleteButtonComponent, LoadingComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, CheckboxComponent, ChartBuilderFormContainer, onClickChartElement, SaveTrigger, submitButtonLabel, }: SaveReportProps) => react_jsx_runtime.JSX.Element;
3460
+ declare const SaveReport: ({ reportBuilder, isOpen, setIsOpen, isAdminEnabled, chartBuilderTitle, onSubmitEditReport, onSubmitCreateReport, onDiscardChanges, destinationSection, showTableFormatOptions, showDashboardFilterFields, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, CardComponent, ModalComponent, PopoverComponent, TableComponent, DeleteButtonComponent, LoadingComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, CheckboxComponent, ChartBuilderFormContainer, onClickChartElement, SaveTrigger, submitButtonLabel, }: SaveReportProps) => react_jsx_runtime.JSX.Element;
3434
3461
 
3435
3462
  interface ReportTableProps {
3436
3463
  reportBuilder: ReportBuilder;