@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.esm.js CHANGED
@@ -6065,8 +6065,9 @@ class PopsFolder {
6065
6065
  * @param fileName
6066
6066
  * @param latestTime
6067
6067
  * @param [fileSize="-"]
6068
+ * @param isFolder
6068
6069
  */
6069
- function createFolderRowElement(fileName, latestTime = "-", fileSize = "-") {
6070
+ function createFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
6070
6071
  let origin_fileName = fileName;
6071
6072
  let origin_latestTime = latestTime;
6072
6073
  let origin_fileSize = fileSize;
@@ -6076,7 +6077,7 @@ class PopsFolder {
6076
6077
  let fileFormatSize = popsDOMUtils.createElement("td");
6077
6078
  let fileType = "";
6078
6079
  let fileIcon = Folder_ICON.folder;
6079
- if (arguments.length === 1) {
6080
+ if (isFolder) {
6080
6081
  /* 文件夹 */
6081
6082
  latestTime = "";
6082
6083
  fileSize = "";
@@ -6131,6 +6132,7 @@ class PopsFolder {
6131
6132
  fileName: origin_fileName,
6132
6133
  latestTime: origin_latestTime,
6133
6134
  fileSize: origin_fileSize,
6135
+ isFolder: isFolder,
6134
6136
  };
6135
6137
  fileNameElement["__value__"] = __value__;
6136
6138
  fileTimeElement["__value__"] = __value__;
@@ -6149,7 +6151,7 @@ class PopsFolder {
6149
6151
  /**
6150
6152
  * 创建移动端文件夹元素
6151
6153
  */
6152
- function createMobileFolderRowElement(fileName, latestTime = "-", fileSize = "-") {
6154
+ function createMobileFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
6153
6155
  let origin_fileName = fileName;
6154
6156
  let origin_latestTime = latestTime;
6155
6157
  let origin_fileSize = fileSize;
@@ -6157,7 +6159,7 @@ class PopsFolder {
6157
6159
  let fileNameElement = popsDOMUtils.createElement("td");
6158
6160
  let fileType = "";
6159
6161
  let fileIcon = Folder_ICON.folder;
6160
- if (arguments.length === 1) {
6162
+ if (isFolder) {
6161
6163
  /* 文件夹 */
6162
6164
  latestTime = "";
6163
6165
  fileSize = "";
@@ -6201,6 +6203,7 @@ class PopsFolder {
6201
6203
  fileName: origin_fileName,
6202
6204
  latestTime: origin_latestTime,
6203
6205
  fileSize: origin_fileSize,
6206
+ isFolder: isFolder,
6204
6207
  };
6205
6208
  fileNameElement["__value__"] = __value__;
6206
6209
  folderELement["__value__"] = __value__;
@@ -6374,30 +6377,40 @@ class PopsFolder {
6374
6377
  }
6375
6378
  /**
6376
6379
  * 对配置进行排序
6377
- * @param _config_
6380
+ * @param folderDataConfigList
6378
6381
  * @param sortName 比较的属性,默认fileName
6379
6382
  * @param isDesc 是否降序,默认false(升序)
6380
6383
  */
6381
- function sortFolderConfig(_config_, sortName = "fileName", isDesc = false) {
6382
- _config_.sort((a, b) => {
6383
- let beforeVal = a[sortName];
6384
- let afterVal = b[sortName];
6385
- if (sortName === "fileName") {
6386
- /* 文件名,进行字符串转换 */
6387
- beforeVal = beforeVal.toString();
6388
- afterVal = afterVal.toString();
6389
- }
6390
- else if (sortName === "fileSize") {
6391
- /* 文件大小,进行Float转换 */
6392
- beforeVal = parseFloat(beforeVal);
6393
- afterVal = parseFloat(afterVal);
6394
- }
6395
- else if (sortName === "latestTime") {
6396
- /* 文件时间 */
6397
- beforeVal = new Date(beforeVal).getTime();
6398
- afterVal = new Date(afterVal).getTime();
6399
- }
6400
- if (typeof beforeVal === "string" && typeof afterVal === "string") {
6384
+ function sortFolderConfig(folderDataConfigList, sortName = "fileName", isDesc = false) {
6385
+ console.log(folderDataConfigList, sortName, isDesc);
6386
+ if (sortName === "fileName") {
6387
+ // 如果是以文件名排序,文件夹优先放前面
6388
+ let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {
6389
+ return value.isFolder;
6390
+ });
6391
+ let onlyFileDataConfigList = folderDataConfigList.filter((value) => {
6392
+ return !value.isFolder;
6393
+ });
6394
+ // 文件夹排序
6395
+ onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {
6396
+ let beforeVal = leftConfig[sortName].toString();
6397
+ let afterVal = rightConfig[sortName].toString();
6398
+ let compareVal = beforeVal.localeCompare(afterVal);
6399
+ if (isDesc) {
6400
+ /* 降序 */
6401
+ if (compareVal > 0) {
6402
+ compareVal = -1;
6403
+ }
6404
+ else if (compareVal < 0) {
6405
+ compareVal = 1;
6406
+ }
6407
+ }
6408
+ return compareVal;
6409
+ });
6410
+ // 文件名排序
6411
+ onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
6412
+ let beforeVal = leftConfig[sortName].toString();
6413
+ let afterVal = rightConfig[sortName].toString();
6401
6414
  let compareVal = beforeVal.localeCompare(afterVal);
6402
6415
  if (isDesc) {
6403
6416
  /* 降序 */
@@ -6409,8 +6422,30 @@ class PopsFolder {
6409
6422
  }
6410
6423
  }
6411
6424
  return compareVal;
6425
+ });
6426
+ if (isDesc) {
6427
+ // 降序,文件夹在下面
6428
+ return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
6412
6429
  }
6413
6430
  else {
6431
+ // 升序,文件夹在上面
6432
+ return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];
6433
+ }
6434
+ }
6435
+ else {
6436
+ folderDataConfigList.sort((beforeConfig, afterConfig) => {
6437
+ let beforeVal = beforeConfig[sortName];
6438
+ let afterVal = afterConfig[sortName];
6439
+ if (sortName === "fileSize") {
6440
+ /* 文件大小,进行Float转换 */
6441
+ beforeVal = parseFloat(beforeVal.toString());
6442
+ afterVal = parseFloat(afterVal.toString());
6443
+ }
6444
+ else if (sortName === "latestTime") {
6445
+ /* 文件时间 */
6446
+ beforeVal = new Date(beforeVal).getTime();
6447
+ afterVal = new Date(afterVal).getTime();
6448
+ }
6414
6449
  if (beforeVal > afterVal) {
6415
6450
  if (isDesc) {
6416
6451
  /* 降序 */
@@ -6432,9 +6467,9 @@ class PopsFolder {
6432
6467
  else {
6433
6468
  return 0;
6434
6469
  }
6435
- }
6436
- });
6437
- return _config_;
6470
+ });
6471
+ return folderDataConfigList;
6472
+ }
6438
6473
  }
6439
6474
  /**
6440
6475
  * 添加元素
@@ -6445,8 +6480,8 @@ class PopsFolder {
6445
6480
  _config_.forEach((item) => {
6446
6481
  if (item["isFolder"]) {
6447
6482
  let { folderELement, fileNameElement } = pops.isPhone()
6448
- ? createMobileFolderRowElement(item["fileName"])
6449
- : createFolderRowElement(item["fileName"]);
6483
+ ? createMobileFolderRowElement(item["fileName"], "", "", true)
6484
+ : createFolderRowElement(item["fileName"], "", "", true);
6450
6485
  popsDOMUtils.on(fileNameElement, "click", (event) => {
6451
6486
  refreshFolderInfoClickEvent(event, item);
6452
6487
  });
@@ -6454,8 +6489,8 @@ class PopsFolder {
6454
6489
  }
6455
6490
  else {
6456
6491
  let { folderELement, fileNameElement } = pops.isPhone()
6457
- ? createMobileFolderRowElement(item["fileName"], item["latestTime"], item["fileSize"])
6458
- : createFolderRowElement(item["fileName"], item["latestTime"], item["fileSize"]);
6492
+ ? createMobileFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false)
6493
+ : createFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false);
6459
6494
  setFileClickEvent(fileNameElement, item);
6460
6495
  folderListBodyElement.appendChild(folderELement);
6461
6496
  }
@@ -6492,7 +6527,6 @@ class PopsFolder {
6492
6527
  * @param {PointerEvent} target
6493
6528
  * @param {HTMLElement} event
6494
6529
  * @param {string} sortName
6495
- * @returns
6496
6530
  */
6497
6531
  function arrowSortClickEvent(target, event, sortName) {
6498
6532
  if (!event["notChangeSortRule"]) {
@@ -9946,7 +9980,7 @@ class Pops {
9946
9980
  /** 配置 */
9947
9981
  config = {
9948
9982
  /** 版本号 */
9949
- version: "2024.8.15",
9983
+ version: "2024.9.9",
9950
9984
  cssText: {
9951
9985
  /** 主CSS */
9952
9986
  index: indexCSS,