@bestime/utils_base 1.0.6 → 1.0.8
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 +163 -29
- 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 +163 -29
- 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
|
*
|
|
@@ -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[];
|
|
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,133 @@ 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
|
+
|
|
862
988
|
export {
|
|
989
|
+
Animate,
|
|
863
990
|
Polling,
|
|
864
991
|
TArrayRowToColumnCalculateRow,
|
|
865
992
|
_Array,
|
|
@@ -870,20 +997,25 @@ export {
|
|
|
870
997
|
arrayRowToColumn,
|
|
871
998
|
changeIndex,
|
|
872
999
|
cloneEasy,
|
|
1000
|
+
_default as connectEcharts,
|
|
873
1001
|
dataPage,
|
|
874
1002
|
deepFindItem,
|
|
875
1003
|
deepFindTreePath,
|
|
876
|
-
defaultValue,
|
|
877
1004
|
defineEventBus,
|
|
1005
|
+
defualtFormatter,
|
|
1006
|
+
difference,
|
|
878
1007
|
fieldCheck,
|
|
879
1008
|
filterWithMove,
|
|
880
|
-
flatTree,
|
|
881
1009
|
floorFixed,
|
|
882
1010
|
forEach,
|
|
883
1011
|
forEachKvPair,
|
|
884
1012
|
forEachTree,
|
|
1013
|
+
formatTime,
|
|
1014
|
+
getLikeNumberRegExp,
|
|
1015
|
+
getPiecesWithIndex,
|
|
885
1016
|
getRandom,
|
|
886
1017
|
getRatio,
|
|
1018
|
+
getRiseRatio,
|
|
887
1019
|
getSortIndex,
|
|
888
1020
|
getType,
|
|
889
1021
|
isArray,
|
|
@@ -902,6 +1034,7 @@ export {
|
|
|
902
1034
|
padStart,
|
|
903
1035
|
param,
|
|
904
1036
|
parseQuery,
|
|
1037
|
+
parseTreeToTableHeader,
|
|
905
1038
|
randomColor,
|
|
906
1039
|
repeatString,
|
|
907
1040
|
roundFixed,
|
|
@@ -912,6 +1045,7 @@ export {
|
|
|
912
1045
|
split,
|
|
913
1046
|
thousands,
|
|
914
1047
|
flatArrayToTree as tree,
|
|
1048
|
+
treeLeafs,
|
|
915
1049
|
trim,
|
|
916
1050
|
union,
|
|
917
1051
|
urlToGet,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 纯JS工具库 => jUtilsBase
|
|
3
|
+
* @update 2024-08-27 10:15:09
|
|
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}();export{Animate,Polling,_Array,_Boolean,_KvPair,_Number,_String,arrayRowToColumn,changeIndex,cloneEasy,connectEcharts,dataPage,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,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-08-27 10:15:09
|
|
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",$="Class",D="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=D.toLowerCase();function e(n){return typeof n===H}function s(n){return e(t=n)&&/^class\s/.test(Function.prototype.toString.call(t))?$:B.call(n).slice(8,-1);var t}function d(n){return s(n)===a}function l(n){return s(n)===u}function v(n){return s(n)===c}function i(n,t){var r;try{r=JSON.parse(n)}catch(e){r=t}return r}function g(n){return n=l(n)||l(n=i(n))?n:{}}function p(n){return h(n)||""===n}function K(n){var r=[];function i(n,t){null!=n&&""!==n&&(t=null==(t=e(t)?t():t)?"":t,r[r.length]=G(n)+"="+G(t))}return function o(n,t){var r,e;if(n)switch(s(t)){case a:for(r=0;r<t.length;r++)o(n+"["+("object"==typeof t[r]&&t[r]?r:"")+"]",t[r]);break;case u:for(e in t)o(n+"["+e+"]",t[e]);break;default:i(n,t)}else switch(s(t)){case c:case u:for(e in t)o(e,t[e]);break;case a:for(r=0;r<t.length;r++)i(t[r].name,t[r].value)}}("",n),r.join("&")}function _(n){return n=d(n)||d(n=i(n))?n:[]}function y(n){return s(n)===N}var o="[\\s\\uFEFF\\xA0]+";function b(n,t){var r=s(n),e=(r===N&&(n=String(n),r=c),"");if(r!==c)return"";switch(t){case 1:e="^"+o;break;case-1:e=o+"$";break;case"*":e=o;break;default:e="^"+o+"|"+o+"$"}return n.replace(new RegExp(e,"g"),"")}function x(n){var t=!1,r=0,r=y(n)?n:(v(n)&&(n=b(n,"*").replace(/,/g,"").replace(/%$/,function(n){return t=!0,""})),Number(n));return r=Math.abs(r)===Math.abs(Infinity)||isNaN(r)?0:r,t&&(r/=100),r}var U=[m,m];function W(n){if(n==m)return U;var e,i=n;return n.replace(/^\[(.*?)\](.*)?/,function(n,t,r){return i=t,e=r,""}),[i,e]}function Z(n){return""===n||/^\d+$/.test(n)}function r(n){var a={},u=!1,e="";return(n=h(n)?"":n).replace(/([^=&?/#]*?)=([^=&?/#]*)/g,function(n,t,o){var r;r=X(o),o=null==r?m:q!==r&&(V===r||i(r,r)),e=X(t),u=!1,""!==e&&(e.replace(/(.*?)(\[.*)/,function(n,t,r){var e=W(r);u=!0,Z(e[0])?a[t]=_(a[t]):a[t]=g(a[t]),function i(n,t,r){var t=W(t),e=t[0];Z(e)?(e=x(e),t[1]==m?n.push(r):(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=_(n[e]),i(n[e],t[1],r))):t[1]==m?n[e]=r:(/^\[[\D]+\]/.test(t[1])?n[e]=g(n[e]):n[e]=_(n[e]),i(n[e],t[1],r))}(a[t],r,o)}),u||(a[e]=o))}),a}function k(n,t){for(var r=0;r<n.length;r++)t(n[r],r,n)}function w(t){switch(s(t)){case $:r=Object.assign(Object.create(Object.getPrototypeOf(t)),t);break;case a:for(var r=[],n=0;n<t.length;n++)r.push(w(t[n]));break;case u:r={},k(Object.keys(t),function(n){r[n]=w(t[n])});break;case D:function e(){t.apply(this,arguments)}for(var i in t.prototype)e.prototype[i]=t.prototype[i];r=e;break;default:r=t}return r}function z(n,t){var r=!1;return r=d(n)&&t.array&&0===n.length||l(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 C(n,t,r){var e;r=null==r?60:r,n()?t():(clearTimeout(e),setTimeout(function(){C(n,t,r)},r))}C["async"]=function(t,r){return new Promise(function(n){C(t,n,r)})};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 r="";if((n=f(n)).length*t<1<<28)for(;1==(1&t)&&(r+=n),0!=(t>>>=1);)n+=n;return r}function tn(n,t,r,e){return(n=f(n)).length>(t>>=0)?n:(t-=n.length,r.length<t&&(r+=nn(r,t/r.length)),-1===e?r.slice(0,t)+n:n+r.slice(0,t))}function rn(n,t,r){return tn(n,t,r,-1)}function E(n,t,r){return tn(n,t,r,1)}function S(n,t){return""!==n?n.split(t):[]}function T(n,r,t){var e,i,o=h(t)?"children":t;return function a(n){if(n)for(var t=0;t<n.length;t++){if(i=r(n[t])){e=n[t];break}if(a(n[t][o]),i)break}}(n),e}function R(n,t,r){r=!1===r?0:1;return n=Math.random()*(t-n+r)+n,r?Math.floor(n):n}function A(){return t[R(0,t.length-1)][0]}function en(n,i,o,a){a=a||"children";var t=[];return function u(n,t){for(var r=0;r<n.length;r++){var e=o(n[r]);h(e)||(t[r]=w(e),n[r][a]&&(t[r][i]=[],u(n[r][a],t[r][i])))}}(n,t),t}var P={};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,r,e){if(n="【"+n+"】",r&&p(t))throw"字段"+n+"不能为空";if(s(t)!==e)switch(e){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 F(n){return Array.from(new Set(n))}var fn=function(n,t){return Number(n)-Number(t)},sn=0,I={};function ln(n,t){var r=[],e=[];return n.forEach(function(n){n=t[n],I[n]||(I[n]={id:++sn,label:n});n=I[n];r.push(n.id),e.push(n.label)}),{id:r.join("_"),label:e.join("→")}}function hn(n,t){return n===m||t===m?m:(t-n)/Math.abs(n)}function O(n,t){var r,e={},i=-1;for(r in n)i++,e[r]=t(n[r],r,i);return e}function dn(n){return n.map(function(n,t){return{value:n,index:t}})}function M(n,t){return 0===n||h(n)?0:0===t||h(t)?1:n/t}function mn(n,r,e){var i=[];return n.forEach(function(t){r.some(function(n){return e(n,t)})||i.push(t)}),r.forEach(function(t){n.some(function(n){return e(n,t)})||i.some(function(n){return e(n,t)})||i.push(t)}),i}function vn(n,t,r){return h(t)?n:(n=t,r?r(n):n)}var gn="sys-row-avg";function pn(n,t){var u={},r=t.colField;if(!h(r)&&n.length){var i=t.cellSummary;if(n.forEach(function(n){var t=n[r];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 e,o,a;for(e in u)!function(n){var t=u[n],r=1,e=i.denominator;if(e)if(y(e))r=e;else switch(e[1]){case"length":r=t.data.map(function(n){return n[e[0]]}).length;break;case"uniqLength":r=F(t.data.map(function(n){return n[e[0]]})).length}switch(i.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=F(t._collect).length/r}}(e);a=o=0,O(u,function(n){o++;n=h(n.summary)?0:n.summary;a+=n}),u[gn]={data:[],summary:a/o,_collect:[]},t.colCustom&&O(t.colCustom,function(n,t){var r=c(n.numerator),n=n.denominator?c(n.denominator):1;u[t]={data:[],summary:M(r,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 r,e,n=u[n],i=0;h(o[2])||"value"===o[2]?i=h(n.summary)?0:n.summary:"length"===o[2]?(r=o[3])&&(i=n.data.map(function(n){return n[r]}).length):"uniqLength"===o[2]&&(e=o[3])&&(i=F(n.data.map(function(n){return n[e]})).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 s(n,t,r){for(var e=0;e<t.length;e++){var i=t[e],o=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,i);n[o]=n[o]||{uidPath:r.concat(o),uid:o,data:[],child:{}},n[o].data.push(i)}if(c<u.path.length-1)for(var a in c++,n)s(n[a].child,n[a].data,n[a].uidPath)}(t,n,[]);var n=function l(n,t,r,e){var i,o=[];for(i in n){var a=t===r,u=l(n[i].child,t,r+1,e);o.push({uidPath:n[i].uidPath,uid:n[i].uid,data:n[i].data,_columnRiseRatio:{},_columnTotal:{},_columnProportion:{},_columns:pn(n[i].data,e),isLeaf:a,children:u})}return o}(t,c,0,u),e=(!function i(n,t){var r;n.sort(null==(r=u.path[t])?void 0:r.sort),n.forEach(function(n){i(n.children,t+1)})}(n,0),!function o(n){n.forEach(function(n){var r={};O(n._columns,function(n,t){n=h(n.summary)?0:n.summary;r[t]=r[t]||0,r[t]+=n}),n._columnTotal=r,o(n.children)})}(n),{}),f=(n.forEach(function(r){O(r._columns,function(n,t){e[t]=e[t]||0,e[t]+=r._columnTotal[t]})}),[]);return u.colCustom&&O(u.colCustom,function(n,t){n.riseRatio||f.push(t)}),function r(n){var o={},a={};n.forEach(function(n,i){O(n._columns,function(n,t){var r,e;f.includes(t)||(0<i?h(r=n.summary)?a[t]=m:(e=null!=(e=o[t])?e:0,a[t]=M(r-e,e)):a[t]=void 0,o[t]=n.summary)}),n._columnRiseRatio=a,r(n.children)})}(n),function a(n,e){n.forEach(function(n,t){var r={};O(n._columns,function(n,t){r[t]=M(n.summary,e[t])}),n._columnProportion=r,a(n.children,n._columnTotal)})}(n,e),{data:n,total:e}}function j(n){return h(n)||0===n}var yn=[[1e4,"万"],[1e8,"亿"]];function L(n,t){return rn(n,t,"0")}function bn(n){return en(n,"children",function(n){return{field:n.field,title:n.title,count:function r(n){var t=0;return d(n.children)?n.children.forEach(function(n){t+=r(n)}):t=1,t}(n)}})}function xn(i){i.forEach(function(n,r){n.forEach(function(n,t){n&&(n.rowSpan=function(n,t){for(var r,e=0;n<i.length&&(null==i||null==(r=i[n])||!r[t]);n++)e++;return e}(r+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 r=n.tickIndex,e=!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&&e&&n.config&&n.config.onXAxisCtegoryClick&&(t=t.xAxis,n.config.onXAxisCtegoryClick(t.map(function(n){return n.data}),r,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,r){var e,i=!0!==r;for(e in this._list)for(var o=0;o<this._list[e].length;o++){var a=this._list[e][o];a.instence===n&&a.onAxxisCategoryClick&&a.onAxxisCategoryClick({tickIndex:t,needEmit:i})}},t.add=function(n,t){var r=n.group;return r&&(this._list[r]=this._list[r]||[],this._list[r].push({config:t,instence:n,timer_01:-1}),this._resetGroupClickXAxisCategory(this._list[r])),this},t.remove=function(n){if(n)for(var t in this._list)for(var r=0;r<this._list[t].length;r++){var e=this._list[t][r];clearTimeout(e.timer_01),e.instence===n&&(e.instence.off("click",e.onAxxisCategoryClick),this._list[t].splice(r--,1))}},n}());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:r,to:e,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(e,i,o){function n(n){var t,r;y(i[n])||y(o[n])?(t=x(i[n]),r=x(o[n]),e[n]=c(a,t,r-t,f)):(d(i[n])||l(i[n]))&&u(e[n],i[n],o[n])}if(d(i))for(var t=0;t<i.length;t++)n(t);else if(l(i))for(var r in e)n(r)}(t._middleData,r,e),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,r=[],o=(n.forEach(function(n){n=String(n[i.colField]);r.includes(n)||r.push(n)}),r.sort(null!=(c=i.colSort)?c:fn),{}),l=(n.forEach(function(t){var n=ln(i.uniqueRowId,t),r={},e=(i.uniqueRowId.forEach(function(n){r[n]=t[n]}),o[n.id]=o[n.id]||{value:r,name:n.label,data:{}},i.colCreate(t[i.colField]).field);o[n.id].data[e]=o[n.id].data[e]||[],o[n.id].data[e].push(t)}),[]);for(t in o)l.push({name:o[t].name,value:o[t].value,data:o[t].data,summary:{}});var a,u,e,c=r.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=l,u=i.summaryConfig.row,e=i.summaryConfig.averageField,a.forEach(function(c){var f=u[c.name];if(f){var s,n,l=0,h=0;for(n in c.data)!function(n){h++;var t,r=[],e=0,i=[],o=[],a=(c.data[n].forEach(function(n){y(f.count)||r.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=F(i),e=i.length;break;case"sum":case"avg":e+=t}0!==t&&o.push(t)}),0);if(y(f.count))a=f.count;else switch(f.count.mode){case"length":a=r.length;break;case"uniqLength":a=F(r).length;break;case"notZeroValue":a=o.length}var u=e;"avg"===f.value.mode&&(u=e/a),l+=u,c.summary[n]={value:u,proportion:0,riseRatio:s?hn(null==(t=c.summary[s])?void 0:t.value,u):void 0},s=n}(n);c.summary[e]={value:l/h,riseRatio:m,proportion:0}}}),a.forEach(function(n){var t=u[n.name];if(t){var r=a.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}}),l=a),i.summaryConfig.column&&(h=function(f,s,l){var n,h={},d={},t=function(i){d[i]={},h[i]={};var n,o=s[i],t=(f.forEach(function(e){for(var n in e.data)!function(n){h[i][n]=h[i][n]||{data:[],sum:0};var t=[],r=0;switch(e.data[n].forEach(function(n){switch(t.push(n[o.field]),o.mode){case"uniqLength":t=F(t);break;case"avg":case"sum":r+=n[o.field];break;case"notZeroLength":0!==x(n[o.field])&&r++}}),o.mode){case"uniqLength":t=F(t);break;case"avg":r/=e.data[n].length}h[i][n].data=h[i][n].data.concat(t),h[i][n].sum+=r}(n)}),void 0);for(n in h[i]){var r,e=0;switch(o.mode){case"avg":e=h[i][n].sum/f.length;break;case"uniqLength":e=F(h[i][n].data).length;break;case"notZeroLength":case"sum":e=h[i][n].sum}d[i][n]={value:e,proportion:0,riseRatio:t?hn(null==(r=d[i][t])?void 0:r.value,e):void 0},t=n}var a,u=0,c=0;for(a in d[i])u+=d[i][a].value,c++;d[i][l]={value:u/c,riseRatio:m,proportion:0}};for(n in s)t(n);return d}(l,i.summaryConfig.column,i.summaryConfig.averageField))),{columns:c,data:l,colSummary:h,getExtRow:function(t,n,r){var e,i=l.find(function(n){return n.name===t}),o={};if(!i){var a=n,u=r,c=h[t],f={};if(c)for(var s in c)f[s]=u(c[s][a]);return f}for(e in i.summary)o[e]=r(i.summary[e][n]);return o}}},n.changeIndex=function(n,t,r){return n<0?t:((t=(t+r)%(n+=1))<0&&(t+=n),-0===t?0:t)},n.cloneEasy=w,n.connectEcharts=kn,n.dataPage=function(n,t,r){if(r<1)throw"页码必须大于0";var e=(r-1)*t,i=e+t;return{current:r,total:n.length,size:t,pages:Math.ceil(n.length/t),data:w(n.slice(e,i))}},n.deepFindItem=T,n.deepFindTreePath=function(n,t,r){r=Object.assign(J,r);for(var e=[],i=w(n),o=new Set,a=r["children"];i.length;){var u=i[0];if(o.has(u))e.pop(),i.shift();else if(o.add(u),u[a]&&i.unshift.apply(i,u[a]),e.push(u),t(u))return e}return undefined},n.defineEventBus=function(i){if(P[i])throw'"'+i+'" Has already been registered!';return P[i]=P[i]||[],{on:function(n){P[i].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<P[i].length;e++)P[i][e].apply(m,t)},off:function(n){if(!n)throw"the hander of off is required!";for(var t=0;t<P[i].length;t++)P[i][t]===n&&P[i].splice(t--,1)},dispose:function(){for(var n=0;n<P[i].length;n++)P[i].splice(n--,1);delete P[i]},eventList:function(){return P[i]}}},n.defualtFormatter=vn,n.difference=mn,n.fieldCheck=cn,n.filterWithMove=function(n,t){for(var r=[],e=0;e<n.length;e++){var i=n[e];t(i,e,n)&&(r.push(i),n.splice(e--,1))}return r},n.floorFixed=function(n,t,r){var e=(n=S(n=b(x(n)),"."))[1]||"";return e.length<t&&(e=E(e,t,"0"),r&&(e=e.replace(/0+$/,""))),t<1||!e?n[0]:n[0]+"."+e.substring(0,t)},n.forEach=k,n.forEachKvPair=O,n.forEachTree=function(n,i,o){o=o||"children",function a(n,t){for(var r=0;r<n.length;r++){var e=w(t);i(n[r],e),d(n[r][o])&&(e.push(n[r]),a(n[r][o],e))}}(n,[])},n.formatTime=function(n){var t=(n=new Date(n)).getFullYear(),r=n.getMonth()+1,e=n.getDate(),i=n.getHours(),o=n.getMinutes(),a=n.getSeconds(),n=n.getMilliseconds();return L(t,4)+"/"+L(r,2)+"/"+L(e,2)+" "+L(i,2)+":"+L(o,2)+":"+L(a,2)+":"+L(n,3)},n.getLikeNumberRegExp=function(){return Q},n.getPiecesWithIndex=function(n,e){var i=[];return k(n,function(t,n){var r=e.find(function(n){return t>=n.min&&t<n.max});r&&i.push({gte:n,lt:n+1,color:r.color})}),i},n.getRandom=R,n.getRatio=M,n.getRiseRatio=function(n,t){return j(n)&&j(t)?0:j(n)?1:j(t)?-1:(t-n)/n},n.getSortIndex=function(n,r){var t=dn(n),e=dn(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=s,n.isArray=d,n.isEmpty=p,n.isFunction=e,n.isFuzzyMatch=function(n,t,r){var e=!0;return(n=b(n,"*"))&&(n=S(n,"").join(".*"),e=new RegExp(n,f(r)).test(t)),e},n.isKvPair=l,n.isLikeNumber=Y,n.isNull=h,n.isString=v,n.listGroup=function(n,t){var s=_n(n,t);function o(n,t,r,e,i){var o=T(s.data,function(n){return 0===mn(n.uidPath,t,function(n,t){return n===t}).length}),a=vn("",i);if(o)try{switch(n){case"_columnRiseRatio":case"_columnTotal":case"_columnProportion":var u=o[n][r];return h(u)?a:e(u);default:var c=o[n][r].summary;return h(c)?a:e(c,o[n][r].data)}}catch(f){return a}return a}function a(n,t,r,e){return o("_columns",n,t,r,e)}function u(n,t,r,e){return o("_columnProportion",n,t,r,e)}return{data:s.data,getCellValue:a,getCellVerticalRiseRatio:function(n,t,r,e){return o("_columnRiseRatio",n,t,r,e)},getCellVerticalTotal:function(n,t,r,e){var i;return"*"===n?h(i=s.total[t])?vn("",e):r(i):o("_columnTotal",n,t,r,e)},getCellVerticalProportion:u,getRowCellValue:function(t,n,r,e){var i={};return n.forEach(function(n){i[n.id]=a(t,n.field,r,e)}),i},getRowVerticalProportion:function(t,n,r,e){var i={};return n.forEach(function(n){i[n.id]=u(t,n.field,r,e)}),i},getOriginGroupData:function(t,n){var r=T(s.data,function(n){return 0===mn(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(w(n[r]),r);return e},n.mapTree=en,n.mixInZeroWidthUnicode=function(n){return S(n,"").join("")},n.padEnd=E,n.padStart=rn,n.param=K,n.parseQuery=r,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,r=(a=t+n.count-1)-t+1,r={colStart:t,colEnd:a,colSpan:r,count:n.count,field:n.field,title:n.title,rowSpan:1};i[o][t]=r;for(var e=1;e<n.count;e++)i[o][t+e]=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 r=[],t=n.length-1;0<=t;t--)n[t].forEach(function(n,t){n&&n.field&&h(r[t])&&(r[t]=n.field)});return r}(n),data:n}},n.randomColor=function(){return"rgba("+R(0,255,!0)+","+R(0,255,!0)+","+R(0,255,!0)+",1)"},n.repeatString=nn,n.roundFixed=function(n,t,r){n=x(n);var e,i=Math.pow(10,t),n=f(Math.round(n*i)/i);return 0<t&&(e=(i=S(n,"."))[0],(i=i[1]||"").length<t&&(i=E(i,t,"0"),n=(i=r?i.replace(/0+$/,""):i)?e+"."+i:e)),n},n.shake=function(n,t){return t=Object.assign({string:!0,array:!0,kvPair:!0},t),function i(n,t){if(l(n))for(var r in n){var e=n[r];(d(e)||l(e))&&i(e,t),z(e,t)&&delete n[r]}}(n=w(n),t),n},n.shortNumber=function(n,t,r){for(var e=h(r)?yn:r,i=(e.sort(function(n,t){return t[0]-n[0]}),n),o="",a=0;a<e.length;a++){var u=e[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 r=[],e=0;e<n.length;e++)r[e]=n[t[e]];return r},n.spanTable=function(n,o){var u=w(n),c={};function r(i,o){var a=0;u.forEach(function(n,t){n.$rowSpan=null!=(e=n.$rowSpan)?e:{};var r,e=n[i];c[i]=null!=(r=c[i])?r:0,1<c[i]?(n.$rowSpan[i]=0,c[i]--):(r=function(n,t,r,e){var i=1;for(n++;n<e.length;n++){var o=e[n][t];if(o!==r&&!p(o))break;i++}return i}(t,i,e,u),void 0!==o&&(e=function(n,t,r){for(var e=0;0<=t&&!(0<(e=n[t].$rowSpan[r]));t--);return e}(u,t,o),0<a?e<=a+r?(r=e-a,a=0):a+=r:r<e?a=r:r=e),c[i]=r,n.$rowSpan[i]=c[i])})}return o.forEach(function(n,t){r(n,o[t-1])}),u.forEach(function(e){e.$colField={};var i=0;o.forEach(function(n,t){var r=e[n];1<i?(e.$colField[n]=0,i--):(i=function(n,t,r,e){var i=1;for(n++;n<e.length;n++){var o=b(r[e[n]]);if(o!==t&&!p(o))break;i++}return i}(t,r,e,o),e.$colField[n]=i)})}),u},n.split=S,n.thousands=function(n,i,o){return i=i||3,o=o||",",(v(n)?n:f(n)).replace(/([^.]*)?(\.)?(.*)?/,function(n,t,r,e){return f(t).replace(new RegExp("(.(?=(.{"+i+"})+$))","g"),"$1"+o)+f(r)+f(e)})},n.tree=function(n,t){for(var r=(t=g(t)).id||"id",e=t.pid||"pid",i=t.children||"children",o=0;o<n.length;o++){var a,u=n[o];(a=T(n,function(n){return null!=n[r]&&n[r]!=u[r]&&n[r]===u[e]},i))&&(a[i]=_(a[i]),a[i].push(u),n.splice(o--,1))}return n},n.treeLeafs=function(n){var t=[];return function r(n,t){k(n,function(n){d(n.children)?r(n.children,t):t.push(n)})}(n,t),t},n.trim=b,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 o=l(t)?t:r(t),t=r(n=n.replace(/({{)(.*?)(}})/g,function(n,t,r,e){r=b(r);var i=o[r];return delete o[r],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="",r=0;r<13;r++)t+=R(1,9);return n=(new Date).getTime()*R(1,100),E(A()+Number(t).toString(32)+n.toString(32),20,A()+A()+A())},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
|
*
|
|
@@ -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[];
|
|
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,138 @@ 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
|
+
|
|
862
988
|
declare global {
|
|
863
989
|
/**
|
|
864
990
|
* 该声明文件用于全局声明(不用npm安装时拷贝到项目中直接使用)
|
|
865
991
|
*/
|
|
866
992
|
namespace jUtilsBase {
|
|
867
993
|
export {
|
|
994
|
+
Animate,
|
|
868
995
|
Polling,
|
|
869
996
|
TArrayRowToColumnCalculateRow,
|
|
870
997
|
_Array,
|
|
@@ -875,20 +1002,25 @@ declare global {
|
|
|
875
1002
|
arrayRowToColumn,
|
|
876
1003
|
changeIndex,
|
|
877
1004
|
cloneEasy,
|
|
1005
|
+
_default as connectEcharts,
|
|
878
1006
|
dataPage,
|
|
879
1007
|
deepFindItem,
|
|
880
1008
|
deepFindTreePath,
|
|
881
|
-
defaultValue,
|
|
882
1009
|
defineEventBus,
|
|
1010
|
+
defualtFormatter,
|
|
1011
|
+
difference,
|
|
883
1012
|
fieldCheck,
|
|
884
1013
|
filterWithMove,
|
|
885
|
-
flatTree,
|
|
886
1014
|
floorFixed,
|
|
887
1015
|
forEach,
|
|
888
1016
|
forEachKvPair,
|
|
889
1017
|
forEachTree,
|
|
1018
|
+
formatTime,
|
|
1019
|
+
getLikeNumberRegExp,
|
|
1020
|
+
getPiecesWithIndex,
|
|
890
1021
|
getRandom,
|
|
891
1022
|
getRatio,
|
|
1023
|
+
getRiseRatio,
|
|
892
1024
|
getSortIndex,
|
|
893
1025
|
getType,
|
|
894
1026
|
isArray,
|
|
@@ -907,6 +1039,7 @@ declare global {
|
|
|
907
1039
|
padStart,
|
|
908
1040
|
param,
|
|
909
1041
|
parseQuery,
|
|
1042
|
+
parseTreeToTableHeader,
|
|
910
1043
|
randomColor,
|
|
911
1044
|
repeatString,
|
|
912
1045
|
roundFixed,
|
|
@@ -917,6 +1050,7 @@ declare global {
|
|
|
917
1050
|
split,
|
|
918
1051
|
thousands,
|
|
919
1052
|
flatArrayToTree as tree,
|
|
1053
|
+
treeLeafs,
|
|
920
1054
|
trim,
|
|
921
1055
|
union,
|
|
922
1056
|
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
|
-
"
|
|
3
|
+
"version": "1.0.8",
|
|
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-11 15:02:05
|
|
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-11 15:02:05
|
|
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});
|