@devtable/dashboard 8.18.0 → 8.20.0

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.
@@ -1,5 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import { QueryModelInstance } from '~/model';
3
+ export declare const DEFAULT_SQL_REQ_PROCESSING: {
4
+ pre: string;
5
+ post: string;
6
+ };
3
7
  export declare const TabPanel_SQL: (({ queryModel }: {
4
8
  queryModel: QueryModelInstance;
5
9
  }) => JSX.Element | null) & {
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
- import { IEchartsLabelPosition } from './types';
2
+ import { IEchartsLabelPosition, LabelPositionOptionType } from './types';
3
3
  interface ILabelPositionSelector {
4
4
  label: string;
5
5
  value: IEchartsLabelPosition;
6
6
  onChange: (v: IEchartsLabelPosition) => void;
7
+ options?: LabelPositionOptionType[];
7
8
  }
8
9
  export declare const LabelPositionSelector: import("react").ForwardRefExoticComponent<ILabelPositionSelector & import("react").RefAttributes<HTMLInputElement>>;
9
10
  export {};
@@ -1 +1,6 @@
1
1
  export declare type IEchartsLabelPosition = 'top' | 'left' | 'right' | 'bottom' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' | 'insideTopLeft' | 'insideBottomLeft' | 'insideTopRight' | 'insideBottomRight' | 'outside';
2
+ export declare type LabelPositionOptionType = {
3
+ label: string;
4
+ value: IEchartsLabelPosition;
5
+ disabled?: boolean;
6
+ };
@@ -1,12 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import { Control } from 'react-hook-form';
3
3
  import { AnyObject } from '~/types';
4
- import { IFunnelConf } from '../../type';
4
+ import { IFunnelConf, IFunnelSeriesItem } from '../../type';
5
5
  interface ISeriesItemField {
6
+ item: IFunnelSeriesItem;
6
7
  control: Control<IFunnelConf, $TSFixMe>;
7
8
  data: AnyObject[];
8
9
  index: number;
9
10
  remove: (index: number) => void;
10
11
  }
11
- export declare const SeriesItemField: ({ control, data, index, remove }: ISeriesItemField) => JSX.Element;
12
+ export declare const SeriesItemField: ({ item, control, data, index, remove }: ISeriesItemField) => JSX.Element;
12
13
  export {};
@@ -9,6 +9,7 @@ export declare function getOption(conf: IFunnelConf, data: AnyObject[]): {
9
9
  };
10
10
  tooltip: {
11
11
  trigger: string;
12
+ formatter: (params: import("echarts/types/dist/shared").CallbackDataParams) => string;
12
13
  };
13
14
  series: {
14
15
  label: {
@@ -18,24 +19,24 @@ export declare function getOption(conf: IFunnelConf, data: AnyObject[]): {
18
19
  show: boolean;
19
20
  position: import("../../../common-echarts-fields/label-position").IEchartsLabelPosition;
20
21
  };
22
+ orient: "horizontal" | "vertical";
23
+ funnelAlign: "right" | "center" | "left";
21
24
  data: {
22
- name: any;
23
- value: any;
25
+ name: string;
26
+ value: string | number;
24
27
  }[];
25
28
  id: string;
26
29
  name: string;
27
- min: number;
28
- max: number;
29
- minSize: string;
30
- maxSize: string;
31
30
  gap: number;
32
31
  sort: "none" | "ascending" | "descending";
33
- orient: "horizontal" | "vertical";
34
- funnelAlign: "right" | "center" | "left";
35
- type: string;
32
+ min: number | undefined;
33
+ max: number | undefined;
34
+ minSize: string;
35
+ maxSize: string;
36
36
  top: number;
37
37
  left: number;
38
38
  right: number;
39
39
  bottom: number;
40
+ type: string;
40
41
  }[];
41
42
  };
@@ -1,5 +1,9 @@
1
1
  import { AnyObject } from '~/types';
2
2
  import { IFunnelConf } from '../type';
3
+ declare type SeriesDataType = {
4
+ name: string;
5
+ value: string | number;
6
+ };
3
7
  export declare function getSeries(conf: IFunnelConf, data: AnyObject[]): {
4
8
  label: {
5
9
  width: number;
@@ -8,23 +12,21 @@ export declare function getSeries(conf: IFunnelConf, data: AnyObject[]): {
8
12
  show: boolean;
9
13
  position: import("../../../common-echarts-fields/label-position").IEchartsLabelPosition;
10
14
  };
11
- data: {
12
- name: any;
13
- value: any;
14
- }[];
15
+ orient: "horizontal" | "vertical";
16
+ funnelAlign: "right" | "center" | "left";
17
+ data: SeriesDataType[];
15
18
  id: string;
16
19
  name: string;
17
- min: number;
18
- max: number;
19
- minSize: string;
20
- maxSize: string;
21
20
  gap: number;
22
21
  sort: "none" | "ascending" | "descending";
23
- orient: "horizontal" | "vertical";
24
- funnelAlign: "right" | "center" | "left";
25
- type: string;
22
+ min: number | undefined;
23
+ max: number | undefined;
24
+ minSize: string;
25
+ maxSize: string;
26
26
  top: number;
27
27
  left: number;
28
28
  right: number;
29
29
  bottom: number;
30
+ type: string;
30
31
  }[];
32
+ export {};
@@ -1,4 +1,7 @@
1
+ import { CallbackDataParams } from 'echarts/types/dist/shared';
2
+ import { AnyObject } from '~/types';
1
3
  import { IFunnelConf } from '../type';
2
- export declare function getTooltip(conf: IFunnelConf): {
4
+ export declare function getTooltip(conf: IFunnelConf, data: AnyObject[]): {
3
5
  trigger: string;
6
+ formatter: (params: CallbackDataParams) => string;
4
7
  };
@@ -6,10 +6,16 @@ export interface IFunnelSeriesItem {
6
6
  name: string;
7
7
  level_name_data_key: string;
8
8
  level_value_data_key: string;
9
- min: number;
10
- max: number;
11
- minSize: string;
12
- maxSize: string;
9
+ min: {
10
+ value: number;
11
+ enable_value: boolean;
12
+ size: string;
13
+ };
14
+ max: {
15
+ value: number;
16
+ enable_value: boolean;
17
+ size: string;
18
+ };
13
19
  gap: number;
14
20
  axisLabel: {
15
21
  show: boolean;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .panel-root{height:100%;width:100%;max-width:100%;background:transparent;border-radius:4px;position:relative}.panel-dropdown-target{text-align:center;transition:background-color .3s ease}.panel-dropdown-target:hover{cursor:pointer;background-color:#6464640d}.viz-root{width:100%;overflow:auto;flex-grow:1;background-color:#fff}.react-grid-item{padding:0}.remove-panel{position:absolute;right:2px;top:0;cursor:pointer}.code-textarea textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.preview-sql-in-monaco-editor{overflow:hidden}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectable{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__minimap{background-color:#fff}.react-flow__node-interaction{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 12px 6px #ff0;border-style:dashed}.dashboard-root{overflow:auto;overflow-x:hidden;padding:0;height:100%}.dashboard-view{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:initial!important}.dashboard-sticky-area{z-index:100;background:white;margin:0;padding:0 10px}.mantine-RichTextEditor-root{overflow-y:auto!important;-ms-overflow-style:initial!important}.dashboard-root *:not(.mantine-RichTextEditor-root):not(.dashboard-view):not(.mantine-Modal-body):not([data-enable-scrollbar])::-webkit-scrollbar{width:0!important;height:0!important}.dashboard-root *:not([data-enable-scrollbar]){overflow:-moz-scrollbars-none;-ms-overflow-style:none}.minimal-monaco-editor{border-radius:4px;overflow:hidden;background-color:#1e1e1e;padding-top:14px}
1
+ .panel-root{height:100%;width:100%;max-width:100%;background:transparent;border-radius:4px;position:relative}.panel-dropdown-target{text-align:center;transition:background-color .3s ease}.panel-dropdown-target:hover{cursor:pointer;background-color:#6464640d}.viz-root{width:100%;overflow:auto;flex-grow:1;background-color:#fff}.react-grid-item{padding:0}.remove-panel{position:absolute;right:2px;top:0;cursor:pointer}.code-textarea textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.preview-sql-in-monaco-editor{overflow:hidden}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectable{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__minimap{background-color:#fff}.react-flow__node-interaction{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 12px 6px #ff0;border-style:dashed}.dashboard-root{overflow:auto;overflow-x:hidden;padding:0;height:100%}.dashboard-view{position:relative;height:100%;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:initial!important}.dashboard-sticky-area{z-index:100;background:white;margin:0;padding:0 10px}.mantine-RichTextEditor-root{overflow-y:auto!important;-ms-overflow-style:initial!important}.dashboard-root *:not(.mantine-RichTextEditor-root):not(.dashboard-view):not(.mantine-Modal-body):not([data-enable-scrollbar])::-webkit-scrollbar{width:0!important;height:0!important}.dashboard-root *:not([data-enable-scrollbar]){overflow:-moz-scrollbars-none;-ms-overflow-style:none}.function-editor{border-radius:4px;overflow:hidden;background-color:#1e1e1e}.minimal-monaco-editor{border-radius:4px;overflow:hidden;background-color:#1e1e1e;padding-top:14px}
@@ -0,0 +1,13 @@
1
+ import CryptoJS from 'crypto-js';
2
+ import dayjs from 'dayjs';
3
+ import lodash from 'lodash';
4
+ import numbro from 'numbro';
5
+ import * as d3Array from 'd3-array';
6
+ export declare const functionUtils: {
7
+ CryptoJS: typeof CryptoJS;
8
+ d3Array: typeof d3Array;
9
+ dayjs: typeof dayjs;
10
+ lodash: lodash.LoDashStatic;
11
+ numbro: typeof numbro;
12
+ };
13
+ export declare const FunctionUtilsDescription = "\n<p>\n Parameter <code>utils</code> is <code>functionUtils</code>, which contains:\n</p>\n<ul>\n <li>\n <p>\n <code>CryptoJS</code>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n href=\"https://github.com/brix/crypto-js\"\n >crypto-js@4.1.1</a\n >\n </p>\n </li>\n <li>\n <p>\n <code>d3Array</code>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n href=\"https://github.com/d3/d3-array\"\n >d3-array@3.2.0</a\n >\n </p>\n </li>\n <li>\n <p>\n <code>dayjs</code>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer nofollow\"\n href=\"https://day.js.org/\"\n >dayjs@1.11.6</a\n >\n </p>\n </li>\n <li>\n <p>\n <code>lodash</code>\n <a\n rel=\"noopener noreferrer nofollow\"\n href=\"https://lodash.com/docs/4.17.15\"\n >lodash@4.17.21</a\n >\n </p>\n </li>\n <li>\n <p>\n <code>numbro</code>\n <a rel=\"noopener noreferrer nofollow\" href=\"https://numbrojs.com/\"\n >numbro@2.3.6</a\n >\n </p>\n </li>\n</ul>\n\n";
@@ -1,16 +1,6 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
- import dayjs from 'dayjs';
3
- import lodash from 'lodash';
4
- import numbro from 'numbro';
5
2
  import { IDataSource } from '~/api-caller/types';
6
3
  import { ContextInfoType, FilterValuesType } from '..';
7
- import CryptoJS from 'crypto-js';
8
- export declare const functionUtils: {
9
- CryptoJS: typeof CryptoJS;
10
- dayjs: typeof dayjs;
11
- lodash: lodash.LoDashStatic;
12
- numbro: typeof numbro;
13
- };
14
4
  export declare function buildHTTPRequest(pre_process: string, params: {
15
5
  context: Record<string, any>;
16
6
  filters: Record<string, any>;
@@ -11,3 +11,8 @@ export declare function getSQLParams(real_context: ContextInfoType, mock_context
11
11
  sql_snippets: Record<string, any>;
12
12
  };
13
13
  export declare function explainSQL(sql: string, context: ContextInfoType, mock_context: Record<string, $TSFixMe>, sqlSnippets: SQLSnippetModelInstance[], filterValues: FilterValuesType): any;
14
+ export declare function preProcessSQLQuery({ sql, pre_process }: {
15
+ sql: string;
16
+ pre_process: TFunctionString;
17
+ }): any;
18
+ export declare function postProcessSQLQuery(post_process: TFunctionString, data: any): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devtable/dashboard",
3
- "version": "8.18.0",
3
+ "version": "8.20.0",
4
4
  "license": "Apache-2.0",
5
5
  "publishConfig": {
6
6
  "access": "public",