@gingkoo/pandora-metabase 0.0.1-alpha.1

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 (60) hide show
  1. package/README.md +93 -0
  2. package/lib/es/components/Portal/index.d.ts +8 -0
  3. package/lib/es/constant.d.ts +1 -0
  4. package/lib/es/css.d.ts +10 -0
  5. package/lib/es/enum.d.ts +17 -0
  6. package/lib/es/helper.d.ts +16 -0
  7. package/lib/es/icons.d.ts +2 -0
  8. package/lib/es/index.d.ts +2 -0
  9. package/lib/es/index.js +5756 -0
  10. package/lib/es/index.js.map +1 -0
  11. package/lib/es/metaBase/components/dialog/const.d.ts +4 -0
  12. package/lib/es/metaBase/components/dialog/custom-column/config.d.ts +352 -0
  13. package/lib/es/metaBase/components/dialog/custom-column/dialog/function-tip.d.ts +7 -0
  14. package/lib/es/metaBase/components/dialog/custom-column/dialog/select-list.d.ts +15 -0
  15. package/lib/es/metaBase/components/dialog/custom-column/expression-editor.d.ts +11 -0
  16. package/lib/es/metaBase/components/dialog/custom-column/expressions/suggest.d.ts +69 -0
  17. package/lib/es/metaBase/components/dialog/custom-column/expressions/tokenizer.d.ts +36 -0
  18. package/lib/es/metaBase/components/dialog/custom-column/index.d.ts +12 -0
  19. package/lib/es/metaBase/components/dialog/custom-column/keyboard.d.ts +11 -0
  20. package/lib/es/metaBase/components/dialog/custom-column/tokenized-expression.d.ts +10 -0
  21. package/lib/es/metaBase/components/dialog/custom-column/tokenizedI-input.d.ts +3 -0
  22. package/lib/es/metaBase/components/dialog/index.d.ts +7 -0
  23. package/lib/es/metaBase/components/dialog/select-column/index.d.ts +15 -0
  24. package/lib/es/metaBase/components/dialog/select-filter/index.d.ts +6 -0
  25. package/lib/es/metaBase/components/dialog/select-join/index.d.ts +13 -0
  26. package/lib/es/metaBase/components/dialog/select-join-column/index.d.ts +41 -0
  27. package/lib/es/metaBase/components/dialog/select-summarize/index.d.ts +18 -0
  28. package/lib/es/metaBase/components/dialog/select-table/index.d.ts +17 -0
  29. package/lib/es/metaBase/components/icons.d.ts +32 -0
  30. package/lib/es/metaBase/components/modules/components/header.d.ts +7 -0
  31. package/lib/es/metaBase/components/modules/components/meta-icon.d.ts +3 -0
  32. package/lib/es/metaBase/components/modules/components/wrapper.d.ts +7 -0
  33. package/lib/es/metaBase/components/modules/custom-column.d.ts +3 -0
  34. package/lib/es/metaBase/components/modules/filter.d.ts +3 -0
  35. package/lib/es/metaBase/components/modules/index.d.ts +3 -0
  36. package/lib/es/metaBase/components/modules/join-data.d.ts +3 -0
  37. package/lib/es/metaBase/components/modules/row-limit.d.ts +3 -0
  38. package/lib/es/metaBase/components/modules/sort.d.ts +3 -0
  39. package/lib/es/metaBase/components/modules/summarize/group-by.d.ts +8 -0
  40. package/lib/es/metaBase/components/modules/summarize/index.d.ts +3 -0
  41. package/lib/es/metaBase/components/modules/summarize/select-index.d.ts +3 -0
  42. package/lib/es/metaBase/components/modules/table-data.d.ts +3 -0
  43. package/lib/es/metaBase/components/popup.d.ts +97 -0
  44. package/lib/es/metaBase/enum.d.ts +54 -0
  45. package/lib/es/metaBase/index.d.ts +7 -0
  46. package/lib/es/metaBase/interface.d.ts +11 -0
  47. package/lib/es/metaBase/locale.d.ts +1 -0
  48. package/lib/es/metaBase/sql-formula.d.ts +19 -0
  49. package/lib/es/metaBase/utils.d.ts +15 -0
  50. package/lib/es/request.d.ts +23 -0
  51. package/lib/es/store/metabase/enum.d.ts +54 -0
  52. package/lib/es/store/metabase/helper.d.ts +6 -0
  53. package/lib/es/store/metabase/index.d.ts +51 -0
  54. package/lib/es/store/metabase/types.d.ts +207 -0
  55. package/lib/es/types.d.ts +38 -0
  56. package/lib/es/utils/event.d.ts +20 -0
  57. package/lib/es/utils/helper-dom.d.ts +11 -0
  58. package/lib/es/utils/helper.d.ts +23 -0
  59. package/lib/es/utils/selection.d.ts +7 -0
  60. package/package.json +93 -0
