@qn-pandora/pandora-component 5.1.0 → 5.1.2
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/README.md +36 -36
- package/es/components/AutoComplete/index.js +2 -2
- package/es/components/AutoComplete/style.css +127 -39
- package/es/components/AutoComplete/style.less +8 -8
- package/es/components/Breadcrumb/style.css +13 -3
- package/es/components/Breadcrumb/style.less +9 -9
- package/es/components/Button/style.css +282 -176
- package/es/components/Button/style.less +51 -51
- package/es/components/Card/RowExtra/style.css +6 -0
- package/es/components/Card/RowExtra/style.less +8 -8
- package/es/components/Card/SearchInput/style.less +8 -8
- package/es/components/Card/style.css +61 -66
- package/es/components/Card/style.less +11 -11
- package/es/components/CheckTransformList/style.css +345 -121
- package/es/components/CheckTransformList/style.less +35 -35
- package/es/components/Checkbox/index.js +9 -1
- package/es/components/Checkbox/style.css +5 -0
- package/es/components/Checkbox/style.less +5 -5
- package/es/components/CheckboxList/style.css +10 -5
- package/es/components/CheckboxList/style.less +11 -11
- package/es/components/Collapse/style.css +35 -3
- package/es/components/Collapse/style.less +58 -58
- package/es/components/CollapsiblePanel/style.less +63 -63
- package/es/components/DateTimePicker/Base/index.d.ts +3 -0
- package/es/components/DateTimePicker/Base/index.js +51 -6
- package/es/components/DateTimePicker/Base/style.css +508 -112
- package/es/components/DateTimePicker/Base/style.less +167 -160
- package/es/components/DateTimePicker/BaseMobile/Absolute/style.less +35 -35
- package/es/components/DateTimePicker/BaseMobile/style.less +32 -32
- package/es/components/DateTimePicker/Collapse/Panel/style.less +26 -26
- package/es/components/DateTimePicker/DisplayInput/index.js +3 -1
- package/es/components/DateTimePicker/DisplayInput/style.css +231 -53
- package/es/components/DateTimePicker/DisplayInput/style.less +9 -9
- package/es/components/DateTimePicker/constants.d.ts +9 -3
- package/es/components/DateTimePicker/constants.js +1 -0
- package/es/components/DateTimePicker/index.js +1 -1
- package/es/components/DateTimePicker/style.css +77 -46
- package/es/components/DateTimePicker/style.less +19 -19
- package/es/components/DateTimePicker/time.d.ts +1 -0
- package/es/components/DateTimePicker/time.js +1 -0
- package/es/components/DateTimePicker/transform.js +4 -2
- package/es/components/Descriptions/style.css +77 -46
- package/es/components/Descriptions/style.less +16 -16
- package/es/components/Drawer/CloseIcon/style.less +8 -8
- package/es/components/Drawer/index.d.ts +6 -6
- package/es/components/Drawer/index.js +4 -4
- package/es/components/Drawer/style.css +244 -169
- package/es/components/Drawer/style.less +69 -61
- package/es/components/FileResumable/index.js +2 -3
- package/es/components/FileResumable/style.css +20 -50
- package/es/components/FileResumable/style.less +94 -94
- package/es/components/FlameGraph/customTooltip.d.ts +22 -0
- package/es/components/FlameGraph/customTooltip.js +91 -0
- package/es/components/FlameGraph/index.d.ts +16 -0
- package/es/components/FlameGraph/index.js +96 -0
- package/es/components/FlameGraph/style.css +8 -0
- package/es/components/FlameGraph/style.less +14 -0
- package/es/components/Input/index.d.ts +1 -1
- package/es/components/Input/style.css +231 -53
- package/es/components/Input/style.less +12 -12
- package/es/components/KeyValuePair/style.less +25 -25
- package/es/components/Menu/Option.d.ts +1 -1
- package/es/components/Menu/Option.js +12 -4
- package/es/components/Menu/style.css +31 -22
- package/es/components/Menu/style.less +18 -18
- package/es/components/Modal/style.css +11 -8
- package/es/components/Modal/style.less +30 -30
- package/es/components/NameExplainTooltip/style.css +1 -1
- package/es/components/NameExplainTooltip/style.less +10 -10
- package/es/components/NameLimiter/index.js +1 -1
- package/es/components/NameLimiter/style.css +83 -55
- package/es/components/NameLimiter/style.less +19 -19
- package/es/components/OptionList/InlineOptionList/style.css +22 -9
- package/es/components/OptionList/InlineOptionList/style.less +16 -16
- package/es/components/OptionList/OptionItem/style.css +85 -57
- package/es/components/OptionList/OptionItem/style.less +25 -25
- package/es/components/OptionList/PopoverOptionList/index.js +1 -1
- package/es/components/OptionList/PopoverOptionList/style.css +80 -49
- package/es/components/OptionList/PopoverOptionList/style.less +30 -30
- package/es/components/OptionList/style.css +187 -115
- package/es/components/OptionList/style.less +3 -3
- package/es/components/RadioGroup/style.css +51 -40
- package/es/components/RadioGroup/style.less +41 -41
- package/es/components/RangeInput/style.css +604 -87
- package/es/components/RangeInput/style.less +37 -37
- package/es/components/RemarkName/style.css +83 -55
- package/es/components/RemarkName/style.less +2 -2
- package/es/components/Selector/style.css +127 -39
- package/es/components/Selector/style.less +99 -99
- package/es/components/Spin/style.css +10 -8
- package/es/components/Spin/style.less +26 -26
- package/es/components/Steps/ControlButton/style.less +5 -5
- package/es/components/Steps/style.css +59 -21
- package/es/components/Steps/style.less +48 -48
- package/es/components/Table/ColumnSetting/index.d.ts +1 -0
- package/es/components/Table/ColumnSetting/index.js +19 -14
- package/es/components/Table/ColumnSetting/style.css +2 -5
- package/es/components/Table/ColumnSetting/style.less +50 -51
- package/es/components/Table/ColumnTag/style.css +4 -4
- package/es/components/Table/ColumnTag/style.less +40 -40
- package/es/components/Table/EmptyText.d.ts +7 -0
- package/es/components/Table/EmptyText.js +22 -0
- package/es/components/Table/ResizableTitle/style.less +25 -25
- package/es/components/Table/index.d.ts +19 -88
- package/es/components/Table/index.js +142 -326
- package/es/components/Table/style.css +146 -98
- package/es/components/Table/style.less +364 -345
- package/es/components/Table/type.d.ts +63 -0
- package/es/components/Table/type.js +5 -0
- package/es/components/Table/util.d.ts +58 -0
- package/es/components/Table/util.js +218 -0
- package/es/components/Tabs/style.css +127 -78
- package/es/components/Tabs/style.less +33 -33
- package/es/components/TagList/Tag/style.css +5 -5
- package/es/components/TagList/Tag/style.less +72 -72
- package/es/components/TagList/TagSwitch/style.css +1 -1
- package/es/components/TagList/TagSwitch/style.less +28 -28
- package/es/components/TagList/style.css +6 -6
- package/es/components/TagList/style.less +28 -28
- package/es/components/Timeline/TimelineItem/style.css +1 -1
- package/es/components/Timeline/TimelineItem/style.less +49 -49
- package/es/components/Timeline/style.less +23 -23
- package/es/components/TopologyChart/index.d.ts +7 -0
- package/es/components/TopologyChart/index.js +19 -0
- package/es/components/TopologyChart/style.css +14 -0
- package/es/components/TopologyChart/style.less +14 -0
- package/es/components/Transfer/List/style.less +19 -19
- package/es/components/Transfer/ListBody/style.less +18 -18
- package/es/components/Transfer/style.less +14 -14
- package/es/components/TreeSelector/style.css +42 -30
- package/es/components/TreeSelector/style.less +56 -56
- package/es/constants/language/datetime/en.js +4 -2
- package/es/constants/language/datetime/type.d.ts +4 -2
- package/es/constants/language/datetime/zh.js +4 -2
- package/es/index.css +9067 -7963
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/index.less +56 -54
- package/es/style/mixin.less +45 -45
- package/es/style/theme.less +416 -416
- package/lib/components/AutoComplete/index.js +2 -2
- package/lib/components/AutoComplete/style.css +127 -39
- package/lib/components/AutoComplete/style.less +8 -8
- package/lib/components/Breadcrumb/style.css +13 -3
- package/lib/components/Breadcrumb/style.less +9 -9
- package/lib/components/Button/style.css +282 -176
- package/lib/components/Button/style.less +51 -51
- package/lib/components/Card/RowExtra/style.css +6 -0
- package/lib/components/Card/RowExtra/style.less +8 -8
- package/lib/components/Card/SearchInput/style.less +8 -8
- package/lib/components/Card/style.css +61 -66
- package/lib/components/Card/style.less +11 -11
- package/lib/components/CheckTransformList/style.css +345 -121
- package/lib/components/CheckTransformList/style.less +35 -35
- package/lib/components/Checkbox/index.js +9 -1
- package/lib/components/Checkbox/style.css +5 -0
- package/lib/components/Checkbox/style.less +5 -5
- package/lib/components/CheckboxList/style.css +10 -5
- package/lib/components/CheckboxList/style.less +11 -11
- package/lib/components/Collapse/style.css +35 -3
- package/lib/components/Collapse/style.less +58 -58
- package/lib/components/CollapsiblePanel/style.less +63 -63
- package/lib/components/DateTimePicker/Base/index.d.ts +3 -0
- package/lib/components/DateTimePicker/Base/index.js +51 -6
- package/lib/components/DateTimePicker/Base/style.css +508 -112
- package/lib/components/DateTimePicker/Base/style.less +167 -160
- package/lib/components/DateTimePicker/BaseMobile/Absolute/style.less +35 -35
- package/lib/components/DateTimePicker/BaseMobile/style.less +32 -32
- package/lib/components/DateTimePicker/Collapse/Panel/style.less +26 -26
- package/lib/components/DateTimePicker/DisplayInput/index.js +3 -1
- package/lib/components/DateTimePicker/DisplayInput/style.css +231 -53
- package/lib/components/DateTimePicker/DisplayInput/style.less +9 -9
- package/lib/components/DateTimePicker/constants.d.ts +9 -3
- package/lib/components/DateTimePicker/constants.js +1 -0
- package/lib/components/DateTimePicker/index.js +1 -1
- package/lib/components/DateTimePicker/style.css +77 -46
- package/lib/components/DateTimePicker/style.less +19 -19
- package/lib/components/DateTimePicker/time.d.ts +1 -0
- package/lib/components/DateTimePicker/time.js +1 -0
- package/lib/components/DateTimePicker/transform.js +4 -2
- package/lib/components/Descriptions/style.css +77 -46
- package/lib/components/Descriptions/style.less +16 -16
- package/lib/components/Drawer/CloseIcon/style.less +8 -8
- package/lib/components/Drawer/index.d.ts +6 -6
- package/lib/components/Drawer/index.js +4 -4
- package/lib/components/Drawer/style.css +244 -169
- package/lib/components/Drawer/style.less +69 -61
- package/lib/components/FileResumable/index.js +2 -3
- package/lib/components/FileResumable/style.css +20 -50
- package/lib/components/FileResumable/style.less +94 -94
- package/lib/components/FlameGraph/customTooltip.d.ts +22 -0
- package/lib/components/FlameGraph/customTooltip.js +114 -0
- package/lib/components/FlameGraph/index.d.ts +16 -0
- package/lib/components/FlameGraph/index.js +117 -0
- package/lib/components/FlameGraph/style.css +8 -0
- package/lib/components/FlameGraph/style.less +14 -0
- package/lib/components/Input/index.d.ts +1 -1
- package/lib/components/Input/style.css +231 -53
- package/lib/components/Input/style.less +12 -12
- package/lib/components/KeyValuePair/style.less +25 -25
- package/lib/components/Menu/Option.d.ts +1 -1
- package/lib/components/Menu/Option.js +17 -25
- package/lib/components/Menu/style.css +31 -22
- package/lib/components/Menu/style.less +18 -18
- package/lib/components/Modal/style.css +11 -8
- package/lib/components/Modal/style.less +30 -30
- package/lib/components/NameExplainTooltip/style.css +1 -1
- package/lib/components/NameExplainTooltip/style.less +10 -10
- package/lib/components/NameLimiter/index.js +1 -1
- package/lib/components/NameLimiter/style.css +83 -55
- package/lib/components/NameLimiter/style.less +19 -19
- package/lib/components/OptionList/InlineOptionList/style.css +22 -9
- package/lib/components/OptionList/InlineOptionList/style.less +16 -16
- package/lib/components/OptionList/OptionItem/style.css +85 -57
- package/lib/components/OptionList/OptionItem/style.less +25 -25
- package/lib/components/OptionList/PopoverOptionList/index.js +1 -1
- package/lib/components/OptionList/PopoverOptionList/style.css +80 -49
- package/lib/components/OptionList/PopoverOptionList/style.less +30 -30
- package/lib/components/OptionList/style.css +187 -115
- package/lib/components/OptionList/style.less +3 -3
- package/lib/components/RadioGroup/style.css +51 -40
- package/lib/components/RadioGroup/style.less +41 -41
- package/lib/components/RangeInput/style.css +604 -87
- package/lib/components/RangeInput/style.less +37 -37
- package/lib/components/RemarkName/style.css +83 -55
- package/lib/components/RemarkName/style.less +2 -2
- package/lib/components/Selector/style.css +127 -39
- package/lib/components/Selector/style.less +99 -99
- package/lib/components/Spin/style.css +10 -8
- package/lib/components/Spin/style.less +26 -26
- package/lib/components/Steps/ControlButton/style.less +5 -5
- package/lib/components/Steps/style.css +59 -21
- package/lib/components/Steps/style.less +48 -48
- package/lib/components/Table/ColumnSetting/index.d.ts +1 -0
- package/lib/components/Table/ColumnSetting/index.js +19 -14
- package/lib/components/Table/ColumnSetting/style.css +2 -5
- package/lib/components/Table/ColumnSetting/style.less +50 -51
- package/lib/components/Table/ColumnTag/style.css +4 -4
- package/lib/components/Table/ColumnTag/style.less +40 -40
- package/lib/components/Table/EmptyText.d.ts +7 -0
- package/lib/components/Table/EmptyText.js +27 -0
- package/lib/components/Table/ResizableTitle/style.less +25 -25
- package/lib/components/Table/index.d.ts +19 -88
- package/lib/components/Table/index.js +145 -327
- package/lib/components/Table/style.css +146 -98
- package/lib/components/Table/style.less +364 -345
- package/lib/components/Table/type.d.ts +63 -0
- package/lib/components/Table/type.js +8 -0
- package/lib/components/Table/util.d.ts +58 -0
- package/lib/components/Table/util.js +227 -0
- package/lib/components/Tabs/style.css +127 -78
- package/lib/components/Tabs/style.less +33 -33
- package/lib/components/TagList/Tag/style.css +5 -5
- package/lib/components/TagList/Tag/style.less +72 -72
- package/lib/components/TagList/TagSwitch/style.css +1 -1
- package/lib/components/TagList/TagSwitch/style.less +28 -28
- package/lib/components/TagList/style.css +6 -6
- package/lib/components/TagList/style.less +28 -28
- package/lib/components/Timeline/TimelineItem/style.css +1 -1
- package/lib/components/Timeline/TimelineItem/style.less +49 -49
- package/lib/components/Timeline/style.less +23 -23
- package/lib/components/TopologyChart/index.d.ts +7 -0
- package/lib/components/TopologyChart/index.js +28 -0
- package/lib/components/TopologyChart/style.css +14 -0
- package/lib/components/TopologyChart/style.less +14 -0
- package/lib/components/Transfer/List/style.less +19 -19
- package/lib/components/Transfer/ListBody/style.less +18 -18
- package/lib/components/Transfer/style.less +14 -14
- package/lib/components/TreeSelector/style.css +42 -30
- package/lib/components/TreeSelector/style.less +56 -56
- package/lib/constants/language/datetime/en.js +4 -2
- package/lib/constants/language/datetime/type.d.ts +4 -2
- package/lib/constants/language/datetime/zh.js +4 -2
- package/lib/index.css +4782 -3678
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/lib/index.less +56 -54
- package/lib/style/mixin.less +45 -45
- package/lib/style/theme.less +416 -416
- package/package.json +10 -6
@@ -0,0 +1,63 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
import { TableProps, ColumnType, ColumnGroupType } from 'antd/es/table';
|
3
|
+
export interface IOptionItem {
|
4
|
+
/**
|
5
|
+
* 操作名称
|
6
|
+
*/
|
7
|
+
text: string;
|
8
|
+
/**
|
9
|
+
* 点击后的操作
|
10
|
+
*/
|
11
|
+
onClick?: (selectedRowKeys: any[]) => void;
|
12
|
+
/**
|
13
|
+
* 禁用当前操作
|
14
|
+
*/
|
15
|
+
disabled?: boolean | ((selectItems: any[]) => boolean);
|
16
|
+
}
|
17
|
+
export interface ISaveFieldItem {
|
18
|
+
field: string;
|
19
|
+
hide?: boolean;
|
20
|
+
width?: number;
|
21
|
+
index?: number;
|
22
|
+
fixed?: boolean | 'right' | 'left';
|
23
|
+
}
|
24
|
+
export declare enum ETableSettingType {
|
25
|
+
SORT = "sort",
|
26
|
+
RESIZE = "resize"
|
27
|
+
}
|
28
|
+
export interface IColumnType<T> extends ColumnType<T> {
|
29
|
+
colTitle?: string | React.ReactNode;
|
30
|
+
configurable?: boolean;
|
31
|
+
resizable?: boolean;
|
32
|
+
}
|
33
|
+
export interface IColumnGroupType<T> extends ColumnGroupType<T> {
|
34
|
+
colTitle?: string | React.ReactNode;
|
35
|
+
configurable?: boolean;
|
36
|
+
resizable?: boolean;
|
37
|
+
}
|
38
|
+
export declare type IColumnsType<T> = Array<IColumnGroupType<T> | IColumnType<T>>;
|
39
|
+
export interface ITableProps<T> extends Omit<TableProps<T>, 'columns'> {
|
40
|
+
columns?: IColumnsType<T>;
|
41
|
+
/**
|
42
|
+
* 设置selectedRow选项, 可以获取当前选中的所有
|
43
|
+
* 数据.
|
44
|
+
* 若不传该参数, 翻页后(服务端翻页)数据会丢失, 外层只会获取当前页选中的数据
|
45
|
+
*/
|
46
|
+
selectedRows?: T[];
|
47
|
+
/** 如果支持多选,则batchOptions为多选时的一些批量操作,如删除、添加等 */
|
48
|
+
batchOptions?: IOptionItem[];
|
49
|
+
emptyText?: React.ReactNode;
|
50
|
+
showColumnSetting?: boolean;
|
51
|
+
hiddenColumns?: string[];
|
52
|
+
onHiddenColumnsChange?: (keys: string[]) => void;
|
53
|
+
columnSettingOverlayClass?: string;
|
54
|
+
draggable?: boolean | ETableSettingType;
|
55
|
+
saveSettingKey?: string;
|
56
|
+
onSettingChange?: (fields: ISaveFieldItem[]) => void;
|
57
|
+
/**
|
58
|
+
* 是否需要填充空白列, 默认为true
|
59
|
+
* 如果支持拖拽,在屏幕宽度大于table总的列宽的时候,会把剩余空间平均分到每一列上。那么拖拽一列会导致其他列的宽度都发生变更
|
60
|
+
* 添加一个空白列,宽度auto.可以解决此问题。如果可以接受上述问题,那就无需空白列,needEmptyColumn = false
|
61
|
+
*/
|
62
|
+
needEmptyColumn?: boolean;
|
63
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { IColumnsType, IColumnType, ISaveFieldItem } from './type';
|
2
|
+
/**
|
3
|
+
* 如果支持拖拽,在屏幕宽度大于table总的列宽的时候,添加一个空白列,宽度auto.
|
4
|
+
* 空白列添加到右固定列的前面
|
5
|
+
* @param columns 列
|
6
|
+
* @param hiddenColumns 隐藏列
|
7
|
+
* @param needEmptyColumn 是否需要填充空白列, 默认需要填充
|
8
|
+
* @returns
|
9
|
+
*/
|
10
|
+
export declare function addEmptyColumn(columns: IKeyValues[], hiddenColumns?: string[], needEmptyColumn?: boolean): IKeyValues<any>[];
|
11
|
+
/**
|
12
|
+
*
|
13
|
+
* @param columns 原始数据
|
14
|
+
* @param settingFields 已配置的列
|
15
|
+
* @param hiddenColumns 默认隐藏的列
|
16
|
+
* @returns sortableColumns 排序的列
|
17
|
+
* @returns hiddenColumns 隐藏的列
|
18
|
+
*/
|
19
|
+
export declare function getSortAndHiddenKeys<T>(columns: Array<IColumnType<T>>, settingFields: ISaveFieldItem[], hiddenColumns?: string[]): {
|
20
|
+
sortableColumns: ISaveFieldItem[];
|
21
|
+
hiddenColumns: string[];
|
22
|
+
};
|
23
|
+
/**
|
24
|
+
* 对列做排序(疑问: 是否可以只对key 排序,不影响其他内容)
|
25
|
+
* 重申此函数的意义,跑排序table的columns
|
26
|
+
*
|
27
|
+
* @param source 原始数组
|
28
|
+
* @param sortKeys 排序的列
|
29
|
+
* @param hiddenColumn 隐藏的列
|
30
|
+
* @returns 返回排序后的列
|
31
|
+
*/
|
32
|
+
export declare function getSortedCoulmns(source: IKeyValues[], sortKeys: string[], hiddenColumn: string[]): IKeyValues<any>[];
|
33
|
+
/**
|
34
|
+
*
|
35
|
+
* @param source 列数组
|
36
|
+
* @returns allKeys 所有列的key, unconfigableKeys: 不能配置的列 resetKeys 可以配置的
|
37
|
+
*/
|
38
|
+
export declare function getColumnKeys(source: IKeyValues[]): {
|
39
|
+
allKeys: string[];
|
40
|
+
unconfigableKeys: string[];
|
41
|
+
resetKeys: string[];
|
42
|
+
};
|
43
|
+
/**
|
44
|
+
*
|
45
|
+
* @param columns 原始的列
|
46
|
+
* @param saveFields 配置信息
|
47
|
+
* @returns
|
48
|
+
*/
|
49
|
+
export declare function getResizeColumns<T>(columns: IKeyValues[], settingFields: ISaveFieldItem[], resizable: boolean, handleResize: (col: IColumnType<T>, size: {
|
50
|
+
width: number;
|
51
|
+
height: number;
|
52
|
+
}, oldColumn: IColumnsType<T>) => void): IKeyValues<any>[];
|
53
|
+
/**
|
54
|
+
*
|
55
|
+
* @param saveSettingKey 配置key
|
56
|
+
* @returns 返回localStorage 配置信息
|
57
|
+
*/
|
58
|
+
export declare function getLocalSettings(saveSettingKey?: string): ISaveFieldItem[];
|
@@ -0,0 +1,218 @@
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
2
|
+
__assign = Object.assign || function(t) {
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
+
s = arguments[i];
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
+
t[p] = s[p];
|
7
|
+
}
|
8
|
+
return t;
|
9
|
+
};
|
10
|
+
return __assign.apply(this, arguments);
|
11
|
+
};
|
12
|
+
var __read = (this && this.__read) || function (o, n) {
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
14
|
+
if (!m) return o;
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
16
|
+
try {
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
18
|
+
}
|
19
|
+
catch (error) { e = { error: error }; }
|
20
|
+
finally {
|
21
|
+
try {
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
23
|
+
}
|
24
|
+
finally { if (e) throw e.error; }
|
25
|
+
}
|
26
|
+
return ar;
|
27
|
+
};
|
28
|
+
var __spread = (this && this.__spread) || function () {
|
29
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
30
|
+
return ar;
|
31
|
+
};
|
32
|
+
import { get, includes, isNumber, uniq, isArray } from 'lodash';
|
33
|
+
/**
|
34
|
+
* 如果支持拖拽,在屏幕宽度大于table总的列宽的时候,添加一个空白列,宽度auto.
|
35
|
+
* 空白列添加到右固定列的前面
|
36
|
+
* @param columns 列
|
37
|
+
* @param hiddenColumns 隐藏列
|
38
|
+
* @param needEmptyColumn 是否需要填充空白列, 默认需要填充
|
39
|
+
* @returns
|
40
|
+
*/
|
41
|
+
export function addEmptyColumn(columns, hiddenColumns, needEmptyColumn) {
|
42
|
+
if (hiddenColumns === void 0) { hiddenColumns = []; }
|
43
|
+
var cols = hiddenColumns.length === 0
|
44
|
+
? columns
|
45
|
+
: columns.filter(function (col) { return !includes(hiddenColumns, col.dataIndex); });
|
46
|
+
if (needEmptyColumn === false)
|
47
|
+
return cols;
|
48
|
+
var firstFixedRightIndex = cols.findIndex(function (item) { return get(item, 'fixed') === 'right'; });
|
49
|
+
var column = {
|
50
|
+
title: '',
|
51
|
+
dataIndex: '__empty__',
|
52
|
+
key: '__empty__'
|
53
|
+
};
|
54
|
+
if (firstFixedRightIndex === -1) {
|
55
|
+
cols.push(column);
|
56
|
+
}
|
57
|
+
else {
|
58
|
+
cols.splice(firstFixedRightIndex, 0, column);
|
59
|
+
}
|
60
|
+
return cols;
|
61
|
+
}
|
62
|
+
// 根据列,以及之前存储的列的一些信息,获取那些列需要隐藏,那些列可以排序
|
63
|
+
/**
|
64
|
+
*
|
65
|
+
* @param columns 原始数据
|
66
|
+
* @param settingFields 已配置的列
|
67
|
+
* @param hiddenColumns 默认隐藏的列
|
68
|
+
* @returns sortableColumns 排序的列
|
69
|
+
* @returns hiddenColumns 隐藏的列
|
70
|
+
*/
|
71
|
+
export function getSortAndHiddenKeys(columns, settingFields, hiddenColumns) {
|
72
|
+
if (hiddenColumns === void 0) { hiddenColumns = []; }
|
73
|
+
var sortableColumns = [];
|
74
|
+
var hideKeys = [];
|
75
|
+
// 已配置的列和实际的对不上
|
76
|
+
// 可能新增或者删除列的情况
|
77
|
+
// 已配置列
|
78
|
+
// 旧类型数据为对象类型,未配置
|
79
|
+
columns.forEach(function (column) {
|
80
|
+
if (column.dataIndex && !(column.fixed || column.configurable === false)) {
|
81
|
+
var settingField = settingFields.find(function (field) { return field.field === column.dataIndex; });
|
82
|
+
if (settingField) {
|
83
|
+
if (settingField.hide) {
|
84
|
+
hideKeys.push(settingField.field);
|
85
|
+
}
|
86
|
+
else {
|
87
|
+
sortableColumns.push(settingField);
|
88
|
+
}
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
sortableColumns.push({
|
92
|
+
field: column.dataIndex.toString(),
|
93
|
+
fixed: column.fixed
|
94
|
+
});
|
95
|
+
}
|
96
|
+
}
|
97
|
+
});
|
98
|
+
return {
|
99
|
+
sortableColumns: sortableColumns,
|
100
|
+
hiddenColumns: uniq(hiddenColumns.concat(hideKeys))
|
101
|
+
};
|
102
|
+
}
|
103
|
+
/**
|
104
|
+
* 对列做排序(疑问: 是否可以只对key 排序,不影响其他内容)
|
105
|
+
* 重申此函数的意义,跑排序table的columns
|
106
|
+
*
|
107
|
+
* @param source 原始数组
|
108
|
+
* @param sortKeys 排序的列
|
109
|
+
* @param hiddenColumn 隐藏的列
|
110
|
+
* @returns 返回排序后的列
|
111
|
+
*/
|
112
|
+
export function getSortedCoulmns(source, sortKeys, hiddenColumn) {
|
113
|
+
var fixedRightColumn = [];
|
114
|
+
var fixedLeftColumn = [];
|
115
|
+
var selectedCols = [];
|
116
|
+
var unconfigurableCols = [];
|
117
|
+
source.forEach(function (column) {
|
118
|
+
if (column.fixed === 'left' || column.fixed === true) {
|
119
|
+
fixedLeftColumn.push(column);
|
120
|
+
}
|
121
|
+
else if (column.fixed === 'right') {
|
122
|
+
fixedRightColumn.push(column);
|
123
|
+
}
|
124
|
+
else if (column.configurable === false) {
|
125
|
+
unconfigurableCols.push(column);
|
126
|
+
}
|
127
|
+
else if (!includes(hiddenColumn, column.key)) {
|
128
|
+
selectedCols.push(column);
|
129
|
+
}
|
130
|
+
});
|
131
|
+
var sortColumns = sortKeys
|
132
|
+
.map(function (key) { return source.find(function (column) { return column.dataIndex === key; }); })
|
133
|
+
.filter(function (f) { return !!f; });
|
134
|
+
// 顺序应该是: 左固定列、不可配置列、排序列、右固定列
|
135
|
+
return __spread(fixedLeftColumn, unconfigurableCols, sortColumns, fixedRightColumn);
|
136
|
+
}
|
137
|
+
/**
|
138
|
+
*
|
139
|
+
* @param source 列数组
|
140
|
+
* @returns allKeys 所有列的key, unconfigableKeys: 不能配置的列 resetKeys 可以配置的
|
141
|
+
*/
|
142
|
+
export function getColumnKeys(source) {
|
143
|
+
var allKeys = [];
|
144
|
+
var unconfigableKeys = [];
|
145
|
+
var resetKeys = [];
|
146
|
+
source.forEach(function (col) {
|
147
|
+
if (col.key) {
|
148
|
+
// 不可配置,或者列固定的列,(在这里统称不可配置的列)
|
149
|
+
if (col.configurable === false || col.fixed) {
|
150
|
+
unconfigableKeys.push(col.key.toString());
|
151
|
+
}
|
152
|
+
else {
|
153
|
+
resetKeys.push(col.key.toString());
|
154
|
+
}
|
155
|
+
allKeys.push(col.key.toString());
|
156
|
+
}
|
157
|
+
});
|
158
|
+
return {
|
159
|
+
allKeys: allKeys,
|
160
|
+
unconfigableKeys: unconfigableKeys,
|
161
|
+
resetKeys: resetKeys
|
162
|
+
};
|
163
|
+
}
|
164
|
+
/**
|
165
|
+
*
|
166
|
+
* @param columns 原始的列
|
167
|
+
* @param saveFields 配置信息
|
168
|
+
* @returns
|
169
|
+
*/
|
170
|
+
export function getResizeColumns(columns, settingFields, resizable, handleResize) {
|
171
|
+
// debugger
|
172
|
+
if (!resizable && settingFields.length === 0)
|
173
|
+
return columns;
|
174
|
+
var transformColumns = columns.map(function (col, index) {
|
175
|
+
var _a;
|
176
|
+
var dataIndex = get(col, 'dataIndex');
|
177
|
+
var width = (_a = settingFields === null || settingFields === void 0 ? void 0 : settingFields.find(function (f) { return f.field === dataIndex; })) === null || _a === void 0 ? void 0 : _a.width;
|
178
|
+
if (get(col, 'resizable') && resizable) {
|
179
|
+
return __assign(__assign({}, col), { width: isNumber(width) ? width : get(col, 'width'), ellipsis: {
|
180
|
+
showTitle: true
|
181
|
+
}, onHeaderCell: function (col) {
|
182
|
+
var _a;
|
183
|
+
return ({
|
184
|
+
width: col.width,
|
185
|
+
// !传入newColumn,而不传入column是因为需要拿到有onHeaderCell的值,外面collumn的变化内部监听不到
|
186
|
+
onResize: function (_, _a) {
|
187
|
+
var size = _a.size;
|
188
|
+
handleResize(col, size, transformColumns);
|
189
|
+
},
|
190
|
+
isLastColumn: index === ((_a = (columns || [])) === null || _a === void 0 ? void 0 : _a.length) - 1
|
191
|
+
});
|
192
|
+
} });
|
193
|
+
}
|
194
|
+
return isNumber(width) ? __assign(__assign({}, col), { width: width }) : col;
|
195
|
+
});
|
196
|
+
return transformColumns;
|
197
|
+
}
|
198
|
+
/**
|
199
|
+
*
|
200
|
+
* @param saveSettingKey 配置key
|
201
|
+
* @returns 返回localStorage 配置信息
|
202
|
+
*/
|
203
|
+
export function getLocalSettings(saveSettingKey) {
|
204
|
+
var settingFields = [];
|
205
|
+
if (saveSettingKey) {
|
206
|
+
try {
|
207
|
+
var settingStr = localStorage.getItem(saveSettingKey);
|
208
|
+
var settingConfig = !!settingStr && JSON.parse(settingStr);
|
209
|
+
if (isArray(settingConfig)) {
|
210
|
+
settingFields = settingConfig;
|
211
|
+
}
|
212
|
+
}
|
213
|
+
catch (error) {
|
214
|
+
throw new Error("parse " + saveSettingKey + " error: " + error + ", please check the data format");
|
215
|
+
}
|
216
|
+
}
|
217
|
+
return settingFields;
|
218
|
+
}
|