@whitesev/pops 1.5.2 → 1.5.3
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/index.amd.js +68 -34
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +68 -34
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +68 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +68 -34
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +68 -34
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +68 -34
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/Pops.ts +1 -1
- package/src/components/folder/index.ts +73 -38
package/package.json
CHANGED
package/src/Pops.ts
CHANGED
|
@@ -448,11 +448,13 @@ export class PopsFolder {
|
|
|
448
448
|
* @param fileName
|
|
449
449
|
* @param latestTime
|
|
450
450
|
* @param [fileSize="-"]
|
|
451
|
+
* @param isFolder
|
|
451
452
|
*/
|
|
452
453
|
function createFolderRowElement(
|
|
453
454
|
fileName: string,
|
|
454
|
-
latestTime = "-",
|
|
455
|
-
fileSize = "-"
|
|
455
|
+
latestTime: string | number = "-",
|
|
456
|
+
fileSize: string | number = "-",
|
|
457
|
+
isFolder: boolean = false
|
|
456
458
|
) {
|
|
457
459
|
let origin_fileName = fileName;
|
|
458
460
|
let origin_latestTime = latestTime;
|
|
@@ -467,7 +469,7 @@ export class PopsFolder {
|
|
|
467
469
|
let fileFormatSize = popsDOMUtils.createElement("td");
|
|
468
470
|
let fileType = "";
|
|
469
471
|
let fileIcon = Folder_ICON.folder;
|
|
470
|
-
if (
|
|
472
|
+
if (isFolder) {
|
|
471
473
|
/* 文件夹 */
|
|
472
474
|
latestTime = "";
|
|
473
475
|
fileSize = "";
|
|
@@ -523,6 +525,7 @@ export class PopsFolder {
|
|
|
523
525
|
fileName: origin_fileName,
|
|
524
526
|
latestTime: origin_latestTime,
|
|
525
527
|
fileSize: origin_fileSize,
|
|
528
|
+
isFolder: isFolder,
|
|
526
529
|
};
|
|
527
530
|
|
|
528
531
|
(fileNameElement as any)["__value__"] = __value__;
|
|
@@ -547,8 +550,9 @@ export class PopsFolder {
|
|
|
547
550
|
*/
|
|
548
551
|
function createMobileFolderRowElement(
|
|
549
552
|
fileName: string,
|
|
550
|
-
latestTime = "-",
|
|
551
|
-
fileSize = "-"
|
|
553
|
+
latestTime: number | string = "-",
|
|
554
|
+
fileSize: number | string = "-",
|
|
555
|
+
isFolder: boolean = false
|
|
552
556
|
) {
|
|
553
557
|
let origin_fileName = fileName;
|
|
554
558
|
let origin_latestTime = latestTime;
|
|
@@ -559,7 +563,7 @@ export class PopsFolder {
|
|
|
559
563
|
let fileNameElement = popsDOMUtils.createElement("td");
|
|
560
564
|
let fileType = "";
|
|
561
565
|
let fileIcon = Folder_ICON.folder;
|
|
562
|
-
if (
|
|
566
|
+
if (isFolder) {
|
|
563
567
|
/* 文件夹 */
|
|
564
568
|
latestTime = "";
|
|
565
569
|
fileSize = "";
|
|
@@ -603,6 +607,7 @@ export class PopsFolder {
|
|
|
603
607
|
fileName: origin_fileName,
|
|
604
608
|
latestTime: origin_latestTime,
|
|
605
609
|
fileSize: origin_fileSize,
|
|
610
|
+
isFolder: isFolder,
|
|
606
611
|
};
|
|
607
612
|
|
|
608
613
|
(fileNameElement as any)["__value__"] = __value__;
|
|
@@ -833,34 +838,28 @@ export class PopsFolder {
|
|
|
833
838
|
}
|
|
834
839
|
/**
|
|
835
840
|
* 对配置进行排序
|
|
836
|
-
* @param
|
|
841
|
+
* @param folderDataConfigList
|
|
837
842
|
* @param sortName 比较的属性,默认fileName
|
|
838
843
|
* @param isDesc 是否降序,默认false(升序)
|
|
839
844
|
*/
|
|
840
845
|
function sortFolderConfig(
|
|
841
|
-
|
|
846
|
+
folderDataConfigList: PopsFolderDataConfig[],
|
|
842
847
|
sortName: "fileName" | "fileSize" | "latestTime" = "fileName",
|
|
843
848
|
isDesc = false
|
|
844
849
|
) {
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
afterVal =
|
|
858
|
-
} else if (sortName === "latestTime") {
|
|
859
|
-
/* 文件时间 */
|
|
860
|
-
beforeVal = new Date(beforeVal).getTime();
|
|
861
|
-
afterVal = new Date(afterVal).getTime();
|
|
862
|
-
}
|
|
863
|
-
if (typeof beforeVal === "string" && typeof afterVal === "string") {
|
|
850
|
+
console.log(folderDataConfigList, sortName, isDesc);
|
|
851
|
+
if (sortName === "fileName") {
|
|
852
|
+
// 如果是以文件名排序,文件夹优先放前面
|
|
853
|
+
let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {
|
|
854
|
+
return value.isFolder;
|
|
855
|
+
});
|
|
856
|
+
let onlyFileDataConfigList = folderDataConfigList.filter((value) => {
|
|
857
|
+
return !value.isFolder;
|
|
858
|
+
});
|
|
859
|
+
// 文件夹排序
|
|
860
|
+
onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {
|
|
861
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
862
|
+
let afterVal = rightConfig[sortName].toString();
|
|
864
863
|
let compareVal = beforeVal.localeCompare(afterVal);
|
|
865
864
|
if (isDesc) {
|
|
866
865
|
/* 降序 */
|
|
@@ -871,7 +870,42 @@ export class PopsFolder {
|
|
|
871
870
|
}
|
|
872
871
|
}
|
|
873
872
|
return compareVal;
|
|
873
|
+
});
|
|
874
|
+
// 文件名排序
|
|
875
|
+
onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
|
|
876
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
877
|
+
let afterVal = rightConfig[sortName].toString();
|
|
878
|
+
let compareVal = beforeVal.localeCompare(afterVal);
|
|
879
|
+
if (isDesc) {
|
|
880
|
+
/* 降序 */
|
|
881
|
+
if (compareVal > 0) {
|
|
882
|
+
compareVal = -1;
|
|
883
|
+
} else if (compareVal < 0) {
|
|
884
|
+
compareVal = 1;
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
return compareVal;
|
|
888
|
+
});
|
|
889
|
+
if (isDesc) {
|
|
890
|
+
// 降序,文件夹在下面
|
|
891
|
+
return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
|
|
874
892
|
} else {
|
|
893
|
+
// 升序,文件夹在上面
|
|
894
|
+
return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];
|
|
895
|
+
}
|
|
896
|
+
} else {
|
|
897
|
+
folderDataConfigList.sort((beforeConfig, afterConfig) => {
|
|
898
|
+
let beforeVal = beforeConfig[sortName];
|
|
899
|
+
let afterVal = afterConfig[sortName];
|
|
900
|
+
if (sortName === "fileSize") {
|
|
901
|
+
/* 文件大小,进行Float转换 */
|
|
902
|
+
beforeVal = parseFloat(beforeVal.toString());
|
|
903
|
+
afterVal = parseFloat(afterVal.toString());
|
|
904
|
+
} else if (sortName === "latestTime") {
|
|
905
|
+
/* 文件时间 */
|
|
906
|
+
beforeVal = new Date(beforeVal).getTime();
|
|
907
|
+
afterVal = new Date(afterVal).getTime();
|
|
908
|
+
}
|
|
875
909
|
if (beforeVal > afterVal) {
|
|
876
910
|
if (isDesc) {
|
|
877
911
|
/* 降序 */
|
|
@@ -889,9 +923,9 @@ export class PopsFolder {
|
|
|
889
923
|
} else {
|
|
890
924
|
return 0;
|
|
891
925
|
}
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
|
|
926
|
+
});
|
|
927
|
+
return folderDataConfigList;
|
|
928
|
+
}
|
|
895
929
|
}
|
|
896
930
|
/**
|
|
897
931
|
* 添加元素
|
|
@@ -902,8 +936,8 @@ export class PopsFolder {
|
|
|
902
936
|
_config_.forEach((item) => {
|
|
903
937
|
if (item["isFolder"]) {
|
|
904
938
|
let { folderELement, fileNameElement } = pops.isPhone()
|
|
905
|
-
? createMobileFolderRowElement(item["fileName"])
|
|
906
|
-
: createFolderRowElement(item["fileName"]);
|
|
939
|
+
? createMobileFolderRowElement(item["fileName"], "", "", true)
|
|
940
|
+
: createFolderRowElement(item["fileName"], "", "", true);
|
|
907
941
|
|
|
908
942
|
popsDOMUtils.on<MouseEvent | PointerEvent>(
|
|
909
943
|
fileNameElement,
|
|
@@ -918,13 +952,15 @@ export class PopsFolder {
|
|
|
918
952
|
let { folderELement, fileNameElement } = pops.isPhone()
|
|
919
953
|
? createMobileFolderRowElement(
|
|
920
954
|
item["fileName"],
|
|
921
|
-
|
|
922
|
-
|
|
955
|
+
item.latestTime,
|
|
956
|
+
item.fileSize,
|
|
957
|
+
false
|
|
923
958
|
)
|
|
924
959
|
: createFolderRowElement(
|
|
925
960
|
item["fileName"],
|
|
926
|
-
|
|
927
|
-
|
|
961
|
+
item.latestTime,
|
|
962
|
+
item.fileSize,
|
|
963
|
+
false
|
|
928
964
|
);
|
|
929
965
|
setFileClickEvent(fileNameElement, item);
|
|
930
966
|
|
|
@@ -990,7 +1026,6 @@ export class PopsFolder {
|
|
|
990
1026
|
* @param {PointerEvent} target
|
|
991
1027
|
* @param {HTMLElement} event
|
|
992
1028
|
* @param {string} sortName
|
|
993
|
-
* @returns
|
|
994
1029
|
*/
|
|
995
1030
|
function arrowSortClickEvent(
|
|
996
1031
|
target: HTMLDivElement,
|
|
@@ -1029,7 +1064,7 @@ export class PopsFolder {
|
|
|
1029
1064
|
childrenList.push(__value__);
|
|
1030
1065
|
});
|
|
1031
1066
|
let sortedConfigList = sortFolderConfig(
|
|
1032
|
-
childrenList
|
|
1067
|
+
childrenList,
|
|
1033
1068
|
config.sort.name,
|
|
1034
1069
|
config.sort.isDesc
|
|
1035
1070
|
);
|