@@ -0,0 +1,32 @@
1
+ type IconProps = {
2
+ width?: number;
3
+ height?: number;
4
+ style?: object;
5
+ };
6
+ export declare const CloseIcon2: (reset: any) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FilterIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const SummarizeIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const JoinDataIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const CustomColumnIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const SortIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const RowLimitIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const LeftJoinIcon: ({ width, height, style }: IconProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const InnerJoinIcon: ({ width, height, style }: IconProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const UpArrowIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const DownArrowIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
17
+ export declare const CloseIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const AddIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
19
+ export declare const TableIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const SearchIcon: ({ width, height }: IconProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const NotSelectIcon: () => import("react/jsx-runtime").JSX.Element;
22
+ export declare const SelectIcon: () => import("react/jsx-runtime").JSX.Element;
23
+ export declare const CircleIcon: () => import("react/jsx-runtime").JSX.Element;
24
+ export declare const LetterAaIcon: () => import("react/jsx-runtime").JSX.Element;
25
+ export declare const CalendarIcon: () => import("react/jsx-runtime").JSX.Element;
26
+ export declare const WellIcon: () => import("react/jsx-runtime").JSX.Element;
27
+ export declare const ForeignKeyIcon: () => import("react/jsx-runtime").JSX.Element;
28
+ export declare const UpArrowIcon2: () => import("react/jsx-runtime").JSX.Element;
29
+ export declare const DownArrowIcon2: () => import("react/jsx-runtime").JSX.Element;
30
+ export declare const LeftArrowIcon: () => import("react/jsx-runtime").JSX.Element;
31
+ export declare const RightArrowIcon: () => import("react/jsx-runtime").JSX.Element;
32
+ export {};
@@ -0,0 +1,7 @@
1
+ interface HeaderProps {
2
+ title: string;
3
+ className?: string;
4
+ onClose?: Function;
5
+ }
6
+ declare const Header: (props: HeaderProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default Header;
@@ -0,0 +1,3 @@
1
+ import { ModulesPropsType } from '../../../../store/metabase/types';
2
+ declare const NextDom: (props: ModulesPropsType) => import("react/jsx-runtime").JSX.Element | null;
3
+ export default NextDom;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface WrapperType {
3
+ children: React.ReactElement;
4
+ className: string;
5
+ }
6
+ declare const Wrapper: ({ children, className }: WrapperType) => import("react/jsx-runtime").JSX.Element;
7
+ export default Wrapper;
@@ -0,0 +1,3 @@
1
+ import { MetaCustom, ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const CustomColumn: (props: ModulesPropsType<MetaCustom>) => import("react/jsx-runtime").JSX.Element;
3
+ export default CustomColumn;
@@ -0,0 +1,3 @@
1
+ import { MetaFilter, ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const Filter: (props: ModulesPropsType<MetaFilter>) => import("react/jsx-runtime").JSX.Element;
3
+ export default Filter;
@@ -0,0 +1,3 @@
1
+ import { TypeEnum } from '../../../store/metabase/enum';
2
+ declare const _default: Map<TypeEnum, (props: import("../../../store/metabase/types").ModulesPropsType<import("../../../store/metabase/types").MetaData>) => import("react/jsx-runtime").JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { MetaJoin, ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const JoinData: (props: ModulesPropsType<MetaJoin>) => import("react/jsx-runtime").JSX.Element;
3
+ export default JoinData;
@@ -0,0 +1,3 @@
1
+ import { ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const RowLimit: (props: ModulesPropsType<any>) => import("react/jsx-runtime").JSX.Element;
3
+ export default RowLimit;
@@ -0,0 +1,3 @@
1
+ import { MetaSort, ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const Sort: (props: ModulesPropsType<MetaSort>) => import("react/jsx-runtime").JSX.Element;
3
+ export default Sort;
@@ -0,0 +1,8 @@
1
+ import { MetaSummarize, ModulesPropsType } from '../../../../store/metabase/types';
2
+ import { ColumnType } from '../../dialog/select-join-column';
3
+ export type ValueType = ColumnType & {
4
+ condition: string;
5
+ quotes: string;
6
+ };
7
+ declare const GroupBy: (props: ModulesPropsType<MetaSummarize>) => import("react/jsx-runtime").JSX.Element;
8
+ export default GroupBy;
@@ -0,0 +1,3 @@
1
+ import { MetaSummarize, ModulesPropsType } from '../../../../store/metabase/types';
2
+ declare const Summarize: (props: ModulesPropsType<MetaSummarize>) => import("react/jsx-runtime").JSX.Element;
3
+ export default Summarize;
@@ -0,0 +1,3 @@
1
+ import { MetaSummarize, ModulesPropsType } from '../../../../store/metabase/types';
2
+ declare const SelectIndex: (props: ModulesPropsType<MetaSummarize>) => import("react/jsx-runtime").JSX.Element;
3
+ export default SelectIndex;
@@ -0,0 +1,3 @@
1
+ import { MetaData, ModulesPropsType } from '../../../store/metabase/types';
2
+ declare const TableData: (props: ModulesPropsType<MetaData>) => import("react/jsx-runtime").JSX.Element;
3
+ export default TableData;
@@ -0,0 +1,97 @@
1
+ import * as React from 'react';
2
+ export declare function generateTrigger(PortalComponent: any): {
3
+ new (props: PropsType): {
4
+ resetId: number;
5
+ ref: any;
6
+ componentDidMount(): void;
7
+ componentWillUnmount(): void;
8
+ bindEvent: () => void;
9
+ closePopup: () => void;
10
+ attachParent: (popupContainer: HTMLSpanElement) => void;
11
+ getCurrentNodePos: () => {
12
+ x: number;
13
+ y: number;
14
+ h: any;
15
+ };
16
+ getContainer: () => HTMLSpanElement;
17
+ getComponent: () => import("react/jsx-runtime").JSX.Element;
18
+ didUpdate: () => void | false;
19
+ render(): import("react/jsx-runtime").JSX.Element | null;
20
+ context: unknown;
21
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<PropsType>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
22
+ forceUpdate(callback?: (() => void) | undefined): void;
23
+ readonly props: Readonly<PropsType>;
24
+ state: Readonly<{}>;
25
+ refs: {
26
+ [key: string]: React.ReactInstance;
27
+ };
28
+ shouldComponentUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): boolean;
29
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
30
+ getSnapshotBeforeUpdate?(prevProps: Readonly<PropsType>, prevState: Readonly<{}>): any;
31
+ componentDidUpdate?(prevProps: Readonly<PropsType>, prevState: Readonly<{}>, snapshot?: any): void;
32
+ componentWillMount?(): void;
33
+ UNSAFE_componentWillMount?(): void;
34
+ componentWillReceiveProps?(nextProps: Readonly<PropsType>, nextContext: any): void;
35
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<PropsType>, nextContext: any): void;
36
+ componentWillUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): void;
37
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): void;
38
+ };
39
+ defaultProps: {
40
+ visible: boolean;
41
+ children: null;
42
+ };
43
+ contextType?: React.Context<any> | undefined;
44
+ };
45
+ declare const _default: {
46
+ new (props: PropsType): {
47
+ resetId: number;
48
+ ref: any;
49
+ componentDidMount(): void;
50
+ componentWillUnmount(): void;
51
+ bindEvent: () => void;
52
+ closePopup: () => void;
53
+ attachParent: (popupContainer: HTMLSpanElement) => void;
54
+ getCurrentNodePos: () => {
55
+ x: number;
56
+ y: number;
57
+ h: any;
58
+ };
59
+ getContainer: () => HTMLSpanElement;
60
+ getComponent: () => import("react/jsx-runtime").JSX.Element;
61
+ didUpdate: () => void | false;
62
+ render(): import("react/jsx-runtime").JSX.Element | null;
63
+ context: unknown;
64
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<PropsType>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
65
+ forceUpdate(callback?: (() => void) | undefined): void;
66
+ readonly props: Readonly<PropsType>;
67
+ state: Readonly<{}>;
68
+ refs: {
69
+ [key: string]: React.ReactInstance;
70
+ };
71
+ shouldComponentUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): boolean;
72
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
73
+ getSnapshotBeforeUpdate?(prevProps: Readonly<PropsType>, prevState: Readonly<{}>): any;
74
+ componentDidUpdate?(prevProps: Readonly<PropsType>, prevState: Readonly<{}>, snapshot?: any): void;
75
+ componentWillMount?(): void;
76
+ UNSAFE_componentWillMount?(): void;
77
+ componentWillReceiveProps?(nextProps: Readonly<PropsType>, nextContext: any): void;
78
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<PropsType>, nextContext: any): void;
79
+ componentWillUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): void;
80
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<PropsType>, nextState: Readonly<{}>, nextContext: any): void;
81
+ };
82
+ defaultProps: {
83
+ visible: boolean;
84
+ children: null;
85
+ };
86
+ contextType?: React.Context<any> | undefined;
87
+ };
88
+ export default _default;
89
+ interface PropsType {
90
+ visible: boolean;
91
+ children: any;
92
+ hideVisible: Function;
93
+ node: any;
94
+ innerSpacing?: number;
95
+ container?: HTMLDivElement;
96
+ closable?: boolean;
97
+ }
@@ -0,0 +1,54 @@
1
+ export declare enum SortEnum {
2
+ desc = "DESC",
3
+ asc = "ASC"
4
+ }
5
+ export declare enum TypeEnum {
6
+ data = "data",
7
+ joinData = "joinData",
8
+ customColumn = "customColumn",
9
+ filter = "filter",
10
+ summarize = "summarize",
11
+ sort = "sort",
12
+ rowLimit = "rowLimit"
13
+ }
14
+ export declare enum JoinEnum {
15
+ left = "LEFT JOIN",
16
+ right = "RIGHT JOIN",
17
+ inner = "INNER JOIN"
18
+ }
19
+ export declare enum ColumnsPopupThemeEnum {
20
+ skyBlue = "skyBlue",
21
+ greenGrass = "greenGrass",
22
+ purple = "purple"
23
+ }
24
+ export declare enum SpecialType {
25
+ PK = "pk",
26
+ FK = "fk"
27
+ }
28
+ export declare enum SQL_COLUMN_TYPE {
29
+ STRING = "STRING",
30
+ DATE = "DATE",
31
+ FLOAT = "FLOAT",
32
+ LONG = "LONG",
33
+ CURRENCY = "CURRENCY"
34
+ }
35
+ export declare enum SQL_GROUP_TYPE {
36
+ NUMBER = "number",
37
+ STRING = "string",
38
+ DATE = "date"
39
+ }
40
+ export declare enum DataTypeEnum {
41
+ float = "float",// 小数
42
+ string = "string",// 字符
43
+ date = "date",// 日期
44
+ long = "long",// 整数
45
+ currency = "currency"
46
+ }
47
+ export declare enum EleComponentEnum {
48
+ text = "text",// 文本框
49
+ select = "select"
50
+ }
51
+ export declare enum TabEnum {
52
+ RESULT = "RESULT",
53
+ FIELD = "FIELD"
54
+ }
@@ -0,0 +1,7 @@
1
+ import './index.less';
2
+ import type { MetaBaseProps } from '../metaBase/interface';
3
+ import { MetaData_ColumnsType } from '../store/metabase/types';
4
+ export declare const SummarizeAlias = "source";
5
+ declare const MetaBase: (props: MetaBaseProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export default MetaBase;
7
+ export { MetaBaseProps, type MetaData_ColumnsType };
@@ -0,0 +1,11 @@
1
+ import { MetaListType, MetaData_TableType, initColumnsType } from '../store/metabase/types';
2
+ export interface MetaBaseProps {
3
+ loading?: boolean;
4
+ value?: MetaListType[];
5
+ tableData?: MetaData_TableType[];
6
+ showExecute?: boolean;
7
+ onExecute?: (params: MetaListType[]) => void;
8
+ isCacheColumns?: boolean;
9
+ getTableColumns?: (tableName: string) => Promise<initColumnsType[]>;
10
+ onChange?: (val: MetaListType[]) => void;
11
+ }
@@ -0,0 +1 @@
1
+ export declare const __: (str: string) => any;
@@ -0,0 +1,19 @@
1
+ export interface ParameterType {
2
+ key: string;
3
+ explain: string;
4
+ }
5
+ export interface FunctionInfoType {
6
+ tip: string;
7
+ name: string;
8
+ desc: string;
9
+ case: string;
10
+ parameter: ParameterType[];
11
+ }
12
+ export interface FunctionsType {
13
+ [name: string]: FunctionInfoType;
14
+ }
15
+ export declare const functions: FunctionsType;
16
+ declare const _default: {
17
+ getFuncInfo(name: string): FunctionInfoType | null;
18
+ };
19
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { TypeEnum } from '../store/metabase/enum';
2
+ import { MetaListType, MetaSummarize } from '../store/metabase/types';
3
+ export declare const findIndex: <T>(arr: T[], item: T) => number;
4
+ interface HelperResultType {
5
+ ExistAboveGroupBy: boolean;
6
+ ExistBelowGroupBy: boolean;
7
+ prevTypes: TypeEnum[];
8
+ nextTypes: TypeEnum[];
9
+ prevList: MetaListType[];
10
+ nextList: MetaListType[];
11
+ prevGroupBy: MetaSummarize | undefined;
12
+ nextGroupBy: MetaSummarize | undefined;
13
+ }
14
+ export declare const getHelper: (list: MetaListType[], item: MetaListType) => HelperResultType;
15
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ *
3
+ * @param {string} url 源地址
4
+ * @param {string} str 带拼接的字符串
5
+ * @returns
6
+ */
7
+ export declare const spliceUrl: (url: string, str: string) => string;
8
+ export interface RequestProps {
9
+ url: string;
10
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
11
+ params?: any;
12
+ headers?: any;
13
+ noCode?: any;
14
+ isRaw?: boolean;
15
+ }
16
+ export default class BaseRequest {
17
+ private sendRequest;
18
+ get(options: Omit<RequestProps, 'method'>, baseUrl?: string): Promise<[boolean, any?]>;
19
+ post(options: Omit<RequestProps, 'method'>, baseUrl?: string): Promise<[boolean, any?]>;
20
+ put(options: Omit<RequestProps, 'method'>, baseUrl?: string): Promise<[boolean, any?]>;
21
+ del(options: Omit<RequestProps, 'method'>, baseUrl?: string): Promise<[boolean, any?]>;
22
+ send(options: RequestProps, baseUrl?: string): Promise<[boolean, any?]>;
23
+ }
@@ -0,0 +1,54 @@
1
+ export declare enum SortEnum {
2
+ desc = "DESC",
3
+ asc = "ASC"
4
+ }
5
+ export declare enum TypeEnum {
6
+ data = "data",
7
+ joinData = "joinData",
8
+ customColumn = "customColumn",
9
+ filter = "filter",
10
+ summarize = "summarize",
11
+ sort = "sort",
12
+ rowLimit = "rowLimit"
13
+ }
14
+ export declare enum JoinEnum {
15
+ left = "LEFT JOIN",
16
+ right = "RIGHT JOIN",
17
+ inner = "INNER JOIN"
18
+ }
19
+ export declare enum ColumnsPopupThemeEnum {
20
+ skyBlue = "skyBlue",
21
+ greenGrass = "greenGrass",
22
+ purple = "purple"
23
+ }
24
+ export declare enum SpecialType {
25
+ PK = "pk",
26
+ FK = "fk"
27
+ }
28
+ export declare enum SQL_COLUMN_TYPE {
29
+ STRING = "STRING",
30
+ DATE = "DATE",
31
+ FLOAT = "FLOAT",
32
+ LONG = "LONG",
33
+ CURRENCY = "CURRENCY"
34
+ }
35
+ export declare enum SQL_GROUP_TYPE {
36
+ NUMBER = "number",
37
+ STRING = "string",
38
+ DATE = "date"
39
+ }
40
+ export declare enum DataTypeEnum {
41
+ float = "float",// 小数
42
+ string = "string",// 字符
43
+ date = "date",// 日期
44
+ long = "long",// 整数
45
+ currency = "currency"
46
+ }
47
+ export declare enum EleComponentEnum {
48
+ text = "text",// 文本框
49
+ select = "select"
50
+ }
51
+ export declare enum TabEnum {
52
+ RESULT = "RESULT",
53
+ FIELD = "FIELD"
54
+ }
@@ -0,0 +1,6 @@
1
+ import { MetaListType, MetaFilter_Item, MetaSummarize_Group, ParamsStruct } from './types';
2
+ export declare const filterToSql: (record: MetaFilter_Item) => string;
3
+ export declare const summarizeToSql: (arr: MetaSummarize_Group[], record: MetaSummarize_Group) => string;
4
+ export declare const handleSqlStruct: (list: MetaListType[]) => ParamsStruct;
5
+ export declare const compressionStructure: (data: MetaListType[]) => string;
6
+ export declare const restoreStructure: (data: string) => MetaListType[];
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import { DataTypeEnum, EleComponentEnum } from './enum';
3
+ import { TableColumnsMapType, initColumnsType, MetaData_ColumnsType } from './types';
4
+ export { observer } from 'mobx-react';
5
+ export declare const SummarizeAlias = "source";
6
+ export interface TableFieldsType {
7
+ dataId: string;
8
+ dataType: DataTypeEnum;
9
+ eleComponent: EleComponentEnum;
10
+ datasetId: string;
11
+ fieldLength: number;
12
+ fieldScale: number;
13
+ dictInfo: '';
14
+ fieldId: string;
15
+ fieldName: string;
16
+ listShow: 'Y' | 'N' | boolean;
17
+ formShow?: 'Y' | 'N' | boolean;
18
+ isUrlParam?: 'Y' | 'N' | boolean;
19
+ isStaticFilter: 'Y' | 'N' | boolean;
20
+ isAdvanceFilter: 'Y' | 'N' | boolean;
21
+ }
22
+ export interface IChartItem {
23
+ key: string;
24
+ name: string;
25
+ config: object;
26
+ configData: object;
27
+ CHART_ID?: string;
28
+ CHART_NAME?: string;
29
+ CHART_IMG?: string;
30
+ CHART_TYPE?: string;
31
+ CHART_CONFIG?: object;
32
+ CHART_CONFIG_DATA?: any[];
33
+ MODULE_ID?: string;
34
+ MODULE_NAME?: string;
35
+ MODULE_SQL?: string;
36
+ ORG_ID?: string;
37
+ }
38
+ declare class SqlVisionStore {
39
+ constructor();
40
+ _cacheColumnsMap: TableColumnsMapType;
41
+ fetchColumns(tableName: string, callback: (record: MetaData_ColumnsType[]) => void): Promise<any>;
42
+ setColumns(tableId: string, columns: initColumnsType[]): void;
43
+ getColumns(tableId: string): initColumnsType[];
44
+ }
45
+ export declare const sqlVisionStore: SqlVisionStore;
46
+ export declare const Store: React.Context<SqlVisionStore>;
47
+ declare const StoreProvide: React.FC<{
48
+ children: React.ReactNode;
49
+ }>;
50
+ export default StoreProvide;
51
+ export declare const useStore: () => SqlVisionStore;
@@ -0,0 +1,207 @@
1
+ import { TypeEnum, SpecialType, JoinEnum, SQL_COLUMN_TYPE, SortEnum } from './enum';
2
+ export interface PopupData {
3
+ visible: boolean;
4
+ node?: any;
5
+ content?: any;
6
+ }
7
+ export interface ModulesPropsType<T extends MetaListType = MetaListType> {
8
+ meta: T;
9
+ fetchColumns: (tableName: string, fn: Function) => void;
10
+ popupData: PopupData;
11
+ setPopupData: Function;
12
+ tableData: MetaData_TableType[];
13
+ metaList: MetaListType[];
14
+ addMeta: (type: string, index: number) => void;
15
+ delMeta: (meta: any) => void;
16
+ onChangeValue: (value: MetaListType[]) => void;
17
+ popupClosable: boolean;
18
+ setPopupClosable?: (val: boolean) => void;
19
+ showMainColumn?: boolean;
20
+ }
21
+ export type MetaListType = MetaData | MetaJoin | MetaCustom | MetaFilter | MetaSummarize | MetaSort | MetaLimit;
22
+ export type initColumnsType = Omit<MetaData_ColumnsType, 'select'>;
23
+ export interface TableColumnsMapType {
24
+ [tableName: string]: initColumnsType[];
25
+ }
26
+ export interface MetaData_TableType {
27
+ name: string;
28
+ alias: string;
29
+ }
30
+ export interface MetaData_ColumnsType {
31
+ name: string;
32
+ name_zh: string;
33
+ database_type: SQL_COLUMN_TYPE | string;
34
+ special_type: SpecialType | string;
35
+ select: boolean;
36
+ }
37
+ export interface MetaData {
38
+ metaKey: number;
39
+ type: TypeEnum.data;
40
+ table: MetaData_TableType;
41
+ columns: MetaData_ColumnsType[];
42
+ }
43
+ export interface MetaJoin_TalbeType {
44
+ name: string;
45
+ alias: string;
46
+ column: string;
47
+ groupSql?: string;
48
+ }
49
+ export interface MetaJoin {
50
+ metaKey: number;
51
+ type: TypeEnum.joinData;
52
+ joinType: JoinEnum;
53
+ table1: MetaJoin_TalbeType;
54
+ table2: MetaJoin_TalbeType;
55
+ columns: MetaData_ColumnsType[];
56
+ }
57
+ export interface MetaCustom_Item {
58
+ name: string;
59
+ formula: string;
60
+ }
61
+ export interface MetaCustom {
62
+ metaKey: number;
63
+ type: TypeEnum.customColumn;
64
+ customColumn: MetaCustom_Item[];
65
+ }
66
+ export interface MetaFilter_Item {
67
+ table: string;
68
+ alias: string;
69
+ name: string;
70
+ groupSql?: string;
71
+ database_type: SQL_COLUMN_TYPE | '';
72
+ val: string[];
73
+ condition: string;
74
+ quotes: string;
75
+ }
76
+ export interface MetaFilter {
77
+ metaKey: number;
78
+ type: TypeEnum.filter;
79
+ filter: MetaFilter_Item[];
80
+ }
81
+ export interface MetaSummarize_Group {
82
+ table?: string;
83
+ alias?: string;
84
+ name?: string;
85
+ database_type?: SQL_COLUMN_TYPE | '';
86
+ sql: string;
87
+ condition: string;
88
+ quotes: string;
89
+ }
90
+ export interface MetaSummarize_By {
91
+ table: string;
92
+ alias: string;
93
+ name: string;
94
+ sql: string;
95
+ database_type: SQL_COLUMN_TYPE | '';
96
+ condition: string;
97
+ quotes: string;
98
+ }
99
+ export interface MetaSummarize {
100
+ metaKey: number;
101
+ type: TypeEnum.summarize;
102
+ alias: string;
103
+ group: MetaSummarize_Group[];
104
+ by: MetaSummarize_By[];
105
+ }
106
+ export interface MetaSort_Item {
107
+ table: string;
108
+ alias: string;
109
+ name: string;
110
+ sql: string;
111
+ sort: SortEnum;
112
+ }
113
+ export interface MetaSort {
114
+ metaKey: number;
115
+ type: TypeEnum.sort;
116
+ sort: MetaSort_Item[];
117
+ }
118
+ export interface MetaLimit {
119
+ metaKey: number;
120
+ type: TypeEnum.rowLimit;
121
+ limit: string;
122
+ }
123
+ export interface LooseObject {
124
+ [TypeEnum.data]?: MetaData;
125
+ [TypeEnum.joinData]?: MetaJoin[];
126
+ [TypeEnum.customColumn]?: MetaCustom;
127
+ [TypeEnum.filter]?: MetaFilter;
128
+ [TypeEnum.summarize]?: MetaSummarize;
129
+ [TypeEnum.sort]?: MetaSort;
130
+ [TypeEnum.rowLimit]?: MetaLimit;
131
+ children?: LooseObject;
132
+ }
133
+ interface ParamsCustomColumns {
134
+ alias: string;
135
+ formula: string;
136
+ }
137
+ interface ParamsJoinTables {
138
+ alias: string;
139
+ joinCondition: string;
140
+ joinType: string;
141
+ queryColumns: string[];
142
+ tableName: string;
143
+ }
144
+ export interface ParamsStruct {
145
+ alias?: string;
146
+ tableName?: string;
147
+ queryColumns?: string[];
148
+ customColumns?: ParamsCustomColumns[];
149
+ filters?: string;
150
+ groupBy?: {
151
+ calcColumns: string[];
152
+ groupColumns: string[];
153
+ };
154
+ joinTables?: ParamsJoinTables[];
155
+ limit?: number;
156
+ orderInfos?: string;
157
+ hasInnerSql: boolean;
158
+ innerSqlStruct: ParamsStruct | null;
159
+ }
160
+ export interface ParamsType {
161
+ id: string;
162
+ code: string;
163
+ }
164
+ export {};
165
+ /**
166
+ let a = {
167
+ "idxId": "string",
168
+ "sqlStruct": {
169
+ "alias": "string",// 主表别名 只有最外层可以没有
170
+ "tableName": "string",// 主表名 除了最内层 都可以没有
171
+ "queryColumns": [
172
+ "string"// 第一层放 主表选择的字段,其他的放 groupby 的两个字段别名
173
+ ],
174
+ "groupBy": {// 聚合
175
+ "calcColumns": [// 左边
176
+ "string"
177
+ ],
178
+ "groupColumns": [// 右边
179
+ "string"
180
+ ]
181
+ },
182
+ "customColumns": [// 自定义列
183
+ {
184
+ "alias": "string",
185
+ "formula": "string"
186
+ }
187
+ ],
188
+ "filters": "string",// filter 用 on 分隔
189
+ "hasInnerSql": false,// 是否有嵌套
190
+ "innerSqlStruct": {},// 嵌套内容
191
+ "joinTables": [// 关联
192
+ {
193
+ "alias": "string",
194
+ "joinCondition": "a.a = b.b",
195
+ "joinType": "string",
196
+ "queryColumns": [
197
+ "string"
198
+ ],
199
+ "tableName": "string"
200
+ }
201
+ ],
202
+ "limit": 0,
203
+ "orderInfos": "string",
204
+
205
+ },
206
+ }
207
+ */