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