@bestime/utils_base 1.0.7 → 1.0.9
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/{jUtilsBase/esm → esm}/index.min.d.ts +204 -31
- package/dist/esm/index.min.mjs +5 -0
- package/dist/umd/index.d.ts +53 -0
- package/dist/umd/index.min.cjs +5 -0
- package/dist/{jUtilsBase/umd → umd}/index.min.d.ts +204 -31
- package/package.json +4 -7
- package/dist/jUtilsBase/esm/index.min.mjs +0 -5
- package/dist/jUtilsBase/umd/index.min.cjs +0 -5
|
@@ -72,7 +72,7 @@ declare function isEmpty(data: any): boolean;
|
|
|
72
72
|
* @param data - 判断的值
|
|
73
73
|
* @returns 真假值
|
|
74
74
|
*/
|
|
75
|
-
declare function isFunction(data: any):
|
|
75
|
+
declare function isFunction(data: any): data is Function;
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
78
|
* 对象序列化为字符串, 用于URL查询字符串或AJAX请求
|
|
@@ -186,20 +186,27 @@ declare function deepFindTreePath(
|
|
|
186
186
|
): undefined | any[];
|
|
187
187
|
|
|
188
188
|
/**
|
|
189
|
-
*
|
|
189
|
+
* 强制转换数据为字符串。支持百分号、千分位
|
|
190
190
|
* @param data - 值
|
|
191
191
|
* @returns 数字
|
|
192
192
|
*/
|
|
193
|
-
declare function _Number(data
|
|
193
|
+
declare function _Number(data?: any): number;
|
|
194
194
|
|
|
195
195
|
type TNull = undefined | null | '';
|
|
196
196
|
declare function isNull(data: any): data is TNull;
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* 匹配数字的正则
|
|
200
|
+
* @returns
|
|
201
|
+
*/
|
|
202
|
+
declare function getLikeNumberRegExp(): string;
|
|
198
203
|
/**
|
|
199
204
|
*
|
|
200
|
-
* @param value
|
|
205
|
+
* @param value 看起来是否像一个数字。可识别百分号、千分位
|
|
201
206
|
* @example
|
|
202
207
|
* ```
|
|
208
|
+
* isLikeNumber('-123,456,789') => true
|
|
209
|
+
* isLikeNumber('1,4,5.912%') => true
|
|
203
210
|
* isLickNumber(1) => true
|
|
204
211
|
* isLickNumber('2.36884') => true
|
|
205
212
|
* isLickNumber(1/0) => false
|
|
@@ -216,14 +223,6 @@ declare function isNull(data: any): data is TNull;
|
|
|
216
223
|
*/
|
|
217
224
|
declare function isLikeNumber(value: any): boolean;
|
|
218
225
|
|
|
219
|
-
/**
|
|
220
|
-
* 默认值处理函数
|
|
221
|
-
* @param data - 需要处理的数据
|
|
222
|
-
* @param value - 如果data为undefined,则返回此值
|
|
223
|
-
* @returns 实际值
|
|
224
|
-
*/
|
|
225
|
-
declare function defaultValue<T>(data: any, value: T): T;
|
|
226
|
-
|
|
227
226
|
/**
|
|
228
227
|
* 循环复制字符串
|
|
229
228
|
* @param data - 复制目标
|
|
@@ -364,14 +363,6 @@ declare function getRandom(min: number, max: number, isInt?: boolean): number;
|
|
|
364
363
|
*/
|
|
365
364
|
declare function _Boolean(data: any): boolean;
|
|
366
365
|
|
|
367
|
-
/**
|
|
368
|
-
* 将树形结构转为一维数组
|
|
369
|
-
* @param data - 树
|
|
370
|
-
* @param childKey - 子项字段。默认 children
|
|
371
|
-
* @returns 浅克隆的数组
|
|
372
|
-
*/
|
|
373
|
-
declare function flatTree(data: any[], childKey?: string): any[];
|
|
374
|
-
|
|
375
366
|
/**
|
|
376
367
|
* 简易版深度克隆。(仅处理数组、键值对、方法的可克隆)
|
|
377
368
|
*
|
|
@@ -395,7 +386,7 @@ declare function main<T extends TKvPair, K extends TKvPair, C extends keyof T>(
|
|
|
395
386
|
childKeyFrom?: keyof K
|
|
396
387
|
): T[];
|
|
397
388
|
|
|
398
|
-
type EventHander = (...args: any[]) => void;
|
|
389
|
+
type EventHander$2 = (...args: any[]) => void;
|
|
399
390
|
/**
|
|
400
391
|
* 事件订阅,可获得TS类型推导支持
|
|
401
392
|
* @param eventName - 订阅名
|
|
@@ -419,7 +410,7 @@ type EventHander = (...args: any[]) => void;
|
|
|
419
410
|
* useUpdateDataBus.dispose()
|
|
420
411
|
* ```
|
|
421
412
|
*/
|
|
422
|
-
declare function defineEventBus<T extends EventHander>(
|
|
413
|
+
declare function defineEventBus<T extends EventHander$2>(
|
|
423
414
|
eventName: string
|
|
424
415
|
): {
|
|
425
416
|
/** 追加订阅 */
|
|
@@ -430,6 +421,7 @@ declare function defineEventBus<T extends EventHander>(
|
|
|
430
421
|
off: (hander: T) => void;
|
|
431
422
|
/** 销毁所有订阅 */
|
|
432
423
|
dispose: () => void;
|
|
424
|
+
eventList: () => EventHander$2[];
|
|
433
425
|
};
|
|
434
426
|
|
|
435
427
|
/**
|
|
@@ -602,10 +594,12 @@ declare function arrayRowToColumn<T extends Record<string, any>>(
|
|
|
602
594
|
};
|
|
603
595
|
type TArrayRowToColumnCalculateRow = {
|
|
604
596
|
proportionBaseField?: string;
|
|
605
|
-
count:
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
597
|
+
count:
|
|
598
|
+
| number
|
|
599
|
+
| {
|
|
600
|
+
field: string;
|
|
601
|
+
mode: 'length' | 'uniqLength' | 'notZeroValue';
|
|
602
|
+
};
|
|
609
603
|
value: {
|
|
610
604
|
field: string;
|
|
611
605
|
mode: 'sum' | 'uniqLength' | 'avg';
|
|
@@ -626,14 +620,13 @@ type TColSumaryConfig = Record<
|
|
|
626
620
|
|
|
627
621
|
type ISpanTableItem<T extends TKvPair> = T & {
|
|
628
622
|
$rowSpan: Record<string, number>;
|
|
629
|
-
$colSpan: Record<number, number>;
|
|
630
623
|
$colField: Record<string | number, number>;
|
|
631
624
|
};
|
|
632
625
|
/**
|
|
633
626
|
* 合并单元格。不改变原数组
|
|
634
627
|
* @param data - 一维数组
|
|
635
628
|
* @param fields - 合并的字段
|
|
636
|
-
* @returns 合并后的数据。会在每一项中添加两个字段 "$rowSpan" "$
|
|
629
|
+
* @returns 合并后的数据。会在每一项中添加两个字段 "$rowSpan" "$colField"
|
|
637
630
|
*/
|
|
638
631
|
declare function spanTable<T extends TKvPair>(data: T[], fields: string[]): ISpanTableItem<T>[];
|
|
639
632
|
|
|
@@ -708,7 +701,7 @@ type TListGroupKey<T extends TKvPair> = {
|
|
|
708
701
|
};
|
|
709
702
|
type TGetValueField = string;
|
|
710
703
|
interface ICellSummary {
|
|
711
|
-
denominator?: [string, 'length' | 'uniqLength'];
|
|
704
|
+
denominator?: number | [string, 'length' | 'uniqLength'];
|
|
712
705
|
/**
|
|
713
706
|
* sum 求和
|
|
714
707
|
* length 长度
|
|
@@ -830,6 +823,14 @@ declare function union<T extends TKvPair>(...args: T[]): T[];
|
|
|
830
823
|
|
|
831
824
|
declare function getRatio(value: number | undefined, base: number | undefined): number;
|
|
832
825
|
|
|
826
|
+
/**
|
|
827
|
+
* 计算一个数据变化的增长率
|
|
828
|
+
* @param from
|
|
829
|
+
* @param to
|
|
830
|
+
* @returns
|
|
831
|
+
*/
|
|
832
|
+
declare function getRiseRatio(from?: number, to?: number): number;
|
|
833
|
+
|
|
833
834
|
/**
|
|
834
835
|
* 筛选并从原始数组移除符合条件的数据
|
|
835
836
|
* @param data - 原始数据
|
|
@@ -859,7 +860,170 @@ declare function export_default(
|
|
|
859
860
|
unit: string;
|
|
860
861
|
};
|
|
861
862
|
|
|
863
|
+
declare function formatTime(millisecond: number): string;
|
|
864
|
+
|
|
865
|
+
interface IInputHeaderItem {
|
|
866
|
+
field: string;
|
|
867
|
+
title: string;
|
|
868
|
+
children: IInputHeaderItem[];
|
|
869
|
+
}
|
|
870
|
+
interface IParsedHeaderInfoItem extends IInputHeaderItem {
|
|
871
|
+
count: number;
|
|
872
|
+
children: IParsedHeaderInfoItem[];
|
|
873
|
+
}
|
|
874
|
+
interface IParsedHeaderDataItem extends Omit<IParsedHeaderInfoItem, 'children'> {
|
|
875
|
+
colStart: number;
|
|
876
|
+
colEnd: number;
|
|
877
|
+
colSpan: number;
|
|
878
|
+
rowSpan: number;
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* 将树形数据转换为二维数组,并包含合并行列信息
|
|
882
|
+
* @param header 树形列表
|
|
883
|
+
* @returns
|
|
884
|
+
*/
|
|
885
|
+
declare function parseTreeToTableHeader(header: IInputHeaderItem[]): {
|
|
886
|
+
columns: string[];
|
|
887
|
+
data: (IParsedHeaderDataItem | undefined)[][];
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
type TEcharts = Record<string, any>;
|
|
891
|
+
interface IConnectConfigItem {
|
|
892
|
+
onXAxisCtegoryClick?: (xAxisData: any[], tickIndex: number, chart: TEcharts) => void;
|
|
893
|
+
}
|
|
894
|
+
interface IListItem {
|
|
895
|
+
config?: IConnectConfigItem;
|
|
896
|
+
instence: TEcharts;
|
|
897
|
+
onAxxisCategoryClick?: (ev: { tickIndex: number; needEmit?: boolean }) => void;
|
|
898
|
+
onAxxisSeriesClick?: (ev: any) => void;
|
|
899
|
+
timer_01: any;
|
|
900
|
+
}
|
|
901
|
+
declare class ConnectEcharts {
|
|
902
|
+
_list: Record<string, IListItem[]>;
|
|
903
|
+
constructor();
|
|
904
|
+
_resetGroupClickXAxisCategory(chartList: IListItem[]): void;
|
|
905
|
+
clickXAsisCategory(chart: TEcharts, index: number, notEmit?: boolean): void;
|
|
906
|
+
add(i: TEcharts, config: IConnectConfigItem): this;
|
|
907
|
+
remove(chart?: TEcharts): void;
|
|
908
|
+
}
|
|
909
|
+
declare const _default: ConnectEcharts;
|
|
910
|
+
|
|
911
|
+
interface IRuleItem {
|
|
912
|
+
min: number;
|
|
913
|
+
max: number;
|
|
914
|
+
color: string;
|
|
915
|
+
}
|
|
916
|
+
interface IResItem {
|
|
917
|
+
gte: number;
|
|
918
|
+
lt: number;
|
|
919
|
+
color: string;
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* 对数据进行分段处理
|
|
923
|
+
* @param list
|
|
924
|
+
* @param rules
|
|
925
|
+
* @returns
|
|
926
|
+
*/
|
|
927
|
+
declare function getPiecesWithIndex(list: number[], rules: IRuleItem[]): IResItem[];
|
|
928
|
+
|
|
929
|
+
declare function difference<T extends TKvPair | string | number | Date>(
|
|
930
|
+
a: T[],
|
|
931
|
+
b: T[],
|
|
932
|
+
compareFn: (a: T, b: T) => boolean
|
|
933
|
+
): T[];
|
|
934
|
+
|
|
935
|
+
type TreeItem<T extends TKvPair> = T & {
|
|
936
|
+
children?: TreeItem<T>[];
|
|
937
|
+
};
|
|
938
|
+
/**
|
|
939
|
+
* 获取树形结构的叶子节点
|
|
940
|
+
* @param list - 树形结构数据
|
|
941
|
+
* @returns 叶子节点组装的一维数组
|
|
942
|
+
*/
|
|
943
|
+
declare function treeLeafs<T extends TKvPair>(list: TreeItem<T>[]): TreeItem<T>[];
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* 默认数据处理
|
|
947
|
+
* @param placeValue - 无值时返回什么数据
|
|
948
|
+
* @param value - 需要处理的数据
|
|
949
|
+
* @param formatter - 数据格式化
|
|
950
|
+
* @returns
|
|
951
|
+
*/
|
|
952
|
+
declare function defualtFormatter<T, R>(
|
|
953
|
+
placeValue: R,
|
|
954
|
+
value: T,
|
|
955
|
+
formatter?: (value: NonNullable<T>) => R
|
|
956
|
+
): R;
|
|
957
|
+
|
|
958
|
+
type TEasingHandler = (
|
|
959
|
+
passTime: number,
|
|
960
|
+
fromValue: number,
|
|
961
|
+
changeValue: number,
|
|
962
|
+
duration: number
|
|
963
|
+
) => number;
|
|
964
|
+
type TChangeCallack<T> = (data: T, progress: number) => void;
|
|
965
|
+
interface IAnimateOptions<T> {
|
|
966
|
+
/** 原始值 */
|
|
967
|
+
from: T;
|
|
968
|
+
/** 最终值 */
|
|
969
|
+
to: T;
|
|
970
|
+
/** 缓动函数 */
|
|
971
|
+
easing: TEasingHandler;
|
|
972
|
+
/** 持续时间:毫秒 */
|
|
973
|
+
duration: number;
|
|
974
|
+
/** 每次值更新的回调 */
|
|
975
|
+
onChange: TChangeCallack<T>;
|
|
976
|
+
}
|
|
977
|
+
declare class Animate<T extends TKvPair> {
|
|
978
|
+
_timer: any;
|
|
979
|
+
_passTime: number;
|
|
980
|
+
_options: IAnimateOptions<T>;
|
|
981
|
+
_middleData: T;
|
|
982
|
+
constructor(options: IAnimateOptions<T>);
|
|
983
|
+
start(): this;
|
|
984
|
+
stop(): this;
|
|
985
|
+
dispose(): void;
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
type EventHander$1 = (...args: any[]) => void;
|
|
989
|
+
/**
|
|
990
|
+
* 防抖函数。默认执行条件范围内最后一次
|
|
991
|
+
* @param handler - 处理回调
|
|
992
|
+
* @param interval - 频率(毫秒)
|
|
993
|
+
* @param options - 配置项
|
|
994
|
+
* @param options.leading - 立即执行
|
|
995
|
+
* @param options.trailing - 延后执行
|
|
996
|
+
* @returns
|
|
997
|
+
*/
|
|
998
|
+
declare function debounce<T extends EventHander$1>(
|
|
999
|
+
handler: T,
|
|
1000
|
+
interval?: number,
|
|
1001
|
+
options?: {
|
|
1002
|
+
leading?: boolean;
|
|
1003
|
+
trailing?: boolean;
|
|
1004
|
+
}
|
|
1005
|
+
): {
|
|
1006
|
+
(this: any, ...v: Parameters<T>): void;
|
|
1007
|
+
cancel(): void;
|
|
1008
|
+
dispose(): void;
|
|
1009
|
+
};
|
|
1010
|
+
|
|
1011
|
+
type EventHander = (...args: any[]) => void;
|
|
1012
|
+
declare function throttle<T extends EventHander>(
|
|
1013
|
+
handler: T,
|
|
1014
|
+
interval?: number,
|
|
1015
|
+
options?: {
|
|
1016
|
+
leading?: boolean;
|
|
1017
|
+
trailing?: boolean;
|
|
1018
|
+
}
|
|
1019
|
+
): {
|
|
1020
|
+
(this: any, ...v: Parameters<T>): void;
|
|
1021
|
+
cancel(): void;
|
|
1022
|
+
dispose(): void;
|
|
1023
|
+
};
|
|
1024
|
+
|
|
862
1025
|
export {
|
|
1026
|
+
Animate,
|
|
863
1027
|
Polling,
|
|
864
1028
|
TArrayRowToColumnCalculateRow,
|
|
865
1029
|
_Array,
|
|
@@ -870,20 +1034,26 @@ export {
|
|
|
870
1034
|
arrayRowToColumn,
|
|
871
1035
|
changeIndex,
|
|
872
1036
|
cloneEasy,
|
|
1037
|
+
_default as connectEcharts,
|
|
873
1038
|
dataPage,
|
|
1039
|
+
debounce,
|
|
874
1040
|
deepFindItem,
|
|
875
1041
|
deepFindTreePath,
|
|
876
|
-
defaultValue,
|
|
877
1042
|
defineEventBus,
|
|
1043
|
+
defualtFormatter,
|
|
1044
|
+
difference,
|
|
878
1045
|
fieldCheck,
|
|
879
1046
|
filterWithMove,
|
|
880
|
-
flatTree,
|
|
881
1047
|
floorFixed,
|
|
882
1048
|
forEach,
|
|
883
1049
|
forEachKvPair,
|
|
884
1050
|
forEachTree,
|
|
1051
|
+
formatTime,
|
|
1052
|
+
getLikeNumberRegExp,
|
|
1053
|
+
getPiecesWithIndex,
|
|
885
1054
|
getRandom,
|
|
886
1055
|
getRatio,
|
|
1056
|
+
getRiseRatio,
|
|
887
1057
|
getSortIndex,
|
|
888
1058
|
getType,
|
|
889
1059
|
isArray,
|
|
@@ -902,6 +1072,7 @@ export {
|
|
|
902
1072
|
padStart,
|
|
903
1073
|
param,
|
|
904
1074
|
parseQuery,
|
|
1075
|
+
parseTreeToTableHeader,
|
|
905
1076
|
randomColor,
|
|
906
1077
|
repeatString,
|
|
907
1078
|
roundFixed,
|
|
@@ -911,7 +1082,9 @@ export {
|
|
|
911
1082
|
spanTable,
|
|
912
1083
|
split,
|
|
913
1084
|
thousands,
|
|
1085
|
+
throttle,
|
|
914
1086
|
flatArrayToTree as tree,
|
|
1087
|
+
treeLeafs,
|
|
915
1088
|
trim,
|
|
916
1089
|
union,
|
|
917
1090
|
urlToGet,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 纯JS工具库 => jUtilsBase
|
|
3
|
+
* @update 2024-09-01 00:59:30
|
|
4
|
+
*/
|
|
5
|
+
var $letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],$ArrayTypeNameBig="Array",$ClassTypeNameBig="Class",$FunctionTypeNameBig="Function",$ObjectTypeNameBig="Object",$stringTypeNameBig="String",$numberTypeNameBig="Number",$undefinedValue=void 0,$zeroString="0",$falseString="false",$trueString="true",$ObjectTypeNameBigPrototypeToString=Object.prototype.toString,$encodeURI=encodeURI,$decodeURIComponent=decodeURIComponent,$regSpaceStr="\\s\\uFEFF\\xA0",$zeroWidthCode="";function isNull(e){return null===e||e===$undefinedValue}function _String(e){return isNull(e)?"":String(e)}var smallFunName=$FunctionTypeNameBig.toLowerCase();function isFunction(e){return typeof e===smallFunName}function isClass(e){return isFunction(e)&&/^class\s/.test(Function.prototype.toString.call(e))}function getType(e){return isClass(e)?$ClassTypeNameBig:$ObjectTypeNameBigPrototypeToString.call(e).slice(8,-1)}function isArray(e){return getType(e)===$ArrayTypeNameBig}function isKvPair(e){return getType(e)===$ObjectTypeNameBig}function isString(e){return getType(e)===$stringTypeNameBig}function hpJsonParse(e,n){var t;try{t=JSON.parse(e)}catch(r){t=n}return t}function _KvPair(e){return e=isKvPair(e)||isKvPair(e=hpJsonParse(e))?e:{}}function isEmpty(e){return isNull(e)||""===e}function param(e){var t=[];function i(e,n){null!=e&&""!==e&&(n=null==(n=isFunction(n)?n():n)?"":n,t[t.length]=$encodeURI(e)+"="+$encodeURI(n))}return function a(e,n){var t,r;if(e)switch(getType(n)){case $ArrayTypeNameBig:for(t=0;t<n.length;t++)a(e+"["+("object"==typeof n[t]&&n[t]?t:"")+"]",n[t]);break;case $ObjectTypeNameBig:for(r in n)a(e+"["+r+"]",n[r]);break;default:i(e,n)}else switch(getType(n)){case $stringTypeNameBig:case $ObjectTypeNameBig:for(r in n)a(r,n[r]);break;case $ArrayTypeNameBig:for(t=0;t<n.length;t++)i(n[t].name,n[t].value)}}("",e),t.join("&")}function _Array(e){return e=isArray(e)||isArray(e=hpJsonParse(e))?e:[]}function isNumber(e){return getType(e)===$numberTypeNameBig}var baseReg="["+$regSpaceStr+"]+";function trim(e,n){var t=getType(e),r=(t===$numberTypeNameBig&&(e=String(e),t=$stringTypeNameBig),"");if(t!==$stringTypeNameBig)return"";switch(n){case 1:r="^"+baseReg;break;case-1:r=baseReg+"$";break;case"*":r=baseReg;break;default:r="^"+baseReg+"|"+baseReg+"$"}return e.replace(new RegExp(r,"g"),"")}function _Number(e){var n=!1,t=0,t=isNumber(e)?e:(isString(e)&&(e=trim(e,"*").replace(/,/g,"").replace(/%$/,function(e){return n=!0,""})),Number(e));return t=Math.abs(t)===Math.abs(Infinity)||isNaN(t)?0:t,n&&(t/=100),t}function hpTryToParseStringToBasicType(e){return null==e?$undefinedValue:$falseString!==e&&($trueString===e||hpJsonParse(e,e))}var defaultSplitArr=[$undefinedValue,$undefinedValue];function handleDeepKey(e,n,t){var n=splitSymbol(n),r=n[0];isPreLikeArray(r)?(r=_Number(r),n[1]==$undefinedValue?e.push(t):(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))):n[1]==$undefinedValue?e[r]=t:(/^\[[\D]+\]/.test(n[1])?e[r]=_KvPair(e[r]):e[r]=_Array(e[r]),handleDeepKey(e[r],n[1],t))}function splitSymbol(e){if(e==$undefinedValue)return defaultSplitArr;var r,i=e;return e.replace(/^\[(.*?)\](.*)?/,function(e,n,t){return i=n,r=t,""}),[i,r]}function isPreLikeArray(e){return""===e||/^\d+$/.test(e)}function parseQuery(e){var a={},o=!1,t="";return(e=isNull(e)?"":e).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(e,n,i){i=hpTryToParseStringToBasicType($decodeURIComponent(i)),t=$decodeURIComponent(n),o=!1,""!==t&&(t.replace(/(.*?)(\[.*)/,function(e,n,t){var r=splitSymbol(t);o=!0,isPreLikeArray(r[0])?a[n]=_Array(a[n]):a[n]=_KvPair(a[n]),handleDeepKey(a[n],t,i)}),o||(a[t]=i))}),a}function urlToGet(e,n){e=_String(e);var a=isKvPair(n)?n:parseQuery(n),n=parseQuery(e=e.replace(/({{)(.*?)(}})/g,function(e,n,t,r){t=trim(t);var i=a[t];return delete a[t],i})),n=param(a=Object.assign(n,a));return e=n?(e=e.replace(/\?.*/,""))+"?"+n:e}function hpIsEmptyMap(e){var n,t=!0;for(n in e)if(n!==$undefinedValue){t=!1;break}return t}function forEach(e,n){for(var t=0;t<e.length;t++)n(e[t],t,e)}function cloneEasy(n){switch(getType(n)){case $ClassTypeNameBig:t=Object.assign(Object.create(Object.getPrototypeOf(n)),n);break;case $ArrayTypeNameBig:for(var t=[],e=0;e<n.length;e++)t.push(cloneEasy(n[e]));break;case $ObjectTypeNameBig:t={},forEach(Object.keys(n),function(e){t[e]=cloneEasy(n[e])});break;case $FunctionTypeNameBig:function r(){n.apply(this,arguments)}for(var i in n.prototype)r.prototype[i]=n.prototype[i];t=r;break;default:t=n}return t}function isNoData(e,n){var t=!1;return t=isArray(e)&&n.array&&0===e.length||isKvPair(e)&&n.kvPair&&hpIsEmptyMap(e)||isString(e)&&n.string&&""===e||isNull(e)?!0:t}function hander(e,n){if(isKvPair(e))for(var t in e){var r=e[t];(isArray(r)||isKvPair(r))&&hander(r,n),isNoData(r,n)&&delete e[t]}}function shake(e,n){n=Object.assign({string:!0,array:!0,kvPair:!0},n);return hander(e=cloneEasy(e),n),e}function variableHasValue(e,n,t){var r;t=null==t?60:t,e()?n():(clearTimeout(r),setTimeout(function(){variableHasValue(e,n,t)},t))}variableHasValue["async"]=function(n,t){return new Promise(function(e){variableHasValue(n,e,t)})};var DEFAULT_CONFIG={id:"id",children:"children"};function deepFindTreePath(e,n,t){t=Object.assign(DEFAULT_CONFIG,t);for(var r=[],i=cloneEasy(e),a=new Set,o=t["children"];i.length;){var u=i[0];if(a.has(u))r.pop(),i.shift();else if(a.add(u),u[o]&&i.unshift.apply(i,u[o]),r.push(u),n(u))return r}return undefined}var regStr=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function getLikeNumberRegExp(){return regStr}function isLikeNumber(e){e=trim(e);return new RegExp("^"+regStr+"$").test(e)}function repeatString(e,n){var t="";if((e=_String(e)).length*n<1<<28)for(;1==(1&n)&&(t+=e),0!=(n>>>=1);)e+=e;return t}function hpPadString(e,n,t,r){return(e=_String(e)).length>(n>>=0)?e:(n-=e.length,t.length<n&&(t+=repeatString(t,n/t.length)),-1===r?t.slice(0,n)+e:e+t.slice(0,n))}function padStart(e,n,t){return hpPadString(e,n,t,-1)}function padEnd(e,n,t){return hpPadString(e,n,t,1)}function split(e,n){return""!==e?e.split(n):[]}function floorFixed(e,n,t){var e=split(e=trim(_Number(e)),"."),r=e[1]||"";return r.length<n&&(r=padEnd(r,n,$zeroString),t&&(r=r.replace(/0+$/,""))),n<1||!r?e[0]:e[0]+"."+r.substring(0,n)}function roundFixed(e,n,t){e=_Number(e);var r,i=Math.pow(10,n),e=_String(Math.round(e*i)/i);return 0<n&&(r=(i=split(e,"."))[0],(i=i[1]||"").length<n&&(i=padEnd(i,n,$zeroString),e=(i=t?i.replace(/0+$/,""):i)?r+"."+i:r)),e}function deepFindItem(e,t,n){var r,i,a=isNull(n)?"children":n;return function o(e){if(e)for(var n=0;n<e.length;n++){if(i=t(e[n])){r=e[n];break}if(o(e[n][a]),i)break}}(e),r}function flatArrayToTree(e,n){for(var t=(n=_KvPair(n)).id||"id",r=n.pid||"pid",i=n.children||"children",a=0;a<e.length;a++){var o,u=e[a];(o=deepFindItem(e,function(e){return null!=e[t]&&e[t]!=u[t]&&e[t]===u[r]},i))&&(o[i]=_Array(o[i]),o[i].push(u),e.splice(a--,1))}return e}function changeIndex(e,n,t){if(e<0)return n;e+=1;return(n=(n+t)%e)<0&&(n+=e),-0===n?0:n}function getRandom(e,n,t){t=!1===t?0:1;return e=Math.random()*(n-e+t)+e,t?Math.floor(e):e}function getRandomWord(){return $letters[getRandom(0,$letters.length-1)][0]}function uuid(e){e=_Number(e);for(var n="",t=0;t<13;t++)n+=getRandom(1,9);e=(new Date).getTime()*getRandom(1,100);return padEnd(getRandomWord()+Number(n).toString(32)+e.toString(32),20,getRandomWord()+getRandomWord()+getRandomWord())}function _Boolean(e){return!0===e||"true"===e||"1"===e||1===e}function main(e,i,a,o){o=o||"children";var n=[];return function u(e,n){for(var t=0;t<e.length;t++){var r=a(e[t]);isNull(r)||(n[t]=cloneEasy(r),e[t][o]&&(n[t][i]=[],u(e[t][o],n[t][i])))}}(e,n),n}var events={};function defineEventBus(i){if(events[i])throw'"'+i+'" Has already been registered!';return events[i]=events[i]||[],{on:function(e){events[i].push(e)},emit:function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];for(var r=0;r<events[i].length;r++)events[i][r].apply($undefinedValue,n)},off:function(e){if(!e)throw"the hander of off is required!";for(var n=0;n<events[i].length;n++)events[i][n]===e&&events[i].splice(n--,1)},dispose:function(){for(var e=0;e<events[i].length;e++)events[i].splice(e--,1);delete events[i]},eventList:function(){return events[i]}}}function forEachTree(e,i,a){a=a||"children",function o(e,n){for(var t=0;t<e.length;t++){var r=cloneEasy(n);i(e[t],r),isArray(e[t][a])&&(r.push(e[t]),o(e[t][a],r))}}(e,[])}function randomColor(){return"rgba("+getRandom(0,255,!0)+","+getRandom(0,255,!0)+","+getRandom(0,255,!0)+",1)"}function emptyFunc(e,n){}var Polling=function(){function e(e){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:emptyFunc},e),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var n=e.prototype;return n._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},n._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},n.start=function(){var e,n=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){e=+new Date-n._stamp,0===(e=Math.max(n._option.timeout-e,0))&&n.done(),n._option.onMessage(e)},100)),this},n.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},n.dispose=function(){return this.done(),this},e}();function dataPage(e,n,t){if(t<1)throw"页码必须大于0";var r=(t-1)*n,i=r+n;return{current:t,total:e.length,size:n,pages:Math.ceil(e.length/n),data:cloneEasy(e.slice(r,i))}}function basicCheck(e,n,t,r){if(e="【"+e+"】",t&&isEmpty(n))throw"字段"+e+"不能为空";if(getType(n)!==r)switch(r){case"String":n=String(n);break;case"Number":if(!isLikeNumber(n))throw"字段"+e+"必须为数字";n=Number(n)}return n}var fieldCheck={number:function(e,n){return basicCheck(e,n,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(e,n){return basicCheck(e,n,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function uniq(e){return Array.from(new Set(e))}var defaultSortFun=function(e,n){return Number(e)-Number(n)},_names_count=0,_namesMap={};function getIdMap(e){return _namesMap[e]||(_namesMap[e]={id:++_names_count,label:e}),_namesMap[e]}function createUniqIds(e,n){var t=[],r=[];return e.forEach(function(e){e=getIdMap(n[e]);t.push(e.id),r.push(e.label)}),{id:t.join("_"),label:r.join("→")}}function arrayRowToColumn(e,i){var n,t=[],a=(e.forEach(function(e){e=String(e[i.colField]);t.includes(e)||t.push(e)}),t.sort(null!=(r=i.colSort)?r:defaultSortFun),{}),f=(e.forEach(function(n){var e=createUniqIds(i.uniqueRowId,n),t={},r=(i.uniqueRowId.forEach(function(e){t[e]=n[e]}),a[e.id]=a[e.id]||{value:t,name:e.label,data:{}},i.colCreate(n[i.colField]).field);a[e.id].data[r]=a[e.id].data[r]||[],a[e.id].data[r].push(n)}),[]);for(n in a)f.push({name:a[n].name,value:a[n].value,data:a[n].data,summary:{}});var r=t.map(function(e){var n=i.colCreate(e);return{value:e,label:n.label,field:n.field}}),d={};return i.summaryConfig&&(i.summaryConfig.row&&(f=mergeRowSummary(f,i.summaryConfig.row,i.summaryConfig.averageField)),i.summaryConfig.column&&(d=mergeColSummary(f,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:r,data:f,colSummary:d,getExtRow:function(n,e,t){var r,i=f.find(function(e){return e.name===n}),a={};if(!i){var o=e,u=t,c=d[n],s={};if(c)for(var l in c)s[l]=u(c[l][o]);return s}for(r in i.summary)a[r]=t(i.summary[r][e]);return a}}}function getZengzhngl(e,n){return e===$undefinedValue||n===$undefinedValue?$undefinedValue:(n-e)/Math.abs(e)}function mergeRowSummary(i,a,n){return i.forEach(function(c){var s=a[c.name];if(s){var l,e,f=0,d=0;for(e in c.data)!function(e){d++;var n,t=[],r=0,i=[],a=[],o=(c.data[e].forEach(function(e){isNumber(s.count)||t.push(e[s.count.field]);var n=_Number(e[s.value.field]);switch(s.value.mode){case"uniqLength":i.push(e[s.value.field]),i=uniq(i),r=i.length;break;case"sum":case"avg":r+=n}0!==n&&a.push(n)}),0);if(isNumber(s.count))o=s.count;else switch(s.count.mode){case"length":o=t.length;break;case"uniqLength":o=uniq(t).length;break;case"notZeroValue":o=a.length}var u=r;"avg"===s.value.mode&&(u=r/o),f+=u,c.summary[e]={value:u,proportion:0,riseRatio:l?getZengzhngl(null==(n=c.summary[l])?void 0:n.value,u):void 0},l=e}(e);c.summary[n]={value:f/d,riseRatio:$undefinedValue,proportion:0}}}),i.forEach(function(e){var n=a[e.name];if(n){var t=i.find(function(e){return e.name===n.proportionBaseField});if(n.proportionBaseField&&t)for(var r in e.summary)e.summary[r].proportion=e.summary[r].value/t.summary[r].value}}),i}function mergeColSummary(s,l,f){var e,d={},m={},n=function(i){m[i]={},d[i]={};var e,a=l[i],n=(s.forEach(function(r){for(var e in r.data)!function(e){d[i][e]=d[i][e]||{data:[],sum:0};var n=[],t=0;switch(r.data[e].forEach(function(e){switch(n.push(e[a.field]),a.mode){case"uniqLength":n=uniq(n);break;case"avg":case"sum":t+=e[a.field];break;case"notZeroLength":0!==_Number(e[a.field])&&t++}}),a.mode){case"uniqLength":n=uniq(n);break;case"avg":t/=r.data[e].length}d[i][e].data=d[i][e].data.concat(n),d[i][e].sum+=t}(e)}),void 0);for(e in d[i]){var t,r=0;switch(a.mode){case"avg":r=d[i][e].sum/s.length;break;case"uniqLength":r=uniq(d[i][e].data).length;break;case"notZeroLength":case"sum":r=d[i][e].sum}m[i][e]={value:r,proportion:0,riseRatio:n?getZengzhngl(null==(t=m[i][n])?void 0:t.value,r):void 0},n=e}var o,u=0,c=0;for(o in m[i])u+=m[i][o].value,c++;m[i][f]={value:u/c,riseRatio:$undefinedValue,proportion:0}};for(e in l)n(e);return m}function sameRowCellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=r[e][n];if(a!==t&&!isEmpty(a))break;i++}return i}function findPrevRowSpanNum(e,n,t){for(var r=0;0<=n&&!(0<(r=e[n].$rowSpan[t]));n--);return r}function sameColSellCount(e,n,t,r){var i=1;for(e++;e<r.length;e++){var a=trim(t[r[e]]);if(a!==n&&!isEmpty(a))break;i++}return i}function spanTable(e,u){var c=cloneEasy(e),s={};return u.forEach(function(e,n){var i,a,o;i=e,a=u[n-1],o=0,c.forEach(function(e,n){e.$rowSpan=null!=(r=e.$rowSpan)?r:{};var t,r=e[i];s[i]=null!=(t=s[i])?t:0,1<s[i]?(e.$rowSpan[i]=0,s[i]--):(t=sameRowCellCount(n,i,r,c),void 0!==a&&(r=findPrevRowSpanNum(c,n,a),0<o?r<=o+t?(t=r-o,o=0):o+=t:t<r?o=t:t=r),s[i]=t,e.$rowSpan[i]=s[i])})}),c.forEach(function(r){r.$colField={};var i=0;u.forEach(function(e,n){var t=r[e];1<i?(r.$colField[e]=0,i--):(i=sameColSellCount(n,t,r,u),r.$colField[e]=i)})}),c}function thousands(e,i,a){return i=i||3,a=a||",",(isString(e)?e:_String(e)).replace(/([^.]*)?(\.)?(.*)?/,function(e,n,t,r){return _String(n).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+a)+_String(t)+_String(r)})}function mapKvPair(e,n){var t,r={};for(t in e)r[t]=n(cloneEasy(e[t]),t);return r}function isFuzzyMatch(e,n,t){var r=!0;return(e=trim(e,"*"))&&(e=split(e,"").join(".*"),r=new RegExp(e,_String(t)).test(n)),r}function mixInZeroWidthUnicode(e){return split(e,"").join($zeroWidthCode)}function forEachKvPair(e,n){var t,r={},i=-1;for(t in e)i++,r[t]=n(e[t],t,i);return r}function getSortList(e){return e.map(function(e,n){return{value:e,index:n}})}function getSortIndex(e,t){var n=getSortList(e),r=getSortList(e);return r.sort(function(e,n){return t(e.value,n.value)}),n.map(function(n){return r.findIndex(function(e){return n.index===e.index})})}function sortWithIndex(e,n){for(var t=[],r=0;r<e.length;r++)t[r]=e[n[r]];return t}function getRatio(e,n){return 0===e||isNull(e)?0:0===n||isNull(n)?1:e/n}function difference(e,t,r){var i=[];return e.forEach(function(n){t.some(function(e){return r(e,n)})||i.push(n)}),t.forEach(function(n){e.some(function(e){return r(e,n)})||i.some(function(e){return r(e,n)})||i.push(n)}),i}function defualtFormatter(e,n,t){return isNull(n)?e:(e=n,t?t(e):e)}function hpObjectKeys(e){return Object.keys(e)}var AVG_FIELD="sys-row-avg";function getUniqId(e,n){var t=[];return isArray(e)?e.forEach(function(e){t.push(n[e])}):t.push(n[e]),t.join("→")}function _rowToColumn(e,n){var u={},t=n.colField;if(!isNull(t)&&e.length){var i=n.cellSummary;if(e.forEach(function(e){var n=e[t];u[n]=u[n]||{data:[],summary:0,_collect:[]},u[n].data.push(e),i&&(e=e[i.numerator[0]],u[n].summary+=e,u[n]._collect.push(e))}),!isNull(i)){var r,a,o;for(r in u)!function(e){var n=u[e],t=1,r=i.denominator;if(r)if(isNumber(r))t=r;else switch(r[1]){case"length":t=n.data.map(function(e){return e[r[0]]}).length;break;case"uniqLength":t=uniq(n.data.map(function(e){return e[r[0]]})).length}switch(i.numerator[1]){case"sum":isNull(n.summary)||(n.summary=n.summary/t);break;case"length":n.summary=n._collect.length/t;break;case"uniqLength":n.summary=uniq(n._collect).length/t}}(r);o=a=0,forEachKvPair(u,function(e){a++;e=isNull(e.summary)?0:e.summary;o+=e}),u[AVG_FIELD]={data:[],summary:o/a,_collect:[]},n.colCustom&&forEachKvPair(n.colCustom,function(e,n){var t=c(e.numerator),e=e.denominator?c(e.denominator):1;u[n]={data:[],summary:getRatio(t,e),_collect:[]}})}}return u;function c(a){var o=0,e=hpObjectKeys(u).filter(function(e){var n=[AVG_FIELD].includes(e),e="*"===a[1]||a[1].includes(e);return!n&&e});return isArray(a[1])&&e.sort(function(e,n){return a[1].indexOf(e)-a[1].indexOf(n)}),e.forEach(function(e,n){var t,r,e=u[e],i=0;isNull(a[2])||"value"===a[2]?i=isNull(e.summary)?0:e.summary:"length"===a[2]?(t=a[3])&&(i=e.data.map(function(e){return e[t]}).length):"uniqLength"===a[2]&&(r=a[3])&&(i=uniq(e.data.map(function(e){return e[r]})).length),"sum"===a[0]?o+=i:"max"===a[0]?o=Math.max(o,i):"diff"===a[0]&&(0===n?o=i:o-=i)}),o}}function _groupToList(e,n,t,r){var i,a=[];for(i in e){var o=n===t,u=_groupToList(e[i].child,n,t+1,r);a.push({uidPath:e[i].uidPath,uid:e[i].uid,data:e[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:_rowToColumn(e[i].data,r),isLeaf:o,children:u})}return a}function deepGroup(e,u){var n={},c=0;!function l(e,n,t){for(var r=0;r<n.length;r++){var i=n[r],a=getUniqId(u.path[c].field,i);e[a]=e[a]||{uidPath:t.concat(a),uid:a,data:[],child:{}},e[a].data.push(i)}if(c<u.path.length-1)for(var o in c++,e)l(e[o].child,e[o].data,e[o].uidPath)}(n,e,[]);var e=_groupToList(n,c,0,u),r=(!function i(e,n){var t;e.sort(null==(t=u.path[n])?void 0:t.sort),e.forEach(function(e){i(e.children,n+1)})}(e,0),!function a(e){e.forEach(function(e){var t={};forEachKvPair(e._columns,function(e,n){e=isNull(e.summary)?0:e.summary;t[n]=t[n]||0,t[n]+=e}),e._columnTotal=t,a(e.children)})}(e),{}),s=(e.forEach(function(t){forEachKvPair(t._columns,function(e,n){r[n]=r[n]||0,r[n]+=t._columnTotal[n]})}),[]);return u.colCustom&&forEachKvPair(u.colCustom,function(e,n){e.riseRatio||s.push(n)}),function t(e){var a={},o={};e.forEach(function(e,i){forEachKvPair(e._columns,function(e,n){var t,r;s.includes(n)||(0<i?isNull(t=e.summary)?o[n]=$undefinedValue:(r=null!=(r=a[n])?r:0,o[n]=getRatio(t-r,r)):o[n]=void 0,a[n]=e.summary)}),e._columnRiseRatio=o,t(e.children)})}(e),function o(e,r){e.forEach(function(e,n){var t={};forEachKvPair(e._columns,function(e,n){t[n]=getRatio(e.summary,r[n])}),e._columnProportion=t,o(e.children,e._columnTotal)})}(e,r),{data:e,total:r}}function listGroup(e,n){var l=deepGroup(e,n);function a(e,n,t,r,i){var a=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length}),o=defualtFormatter("",i);if(a)try{switch(e){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=a[e][t];return isNull(u)?o:r(u);default:var c=a[e][t].summary;return isNull(c)?o:r(c,a[e][t].data)}}catch(s){return o}return o}function o(e,n,t,r){return a("_columns",e,n,t,r)}function u(e,n,t,r){return a("_columnProportion",e,n,t,r)}return{data:l.data,getCellValue:o,getCellVerticalRiseRatio:function(e,n,t,r){return a("_columnRiseRatio",e,n,t,r)},getCellVerticalTotal:function(e,n,t,r){var i;return"*"===e?isNull(i=l.total[n])?defualtFormatter("",r):t(i):a("_columnTotal",e,n,t,r)},getCellVerticalProportion:u,getRowCellValue:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=o(n,e.field,t,r)}),i},getRowVerticalProportion:function(n,e,t,r){var i={};return e.forEach(function(e){i[e.id]=u(n,e.field,t,r)}),i},getOriginGroupData:function(n,e){var t=deepFindItem(l.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length});return t&&null!=(t=null==(e=t._columns[e])?void 0:e.data)?t:[]},getOriginAllData:function(){return e}}}function union(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];var r=new Set(n);return Array.from(r)}function isLick0(e){return isNull(e)||0===e}function getRiseRatio(e,n){return isLick0(e)&&isLick0(n)?0:isLick0(e)?1:isLick0(n)?-1:(n-e)/e}function filterWithMove(e,n){for(var t=[],r=0;r<e.length;r++){var i=e[r];n(i,r,e)&&(t.push(i),e.splice(r--,1))}return t}var defaUnits=[[1e4,"万"],[1e8,"亿"]];function shortNumber(e,n,t){for(var r=isNull(t)?defaUnits:t,i=(r.sort(function(e,n){return n[0]-e[0]}),e),a="",o=0;o<r.length;o++){var u=r[o],c=e/u[0];if(1<=Math.abs(c)){i=c,a=u[1];break}}return{value:i,fmtValue:n(i),unit:a}}function zeroWidthNum(e,n){return padStart(e,n,"0")}function formatTime(e){var e=new Date(e),n=e.getFullYear(),t=e.getMonth()+1,r=e.getDate(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),e=e.getMilliseconds();return zeroWidthNum(n,4)+"/"+zeroWidthNum(t,2)+"/"+zeroWidthNum(r,2)+" "+zeroWidthNum(i,2)+":"+zeroWidthNum(a,2)+":"+zeroWidthNum(o,2)+":"+zeroWidthNum(e,3)}function countCol(e){var n=0;return isArray(e.children)?e.children.forEach(function(e){n+=countCol(e)}):n=1,n}function deepParseInfo(e){return main(e,"children",function(e){return{field:e.field,title:e.title,count:countCol(e)}})}function createHeaderRowData(e,i,a,o){return i[a]||(i[a]=[]),o-=1,e.forEach(function(e){var n=o+1,t=(o=n+e.count-1)-n+1,t={colStart:n,colEnd:o,colSpan:t,count:e.count,field:e.field,title:e.title,rowSpan:1};i[a][n]=t;for(var r=1;r<e.count;r++)i[a][n+r]=void 0;isArray(e.children)&&0<e.children.length&&createHeaderRowData(e.children,i,a+1,n)}),i.forEach(function(e){for(var n=0;n<i[0].length;n++)e[n]||(e[n]=void 0)}),i}function getColumnFields(e){for(var t=[],n=e.length-1;0<=n;n--)e[n].forEach(function(e,n){e&&e.field&&isNull(t[n])&&(t[n]=e.field)});return t}function setRowSpan(i){i.forEach(function(e,t){e.forEach(function(e,n){e&&(e.rowSpan=function(e,n){for(var t,r=0;e<i.length&&(null==i||null==(t=i[e])||!t[n]);e++)r++;return r}(t+1,n)+1)})})}function parseTreeToTableHeader(e){e=createHeaderRowData(deepParseInfo(e),[],0,0);return setRowSpan(e),{columns:getColumnFields(e),data:e}}var ConnectEcharts=function(){function e(){this._list={}}var n=e.prototype;return n._resetGroupClickXAxisCategory=function(i){i.forEach(function(n){clearTimeout(n.timer_01),n.instence.off("click",n.onAxxisSeriesClick),n.instence.off("click",n.onAxxisCategoryClick),n.onAxxisCategoryClick=function(e){var t=e.tickIndex,r=!1!==e.needEmit;clearTimeout(n.timer_01),n.timer_01=setTimeout(function(){i.forEach(function(e){var n=cloneEasy(e.instence.getOption());isArray(n.xAxis)&&n.xAxis.length&&r&&e.config&&e.config.onXAxisCtegoryClick&&(n=n.xAxis,e.config.onXAxisCtegoryClick(n.map(function(e){return e.data}),t,e.instence))})},30)},n.onAxxisSeriesClick=function(e){"markLine"!==e.componentType&&null!=n&&n.onAxxisCategoryClick&&n.onAxxisCategoryClick({tickIndex:e.dataIndex})},n.instence.on("click","series",n.onAxxisSeriesClick),n.instence.on("click","xAxis.category",n.onAxxisCategoryClick)})},n.clickXAsisCategory=function(e,n,t){var r,i=!0!==t;for(r in this._list)for(var a=0;a<this._list[r].length;a++){var o=this._list[r][a];o.instence===e&&o.onAxxisCategoryClick&&o.onAxxisCategoryClick({tickIndex:n,needEmit:i})}},n.add=function(e,n){var t=e.group;return t&&(this._list[t]=this._list[t]||[],this._list[t].push({config:n,instence:e,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[t])),this},n.remove=function(e){if(e)for(var n in this._list)for(var t=0;t<this._list[n].length;t++){var r=this._list[n][t];clearTimeout(r.timer_01),r.instence===e&&(r.instence.off("click",r.onAxxisCategoryClick),this._list[n].splice(t--,1))}},e}(),connectEcharts=new ConnectEcharts;function getPiecesWithIndex(e,r){var i=[];return forEach(e,function(n,e){var t=r.find(function(e){return n>=e.min&&n<e.max});t&&i.push({gte:e,lt:e+1,color:t.color})}),i}function deepFunc(e,n){forEach(e,function(e){isArray(e.children)?deepFunc(e.children,n):n.push(e)})}function treeLeafs(e){var n=[];return deepFunc(e,n),n}var Animate=function(){function e(e){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=e,this._middleData=cloneEasy(e.to)}var n=e.prototype;return n.start=function(){var n=this,{from:t,to:r,easing:c,duration:s,onChange:i}=this._options,a=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var o=Math.min((new Date).getTime()-a,s),e=(!function u(r,i,a){function e(e){var n,t;isNumber(i[e])||isNumber(a[e])?(n=_Number(i[e]),t=_Number(a[e]),r[e]=c(o,n,t-n,s)):(isArray(i[e])||isKvPair(i[e]))&&u(r[e],i[e],a[e])}if(isArray(i))for(var n=0;n<i.length;n++)e(n);else if(isKvPair(i))for(var t in r)e(t)}(n._middleData,t,r),o/s);1==e&&(clearInterval(n._timer),o=0),n._passTime=o,i(n._middleData,e)},17),this},n.stop=function(){return clearInterval(this._timer),this},n.dispose=function(){this.stop()},e}();function assign(e,n){return Object.assign(e,n)}function debounce(r,e,n){var t,i,a,o,u=defualtFormatter(500,e),{leading:c,trailing:s}=assign({leading:!1,trailing:!0},n),l=!1,f=!1;function d(){clearTimeout(t),t=setTimeout(m,u)}function m(){l=!1}function h(){l=!0,d(),r.apply(self,o)}function g(){if(!f){a=this;for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o=n,c&&(l||(l=!0,r.apply(a,o)),d()),s&&(clearTimeout(i),i=setTimeout(h,u))}}return g.cancel=function(){clearTimeout(t),clearTimeout(i)},g.dispose=function(){clearTimeout(t),clearTimeout(i),f=!0},g}function throttle(e,n,t){var r,i,a,o,u,c=defualtFormatter(500,n),{leading:s,trailing:l}=assign({leading:!0,trailing:!0},t),f=0,d=0,m=!1;function h(){d=f=0}function g(){l&&(1<d||!s)?(p(),u=setTimeout(h,c)):h()}function p(){f=+new Date,e.apply(i,o)}function v(){if(!m){d++;for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];o=n,i=this,r=+new Date,clearTimeout(a),clearTimeout(u),0===f?s?p():f=r:c<=r-f&&p(),a=setTimeout(g,c)}}return v.cancel=function(){clearTimeout(a),clearTimeout(u)},v.dispose=function(){clearTimeout(a),clearTimeout(u),m=!0},v}export{Animate,Polling,_Array,_Boolean,_KvPair,_Number,_String,arrayRowToColumn,changeIndex,cloneEasy,connectEcharts,dataPage,debounce,deepFindItem,deepFindTreePath,defineEventBus,defualtFormatter,difference,fieldCheck,filterWithMove,floorFixed,forEach,forEachKvPair,forEachTree,formatTime,getLikeNumberRegExp,getPiecesWithIndex,getRandom,getRatio,getRiseRatio,getSortIndex,getType,isArray,isEmpty,isFunction,isFuzzyMatch,isKvPair,isLikeNumber,isNull,isString,listGroup,mapKvPair,main as mapTree,mixInZeroWidthUnicode,padEnd,padStart,param,parseQuery,parseTreeToTableHeader,randomColor,repeatString,roundFixed,shake,shortNumber,sortWithIndex,spanTable,split,thousands,throttle,flatArrayToTree as tree,treeLeafs,trim,union,urlToGet,uuid,variableHasValue};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
interface DomAutoScrollOptions {
|
|
2
|
+
/**
|
|
3
|
+
* 滚动容器dom
|
|
4
|
+
*/
|
|
5
|
+
elScroll: HTMLDivElement;
|
|
6
|
+
/**
|
|
7
|
+
* 鼠标移入/移出时的容器
|
|
8
|
+
*/
|
|
9
|
+
elMouse?: HTMLDivElement;
|
|
10
|
+
/**
|
|
11
|
+
* 滚动频率(每秒多少次,一次 1px)
|
|
12
|
+
*/
|
|
13
|
+
fps?: number;
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare class DomAutoScroll {
|
|
17
|
+
private _oScroll;
|
|
18
|
+
private _oMouse;
|
|
19
|
+
private _timer01;
|
|
20
|
+
private _timer02;
|
|
21
|
+
private _fps;
|
|
22
|
+
private _obvs;
|
|
23
|
+
private _isMouseIn;
|
|
24
|
+
private _enabled;
|
|
25
|
+
/**
|
|
26
|
+
* 原生滚动条自动滚动(改变的是scrollTop)
|
|
27
|
+
* @param options 配置项
|
|
28
|
+
*/
|
|
29
|
+
constructor(options: DomAutoScrollOptions);
|
|
30
|
+
_onMouseenter(): void;
|
|
31
|
+
play(): void;
|
|
32
|
+
_onMouseLeave(): void;
|
|
33
|
+
updateFps(value: number): void;
|
|
34
|
+
_onResize(): void;
|
|
35
|
+
/**
|
|
36
|
+
* 回到顶部
|
|
37
|
+
*/
|
|
38
|
+
backToTop(): void;
|
|
39
|
+
_playOnce(): void;
|
|
40
|
+
pause(): void;
|
|
41
|
+
dispose(): void;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
declare global {
|
|
45
|
+
/**
|
|
46
|
+
* 该声明文件用于全局声明(不用npm安装时拷贝到项目中直接使用)
|
|
47
|
+
*/
|
|
48
|
+
namespace DomAutoScroll {
|
|
49
|
+
export { DomAutoScrollOptions, DomAutoScroll as default };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export default undefined;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 纯JS工具库 => jUtilsBase
|
|
3
|
+
* @update 2024-09-01 00:59:30
|
|
4
|
+
*/
|
|
5
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).jUtilsBase={})}(this,function(n){"use strict";var t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],a="Array",L="Class",$="Function",u="Object",c="String",N="Number",m=void 0,q="false",V="true",B=Object.prototype.toString,G=encodeURI,X=decodeURIComponent;function h(n){return null===n||n===m}function f(n){return h(n)?"":String(n)}var H=$.toLowerCase();function r(n){return typeof n===H}function l(n){return r(t=n)&&/^class\s/.test(Function.prototype.toString.call(t))?L:B.call(n).slice(8,-1);var t}function d(n){return l(n)===a}function s(n){return l(n)===u}function v(n){return l(n)===c}function i(n,t){var e;try{e=JSON.parse(n)}catch(r){e=t}return e}function g(n){return n=s(n)||s(n=i(n))?n:{}}function p(n){return h(n)||""===n}function K(n){var e=[];function i(n,t){null!=n&&""!==n&&(t=null==(t=r(t)?t():t)?"":t,e[e.length]=G(n)+"="+G(t))}return function o(n,t){var e,r;if(n)switch(l(t)){case a:for(e=0;e<t.length;e++)o(n+"["+("object"==typeof t[e]&&t[e]?e:"")+"]",t[e]);break;case u:for(r in t)o(n+"["+r+"]",t[r]);break;default:i(n,t)}else switch(l(t)){case c:case u:for(r in t)o(r,t[r]);break;case a:for(e=0;e<t.length;e++)i(t[e].name,t[e].value)}}("",n),e.join("&")}function _(n){return n=d(n)||d(n=i(n))?n:[]}function y(n){return l(n)===N}var o="[\\s\\uFEFF\\xA0]+";function b(n,t){var e=l(n),r=(e===N&&(n=String(n),e=c),"");if(e!==c)return"";switch(t){case 1:r="^"+o;break;case-1:r=o+"$";break;case"*":r=o;break;default:r="^"+o+"|"+o+"$"}return n.replace(new RegExp(r,"g"),"")}function x(n){var t=!1,e=0,e=y(n)?n:(v(n)&&(n=b(n,"*").replace(/,/g,"").replace(/%$/,function(n){return t=!0,""})),Number(n));return e=Math.abs(e)===Math.abs(Infinity)||isNaN(e)?0:e,t&&(e/=100),e}var U=[m,m];function W(n){if(n==m)return U;var r,i=n;return n.replace(/^\[(.*?)\](.*)?/,function(n,t,e){return i=t,r=e,""}),[i,r]}function Z(n){return""===n||/^\d+$/.test(n)}function e(n){var a={},u=!1,r="";return(n=h(n)?"":n).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(n,t,o){var e;e=X(o),o=null==e?m:q!==e&&(V===e||i(e,e)),r=X(t),u=!1,""!==r&&(r.replace(/(.*?)(\[.*)/,function(n,t,e){var r=W(e);u=!0,Z(r[0])?a[t]=_(a[t]):a[t]=g(a[t]),function i(n,t,e){var t=W(t),r=t[0];Z(r)?(r=x(r),t[1]==m?n.push(e):(/^\[[\D]+\]/.test(t[1])?n[r]=g(n[r]):n[r]=_(n[r]),i(n[r],t[1],e))):t[1]==m?n[r]=e:(/^\[[\D]+\]/.test(t[1])?n[r]=g(n[r]):n[r]=_(n[r]),i(n[r],t[1],e))}(a[t],e,o)}),u||(a[r]=o))}),a}function k(n,t){for(var e=0;e<n.length;e++)t(n[e],e,n)}function w(t){switch(l(t)){case L:e=Object.assign(Object.create(Object.getPrototypeOf(t)),t);break;case a:for(var e=[],n=0;n<t.length;n++)e.push(w(t[n]));break;case u:e={},k(Object.keys(t),function(n){e[n]=w(t[n])});break;case $:function r(){t.apply(this,arguments)}for(var i in t.prototype)r.prototype[i]=t.prototype[i];e=r;break;default:e=t}return e}function z(n,t){var e=!1;return e=d(n)&&t.array&&0===n.length||s(n)&&t.kvPair&&function(n){var t,e=!0;for(t in n)if(t!==m){e=!1;break}return e}(n)||v(n)&&t.string&&""===n||h(n)?!0:e}function C(n,t,e){var r;e=null==e?60:e,n()?t():(clearTimeout(r),setTimeout(function(){C(n,t,e)},e))}C["async"]=function(t,e){return new Promise(function(n){C(t,n,e)})};var J={id:"id",children:"children"};var Q=/(-|\+)?((\d+)|((\d,?)+\d+))(\.?\d+)?%?/.toString().replace(/(^\/)|(\/$)/g,"");function Y(n){n=b(n);return new RegExp("^"+Q+"$").test(n)}function nn(n,t){var e="";if((n=f(n)).length*t<1<<28)for(;1==(1&t)&&(e+=n),0!=(t>>>=1);)n+=n;return e}function tn(n,t,e,r){return(n=f(n)).length>(t>>=0)?n:(t-=n.length,e.length<t&&(e+=nn(e,t/e.length)),-1===r?e.slice(0,t)+n:n+e.slice(0,t))}function en(n,t,e){return tn(n,t,e,-1)}function T(n,t,e){return tn(n,t,e,1)}function E(n,t){return""!==n?n.split(t):[]}function S(n,e,t){var r,i,o=h(t)?"children":t;return function a(n){if(n)for(var t=0;t<n.length;t++){if(i=e(n[t])){r=n[t];break}if(a(n[t][o]),i)break}}(n),r}function A(n,t,e){e=!1===e?0:1;return n=Math.random()*(t-n+e)+n,e?Math.floor(n):n}function R(){return t[A(0,t.length-1)][0]}function rn(n,i,o,a){a=a||"children";var t=[];return function u(n,t){for(var e=0;e<n.length;e++){var r=o(n[e]);h(r)||(t[e]=w(r),n[e][a]&&(t[e][i]=[],u(n[e][a],t[e][i])))}}(n,t),t}var O={};function on(n,t){}var an=function(){function n(n){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:on},n),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var t=n.prototype;return t._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},t._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},t.start=function(){var n,t=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){n=+new Date-t._stamp,0===(n=Math.max(t._option.timeout-n,0))&&t.done(),t._option.onMessage(n)},100)),this},t.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},t.dispose=function(){return this.done(),this},n}();function un(n,t,e,r){if(n="【"+n+"】",e&&p(t))throw"字段"+n+"不能为空";if(l(t)!==r)switch(r){case"String":t=String(t);break;case"Number":if(!Y(t))throw"字段"+n+"必须为数字";t=Number(t)}return t}var cn={number:function(n,t){return un(n,t,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(n,t){return un(n,t,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function P(n){return Array.from(new Set(n))}var fn=function(n,t){return Number(n)-Number(t)},ln=0,sn={};function hn(n,t){var e=[],r=[];return n.forEach(function(n){n=t[n],sn[n]||(sn[n]={id:++ln,label:n});n=sn[n];e.push(n.id),r.push(n.label)}),{id:e.join("_"),label:r.join("→")}}function dn(n,t){return n===m||t===m?m:(t-n)/Math.abs(n)}function F(n,t){var e,r={},i=-1;for(e in n)i++,r[e]=t(n[e],e,i);return r}function mn(n){return n.map(function(n,t){return{value:n,index:t}})}function I(n,t){return 0===n||h(n)?0:0===t||h(t)?1:n/t}function vn(n,e,r){var i=[];return n.forEach(function(t){e.some(function(n){return r(n,t)})||i.push(t)}),e.forEach(function(t){n.some(function(n){return r(n,t)})||i.some(function(n){return r(n,t)})||i.push(t)}),i}function M(n,t,e){return h(t)?n:(n=t,e?e(n):n)}var gn="sys-row-avg";function pn(n,t){var u={},e=t.colField;if(!h(e)&&n.length){var i=t.cellSummary;if(n.forEach(function(n){var t=n[e];u[t]=u[t]||{data:[],summary:0,_collect:[]},u[t].data.push(n),i&&(n=n[i.numerator[0]],u[t].summary+=n,u[t]._collect.push(n))}),!h(i)){var r,o,a;for(r in u)!function(n){var t=u[n],e=1,r=i.denominator;if(r)if(y(r))e=r;else switch(r[1]){case"length":e=t.data.map(function(n){return n[r[0]]}).length;break;case"uniqLength":e=P(t.data.map(function(n){return n[r[0]]})).length}switch(i.numerator[1]){case"sum":h(t.summary)||(t.summary=t.summary/e);break;case"length":t.summary=t._collect.length/e;break;case"uniqLength":t.summary=P(t._collect).length/e}}(r);a=o=0,F(u,function(n){o++;n=h(n.summary)?0:n.summary;a+=n}),u[gn]={data:[],summary:a/o,_collect:[]},t.colCustom&&F(t.colCustom,function(n,t){var e=c(n.numerator),n=n.denominator?c(n.denominator):1;u[t]={data:[],summary:I(e,n),_collect:[]}})}}return u;function c(o){var a=0,n=Object.keys(u).filter(function(n){var t=[gn].includes(n),n="*"===o[1]||o[1].includes(n);return!t&&n});return d(o[1])&&n.sort(function(n,t){return o[1].indexOf(n)-o[1].indexOf(t)}),n.forEach(function(n,t){var e,r,n=u[n],i=0;h(o[2])||"value"===o[2]?i=h(n.summary)?0:n.summary:"length"===o[2]?(e=o[3])&&(i=n.data.map(function(n){return n[e]}).length):"uniqLength"===o[2]&&(r=o[3])&&(i=P(n.data.map(function(n){return n[r]})).length),"sum"===o[0]?a+=i:"max"===o[0]?a=Math.max(a,i):"diff"===o[0]&&(0===t?a=i:a-=i)}),a}}function _n(n,u){var t={},c=0;!function l(n,t,e){for(var r=0;r<t.length;r++){var i=t[r],o=function(n,t){var e=[];return d(n)?n.forEach(function(n){e.push(t[n])}):e.push(t[n]),e.join("→")}(u.path[c].field,i);n[o]=n[o]||{uidPath:e.concat(o),uid:o,data:[],child:{}},n[o].data.push(i)}if(c<u.path.length-1)for(var a in c++,n)l(n[a].child,n[a].data,n[a].uidPath)}(t,n,[]);var n=function s(n,t,e,r){var i,o=[];for(i in n){var a=t===e,u=s(n[i].child,t,e+1,r);o.push({uidPath:n[i].uidPath,uid:n[i].uid,data:n[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:pn(n[i].data,r),isLeaf:a,children:u})}return o}(t,c,0,u),r=(!function i(n,t){var e;n.sort(null==(e=u.path[t])?void 0:e.sort),n.forEach(function(n){i(n.children,t+1)})}(n,0),!function o(n){n.forEach(function(n){var e={};F(n._columns,function(n,t){n=h(n.summary)?0:n.summary;e[t]=e[t]||0,e[t]+=n}),n._columnTotal=e,o(n.children)})}(n),{}),f=(n.forEach(function(e){F(e._columns,function(n,t){r[t]=r[t]||0,r[t]+=e._columnTotal[t]})}),[]);return u.colCustom&&F(u.colCustom,function(n,t){n.riseRatio||f.push(t)}),function e(n){var o={},a={};n.forEach(function(n,i){F(n._columns,function(n,t){var e,r;f.includes(t)||(0<i?h(e=n.summary)?a[t]=m:(r=null!=(r=o[t])?r:0,a[t]=I(e-r,r)):a[t]=void 0,o[t]=n.summary)}),n._columnRiseRatio=a,e(n.children)})}(n),function a(n,r){n.forEach(function(n,t){var e={};F(n._columns,function(n,t){e[t]=I(n.summary,r[t])}),n._columnProportion=e,a(n.children,n._columnTotal)})}(n,r),{data:n,total:r}}function j(n){return h(n)||0===n}var yn=[[1e4,"万"],[1e8,"亿"]];function D(n,t){return en(n,t,"0")}function bn(n){return rn(n,"children",function(n){return{field:n.field,title:n.title,count:function e(n){var t=0;return d(n.children)?n.children.forEach(function(n){t+=e(n)}):t=1,t}(n)}})}function xn(i){i.forEach(function(n,e){n.forEach(function(n,t){n&&(n.rowSpan=function(n,t){for(var e,r=0;n<i.length&&(null==i||null==(e=i[n])||!e[t]);n++)r++;return r}(e+1,t)+1)})})}var kn=new(function(){function n(){this._list={}}var t=n.prototype;return t._resetGroupClickXAxisCategory=function(i){i.forEach(function(t){clearTimeout(t.timer_01),t.instence.off("click",t.onAxxisSeriesClick),t.instence.off("click",t.onAxxisCategoryClick),t.onAxxisCategoryClick=function(n){var e=n.tickIndex,r=!1!==n.needEmit;clearTimeout(t.timer_01),t.timer_01=setTimeout(function(){i.forEach(function(n){var t=w(n.instence.getOption());d(t.xAxis)&&t.xAxis.length&&r&&n.config&&n.config.onXAxisCtegoryClick&&(t=t.xAxis,n.config.onXAxisCtegoryClick(t.map(function(n){return n.data}),e,n.instence))})},30)},t.onAxxisSeriesClick=function(n){"markLine"!==n.componentType&&null!=t&&t.onAxxisCategoryClick&&t.onAxxisCategoryClick({tickIndex:n.dataIndex})},t.instence.on("click","series",t.onAxxisSeriesClick),t.instence.on("click","xAxis.category",t.onAxxisCategoryClick)})},t.clickXAsisCategory=function(n,t,e){var r,i=!0!==e;for(r in this._list)for(var o=0;o<this._list[r].length;o++){var a=this._list[r][o];a.instence===n&&a.onAxxisCategoryClick&&a.onAxxisCategoryClick({tickIndex:t,needEmit:i})}},t.add=function(n,t){var e=n.group;return e&&(this._list[e]=this._list[e]||[],this._list[e].push({config:t,instence:n,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[e])),this},t.remove=function(n){if(n)for(var t in this._list)for(var e=0;e<this._list[t].length;e++){var r=this._list[t][e];clearTimeout(r.timer_01),r.instence===n&&(r.instence.off("click",r.onAxxisCategoryClick),this._list[t].splice(e--,1))}},n}());function wn(n,t){return Object.assign(n,t)}n.Animate=function(){function n(n){this._timer=void 0,this._passTime=0,this._options=void 0,this._middleData=void 0,this._options=n,this._middleData=w(n.to)}var t=n.prototype;return t.start=function(){var t=this,{from:e,to:r,easing:c,duration:f,onChange:i}=this._options,o=(new Date).getTime()-this._passTime;return clearInterval(this._timer),this._timer=setInterval(function(){var a=Math.min((new Date).getTime()-o,f),n=(!function u(r,i,o){function n(n){var t,e;y(i[n])||y(o[n])?(t=x(i[n]),e=x(o[n]),r[n]=c(a,t,e-t,f)):(d(i[n])||s(i[n]))&&u(r[n],i[n],o[n])}if(d(i))for(var t=0;t<i.length;t++)n(t);else if(s(i))for(var e in r)n(e)}(t._middleData,e,r),a/f);1==n&&(clearInterval(t._timer),a=0),t._passTime=a,i(t._middleData,n)},17),this},t.stop=function(){return clearInterval(this._timer),this},t.dispose=function(){this.stop()},n}(),n.Polling=an,n._Array=_,n._Boolean=function(n){return!0===n||"true"===n||"1"===n||1===n},n._KvPair=g,n._Number=x,n._String=f,n.arrayRowToColumn=function(n,i){var t,e=[],o=(n.forEach(function(n){n=String(n[i.colField]);e.includes(n)||e.push(n)}),e.sort(null!=(c=i.colSort)?c:fn),{}),s=(n.forEach(function(t){var n=hn(i.uniqueRowId,t),e={},r=(i.uniqueRowId.forEach(function(n){e[n]=t[n]}),o[n.id]=o[n.id]||{value:e,name:n.label,data:{}},i.colCreate(t[i.colField]).field);o[n.id].data[r]=o[n.id].data[r]||[],o[n.id].data[r].push(t)}),[]);for(t in o)s.push({name:o[t].name,value:o[t].value,data:o[t].data,summary:{}});var a,u,r,c=e.map(function(n){var t=i.colCreate(n);return{value:n,label:t.label,field:t.field}}),h={};return i.summaryConfig&&(i.summaryConfig.row&&(a=s,u=i.summaryConfig.row,r=i.summaryConfig.averageField,a.forEach(function(c){var f=u[c.name];if(f){var l,n,s=0,h=0;for(n in c.data)!function(n){h++;var t,e=[],r=0,i=[],o=[],a=(c.data[n].forEach(function(n){y(f.count)||e.push(n[f.count.field]);var t=x(n[f.value.field]);switch(f.value.mode){case"uniqLength":i.push(n[f.value.field]),i=P(i),r=i.length;break;case"sum":case"avg":r+=t}0!==t&&o.push(t)}),0);if(y(f.count))a=f.count;else switch(f.count.mode){case"length":a=e.length;break;case"uniqLength":a=P(e).length;break;case"notZeroValue":a=o.length}var u=r;"avg"===f.value.mode&&(u=r/a),s+=u,c.summary[n]={value:u,proportion:0,riseRatio:l?dn(null==(t=c.summary[l])?void 0:t.value,u):void 0},l=n}(n);c.summary[r]={value:s/h,riseRatio:m,proportion:0}}}),a.forEach(function(n){var t=u[n.name];if(t){var e=a.find(function(n){return n.name===t.proportionBaseField});if(t.proportionBaseField&&e)for(var r in n.summary)n.summary[r].proportion=n.summary[r].value/e.summary[r].value}}),s=a),i.summaryConfig.column&&(h=function(f,l,s){var n,h={},d={},t=function(i){d[i]={},h[i]={};var n,o=l[i],t=(f.forEach(function(r){for(var n in r.data)!function(n){h[i][n]=h[i][n]||{data:[],sum:0};var t=[],e=0;switch(r.data[n].forEach(function(n){switch(t.push(n[o.field]),o.mode){case"uniqLength":t=P(t);break;case"avg":case"sum":e+=n[o.field];break;case"notZeroLength":0!==x(n[o.field])&&e++}}),o.mode){case"uniqLength":t=P(t);break;case"avg":e/=r.data[n].length}h[i][n].data=h[i][n].data.concat(t),h[i][n].sum+=e}(n)}),void 0);for(n in h[i]){var e,r=0;switch(o.mode){case"avg":r=h[i][n].sum/f.length;break;case"uniqLength":r=P(h[i][n].data).length;break;case"notZeroLength":case"sum":r=h[i][n].sum}d[i][n]={value:r,proportion:0,riseRatio:t?dn(null==(e=d[i][t])?void 0:e.value,r):void 0},t=n}var a,u=0,c=0;for(a in d[i])u+=d[i][a].value,c++;d[i][s]={value:u/c,riseRatio:m,proportion:0}};for(n in l)t(n);return d}(s,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:c,data:s,colSummary:h,getExtRow:function(t,n,e){var r,i=s.find(function(n){return n.name===t}),o={};if(!i){var a=n,u=e,c=h[t],f={};if(c)for(var l in c)f[l]=u(c[l][a]);return f}for(r in i.summary)o[r]=e(i.summary[r][n]);return o}}},n.changeIndex=function(n,t,e){return n<0?t:((t=(t+e)%(n+=1))<0&&(t+=n),-0===t?0:t)},n.cloneEasy=w,n.connectEcharts=kn,n.dataPage=function(n,t,e){if(e<1)throw"页码必须大于0";var r=(e-1)*t,i=r+t;return{current:e,total:n.length,size:t,pages:Math.ceil(n.length/t),data:w(n.slice(r,i))}},n.debounce=function(r,n,t){var e,i,o,a,u=M(500,n),{leading:c,trailing:f}=wn({leading:!1,trailing:!0},t),l=!1,s=!1;function h(){clearTimeout(e),e=setTimeout(d,u)}function d(){l=!1}function m(){l=!0,h(),r.apply(self,a)}function v(){if(!s){o=this;for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];a=t,c&&(l||(l=!0,r.apply(o,a)),h()),f&&(clearTimeout(i),i=setTimeout(m,u))}}return v.cancel=function(){clearTimeout(e),clearTimeout(i)},v.dispose=function(){clearTimeout(e),clearTimeout(i),s=!0},v},n.deepFindItem=S,n.deepFindTreePath=function(n,t,e){e=Object.assign(J,e);for(var r=[],i=w(n),o=new Set,a=e["children"];i.length;){var u=i[0];if(o.has(u))r.pop(),i.shift();else if(o.add(u),u[a]&&i.unshift.apply(i,u[a]),r.push(u),t(u))return r}return undefined},n.defineEventBus=function(i){if(O[i])throw'"'+i+'" Has already been registered!';return O[i]=O[i]||[],{on:function(n){O[i].push(n)},emit:function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];for(var r=0;r<O[i].length;r++)O[i][r].apply(m,t)},off:function(n){if(!n)throw"the hander of off is required!";for(var t=0;t<O[i].length;t++)O[i][t]===n&&O[i].splice(t--,1)},dispose:function(){for(var n=0;n<O[i].length;n++)O[i].splice(n--,1);delete O[i]},eventList:function(){return O[i]}}},n.defualtFormatter=M,n.difference=vn,n.fieldCheck=cn,n.filterWithMove=function(n,t){for(var e=[],r=0;r<n.length;r++){var i=n[r];t(i,r,n)&&(e.push(i),n.splice(r--,1))}return e},n.floorFixed=function(n,t,e){var r=(n=E(n=b(x(n)),"."))[1]||"";return r.length<t&&(r=T(r,t,"0"),e&&(r=r.replace(/0+$/,""))),t<1||!r?n[0]:n[0]+"."+r.substring(0,t)},n.forEach=k,n.forEachKvPair=F,n.forEachTree=function(n,i,o){o=o||"children",function a(n,t){for(var e=0;e<n.length;e++){var r=w(t);i(n[e],r),d(n[e][o])&&(r.push(n[e]),a(n[e][o],r))}}(n,[])},n.formatTime=function(n){var t=(n=new Date(n)).getFullYear(),e=n.getMonth()+1,r=n.getDate(),i=n.getHours(),o=n.getMinutes(),a=n.getSeconds(),n=n.getMilliseconds();return D(t,4)+"/"+D(e,2)+"/"+D(r,2)+" "+D(i,2)+":"+D(o,2)+":"+D(a,2)+":"+D(n,3)},n.getLikeNumberRegExp=function(){return Q},n.getPiecesWithIndex=function(n,r){var i=[];return k(n,function(t,n){var e=r.find(function(n){return t>=n.min&&t<n.max});e&&i.push({gte:n,lt:n+1,color:e.color})}),i},n.getRandom=A,n.getRatio=I,n.getRiseRatio=function(n,t){return j(n)&&j(t)?0:j(n)?1:j(t)?-1:(t-n)/n},n.getSortIndex=function(n,e){var t=mn(n),r=mn(n);return r.sort(function(n,t){return e(n.value,t.value)}),t.map(function(t){return r.findIndex(function(n){return t.index===n.index})})},n.getType=l,n.isArray=d,n.isEmpty=p,n.isFunction=r,n.isFuzzyMatch=function(n,t,e){var r=!0;return(n=b(n,"*"))&&(n=E(n,"").join(".*"),r=new RegExp(n,f(e)).test(t)),r},n.isKvPair=s,n.isLikeNumber=Y,n.isNull=h,n.isString=v,n.listGroup=function(n,t){var l=_n(n,t);function o(n,t,e,r,i){var o=S(l.data,function(n){return 0===vn(n.uidPath,t,function(n,t){return n===t}).length}),a=M("",i);if(o)try{switch(n){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=o[n][e];return h(u)?a:r(u);default:var c=o[n][e].summary;return h(c)?a:r(c,o[n][e].data)}}catch(f){return a}return a}function a(n,t,e,r){return o("_columns",n,t,e,r)}function u(n,t,e,r){return o("_columnProportion",n,t,e,r)}return{data:l.data,getCellValue:a,getCellVerticalRiseRatio:function(n,t,e,r){return o("_columnRiseRatio",n,t,e,r)},getCellVerticalTotal:function(n,t,e,r){var i;return"*"===n?h(i=l.total[t])?M("",r):e(i):o("_columnTotal",n,t,e,r)},getCellVerticalProportion:u,getRowCellValue:function(t,n,e,r){var i={};return n.forEach(function(n){i[n.id]=a(t,n.field,e,r)}),i},getRowVerticalProportion:function(t,n,e,r){var i={};return n.forEach(function(n){i[n.id]=u(t,n.field,e,r)}),i},getOriginGroupData:function(t,n){var e=S(l.data,function(n){return 0===vn(n.uidPath,t,function(n,t){return n===t}).length});return e&&null!=(e=null==(n=e._columns[n])?void 0:n.data)?e:[]},getOriginAllData:function(){return n}}},n.mapKvPair=function(n,t){var e,r={};for(e in n)r[e]=t(w(n[e]),e);return r},n.mapTree=rn,n.mixInZeroWidthUnicode=function(n){return E(n,"").join("")},n.padEnd=T,n.padStart=en,n.param=K,n.parseQuery=e,n.parseTreeToTableHeader=function(n){return xn(n=function u(n,i,o,a){return i[o]||(i[o]=[]),--a,n.forEach(function(n){var t=a+1,e=(a=t+n.count-1)-t+1,e={colStart:t,colEnd:a,colSpan:e,count:n.count,field:n.field,title:n.title,rowSpan:1};i[o][t]=e;for(var r=1;r<n.count;r++)i[o][t+r]=void 0;d(n.children)&&0<n.children.length&&u(n.children,i,o+1,t)}),i.forEach(function(n){for(var t=0;t<i[0].length;t++)n[t]||(n[t]=void 0)}),i}(bn(n),[],0,0)),{columns:function(n){for(var e=[],t=n.length-1;0<=t;t--)n[t].forEach(function(n,t){n&&n.field&&h(e[t])&&(e[t]=n.field)});return e}(n),data:n}},n.randomColor=function(){return"rgba("+A(0,255,!0)+","+A(0,255,!0)+","+A(0,255,!0)+",1)"},n.repeatString=nn,n.roundFixed=function(n,t,e){n=x(n);var r,i=Math.pow(10,t),n=f(Math.round(n*i)/i);return 0<t&&(r=(i=E(n,"."))[0],(i=i[1]||"").length<t&&(i=T(i,t,"0"),n=(i=e?i.replace(/0+$/,""):i)?r+"."+i:r)),n},n.shake=function(n,t){return t=Object.assign({string:!0,array:!0,kvPair:!0},t),function i(n,t){if(s(n))for(var e in n){var r=n[e];(d(r)||s(r))&&i(r,t),z(r,t)&&delete n[e]}}(n=w(n),t),n},n.shortNumber=function(n,t,e){for(var r=h(e)?yn:e,i=(r.sort(function(n,t){return t[0]-n[0]}),n),o="",a=0;a<r.length;a++){var u=r[a],c=n/u[0];if(1<=Math.abs(c)){i=c,o=u[1];break}}return{value:i,fmtValue:t(i),unit:o}},n.sortWithIndex=function(n,t){for(var e=[],r=0;r<n.length;r++)e[r]=n[t[r]];return e},n.spanTable=function(n,o){var u=w(n),c={};function e(i,o){var a=0;u.forEach(function(n,t){n.$rowSpan=null!=(r=n.$rowSpan)?r:{};var e,r=n[i];c[i]=null!=(e=c[i])?e:0,1<c[i]?(n.$rowSpan[i]=0,c[i]--):(e=function(n,t,e,r){var i=1;for(n++;n<r.length;n++){var o=r[n][t];if(o!==e&&!p(o))break;i++}return i}(t,i,r,u),void 0!==o&&(r=function(n,t,e){for(var r=0;0<=t&&!(0<(r=n[t].$rowSpan[e]));t--);return r}(u,t,o),0<a?r<=a+e?(e=r-a,a=0):a+=e:e<r?a=e:e=r),c[i]=e,n.$rowSpan[i]=c[i])})}return o.forEach(function(n,t){e(n,o[t-1])}),u.forEach(function(r){r.$colField={};var i=0;o.forEach(function(n,t){var e=r[n];1<i?(r.$colField[n]=0,i--):(i=function(n,t,e,r){var i=1;for(n++;n<r.length;n++){var o=b(e[r[n]]);if(o!==t&&!p(o))break;i++}return i}(t,e,r,o),r.$colField[n]=i)})}),u},n.split=E,n.thousands=function(n,i,o){return i=i||3,o=o||",",(v(n)?n:f(n)).replace(/([^.]*)?(\.)?(.*)?/,function(n,t,e,r){return f(t).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+o)+f(e)+f(r)})},n.throttle=function(n,t,e){var r,i,o,a,u,c=M(500,t),{leading:f,trailing:l}=wn({leading:!0,trailing:!0},e),s=0,h=0,d=!1;function m(){h=s=0}function v(){l&&(1<h||!f)?(g(),u=setTimeout(m,c)):m()}function g(){s=+new Date,n.apply(i,a)}function p(){if(!d){h++;for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];a=t,i=this,r=+new Date,clearTimeout(o),clearTimeout(u),0===s?f?g():s=r:c<=r-s&&g(),o=setTimeout(v,c)}}return p.cancel=function(){clearTimeout(o),clearTimeout(u)},p.dispose=function(){clearTimeout(o),clearTimeout(u),d=!0},p},n.tree=function(n,t){for(var e=(t=g(t)).id||"id",r=t.pid||"pid",i=t.children||"children",o=0;o<n.length;o++){var a,u=n[o];(a=S(n,function(n){return null!=n[e]&&n[e]!=u[e]&&n[e]===u[r]},i))&&(a[i]=_(a[i]),a[i].push(u),n.splice(o--,1))}return n},n.treeLeafs=function(n){var t=[];return function e(n,t){k(n,function(n){d(n.children)?e(n.children,t):t.push(n)})}(n,t),t},n.trim=b,n.union=function(){for(var n=arguments.length,t=new Array(n),e=0;e<n;e++)t[e]=arguments[e];var r=new Set(t);return Array.from(r)},n.urlToGet=function(n,t){n=f(n);var o=s(t)?t:e(t),t=e(n=n.replace(/({{)(.*?)(}})/g,function(n,t,e,r){e=b(e);var i=o[e];return delete o[e],i})),t=K(o=Object.assign(t,o));return n=t?(n=n.replace(/\?.*/,""))+"?"+t:n},n.uuid=function(n){n=x(n);for(var t="",e=0;e<13;e++)t+=A(1,9);return n=(new Date).getTime()*A(1,100),T(R()+Number(t).toString(32)+n.toString(32),20,R()+R()+R())},n.variableHasValue=C});
|
|
@@ -72,7 +72,7 @@ declare function isEmpty(data: any): boolean;
|
|
|
72
72
|
* @param data - 判断的值
|
|
73
73
|
* @returns 真假值
|
|
74
74
|
*/
|
|
75
|
-
declare function isFunction(data: any):
|
|
75
|
+
declare function isFunction(data: any): data is Function;
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
78
|
* 对象序列化为字符串, 用于URL查询字符串或AJAX请求
|
|
@@ -186,20 +186,27 @@ declare function deepFindTreePath(
|
|
|
186
186
|
): undefined | any[];
|
|
187
187
|
|
|
188
188
|
/**
|
|
189
|
-
*
|
|
189
|
+
* 强制转换数据为字符串。支持百分号、千分位
|
|
190
190
|
* @param data - 值
|
|
191
191
|
* @returns 数字
|
|
192
192
|
*/
|
|
193
|
-
declare function _Number(data
|
|
193
|
+
declare function _Number(data?: any): number;
|
|
194
194
|
|
|
195
195
|
type TNull = undefined | null | '';
|
|
196
196
|
declare function isNull(data: any): data is TNull;
|
|
197
197
|
|
|
198
|
+
/**
|
|
199
|
+
* 匹配数字的正则
|
|
200
|
+
* @returns
|
|
201
|
+
*/
|
|
202
|
+
declare function getLikeNumberRegExp(): string;
|
|
198
203
|
/**
|
|
199
204
|
*
|
|
200
|
-
* @param value
|
|
205
|
+
* @param value 看起来是否像一个数字。可识别百分号、千分位
|
|
201
206
|
* @example
|
|
202
207
|
* ```
|
|
208
|
+
* isLikeNumber('-123,456,789') => true
|
|
209
|
+
* isLikeNumber('1,4,5.912%') => true
|
|
203
210
|
* isLickNumber(1) => true
|
|
204
211
|
* isLickNumber('2.36884') => true
|
|
205
212
|
* isLickNumber(1/0) => false
|
|
@@ -216,14 +223,6 @@ declare function isNull(data: any): data is TNull;
|
|
|
216
223
|
*/
|
|
217
224
|
declare function isLikeNumber(value: any): boolean;
|
|
218
225
|
|
|
219
|
-
/**
|
|
220
|
-
* 默认值处理函数
|
|
221
|
-
* @param data - 需要处理的数据
|
|
222
|
-
* @param value - 如果data为undefined,则返回此值
|
|
223
|
-
* @returns 实际值
|
|
224
|
-
*/
|
|
225
|
-
declare function defaultValue<T>(data: any, value: T): T;
|
|
226
|
-
|
|
227
226
|
/**
|
|
228
227
|
* 循环复制字符串
|
|
229
228
|
* @param data - 复制目标
|
|
@@ -364,14 +363,6 @@ declare function getRandom(min: number, max: number, isInt?: boolean): number;
|
|
|
364
363
|
*/
|
|
365
364
|
declare function _Boolean(data: any): boolean;
|
|
366
365
|
|
|
367
|
-
/**
|
|
368
|
-
* 将树形结构转为一维数组
|
|
369
|
-
* @param data - 树
|
|
370
|
-
* @param childKey - 子项字段。默认 children
|
|
371
|
-
* @returns 浅克隆的数组
|
|
372
|
-
*/
|
|
373
|
-
declare function flatTree(data: any[], childKey?: string): any[];
|
|
374
|
-
|
|
375
366
|
/**
|
|
376
367
|
* 简易版深度克隆。(仅处理数组、键值对、方法的可克隆)
|
|
377
368
|
*
|
|
@@ -395,7 +386,7 @@ declare function main<T extends TKvPair, K extends TKvPair, C extends keyof T>(
|
|
|
395
386
|
childKeyFrom?: keyof K
|
|
396
387
|
): T[];
|
|
397
388
|
|
|
398
|
-
type EventHander = (...args: any[]) => void;
|
|
389
|
+
type EventHander$2 = (...args: any[]) => void;
|
|
399
390
|
/**
|
|
400
391
|
* 事件订阅,可获得TS类型推导支持
|
|
401
392
|
* @param eventName - 订阅名
|
|
@@ -419,7 +410,7 @@ type EventHander = (...args: any[]) => void;
|
|
|
419
410
|
* useUpdateDataBus.dispose()
|
|
420
411
|
* ```
|
|
421
412
|
*/
|
|
422
|
-
declare function defineEventBus<T extends EventHander>(
|
|
413
|
+
declare function defineEventBus<T extends EventHander$2>(
|
|
423
414
|
eventName: string
|
|
424
415
|
): {
|
|
425
416
|
/** 追加订阅 */
|
|
@@ -430,6 +421,7 @@ declare function defineEventBus<T extends EventHander>(
|
|
|
430
421
|
off: (hander: T) => void;
|
|
431
422
|
/** 销毁所有订阅 */
|
|
432
423
|
dispose: () => void;
|
|
424
|
+
eventList: () => EventHander$2[];
|
|
433
425
|
};
|
|
434
426
|
|
|
435
427
|
/**
|
|
@@ -602,10 +594,12 @@ declare function arrayRowToColumn<T extends Record<string, any>>(
|
|
|
602
594
|
};
|
|
603
595
|
type TArrayRowToColumnCalculateRow = {
|
|
604
596
|
proportionBaseField?: string;
|
|
605
|
-
count:
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
597
|
+
count:
|
|
598
|
+
| number
|
|
599
|
+
| {
|
|
600
|
+
field: string;
|
|
601
|
+
mode: 'length' | 'uniqLength' | 'notZeroValue';
|
|
602
|
+
};
|
|
609
603
|
value: {
|
|
610
604
|
field: string;
|
|
611
605
|
mode: 'sum' | 'uniqLength' | 'avg';
|
|
@@ -626,14 +620,13 @@ type TColSumaryConfig = Record<
|
|
|
626
620
|
|
|
627
621
|
type ISpanTableItem<T extends TKvPair> = T & {
|
|
628
622
|
$rowSpan: Record<string, number>;
|
|
629
|
-
$colSpan: Record<number, number>;
|
|
630
623
|
$colField: Record<string | number, number>;
|
|
631
624
|
};
|
|
632
625
|
/**
|
|
633
626
|
* 合并单元格。不改变原数组
|
|
634
627
|
* @param data - 一维数组
|
|
635
628
|
* @param fields - 合并的字段
|
|
636
|
-
* @returns 合并后的数据。会在每一项中添加两个字段 "$rowSpan" "$
|
|
629
|
+
* @returns 合并后的数据。会在每一项中添加两个字段 "$rowSpan" "$colField"
|
|
637
630
|
*/
|
|
638
631
|
declare function spanTable<T extends TKvPair>(data: T[], fields: string[]): ISpanTableItem<T>[];
|
|
639
632
|
|
|
@@ -708,7 +701,7 @@ type TListGroupKey<T extends TKvPair> = {
|
|
|
708
701
|
};
|
|
709
702
|
type TGetValueField = string;
|
|
710
703
|
interface ICellSummary {
|
|
711
|
-
denominator?: [string, 'length' | 'uniqLength'];
|
|
704
|
+
denominator?: number | [string, 'length' | 'uniqLength'];
|
|
712
705
|
/**
|
|
713
706
|
* sum 求和
|
|
714
707
|
* length 长度
|
|
@@ -830,6 +823,14 @@ declare function union<T extends TKvPair>(...args: T[]): T[];
|
|
|
830
823
|
|
|
831
824
|
declare function getRatio(value: number | undefined, base: number | undefined): number;
|
|
832
825
|
|
|
826
|
+
/**
|
|
827
|
+
* 计算一个数据变化的增长率
|
|
828
|
+
* @param from
|
|
829
|
+
* @param to
|
|
830
|
+
* @returns
|
|
831
|
+
*/
|
|
832
|
+
declare function getRiseRatio(from?: number, to?: number): number;
|
|
833
|
+
|
|
833
834
|
/**
|
|
834
835
|
* 筛选并从原始数组移除符合条件的数据
|
|
835
836
|
* @param data - 原始数据
|
|
@@ -859,12 +860,175 @@ declare function export_default(
|
|
|
859
860
|
unit: string;
|
|
860
861
|
};
|
|
861
862
|
|
|
863
|
+
declare function formatTime(millisecond: number): string;
|
|
864
|
+
|
|
865
|
+
interface IInputHeaderItem {
|
|
866
|
+
field: string;
|
|
867
|
+
title: string;
|
|
868
|
+
children: IInputHeaderItem[];
|
|
869
|
+
}
|
|
870
|
+
interface IParsedHeaderInfoItem extends IInputHeaderItem {
|
|
871
|
+
count: number;
|
|
872
|
+
children: IParsedHeaderInfoItem[];
|
|
873
|
+
}
|
|
874
|
+
interface IParsedHeaderDataItem extends Omit<IParsedHeaderInfoItem, 'children'> {
|
|
875
|
+
colStart: number;
|
|
876
|
+
colEnd: number;
|
|
877
|
+
colSpan: number;
|
|
878
|
+
rowSpan: number;
|
|
879
|
+
}
|
|
880
|
+
/**
|
|
881
|
+
* 将树形数据转换为二维数组,并包含合并行列信息
|
|
882
|
+
* @param header 树形列表
|
|
883
|
+
* @returns
|
|
884
|
+
*/
|
|
885
|
+
declare function parseTreeToTableHeader(header: IInputHeaderItem[]): {
|
|
886
|
+
columns: string[];
|
|
887
|
+
data: (IParsedHeaderDataItem | undefined)[][];
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
type TEcharts = Record<string, any>;
|
|
891
|
+
interface IConnectConfigItem {
|
|
892
|
+
onXAxisCtegoryClick?: (xAxisData: any[], tickIndex: number, chart: TEcharts) => void;
|
|
893
|
+
}
|
|
894
|
+
interface IListItem {
|
|
895
|
+
config?: IConnectConfigItem;
|
|
896
|
+
instence: TEcharts;
|
|
897
|
+
onAxxisCategoryClick?: (ev: { tickIndex: number; needEmit?: boolean }) => void;
|
|
898
|
+
onAxxisSeriesClick?: (ev: any) => void;
|
|
899
|
+
timer_01: any;
|
|
900
|
+
}
|
|
901
|
+
declare class ConnectEcharts {
|
|
902
|
+
_list: Record<string, IListItem[]>;
|
|
903
|
+
constructor();
|
|
904
|
+
_resetGroupClickXAxisCategory(chartList: IListItem[]): void;
|
|
905
|
+
clickXAsisCategory(chart: TEcharts, index: number, notEmit?: boolean): void;
|
|
906
|
+
add(i: TEcharts, config: IConnectConfigItem): this;
|
|
907
|
+
remove(chart?: TEcharts): void;
|
|
908
|
+
}
|
|
909
|
+
declare const _default: ConnectEcharts;
|
|
910
|
+
|
|
911
|
+
interface IRuleItem {
|
|
912
|
+
min: number;
|
|
913
|
+
max: number;
|
|
914
|
+
color: string;
|
|
915
|
+
}
|
|
916
|
+
interface IResItem {
|
|
917
|
+
gte: number;
|
|
918
|
+
lt: number;
|
|
919
|
+
color: string;
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* 对数据进行分段处理
|
|
923
|
+
* @param list
|
|
924
|
+
* @param rules
|
|
925
|
+
* @returns
|
|
926
|
+
*/
|
|
927
|
+
declare function getPiecesWithIndex(list: number[], rules: IRuleItem[]): IResItem[];
|
|
928
|
+
|
|
929
|
+
declare function difference<T extends TKvPair | string | number | Date>(
|
|
930
|
+
a: T[],
|
|
931
|
+
b: T[],
|
|
932
|
+
compareFn: (a: T, b: T) => boolean
|
|
933
|
+
): T[];
|
|
934
|
+
|
|
935
|
+
type TreeItem<T extends TKvPair> = T & {
|
|
936
|
+
children?: TreeItem<T>[];
|
|
937
|
+
};
|
|
938
|
+
/**
|
|
939
|
+
* 获取树形结构的叶子节点
|
|
940
|
+
* @param list - 树形结构数据
|
|
941
|
+
* @returns 叶子节点组装的一维数组
|
|
942
|
+
*/
|
|
943
|
+
declare function treeLeafs<T extends TKvPair>(list: TreeItem<T>[]): TreeItem<T>[];
|
|
944
|
+
|
|
945
|
+
/**
|
|
946
|
+
* 默认数据处理
|
|
947
|
+
* @param placeValue - 无值时返回什么数据
|
|
948
|
+
* @param value - 需要处理的数据
|
|
949
|
+
* @param formatter - 数据格式化
|
|
950
|
+
* @returns
|
|
951
|
+
*/
|
|
952
|
+
declare function defualtFormatter<T, R>(
|
|
953
|
+
placeValue: R,
|
|
954
|
+
value: T,
|
|
955
|
+
formatter?: (value: NonNullable<T>) => R
|
|
956
|
+
): R;
|
|
957
|
+
|
|
958
|
+
type TEasingHandler = (
|
|
959
|
+
passTime: number,
|
|
960
|
+
fromValue: number,
|
|
961
|
+
changeValue: number,
|
|
962
|
+
duration: number
|
|
963
|
+
) => number;
|
|
964
|
+
type TChangeCallack<T> = (data: T, progress: number) => void;
|
|
965
|
+
interface IAnimateOptions<T> {
|
|
966
|
+
/** 原始值 */
|
|
967
|
+
from: T;
|
|
968
|
+
/** 最终值 */
|
|
969
|
+
to: T;
|
|
970
|
+
/** 缓动函数 */
|
|
971
|
+
easing: TEasingHandler;
|
|
972
|
+
/** 持续时间:毫秒 */
|
|
973
|
+
duration: number;
|
|
974
|
+
/** 每次值更新的回调 */
|
|
975
|
+
onChange: TChangeCallack<T>;
|
|
976
|
+
}
|
|
977
|
+
declare class Animate<T extends TKvPair> {
|
|
978
|
+
_timer: any;
|
|
979
|
+
_passTime: number;
|
|
980
|
+
_options: IAnimateOptions<T>;
|
|
981
|
+
_middleData: T;
|
|
982
|
+
constructor(options: IAnimateOptions<T>);
|
|
983
|
+
start(): this;
|
|
984
|
+
stop(): this;
|
|
985
|
+
dispose(): void;
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
type EventHander$1 = (...args: any[]) => void;
|
|
989
|
+
/**
|
|
990
|
+
* 防抖函数。默认执行条件范围内最后一次
|
|
991
|
+
* @param handler - 处理回调
|
|
992
|
+
* @param interval - 频率(毫秒)
|
|
993
|
+
* @param options - 配置项
|
|
994
|
+
* @param options.leading - 立即执行
|
|
995
|
+
* @param options.trailing - 延后执行
|
|
996
|
+
* @returns
|
|
997
|
+
*/
|
|
998
|
+
declare function debounce<T extends EventHander$1>(
|
|
999
|
+
handler: T,
|
|
1000
|
+
interval?: number,
|
|
1001
|
+
options?: {
|
|
1002
|
+
leading?: boolean;
|
|
1003
|
+
trailing?: boolean;
|
|
1004
|
+
}
|
|
1005
|
+
): {
|
|
1006
|
+
(this: any, ...v: Parameters<T>): void;
|
|
1007
|
+
cancel(): void;
|
|
1008
|
+
dispose(): void;
|
|
1009
|
+
};
|
|
1010
|
+
|
|
1011
|
+
type EventHander = (...args: any[]) => void;
|
|
1012
|
+
declare function throttle<T extends EventHander>(
|
|
1013
|
+
handler: T,
|
|
1014
|
+
interval?: number,
|
|
1015
|
+
options?: {
|
|
1016
|
+
leading?: boolean;
|
|
1017
|
+
trailing?: boolean;
|
|
1018
|
+
}
|
|
1019
|
+
): {
|
|
1020
|
+
(this: any, ...v: Parameters<T>): void;
|
|
1021
|
+
cancel(): void;
|
|
1022
|
+
dispose(): void;
|
|
1023
|
+
};
|
|
1024
|
+
|
|
862
1025
|
declare global {
|
|
863
1026
|
/**
|
|
864
1027
|
* 该声明文件用于全局声明(不用npm安装时拷贝到项目中直接使用)
|
|
865
1028
|
*/
|
|
866
1029
|
namespace jUtilsBase {
|
|
867
1030
|
export {
|
|
1031
|
+
Animate,
|
|
868
1032
|
Polling,
|
|
869
1033
|
TArrayRowToColumnCalculateRow,
|
|
870
1034
|
_Array,
|
|
@@ -875,20 +1039,26 @@ declare global {
|
|
|
875
1039
|
arrayRowToColumn,
|
|
876
1040
|
changeIndex,
|
|
877
1041
|
cloneEasy,
|
|
1042
|
+
_default as connectEcharts,
|
|
878
1043
|
dataPage,
|
|
1044
|
+
debounce,
|
|
879
1045
|
deepFindItem,
|
|
880
1046
|
deepFindTreePath,
|
|
881
|
-
defaultValue,
|
|
882
1047
|
defineEventBus,
|
|
1048
|
+
defualtFormatter,
|
|
1049
|
+
difference,
|
|
883
1050
|
fieldCheck,
|
|
884
1051
|
filterWithMove,
|
|
885
|
-
flatTree,
|
|
886
1052
|
floorFixed,
|
|
887
1053
|
forEach,
|
|
888
1054
|
forEachKvPair,
|
|
889
1055
|
forEachTree,
|
|
1056
|
+
formatTime,
|
|
1057
|
+
getLikeNumberRegExp,
|
|
1058
|
+
getPiecesWithIndex,
|
|
890
1059
|
getRandom,
|
|
891
1060
|
getRatio,
|
|
1061
|
+
getRiseRatio,
|
|
892
1062
|
getSortIndex,
|
|
893
1063
|
getType,
|
|
894
1064
|
isArray,
|
|
@@ -907,6 +1077,7 @@ declare global {
|
|
|
907
1077
|
padStart,
|
|
908
1078
|
param,
|
|
909
1079
|
parseQuery,
|
|
1080
|
+
parseTreeToTableHeader,
|
|
910
1081
|
randomColor,
|
|
911
1082
|
repeatString,
|
|
912
1083
|
roundFixed,
|
|
@@ -916,7 +1087,9 @@ declare global {
|
|
|
916
1087
|
spanTable,
|
|
917
1088
|
split,
|
|
918
1089
|
thousands,
|
|
1090
|
+
throttle,
|
|
919
1091
|
flatArrayToTree as tree,
|
|
1092
|
+
treeLeafs,
|
|
920
1093
|
trim,
|
|
921
1094
|
union,
|
|
922
1095
|
urlToGet,
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bestime/utils_base",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"main": "./dist/
|
|
5
|
-
"module": "./dist/
|
|
6
|
-
"typings": "./dist/
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"main": "./dist/esm/index.min.mjs",
|
|
5
|
+
"module": "./dist/esm/index.min.mjs",
|
|
6
|
+
"typings": "./dist/esm/index.min.d.ts",
|
|
7
7
|
"description": "个人常用工具库",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"files": [
|
|
@@ -48,8 +48,5 @@
|
|
|
48
48
|
"homepage": "https://github.com/bestime/tool",
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|
|
51
|
-
},
|
|
52
|
-
"dependencies": {
|
|
53
|
-
"lodash-es": "^4.17.21"
|
|
54
51
|
}
|
|
55
52
|
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 纯JS工具库 => jUtilsBase
|
|
3
|
-
* @update 2024-06-12 15:01:25
|
|
4
|
-
*/
|
|
5
|
-
var $letters=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],$ArrayTypeNameBig="Array",$FunctionTypeNameBig="Function",$ObjectTypeNameBig="Object",$stringTypeNameBig="String",$numberTypeNameBig="Number",$undefinedValue=void 0,$zeroString="0",$falseString="false",$trueString="true",$ObjectTypeNameBigPrototypeToString=Object.prototype.toString,$encodeURI=encodeURI,$decodeURIComponent=decodeURIComponent,$regSpaceStr="\\s\\uFEFF\\xA0",$zeroWidthCode="";function isNull(e){return null===e||e===$undefinedValue}function _String(e){return isNull(e)?"":String(e)}function getType(e){return $ObjectTypeNameBigPrototypeToString.call(e).slice(8,-1)}function isArray(e){return getType(e)===$ArrayTypeNameBig}function isKvPair(e){return getType(e)===$ObjectTypeNameBig}function isString(e){return getType(e)===$stringTypeNameBig}function hpJsonParse(e,n){var r;try{r=JSON.parse(e)}catch(t){r=n}return r}function _KvPair(e){return e=isKvPair(e)||isKvPair(e=hpJsonParse(e))?e:{}}function isEmpty(e){return isNull(e)||""===e}function isFunction(e){return"function"==typeof e}function param(e){var r=[];function a(e,n){null!=e&&""!==e&&(n=null==(n=isFunction(n)?n():n)?"":n,r[r.length]=$encodeURI(e)+"="+$encodeURI(n))}return function i(e,n){var r,t;if(e)switch(getType(n)){case $ArrayTypeNameBig:for(r=0;r<n.length;r++)i(e+"["+("object"==typeof n[r]&&n[r]?r:"")+"]",n[r]);break;case $ObjectTypeNameBig:for(t in n)i(e+"["+t+"]",n[t]);break;default:a(e,n)}else switch(getType(n)){case $stringTypeNameBig:case $ObjectTypeNameBig:for(t in n)i(t,n[t]);break;case $ArrayTypeNameBig:for(r=0;r<n.length;r++)a(n[r].name,n[r].value)}}("",e),r.join("&")}function _Array(e){return e=isArray(e)||isArray(e=hpJsonParse(e))?e:[]}function _Number(e){return e=Number(e),Math.abs(e)===Math.abs(Infinity)||isNaN(e)?0:e}function hpTryToParseStringToBasicType(e){return null==e?$undefinedValue:$falseString!==e&&($trueString===e||hpJsonParse(e,e))}var defaultSplitArr=[$undefinedValue,$undefinedValue];function handleDeepKey(e,n,r){var n=splitSymbol(n),t=n[0];isPreLikeArray(t)?(t=_Number(t),n[1]==$undefinedValue?e.push(r):(/^\[[\D]+\]/.test(n[1])?e[t]=_KvPair(e[t]):e[t]=_Array(e[t]),handleDeepKey(e[t],n[1],r))):n[1]==$undefinedValue?e[t]=r:(/^\[[\D]+\]/.test(n[1])?e[t]=_KvPair(e[t]):e[t]=_Array(e[t]),handleDeepKey(e[t],n[1],r))}function splitSymbol(e){if(e==$undefinedValue)return defaultSplitArr;var t,a=e;return e.replace(/^\[(.*?)\](.*)?/,function(e,n,r){return a=n,t=r,""}),[a,t]}function isPreLikeArray(e){return""===e||/^\d+$/.test(e)}function parseQuery(e){var i={},o=!1,r="";return(e=isNull(e)?"":e).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(e,n,a){a=hpTryToParseStringToBasicType($decodeURIComponent(a)),r=$decodeURIComponent(n),o=!1,""!==r&&(r.replace(/(.*?)(\[.*)/,function(e,n,r){var t=splitSymbol(r);o=!0,isPreLikeArray(t[0])?i[n]=_Array(i[n]):i[n]=_KvPair(i[n]),handleDeepKey(i[n],r,a)}),o||(i[r]=a))}),i}var baseReg="["+$regSpaceStr+"]+";function trim(e,n){var r=getType(e),t=(r===$numberTypeNameBig&&(e=String(e),r=$stringTypeNameBig),"");if(r!==$stringTypeNameBig)return"";switch(n){case 1:t="^"+baseReg;break;case-1:t=baseReg+"$";break;case"*":t=baseReg;break;default:t="^"+baseReg+"|"+baseReg+"$"}return e.replace(new RegExp(t,"g"),"")}function urlToGet(e,n){e=_String(e);var i=isKvPair(n)?n:parseQuery(n),n=parseQuery(e=e.replace(/({{)(.*?)(}})/g,function(e,n,r,t){r=trim(r);var a=i[r];return delete i[r],a})),n=param(i=Object.assign(n,i));return e=n?(e=e.replace(/\?.*/,""))+"?"+n:e}function hpIsEmptyMap(e){var n,r=!0;for(n in e)if(n!==$undefinedValue){r=!1;break}return r}function cloneEasy(e){switch(getType(e)){case $ArrayTypeNameBig:for(var n=[],r=0;r<e.length;r++)n.push(cloneEasy(e[r]));break;case $ObjectTypeNameBig:for(var t in n={},e)n[t]=cloneEasy(e[t]);break;case $FunctionTypeNameBig:function a(){e.apply(this,arguments)}for(var i in e.prototype)a.prototype[i]=e.prototype[i];n=a;break;default:n=e}return n}function isNoData(e,n){var r=!1;return r=isArray(e)&&n.array&&0===e.length||isKvPair(e)&&n.kvPair&&hpIsEmptyMap(e)||isString(e)&&n.string&&""===e||isNull(e)?!0:r}function hander(e,n){if(isKvPair(e))for(var r in e){var t=e[r];(isArray(t)||isKvPair(t))&&hander(t,n),isNoData(t,n)&&delete e[r]}}function shake(e,n){n=Object.assign({string:!0,array:!0,kvPair:!0},n);return hander(e=cloneEasy(e),n),e}function variableHasValue(e,n,r){var t;r=null==r?60:r,e()?n():(clearTimeout(t),setTimeout(function(){variableHasValue(e,n,r)},r))}variableHasValue["async"]=function(n,r){return new Promise(function(e){variableHasValue(n,e,r)})};var DEFAULT_CONFIG={id:"id",children:"children"};function deepFindTreePath(e,n,r){r=Object.assign(DEFAULT_CONFIG,r);for(var t=[],a=cloneEasy(e),i=new Set,o=r["children"];a.length;){var u=a[0];if(i.has(u))t.pop(),a.shift();else if(i.add(u),u[o]&&a.unshift.apply(a,u[o]),t.push(u),n(u))return t}return undefined}function isLikeNumber(e){var n=!1;return"boolean"==typeof e||isArray(e)||null==e||""===e||(e=Number(e),n=!isNaN(e)&&Infinity!=Math.abs(e)),n}function defaultValue(e,n){return isNull(e)?n:e}function repeatString(e,n){var r="";if((e=_String(e)).length*n<1<<28)for(;1==(1&n)&&(r+=e),0!=(n>>>=1);)e+=e;return r}function hpPadString(e,n,r,t){return(e=_String(e)).length>(n>>=0)?e:(n-=e.length,r.length<n&&(r+=repeatString(r,n/r.length)),-1===t?r.slice(0,n)+e:e+r.slice(0,n))}function padStart(e,n,r){return hpPadString(e,n,r,-1)}function padEnd(e,n,r){return hpPadString(e,n,r,1)}function split(e,n){return""!==e?e.split(n):[]}function floorFixed(e,n,r){var e=split(e=trim(_Number(e)),"."),t=e[1]||"";return t.length<n&&(t=padEnd(t,n,$zeroString),r&&(t=t.replace(/0+$/,""))),n<1||!t?e[0]:e[0]+"."+t.substring(0,n)}function roundFixed(e,n,r){e=_Number(e);var t,a=Math.pow(10,n),e=_String(Math.round(e*a)/a);return 0<n&&(t=(a=split(e,"."))[0],(a=a[1]||"").length<n&&(a=padEnd(a,n,$zeroString),e=(a=r?a.replace(/0+$/,""):a)?t+"."+a:t)),e}function deepFindItem(e,r,n){var t,a,i=isNull(n)?"children":n;return function o(e){if(e)for(var n=0;n<e.length;n++){if(a=r(e[n])){t=e[n];break}if(o(e[n][i]),a)break}}(e),t}function flatArrayToTree(e,n){for(var r=(n=_KvPair(n)).id||"id",t=n.pid||"pid",a=n.children||"children",i=0;i<e.length;i++){var o,u=e[i];(o=deepFindItem(e,function(e){return null!=e[r]&&e[r]!=u[r]&&e[r]===u[t]},a))&&(o[a]=_Array(o[a]),o[a].push(u),e.splice(i--,1))}return e}function changeIndex(e,n,r){if(e<0)return n;e+=1;return(n=(n+r)%e)<0&&(n+=e),-0===n?0:n}function getRandom(e,n,r){r=!1===r?0:1;return e=Math.random()*(n-e+r)+e,r?Math.floor(e):e}function getRandomWord(){return $letters[getRandom(0,$letters.length-1)][0]}function uuid(e){e=_Number(e);for(var n="",r=0;r<13;r++)n+=getRandom(1,9);e=(new Date).getTime()*getRandom(1,100);return padEnd(getRandomWord()+Number(n).toString(32)+e.toString(32),20,getRandomWord()+getRandomWord()+getRandomWord())}function _Boolean(e){return!0===e||"true"===e||"1"===e||1===e}function flatTree(e,t){var a=[];return t=defaultValue(t,"children"),function i(e){if(isArray(e))for(var n,r=0;r<e.length;r++)n=e[r],a.push(n),i(n[t])}(e),a}function main(e,a,i,o){o=o||"children";var n=[];return function u(e,n){for(var r=0;r<e.length;r++){var t=i(e[r]);isNull(t)||(n[r]=cloneEasy(t),e[r][o]&&(n[r][a]=[],u(e[r][o],n[r][a])))}}(e,n),n}var events={};function defineEventBus(a){if(events[a])throw'"'+a+'" Has already been registered!';return events[a]=events[a]||[],{on:function(e){events[a].push(e)},emit:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];for(var t=0;t<events[a].length;t++)events[a][t].apply($undefinedValue,n)},off:function(e){if(!e)throw"the hander of off is required!";for(var n=0;n<events[a].length;n++)events[a][n]===e&&events[a].splice(n--,1)},dispose:function(){for(var e=0;e<events[a].length;e++)events[a].splice(e--,1);delete events[a]}}}function forEachTree(e,a,i){i=i||"children",function o(e,n){for(var r=0;r<e.length;r++){var t=cloneEasy(n);a(e[r],t),isArray(e[r][i])&&(t.push(e[r]),o(e[r][i],t))}}(e,[])}function forEach(e,n){for(var r=0;r<e.length;r++)n(e[r],r,e)}function randomColor(){return"rgba("+getRandom(0,255,!0)+","+getRandom(0,255,!0)+","+getRandom(0,255,!0)+",1)"}function emptyFunc(e,n){}var Polling=function(){function e(e){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:emptyFunc},e),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var n=e.prototype;return n._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},n._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},n.start=function(){var e,n=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){e=+new Date-n._stamp,0===(e=Math.max(n._option.timeout-e,0))&&n.done(),n._option.onMessage(e)},100)),this},n.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},n.dispose=function(){return this.done(),this},e}();function dataPage(e,n,r){if(r<1)throw"页码必须大于0";var t=(r-1)*n,a=t+n;return{current:r,total:e.length,size:n,pages:Math.ceil(e.length/n),data:cloneEasy(e.slice(t,a))}}function basicCheck(e,n,r,t){if(e="【"+e+"】",r&&isEmpty(n))throw"字段"+e+"不能为空";if(getType(n)!==t)switch(t){case"String":n=String(n);break;case"Number":if(!isLikeNumber(n))throw"字段"+e+"必须为数字";n=Number(n)}return n}var fieldCheck={number:function(e,n){return basicCheck(e,n,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(e,n){return basicCheck(e,n,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function uniq(e){return Array.from(new Set(e))}var defaultSortFun=function(e,n){return Number(e)-Number(n)},_names_count=0,_namesMap={};function getIdMap(e){return _namesMap[e]||(_namesMap[e]={id:++_names_count,label:e}),_namesMap[e]}function createUniqIds(e,n){var r=[],t=[];return e.forEach(function(e){e=getIdMap(n[e]);r.push(e.id),t.push(e.label)}),{id:r.join("_"),label:t.join("→")}}function arrayRowToColumn(e,a){var n,r=[],i=(e.forEach(function(e){e=String(e[a.colField]);r.includes(e)||r.push(e)}),r.sort(null!=(t=a.colSort)?t:defaultSortFun),{}),f=(e.forEach(function(n){var e=createUniqIds(a.uniqueRowId,n),r={},t=(a.uniqueRowId.forEach(function(e){r[e]=n[e]}),i[e.id]=i[e.id]||{value:r,name:e.label,data:{}},a.colCreate(n[a.colField]).field);i[e.id].data[t]=i[e.id].data[t]||[],i[e.id].data[t].push(n)}),[]);for(n in i)f.push({name:i[n].name,value:i[n].value,data:i[n].data,summary:{}});var t=r.map(function(e){var n=a.colCreate(e);return{value:e,label:n.label,field:n.field}}),d={};return a.summaryConfig&&(a.summaryConfig.row&&(f=mergeRowSummary(f,a.summaryConfig.row,a.summaryConfig.averageField)),a.summaryConfig.column&&(d=mergeColSummary(f,a.summaryConfig.column,a.summaryConfig.averageField))),{columns:t,data:f,colSummary:d,getExtRow:function(n,e,r){var t,a=f.find(function(e){return e.name===n}),i={};if(!a){var o=e,u=r,c=d[n],l={};if(c)for(var s in c)l[s]=u(c[s][o]);return l}for(t in a.summary)i[t]=r(a.summary[t][e]);return i}}}function getRatio$1(e,n){return e===$undefinedValue||n===$undefinedValue?$undefinedValue:(n-e)/e}function mergeRowSummary(a,i,n){return a.forEach(function(c){var l=i[c.name];if(l){var s,e,f=0,d=0;for(e in c.data)!function(e){d++;var n,r=[],t=0,a=[],i=[],o=(c.data[e].forEach(function(e){r.push(e[l.count.field]);var n=_Number(e[l.value.field]);switch(l.value.mode){case"uniqLength":a.push(e[l.value.field]),a=uniq(a),t=a.length;break;case"sum":case"avg":t+=n}0!==n&&i.push(n)}),0);switch(l.count.mode){case"length":o=r.length;break;case"uniqLength":o=uniq(r).length;break;case"notZeroValue":o=i.length}var u=t;"avg"===l.value.mode&&(u=t/o),f+=u,c.summary[e]={value:u,proportion:0,riseRatio:s?getRatio$1(null==(n=c.summary[s])?void 0:n.value,u):void 0},s=e}(e);c.summary[n]={value:f/d,riseRatio:$undefinedValue,proportion:0}}}),a.forEach(function(e){var n=i[e.name];if(n){var r=a.find(function(e){return e.name===n.proportionBaseField});if(n.proportionBaseField&&r)for(var t in e.summary)e.summary[t].proportion=e.summary[t].value/r.summary[t].value}}),a}function mergeColSummary(l,s,f){var e,d={},m={},n=function(a){m[a]={},d[a]={};var e,i=s[a],n=(l.forEach(function(t){for(var e in t.data)!function(e){d[a][e]=d[a][e]||{data:[],sum:0};var n=[],r=0;switch(t.data[e].forEach(function(e){switch(n.push(e[i.field]),i.mode){case"uniqLength":n=uniq(n);break;case"avg":case"sum":r+=e[i.field];break;case"notZeroLength":0!==_Number(e[i.field])&&r++}}),i.mode){case"uniqLength":n=uniq(n);break;case"avg":r/=t.data[e].length}d[a][e].data=d[a][e].data.concat(n),d[a][e].sum+=r}(e)}),void 0);for(e in d[a]){var r,t=0;switch(i.mode){case"avg":t=d[a][e].sum/l.length;break;case"uniqLength":t=d[a][e].data.length;break;case"notZeroLength":case"sum":t=d[a][e].sum}m[a][e]={value:t,proportion:0,riseRatio:n?getRatio$1(null==(r=m[a][n])?void 0:r.value,t):void 0},n=e}var o,u=0,c=0;for(o in m[a])u+=m[a][o].value,c++;m[a][f]={value:u/c,riseRatio:$undefinedValue,proportion:0}};for(e in s)n(e);return m}function sameRowCellCount(e,n,r,t){var a=1;for(e++;e<t.length;e++){var i=t[e][n];if(i!==r&&!isEmpty(i))break;a++}return a}function findPrevRowSpanNum(e,n,r){for(var t=0;0<=n&&!(0<(t=e[n].$rowSpan[r]));n--);return t}function sameColSellCount(e,n,r,t){var a=1;for(e++;e<t.length;e++){var i=trim(r[t[e]]);if(i!==n&&!isEmpty(i))break;a++}return a}function spanTable(e,u){var c=cloneEasy(e),l={};return u.forEach(function(e,n){var a,i,o;a=e,i=u[n-1],o=0,c.forEach(function(e,n){e.$rowSpan=null!=(t=e.$rowSpan)?t:{};var r,t=e[a];l[a]=null!=(r=l[a])?r:0,1<l[a]?(e.$rowSpan[a]=0,l[a]--):(r=sameRowCellCount(n,a,t,c),void 0!==i&&(t=findPrevRowSpanNum(c,n,i),0<o?t<=o+r?(r=t-o,o=0):o+=r:r<t?o=r:r=t),l[a]=r,e.$rowSpan[a]=l[a])})}),c.forEach(function(t){t.$colSpan={},t.$colField={};var a=0;u.forEach(function(e,n){var r=t[e];1<a?(t.$colSpan[n]=0,t.$colField[e]=0,a--):(a=sameColSellCount(n,r,t,u),t.$colSpan[n]=a,t.$colField[e]=a)})}),c}function thousands(e,a,i){return a=a||3,i=i||",",(isString(e)?e:_String(e)).replace(/([^.]*)?(\.)?(.*)?/,function(e,n,r,t){return _String(n).replace(new RegExp("(.(?=(.{"+a+"})+$))","g"),"$1"+i)+_String(r)+_String(t)})}function mapKvPair(e,n){var r,t={};for(r in e)t[r]=n(cloneEasy(e[r]),r);return t}function isFuzzyMatch(e,n,r){var t=!0;return(e=trim(e,"*"))&&(e=split(e,"").join(".*"),t=new RegExp(e,_String(r)).test(n)),t}function mixInZeroWidthUnicode(e){return split(e,"").join($zeroWidthCode)}function forEachKvPair(e,n){var r,t={},a=-1;for(r in e)a++,t[r]=n(e[r],r,a);return t}function getSortList(e){return e.map(function(e,n){return{value:e,index:n}})}function getSortIndex(e,r){var n=getSortList(e),t=getSortList(e);return t.sort(function(e,n){return r(e.value,n.value)}),n.map(function(n){return t.findIndex(function(e){return n.index===e.index})})}function sortWithIndex(e,n){for(var r=[],t=0;t<e.length;t++)r[t]=e[n[t]];return r}function getRatio(e,n){return 0===e||isNull(e)?0:0===n||isNull(n)?1:e/n}function difference(e,r,t){var a=[];return e.forEach(function(n){r.some(function(e){return t(e,n)})||a.push(n)}),r.forEach(function(n){e.some(function(e){return t(e,n)})||a.some(function(e){return t(e,n)})||a.push(n)}),a}function hpObjectKeys(e){return Object.keys(e)}var AVG_FIELD="sys-row-avg";function getUniqId(e,n){var r=[];return isArray(e)?e.forEach(function(e){r.push(n[e])}):r.push(n[e]),r.join("→")}function _rowToColumn(e,n){var u={},r=n.colField;if(!isNull(r)&&e.length){var a=n.cellSummary;if(e.forEach(function(e){var n=e[r];u[n]=u[n]||{data:[],summary:0,_collect:[]},u[n].data.push(e),a&&(e=e[a.numerator[0]],u[n].summary+=e,u[n]._collect.push(e))}),!isNull(a)){var t,i,o;for(t in u)!function(e){var n=u[e],r=1,t=a.denominator;if(t)switch(t[1]){case"length":r=n.data.map(function(e){return e[t[0]]}).length;break;case"uniqLength":r=uniq(n.data.map(function(e){return e[t[0]]})).length}switch(a.numerator[1]){case"sum":isNull(n.summary)||(n.summary=n.summary/r);break;case"length":n.summary=n._collect.length/r;break;case"uniqLength":n.summary=uniq(n._collect).length/r}}(t);o=i=0,forEachKvPair(u,function(e){i++;e=isNull(e.summary)?0:e.summary;o+=e}),u[AVG_FIELD]={data:[],summary:o/i,_collect:[]},n.colCustom&&forEachKvPair(n.colCustom,function(e,n){var r=c(e.numerator),e=e.denominator?c(e.denominator):1;u[n]={data:[],summary:getRatio(r,e),_collect:[]}})}}return u;function c(i){var o=0,e=hpObjectKeys(u).filter(function(e){var n=[AVG_FIELD].includes(e),e="*"===i[1]||i[1].includes(e);return!n&&e});return isArray(i[1])&&e.sort(function(e,n){return i[1].indexOf(e)-i[1].indexOf(n)}),e.forEach(function(e,n){var r,t,e=u[e],a=0;isNull(i[2])||"value"===i[2]?a=isNull(e.summary)?0:e.summary:"length"===i[2]?(r=i[3])&&(a=e.data.map(function(e){return e[r]}).length):"uniqLength"===i[2]&&(t=i[3])&&(a=uniq(e.data.map(function(e){return e[t]})).length),"sum"===i[0]?o+=a:"max"===i[0]?o=Math.max(o,a):"diff"===i[0]&&(0===n?o=a:o-=a)}),o}}function _groupToList(e,n,r,t){var a,i=[];for(a in e){var o=n===r,u=_groupToList(e[a].child,n,r+1,t);i.push({uidPath:e[a].uidPath,uid:e[a].uid,data:e[a].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:_rowToColumn(e[a].data,t),isLeaf:o,children:u})}return i}function deepGroup(e,u){var n={},c=0;!function s(e,n,r){for(var t=0;t<n.length;t++){var a=n[t],i=getUniqId(u.path[c].field,a);e[i]=e[i]||{uidPath:r.concat(i),uid:i,data:[],child:{}},e[i].data.push(a)}if(c<u.path.length-1)for(var o in c++,e)s(e[o].child,e[o].data,e[o].uidPath)}(n,e,[]);var e=_groupToList(n,c,0,u),t=(!function a(e,n){var r;e.sort(null==(r=u.path[n])?void 0:r.sort),e.forEach(function(e){a(e.children,n+1)})}(e,0),!function i(e){e.forEach(function(e){var r={};forEachKvPair(e._columns,function(e,n){e=isNull(e.summary)?0:e.summary;r[n]=r[n]||0,r[n]+=e}),e._columnTotal=r,i(e.children)})}(e),{}),l=(e.forEach(function(r){forEachKvPair(r._columns,function(e,n){t[n]=t[n]||0,t[n]+=r._columnTotal[n]})}),[]);return u.colCustom&&forEachKvPair(u.colCustom,function(e,n){e.riseRatio||l.push(n)}),function r(e){var i={},o={};e.forEach(function(e,a){forEachKvPair(e._columns,function(e,n){var r,t;l.includes(n)||(0<a?isNull(r=e.summary)?o[n]=$undefinedValue:(t=null!=(t=i[n])?t:0,o[n]=getRatio(r-t,t)):o[n]=void 0,i[n]=e.summary)}),e._columnRiseRatio=o,r(e.children)})}(e),function o(e,t){e.forEach(function(e,n){var r={};forEachKvPair(e._columns,function(e,n){r[n]=getRatio(e.summary,t[n])}),e._columnProportion=r,o(e.children,e._columnTotal)})}(e,t),{data:e,total:t}}function listGroup(e,n){var s=deepGroup(e,n);function i(e,n,r,t,a){var i=deepFindItem(s.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length}),o=defaultValue(a,"");if(i)try{switch(e){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=i[e][r];return isNull(u)?o:t(u);default:var c=i[e][r].summary;return isNull(c)?o:t(c,i[e][r].data)}}catch(l){return o}return o}function o(e,n,r,t){return i("_columns",e,n,r,t)}function u(e,n,r,t){return i("_columnProportion",e,n,r,t)}return{data:s.data,getCellValue:o,getCellVerticalRiseRatio:function(e,n,r,t){return i("_columnRiseRatio",e,n,r,t)},getCellVerticalTotal:function(e,n,r,t){var a;return"*"===e?isNull(a=s.total[n])?defaultValue(t,""):r(a):i("_columnTotal",e,n,r,t)},getCellVerticalProportion:u,getRowCellValue:function(n,e,r,t){var a={};return e.forEach(function(e){a[e.id]=o(n,e.field,r,t)}),a},getRowVerticalProportion:function(n,e,r,t){var a={};return e.forEach(function(e){a[e.id]=u(n,e.field,r,t)}),a},getOriginGroupData:function(n,e){var r=deepFindItem(s.data,function(e){return 0===difference(e.uidPath,n,function(e,n){return e===n}).length});return r&&null!=(r=null==(e=r._columns[e])?void 0:e.data)?r:[]},getOriginAllData:function(){return e}}}function union(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var t=new Set(n);return Array.from(t)}function filterWithMove(e,n){for(var r=[],t=0;t<e.length;t++){var a=e[t];n(a,t,e)&&(r.push(a),e.splice(t--,1))}return r}var defaUnits=[[1e4,"万"],[1e8,"亿"]];function shortNumber(e,n,r){for(var t=isNull(r)?defaUnits:r,a=(t.sort(function(e,n){return n[0]-e[0]}),e),i="",o=0;o<t.length;o++){var u=t[o],c=e/u[0];if(1<=c){a=c,i=u[1];break}}return{value:a,fmtValue:n(a),unit:i}}export{Polling,_Array,_Boolean,_KvPair,_Number,_String,arrayRowToColumn,changeIndex,cloneEasy,dataPage,deepFindItem,deepFindTreePath,defaultValue,defineEventBus,fieldCheck,filterWithMove,flatTree,floorFixed,forEach,forEachKvPair,forEachTree,getRandom,getRatio,getSortIndex,getType,isArray,isEmpty,isFunction,isFuzzyMatch,isKvPair,isLikeNumber,isNull,isString,listGroup,mapKvPair,main as mapTree,mixInZeroWidthUnicode,padEnd,padStart,param,parseQuery,randomColor,repeatString,roundFixed,shake,shortNumber,sortWithIndex,spanTable,split,thousands,flatArrayToTree as tree,trim,union,urlToGet,uuid,variableHasValue};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 纯JS工具库 => jUtilsBase
|
|
3
|
-
* @update 2024-06-12 15:01:25
|
|
4
|
-
*/
|
|
5
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).jUtilsBase={})}(this,function(n){"use strict";var t=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],o="Array",u="Object",c="String",I="Number",m=void 0,L="false",q="true",V=Object.prototype.toString,e=encodeURI,a=decodeURIComponent;function h(n){return null===n||n===m}function f(n){return h(n)?"":String(n)}function l(n){return V.call(n).slice(8,-1)}function d(n){return l(n)===o}function s(n){return l(n)===u}function v(n){return l(n)===c}function p(n,t){var r;try{r=JSON.parse(n)}catch(e){r=t}return r}function g(n){return n=s(n)||s(n=p(n))?n:{}}function y(n){return h(n)||""===n}function _(n){return"function"==typeof n}function A(n){var r=[];function a(n,t){null!=n&&""!==n&&(t=null==(t=_(t)?t():t)?"":t,r[r.length]=e(n)+"="+e(t))}return function i(n,t){var r,e;if(n)switch(l(t)){case o:for(r=0;r<t.length;r++)i(n+"["+("object"==typeof t[r]&&t[r]?r:"")+"]",t[r]);break;case u:for(e in t)i(n+"["+e+"]",t[e]);break;default:a(n,t)}else switch(l(t)){case c:case u:for(e in t)i(e,t[e]);break;case o:for(r=0;r<t.length;r++)a(t[r].name,t[r].value)}}("",n),r.join("&")}function b(n){return n=d(n)||d(n=p(n))?n:[]}function w(n){return n=Number(n),Math.abs(n)===Math.abs(Infinity)||isNaN(n)?0:n}var D=[m,m];function B(n){if(n==m)return D;var e,a=n;return n.replace(/^\[(.*?)\](.*)?/,function(n,t,r){return a=t,e=r,""}),[a,e]}function K(n){return""===n||/^\d+$/.test(n)}function r(n){var o={},u=!1,e="";return(n=h(n)?"":n).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(n,t,i){var r;r=a(i),i=null==r?m:L!==r&&(q===r||p(r,r)),e=a(t),u=!1,""!==e&&(e.replace(/(.*?)(\[.*)/,function(n,t,r){var e=B(r);u=!0,K(e[0])?o[t]=b(o[t]):o[t]=g(o[t]),function a(n,t,r){var t=B(t),e=t[0];K(e)?(e=w(e),t[1]==m?n.push(r):(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=b(n[e]),a(n[e],t[1],r))):t[1]==m?n[e]=r:(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=b(n[e]),a(n[e],t[1],r))}(o[t],r,i)}),u||(o[e]=i))}),o}var i="[\\s\\uFEFF\\xA0]+";function E(n,t){var r=l(n),e=(r===I&&(n=String(n),r=c),"");if(r!==c)return"";switch(t){case 1:e="^"+i;break;case-1:e=i+"$";break;case"*":e=i;break;default:e="^"+i+"|"+i+"$"}return n.replace(new RegExp(e,"g"),"")}function S(n){switch(l(n)){case o:for(var t=[],r=0;r<n.length;r++)t.push(S(n[r]));break;case u:for(var e in t={},n)t[e]=S(n[e]);break;case"Function":function a(){n.apply(this,arguments)}for(var i in n.prototype)a.prototype[i]=n.prototype[i];t=a;break;default:t=n}return t}function U(n,t){var r=!1;return r=d(n)&&t.array&&0===n.length||s(n)&&t.kvPair&&function(n){var t,r=!0;for(t in n)if(t!==m){r=!1;break}return r}(n)||v(n)&&t.string&&""===n||h(n)?!0:r}function k(n,t,r){var e;r=null==r?60:r,n()?t():(clearTimeout(e),setTimeout(function(){k(n,t,r)},r))}k["async"]=function(t,r){return new Promise(function(n){k(t,n,r)})};var Z={id:"id",children:"children"};function G(n){var t=!1;return"boolean"==typeof n||d(n)||null==n||""===n||(n=Number(n),t=!isNaN(n)&&Infinity!=Math.abs(n)),t}function R(n,t){return h(n)?t:n}function W(n,t){var r="";if((n=f(n)).length*t<1<<28)for(;1==(1&t)&&(r+=n),0!=(t>>>=1);)n+=n;return r}function z(n,t,r,e){return(n=f(n)).length>(t>>=0)?n:(t-=n.length,r.length<t&&(r+=W(r,t/r.length)),-1===e?r.slice(0,t)+n:n+r.slice(0,t))}function x(n,t,r){return z(n,t,r,1)}function T(n,t){return""!==n?n.split(t):[]}function C(n,r,t){var e,a,i=h(t)?"children":t;return function o(n){if(n)for(var t=0;t<n.length;t++){if(a=r(n[t])){e=n[t];break}if(o(n[t][i]),a)break}}(n),e}function P(n,t,r){r=!1===r?0:1;return n=Math.random()*(t-n+r)+n,r?Math.floor(n):n}function F(){return t[P(0,t.length-1)][0]}var N={};function H(n,t){}function J(n,t,r,e){if(n="【"+n+"】",r&&y(t))throw"字段"+n+"不能为空";if(l(t)!==e)switch(e){case"String":t=String(t);break;case"Number":if(!G(t))throw"字段"+n+"必须为数字";t=Number(t)}return t}var Q={number:function(n,t){return J(n,t,!(2<arguments.length&&arguments[2]!==undefined)||arguments[2],"Number")},string:function(n,t){return J(n,t,2<arguments.length&&arguments[2]!==undefined&&arguments[2],"String")}};function O(n){return Array.from(new Set(n))}var X=function(n,t){return Number(n)-Number(t)},Y=0,$={};function nn(n,t){var r=[],e=[];return n.forEach(function(n){n=t[n],$[n]||($[n]={id:++Y,label:n});n=$[n];r.push(n.id),e.push(n.label)}),{id:r.join("_"),label:e.join("→")}}function tn(n,t){return n===m||t===m?m:(t-n)/n}function M(n,t){var r,e={},a=-1;for(r in n)a++,e[r]=t(n[r],r,a);return e}function rn(n){return n.map(function(n,t){return{value:n,index:t}})}function j(n,t){return 0===n||h(n)?0:0===t||h(t)?1:n/t}function en(n,r,e){var a=[];return n.forEach(function(t){r.some(function(n){return e(n,t)})||a.push(t)}),r.forEach(function(t){n.some(function(n){return e(n,t)})||a.some(function(n){return e(n,t)})||a.push(t)}),a}var an="sys-row-avg";function on(n,t){var u={},r=t.colField;if(!h(r)&&n.length){var a=t.cellSummary;if(n.forEach(function(n){var t=n[r];u[t]=u[t]||{data:[],summary:0,_collect:[]},u[t].data.push(n),a&&(n=n[a.numerator[0]],u[t].summary+=n,u[t]._collect.push(n))}),!h(a)){var e,i,o;for(e in u)!function(n){var t=u[n],r=1,e=a.denominator;if(e)switch(e[1]){case"length":r=t.data.map(function(n){return n[e[0]]}).length;break;case"uniqLength":r=O(t.data.map(function(n){return n[e[0]]})).length}switch(a.numerator[1]){case"sum":h(t.summary)||(t.summary=t.summary/r);break;case"length":t.summary=t._collect.length/r;break;case"uniqLength":t.summary=O(t._collect).length/r}}(e);o=i=0,M(u,function(n){i++;n=h(n.summary)?0:n.summary;o+=n}),u[an]={data:[],summary:o/i,_collect:[]},t.colCustom&&M(t.colCustom,function(n,t){var r=c(n.numerator),n=n.denominator?c(n.denominator):1;u[t]={data:[],summary:j(r,n),_collect:[]}})}}return u;function c(i){var o=0,n=Object.keys(u).filter(function(n){var t=[an].includes(n),n="*"===i[1]||i[1].includes(n);return!t&&n});return d(i[1])&&n.sort(function(n,t){return i[1].indexOf(n)-i[1].indexOf(t)}),n.forEach(function(n,t){var r,e,n=u[n],a=0;h(i[2])||"value"===i[2]?a=h(n.summary)?0:n.summary:"length"===i[2]?(r=i[3])&&(a=n.data.map(function(n){return n[r]}).length):"uniqLength"===i[2]&&(e=i[3])&&(a=O(n.data.map(function(n){return n[e]})).length),"sum"===i[0]?o+=a:"max"===i[0]?o=Math.max(o,a):"diff"===i[0]&&(0===t?o=a:o-=a)}),o}}function un(n,u){var t={},c=0;!function l(n,t,r){for(var e=0;e<t.length;e++){var a=t[e],i=function(n,t){var r=[];return d(n)?n.forEach(function(n){r.push(t[n])}):r.push(t[n]),r.join("→")}(u.path[c].field,a);n[i]=n[i]||{uidPath:r.concat(i),uid:i,data:[],child:{}},n[i].data.push(a)}if(c<u.path.length-1)for(var o in c++,n)l(n[o].child,n[o].data,n[o].uidPath)}(t,n,[]);var n=function s(n,t,r,e){var a,i=[];for(a in n){var o=t===r,u=s(n[a].child,t,r+1,e);i.push({uidPath:n[a].uidPath,uid:n[a].uid,data:n[a].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:on(n[a].data,e),isLeaf:o,children:u})}return i}(t,c,0,u),e=(!function a(n,t){var r;n.sort(null==(r=u.path[t])?void 0:r.sort),n.forEach(function(n){a(n.children,t+1)})}(n,0),!function i(n){n.forEach(function(n){var r={};M(n._columns,function(n,t){n=h(n.summary)?0:n.summary;r[t]=r[t]||0,r[t]+=n}),n._columnTotal=r,i(n.children)})}(n),{}),f=(n.forEach(function(r){M(r._columns,function(n,t){e[t]=e[t]||0,e[t]+=r._columnTotal[t]})}),[]);return u.colCustom&&M(u.colCustom,function(n,t){n.riseRatio||f.push(t)}),function r(n){var i={},o={};n.forEach(function(n,a){M(n._columns,function(n,t){var r,e;f.includes(t)||(0<a?h(r=n.summary)?o[t]=m:(e=null!=(e=i[t])?e:0,o[t]=j(r-e,e)):o[t]=void 0,i[t]=n.summary)}),n._columnRiseRatio=o,r(n.children)})}(n),function o(n,e){n.forEach(function(n,t){var r={};M(n._columns,function(n,t){r[t]=j(n.summary,e[t])}),n._columnProportion=r,o(n.children,n._columnTotal)})}(n,e),{data:n,total:e}}var cn=[[1e4,"万"],[1e8,"亿"]];n.Polling=function(){function n(n){this._timer=void 0,this._timer_info=void 0,this._stamp=0,this._passStamp=0,this._option=void 0,this._option=Object.assign({timeout:6e3,interval:1e3,handler:H},n),this._next=this._next.bind(this),this._doOnce=this._doOnce.bind(this),this.done=this.done.bind(this)}var t=n.prototype;return t._next=function(){return clearInterval(this._timer),this._passStamp=+new Date-this._stamp,this._timer=setTimeout(this._doOnce,this._option.interval),this},t._doOnce=function(){if(this._passStamp>=this._option.timeout)return this._option.onMessage&&this._option.onMessage(0),this.done(),this;this._option.handler(this._next,this.done)},t.start=function(){var n,t=this;this._stamp=+new Date,this.done(),this._doOnce();return this._option.onMessage&&(clearInterval(this._timer_info),this._timer_info=setInterval(function(){n=+new Date-t._stamp,0===(n=Math.max(t._option.timeout-n,0))&&t.done(),t._option.onMessage(n)},100)),this},t.done=function(){return clearTimeout(this._timer),clearTimeout(this._timer_info),this},t.dispose=function(){return this.done(),this},n}(),n._Array=b,n._Boolean=function(n){return!0===n||"true"===n||"1"===n||1===n},n._KvPair=g,n._Number=w,n._String=f,n.arrayRowToColumn=function(n,a){var t,r=[],i=(n.forEach(function(n){n=String(n[a.colField]);r.includes(n)||r.push(n)}),r.sort(null!=(c=a.colSort)?c:X),{}),s=(n.forEach(function(t){var n=nn(a.uniqueRowId,t),r={},e=(a.uniqueRowId.forEach(function(n){r[n]=t[n]}),i[n.id]=i[n.id]||{value:r,name:n.label,data:{}},a.colCreate(t[a.colField]).field);i[n.id].data[e]=i[n.id].data[e]||[],i[n.id].data[e].push(t)}),[]);for(t in i)s.push({name:i[t].name,value:i[t].value,data:i[t].data,summary:{}});var o,u,e,c=r.map(function(n){var t=a.colCreate(n);return{value:n,label:t.label,field:t.field}}),h={};return a.summaryConfig&&(a.summaryConfig.row&&(o=s,u=a.summaryConfig.row,e=a.summaryConfig.averageField,o.forEach(function(c){var f=u[c.name];if(f){var l,n,s=0,h=0;for(n in c.data)!function(n){h++;var t,r=[],e=0,a=[],i=[],o=(c.data[n].forEach(function(n){r.push(n[f.count.field]);var t=w(n[f.value.field]);switch(f.value.mode){case"uniqLength":a.push(n[f.value.field]),a=O(a),e=a.length;break;case"sum":case"avg":e+=t}0!==t&&i.push(t)}),0);switch(f.count.mode){case"length":o=r.length;break;case"uniqLength":o=O(r).length;break;case"notZeroValue":o=i.length}var u=e;"avg"===f.value.mode&&(u=e/o),s+=u,c.summary[n]={value:u,proportion:0,riseRatio:l?tn(null==(t=c.summary[l])?void 0:t.value,u):void 0},l=n}(n);c.summary[e]={value:s/h,riseRatio:m,proportion:0}}}),o.forEach(function(n){var t=u[n.name];if(t){var r=o.find(function(n){return n.name===t.proportionBaseField});if(t.proportionBaseField&&r)for(var e in n.summary)n.summary[e].proportion=n.summary[e].value/r.summary[e].value}}),s=o),a.summaryConfig.column&&(h=function(f,l,s){var n,h={},d={},t=function(a){d[a]={},h[a]={};var n,i=l[a],t=(f.forEach(function(e){for(var n in e.data)!function(n){h[a][n]=h[a][n]||{data:[],sum:0};var t=[],r=0;switch(e.data[n].forEach(function(n){switch(t.push(n[i.field]),i.mode){case"uniqLength":t=O(t);break;case"avg":case"sum":r+=n[i.field];break;case"notZeroLength":0!==w(n[i.field])&&r++}}),i.mode){case"uniqLength":t=O(t);break;case"avg":r/=e.data[n].length}h[a][n].data=h[a][n].data.concat(t),h[a][n].sum+=r}(n)}),void 0);for(n in h[a]){var r,e=0;switch(i.mode){case"avg":e=h[a][n].sum/f.length;break;case"uniqLength":e=h[a][n].data.length;break;case"notZeroLength":case"sum":e=h[a][n].sum}d[a][n]={value:e,proportion:0,riseRatio:t?tn(null==(r=d[a][t])?void 0:r.value,e):void 0},t=n}var o,u=0,c=0;for(o in d[a])u+=d[a][o].value,c++;d[a][s]={value:u/c,riseRatio:m,proportion:0}};for(n in l)t(n);return d}(s,a.summaryConfig.column,a.summaryConfig.averageField))),{columns:c,data:s,colSummary:h,getExtRow:function(t,n,r){var e,a=s.find(function(n){return n.name===t}),i={};if(!a){var o=n,u=r,c=h[t],f={};if(c)for(var l in c)f[l]=u(c[l][o]);return f}for(e in a.summary)i[e]=r(a.summary[e][n]);return i}}},n.changeIndex=function(n,t,r){return n<0?t:((t=(t+r)%(n+=1))<0&&(t+=n),-0===t?0:t)},n.cloneEasy=S,n.dataPage=function(n,t,r){if(r<1)throw"页码必须大于0";var e=(r-1)*t,a=e+t;return{current:r,total:n.length,size:t,pages:Math.ceil(n.length/t),data:S(n.slice(e,a))}},n.deepFindItem=C,n.deepFindTreePath=function(n,t,r){r=Object.assign(Z,r);for(var e=[],a=S(n),i=new Set,o=r["children"];a.length;){var u=a[0];if(i.has(u))e.pop(),a.shift();else if(i.add(u),u[o]&&a.unshift.apply(a,u[o]),e.push(u),t(u))return e}return undefined},n.defaultValue=R,n.defineEventBus=function(a){if(N[a])throw'"'+a+'" Has already been registered!';return N[a]=N[a]||[],{on:function(n){N[a].push(n)},emit:function(){for(var n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];for(var e=0;e<N[a].length;e++)N[a][e].apply(m,t)},off:function(n){if(!n)throw"the hander of off is required!";for(var t=0;t<N[a].length;t++)N[a][t]===n&&N[a].splice(t--,1)},dispose:function(){for(var n=0;n<N[a].length;n++)N[a].splice(n--,1);delete N[a]}}},n.fieldCheck=Q,n.filterWithMove=function(n,t){for(var r=[],e=0;e<n.length;e++){var a=n[e];t(a,e,n)&&(r.push(a),n.splice(e--,1))}return r},n.flatTree=function(n,e){var a=[];return e=R(e,"children"),function i(n){if(d(n))for(var t,r=0;r<n.length;r++)t=n[r],a.push(t),i(t[e])}(n),a},n.floorFixed=function(n,t,r){var e=(n=T(n=E(w(n)),"."))[1]||"";return e.length<t&&(e=x(e,t,"0"),r&&(e=e.replace(/0+$/,""))),t<1||!e?n[0]:n[0]+"."+e.substring(0,t)},n.forEach=function(n,t){for(var r=0;r<n.length;r++)t(n[r],r,n)},n.forEachKvPair=M,n.forEachTree=function(n,a,i){i=i||"children",function o(n,t){for(var r=0;r<n.length;r++){var e=S(t);a(n[r],e),d(n[r][i])&&(e.push(n[r]),o(n[r][i],e))}}(n,[])},n.getRandom=P,n.getRatio=j,n.getSortIndex=function(n,r){var t=rn(n),e=rn(n);return e.sort(function(n,t){return r(n.value,t.value)}),t.map(function(t){return e.findIndex(function(n){return t.index===n.index})})},n.getType=l,n.isArray=d,n.isEmpty=y,n.isFunction=_,n.isFuzzyMatch=function(n,t,r){var e=!0;return(n=E(n,"*"))&&(n=T(n,"").join(".*"),e=new RegExp(n,f(r)).test(t)),e},n.isKvPair=s,n.isLikeNumber=G,n.isNull=h,n.isString=v,n.listGroup=function(n,t){var l=un(n,t);function i(n,t,r,e,a){var i=C(l.data,function(n){return 0===en(n.uidPath,t,function(n,t){return n===t}).length}),o=R(a,"");if(i)try{switch(n){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=i[n][r];return h(u)?o:e(u);default:var c=i[n][r].summary;return h(c)?o:e(c,i[n][r].data)}}catch(f){return o}return o}function o(n,t,r,e){return i("_columns",n,t,r,e)}function u(n,t,r,e){return i("_columnProportion",n,t,r,e)}return{data:l.data,getCellValue:o,getCellVerticalRiseRatio:function(n,t,r,e){return i("_columnRiseRatio",n,t,r,e)},getCellVerticalTotal:function(n,t,r,e){var a;return"*"===n?h(a=l.total[t])?R(e,""):r(a):i("_columnTotal",n,t,r,e)},getCellVerticalProportion:u,getRowCellValue:function(t,n,r,e){var a={};return n.forEach(function(n){a[n.id]=o(t,n.field,r,e)}),a},getRowVerticalProportion:function(t,n,r,e){var a={};return n.forEach(function(n){a[n.id]=u(t,n.field,r,e)}),a},getOriginGroupData:function(t,n){var r=C(l.data,function(n){return 0===en(n.uidPath,t,function(n,t){return n===t}).length});return r&&null!=(r=null==(n=r._columns[n])?void 0:n.data)?r:[]},getOriginAllData:function(){return n}}},n.mapKvPair=function(n,t){var r,e={};for(r in n)e[r]=t(S(n[r]),r);return e},n.mapTree=function(n,a,i,o){o=o||"children";var t=[];return function u(n,t){for(var r=0;r<n.length;r++){var e=i(n[r]);h(e)||(t[r]=S(e),n[r][o]&&(t[r][a]=[],u(n[r][o],t[r][a])))}}(n,t),t},n.mixInZeroWidthUnicode=function(n){return T(n,"").join("")},n.padEnd=x,n.padStart=function(n,t,r){return z(n,t,r,-1)},n.param=A,n.parseQuery=r,n.randomColor=function(){return"rgba("+P(0,255,!0)+","+P(0,255,!0)+","+P(0,255,!0)+",1)"},n.repeatString=W,n.roundFixed=function(n,t,r){n=w(n);var e,a=Math.pow(10,t),n=f(Math.round(n*a)/a);return 0<t&&(e=(a=T(n,"."))[0],(a=a[1]||"").length<t&&(a=x(a,t,"0"),n=(a=r?a.replace(/0+$/,""):a)?e+"."+a:e)),n},n.shake=function(n,t){return t=Object.assign({string:!0,array:!0,kvPair:!0},t),function a(n,t){if(s(n))for(var r in n){var e=n[r];(d(e)||s(e))&&a(e,t),U(e,t)&&delete n[r]}}(n=S(n),t),n},n.shortNumber=function(n,t,r){for(var e=h(r)?cn:r,a=(e.sort(function(n,t){return t[0]-n[0]}),n),i="",o=0;o<e.length;o++){var u=e[o],c=n/u[0];if(1<=c){a=c,i=u[1];break}}return{value:a,fmtValue:t(a),unit:i}},n.sortWithIndex=function(n,t){for(var r=[],e=0;e<n.length;e++)r[e]=n[t[e]];return r},n.spanTable=function(n,i){var u=S(n),c={};function r(a,i){var o=0;u.forEach(function(n,t){n.$rowSpan=null!=(e=n.$rowSpan)?e:{};var r,e=n[a];c[a]=null!=(r=c[a])?r:0,1<c[a]?(n.$rowSpan[a]=0,c[a]--):(r=function(n,t,r,e){var a=1;for(n++;n<e.length;n++){var i=e[n][t];if(i!==r&&!y(i))break;a++}return a}(t,a,e,u),void 0!==i&&(e=function(n,t,r){for(var e=0;0<=t&&!(0<(e=n[t].$rowSpan[r]));t--);return e}(u,t,i),0<o?e<=o+r?(r=e-o,o=0):o+=r:r<e?o=r:r=e),c[a]=r,n.$rowSpan[a]=c[a])})}return i.forEach(function(n,t){r(n,i[t-1])}),u.forEach(function(e){e.$colSpan={},e.$colField={};var a=0;i.forEach(function(n,t){var r=e[n];1<a?(e.$colSpan[t]=0,e.$colField[n]=0,a--):(a=function(n,t,r,e){var a=1;for(n++;n<e.length;n++){var i=E(r[e[n]]);if(i!==t&&!y(i))break;a++}return a}(t,r,e,i),e.$colSpan[t]=a,e.$colField[n]=a)})}),u},n.split=T,n.thousands=function(n,a,i){return a=a||3,i=i||",",(v(n)?n:f(n)).replace(/([^.]*)?(\.)?(.*)?/,function(n,t,r,e){return f(t).replace(new RegExp("(.(?=(.{"+a+"})+$))","g"),"$1"+i)+f(r)+f(e)})},n.tree=function(n,t){for(var r=(t=g(t)).id||"id",e=t.pid||"pid",a=t.children||"children",i=0;i<n.length;i++){var o,u=n[i];(o=C(n,function(n){return null!=n[r]&&n[r]!=u[r]&&n[r]===u[e]},a))&&(o[a]=b(o[a]),o[a].push(u),n.splice(i--,1))}return n},n.trim=E,n.union=function(){for(var n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];var e=new Set(t);return Array.from(e)},n.urlToGet=function(n,t){n=f(n);var i=s(t)?t:r(t),t=r(n=n.replace(/({{)(.*?)(}})/g,function(n,t,r,e){r=E(r);var a=i[r];return delete i[r],a})),t=A(i=Object.assign(t,i));return n=t?(n=n.replace(/\?.*/,""))+"?"+t:n},n.uuid=function(n){n=w(n);for(var t="",r=0;r<13;r++)t+=P(1,9);return n=(new Date).getTime()*P(1,100),x(F()+Number(t).toString(32)+n.toString(32),20,F()+F()+F())},n.variableHasValue=k});
|