@whitesev/pops 2.3.5 → 2.3.7
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 +474 -431
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +474 -431
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +474 -431
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +474 -431
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +474 -431
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +474 -431
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/PopsCore.d.ts +8 -0
- package/package.json +1 -1
package/dist/index.amd.js
CHANGED
|
@@ -182,9 +182,19 @@ define((function () { 'use strict';
|
|
|
182
182
|
window: window,
|
|
183
183
|
globalThis: globalThis,
|
|
184
184
|
self: self,
|
|
185
|
+
setTimeout: globalThis.setTimeout.bind(globalThis),
|
|
186
|
+
setInterval: globalThis.setInterval.bind(globalThis),
|
|
187
|
+
clearTimeout: globalThis.clearTimeout.bind(globalThis),
|
|
188
|
+
clearInterval: globalThis.clearInterval.bind(globalThis),
|
|
185
189
|
};
|
|
186
190
|
const PopsCoreEnv = Object.assign({}, PopsCoreDefaultEnv);
|
|
187
191
|
const PopsCore = {
|
|
192
|
+
init(option) {
|
|
193
|
+
if (!option) {
|
|
194
|
+
option = Object.assign({}, PopsCoreDefaultEnv);
|
|
195
|
+
}
|
|
196
|
+
Object.assign(PopsCoreEnv, option);
|
|
197
|
+
},
|
|
188
198
|
get document() {
|
|
189
199
|
return PopsCoreEnv.document;
|
|
190
200
|
},
|
|
@@ -197,6 +207,18 @@ define((function () { 'use strict';
|
|
|
197
207
|
get self() {
|
|
198
208
|
return PopsCoreEnv.self;
|
|
199
209
|
},
|
|
210
|
+
get setTimeout() {
|
|
211
|
+
return PopsCoreEnv.setTimeout;
|
|
212
|
+
},
|
|
213
|
+
get setInterval() {
|
|
214
|
+
return PopsCoreEnv.setInterval;
|
|
215
|
+
},
|
|
216
|
+
get clearTimeout() {
|
|
217
|
+
return PopsCoreEnv.clearTimeout;
|
|
218
|
+
},
|
|
219
|
+
get clearInterval() {
|
|
220
|
+
return PopsCoreEnv.clearInterval;
|
|
221
|
+
},
|
|
200
222
|
};
|
|
201
223
|
const OriginPrototype = {
|
|
202
224
|
Object: {
|
|
@@ -715,7 +737,7 @@ define((function () { 'use strict';
|
|
|
715
737
|
return setTimeout$1(callback, timeout);
|
|
716
738
|
}
|
|
717
739
|
catch (error) {
|
|
718
|
-
return
|
|
740
|
+
return PopsCore.setTimeout(callback, timeout);
|
|
719
741
|
}
|
|
720
742
|
}
|
|
721
743
|
/**
|
|
@@ -730,7 +752,7 @@ define((function () { 'use strict';
|
|
|
730
752
|
catch (error) {
|
|
731
753
|
}
|
|
732
754
|
finally {
|
|
733
|
-
|
|
755
|
+
PopsCore.clearTimeout(timeId);
|
|
734
756
|
}
|
|
735
757
|
}
|
|
736
758
|
/**
|
|
@@ -741,7 +763,7 @@ define((function () { 'use strict';
|
|
|
741
763
|
return setInterval$1(callback, timeout);
|
|
742
764
|
}
|
|
743
765
|
catch (error) {
|
|
744
|
-
return
|
|
766
|
+
return PopsCore.setInterval(callback, timeout);
|
|
745
767
|
}
|
|
746
768
|
}
|
|
747
769
|
/**
|
|
@@ -756,7 +778,7 @@ define((function () { 'use strict';
|
|
|
756
778
|
catch (error) {
|
|
757
779
|
}
|
|
758
780
|
finally {
|
|
759
|
-
|
|
781
|
+
PopsCore.clearInterval(timeId);
|
|
760
782
|
}
|
|
761
783
|
}
|
|
762
784
|
}
|
|
@@ -1132,6 +1154,7 @@ define((function () { 'use strict';
|
|
|
1132
1154
|
* })
|
|
1133
1155
|
*/
|
|
1134
1156
|
ready(callback) {
|
|
1157
|
+
const that = this;
|
|
1135
1158
|
if (typeof callback !== "function") {
|
|
1136
1159
|
return;
|
|
1137
1160
|
}
|
|
@@ -1177,7 +1200,7 @@ define((function () { 'use strict';
|
|
|
1177
1200
|
function addDomReadyListener() {
|
|
1178
1201
|
for (let index = 0; index < targetList.length; index++) {
|
|
1179
1202
|
let item = targetList[index];
|
|
1180
|
-
item.target
|
|
1203
|
+
that.on(item.target, item.eventType, item.callback);
|
|
1181
1204
|
}
|
|
1182
1205
|
}
|
|
1183
1206
|
/**
|
|
@@ -1186,7 +1209,7 @@ define((function () { 'use strict';
|
|
|
1186
1209
|
function removeDomReadyListener() {
|
|
1187
1210
|
for (let index = 0; index < targetList.length; index++) {
|
|
1188
1211
|
let item = targetList[index];
|
|
1189
|
-
item.target
|
|
1212
|
+
that.off(item.target, item.eventType, item.callback);
|
|
1190
1213
|
}
|
|
1191
1214
|
}
|
|
1192
1215
|
if (checkDOMReadyState()) {
|
|
@@ -1468,9 +1491,7 @@ define((function () { 'use strict';
|
|
|
1468
1491
|
eventNameList = [eventNameList];
|
|
1469
1492
|
}
|
|
1470
1493
|
eventNameList.forEach((eventName) => {
|
|
1471
|
-
|
|
1472
|
-
capture: Boolean(capture),
|
|
1473
|
-
});
|
|
1494
|
+
this.on(element, eventName, stopEvent, { capture: Boolean(capture) });
|
|
1474
1495
|
});
|
|
1475
1496
|
}
|
|
1476
1497
|
}
|
|
@@ -5119,57 +5140,101 @@ define((function () { 'use strict';
|
|
|
5119
5140
|
if ($mask != null) {
|
|
5120
5141
|
$anim.after($mask);
|
|
5121
5142
|
}
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5132
|
-
|
|
5133
|
-
|
|
5134
|
-
|
|
5135
|
-
|
|
5136
|
-
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
|
|
5140
|
-
|
|
5141
|
-
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
if (
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5157
|
-
fileType = keyName;
|
|
5158
|
-
fileIcon = Folder_ICON[keyName];
|
|
5159
|
-
break;
|
|
5160
|
-
}
|
|
5143
|
+
class PopsFolder {
|
|
5144
|
+
init() {
|
|
5145
|
+
config.folder.sort();
|
|
5146
|
+
this.initFolderView(config.folder);
|
|
5147
|
+
/* 将数据存到全部文件的属性_config_中 */
|
|
5148
|
+
let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child");
|
|
5149
|
+
Reflect.set(allFilesElement, "_config_", config.folder);
|
|
5150
|
+
/* 设置点击顶部的全部文件事件 */
|
|
5151
|
+
popsDOMUtils.on(allFilesElement, "click", (event) => {
|
|
5152
|
+
this.setBreadcrumbClickEvent(event, true, config.folder);
|
|
5153
|
+
});
|
|
5154
|
+
// 文件名的点击排序
|
|
5155
|
+
popsDOMUtils.on(folderListSortFileNameElement.closest("th"), "click", (event) => {
|
|
5156
|
+
this.arrowToSortFolderInfoView(folderListSortFileNameElement, event, "fileName");
|
|
5157
|
+
}, {
|
|
5158
|
+
capture: true,
|
|
5159
|
+
});
|
|
5160
|
+
// 修改事件的点击排序
|
|
5161
|
+
popsDOMUtils.on(folderListSortLatestTimeElement.closest("th"), "click", (event) => {
|
|
5162
|
+
this.arrowToSortFolderInfoView(folderListSortLatestTimeElement, event, "latestTime");
|
|
5163
|
+
}, {
|
|
5164
|
+
capture: true,
|
|
5165
|
+
});
|
|
5166
|
+
// 文件大小的点击排序
|
|
5167
|
+
popsDOMUtils.on(folderListSortFileSizeElement.closest("th"), "click", (event) => {
|
|
5168
|
+
this.arrowToSortFolderInfoView(folderListSortFileSizeElement, event, "fileSize");
|
|
5169
|
+
}, {
|
|
5170
|
+
capture: true,
|
|
5171
|
+
});
|
|
5172
|
+
/* 设置默认触发的arrow */
|
|
5173
|
+
if (config.sort.name === "fileName") {
|
|
5174
|
+
popsDOMUtils.trigger(folderListSortFileNameElement, "click", {
|
|
5175
|
+
notChangeSortRule: true,
|
|
5176
|
+
});
|
|
5161
5177
|
}
|
|
5162
|
-
if (
|
|
5163
|
-
|
|
5164
|
-
|
|
5178
|
+
else if (config.sort.name === "latestTime") {
|
|
5179
|
+
popsDOMUtils.trigger(folderListSortLatestTimeElement, "click", {
|
|
5180
|
+
notChangeSortRule: true,
|
|
5181
|
+
});
|
|
5182
|
+
}
|
|
5183
|
+
else if (config.sort.name === "fileSize") {
|
|
5184
|
+
popsDOMUtils.trigger(folderListSortFileSizeElement, "click", {
|
|
5185
|
+
notChangeSortRule: true,
|
|
5186
|
+
});
|
|
5165
5187
|
}
|
|
5166
5188
|
}
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5189
|
+
/**
|
|
5190
|
+
* 创建文件夹元素
|
|
5191
|
+
* @param fileName 文件名
|
|
5192
|
+
* @param latestTime 修改时间
|
|
5193
|
+
* @param [fileSize="-"] 文件大小
|
|
5194
|
+
* @param isFolder 是否是文件夹
|
|
5195
|
+
*/
|
|
5196
|
+
createFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5197
|
+
let origin_fileName = fileName;
|
|
5198
|
+
let origin_latestTime = latestTime;
|
|
5199
|
+
let origin_fileSize = fileSize;
|
|
5200
|
+
let folderElement = popsDOMUtils.createElement("tr");
|
|
5201
|
+
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5202
|
+
let fileTimeElement = popsDOMUtils.createElement("td");
|
|
5203
|
+
let fileFormatSize = popsDOMUtils.createElement("td");
|
|
5204
|
+
let fileType = "";
|
|
5205
|
+
let fileIcon = Folder_ICON.folder;
|
|
5206
|
+
if (isFolder) {
|
|
5207
|
+
/* 文件夹 */
|
|
5208
|
+
latestTime = "";
|
|
5209
|
+
fileSize = "";
|
|
5210
|
+
}
|
|
5211
|
+
else {
|
|
5212
|
+
/* 文件 */
|
|
5213
|
+
fileIcon = "";
|
|
5214
|
+
if (typeof latestTime === "number") {
|
|
5215
|
+
latestTime = popsUtils.formatTime(latestTime);
|
|
5216
|
+
}
|
|
5217
|
+
if (typeof fileSize === "number") {
|
|
5218
|
+
fileSize = popsUtils.formatByteToSize(fileSize);
|
|
5219
|
+
}
|
|
5220
|
+
for (let keyName in Folder_ICON) {
|
|
5221
|
+
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5222
|
+
fileType = keyName;
|
|
5223
|
+
fileIcon = Folder_ICON[keyName];
|
|
5224
|
+
break;
|
|
5225
|
+
}
|
|
5226
|
+
}
|
|
5227
|
+
if (!Boolean(fileIcon)) {
|
|
5228
|
+
fileType = "Null";
|
|
5229
|
+
fileIcon = Folder_ICON.Null;
|
|
5230
|
+
}
|
|
5231
|
+
}
|
|
5232
|
+
folderElement.className = "pops-folder-list-table__body-row";
|
|
5233
|
+
fileNameElement.className = "pops-folder-list-table__body-td";
|
|
5234
|
+
fileTimeElement.className = "pops-folder-list-table__body-td";
|
|
5235
|
+
fileFormatSize.className = "pops-folder-list-table__body-td";
|
|
5236
|
+
PopsSafeUtils.setSafeHTML(fileNameElement,
|
|
5237
|
+
/*html*/ `
|
|
5173
5238
|
<div class="pops-folder-list-file-name cursor-p">
|
|
5174
5239
|
<div>
|
|
5175
5240
|
<img src="${fileIcon}" alt="${fileType}" class="pops-folder-list-file-icon u-file-icon u-file-icon--list">
|
|
@@ -5179,80 +5244,84 @@ define((function () { 'use strict';
|
|
|
5179
5244
|
</div>
|
|
5180
5245
|
</div>
|
|
5181
5246
|
`);
|
|
5182
|
-
|
|
5183
|
-
|
|
5247
|
+
PopsSafeUtils.setSafeHTML(fileTimeElement,
|
|
5248
|
+
/*html*/ `
|
|
5184
5249
|
<div class="pops-folder-list__time">
|
|
5185
5250
|
<span>${latestTime}</span>
|
|
5186
5251
|
</div>
|
|
5187
5252
|
`);
|
|
5188
|
-
|
|
5189
|
-
|
|
5253
|
+
PopsSafeUtils.setSafeHTML(fileFormatSize,
|
|
5254
|
+
/*html*/ `
|
|
5190
5255
|
<div class="pops-folder-list-format-size">
|
|
5191
5256
|
<span>${fileSize}</span>
|
|
5192
5257
|
</div>
|
|
5193
5258
|
`);
|
|
5194
|
-
|
|
5195
|
-
|
|
5196
|
-
|
|
5197
|
-
|
|
5198
|
-
|
|
5199
|
-
|
|
5200
|
-
|
|
5201
|
-
|
|
5202
|
-
|
|
5203
|
-
|
|
5204
|
-
|
|
5205
|
-
|
|
5206
|
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
|
|
5210
|
-
|
|
5211
|
-
|
|
5212
|
-
|
|
5213
|
-
|
|
5214
|
-
}
|
|
5215
|
-
/**
|
|
5216
|
-
* 创建移动端文件夹元素
|
|
5217
|
-
*/
|
|
5218
|
-
function createMobileFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5219
|
-
let origin_fileName = fileName;
|
|
5220
|
-
let origin_latestTime = latestTime;
|
|
5221
|
-
let origin_fileSize = fileSize;
|
|
5222
|
-
let folderELement = popsDOMUtils.createElement("tr");
|
|
5223
|
-
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5224
|
-
let fileType = "";
|
|
5225
|
-
let fileIcon = Folder_ICON.folder;
|
|
5226
|
-
if (isFolder) {
|
|
5227
|
-
/* 文件夹 */
|
|
5228
|
-
latestTime = "";
|
|
5229
|
-
fileSize = "";
|
|
5259
|
+
/* 存储原来的值 */
|
|
5260
|
+
let __value__ = {
|
|
5261
|
+
fileName: origin_fileName,
|
|
5262
|
+
latestTime: origin_latestTime,
|
|
5263
|
+
fileSize: origin_fileSize,
|
|
5264
|
+
isFolder: isFolder,
|
|
5265
|
+
};
|
|
5266
|
+
Reflect.set(fileNameElement, "__value__", __value__);
|
|
5267
|
+
Reflect.set(fileTimeElement, "__value__", __value__);
|
|
5268
|
+
Reflect.set(fileFormatSize, "__value__", __value__);
|
|
5269
|
+
Reflect.set(folderElement, "__value__", __value__);
|
|
5270
|
+
folderElement.appendChild(fileNameElement);
|
|
5271
|
+
folderElement.appendChild(fileTimeElement);
|
|
5272
|
+
folderElement.appendChild(fileFormatSize);
|
|
5273
|
+
return {
|
|
5274
|
+
folderElement,
|
|
5275
|
+
fileNameElement,
|
|
5276
|
+
fileTimeElement,
|
|
5277
|
+
fileFormatSize,
|
|
5278
|
+
};
|
|
5230
5279
|
}
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
|
|
5235
|
-
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
|
|
5240
|
-
|
|
5241
|
-
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5280
|
+
/**
|
|
5281
|
+
* 创建移动端文件夹元素
|
|
5282
|
+
* @param fileName 文件名
|
|
5283
|
+
* @param latestTime 创建时间
|
|
5284
|
+
* @param [fileSize="-"] 文件大小
|
|
5285
|
+
* @param isFolder 是否是文件夹
|
|
5286
|
+
*/
|
|
5287
|
+
createFolderRowElementByMobile(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5288
|
+
let origin_fileName = fileName;
|
|
5289
|
+
let origin_latestTime = latestTime;
|
|
5290
|
+
let origin_fileSize = fileSize;
|
|
5291
|
+
let folderElement = popsDOMUtils.createElement("tr");
|
|
5292
|
+
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5293
|
+
let fileType = "";
|
|
5294
|
+
let fileIcon = Folder_ICON.folder;
|
|
5295
|
+
if (isFolder) {
|
|
5296
|
+
/* 文件夹 */
|
|
5297
|
+
latestTime = "";
|
|
5298
|
+
fileSize = "";
|
|
5246
5299
|
}
|
|
5247
|
-
|
|
5248
|
-
|
|
5249
|
-
fileIcon =
|
|
5300
|
+
else {
|
|
5301
|
+
/* 文件 */
|
|
5302
|
+
fileIcon = "";
|
|
5303
|
+
if (typeof latestTime === "number") {
|
|
5304
|
+
latestTime = popsUtils.formatTime(latestTime);
|
|
5305
|
+
}
|
|
5306
|
+
if (typeof fileSize === "number") {
|
|
5307
|
+
fileSize = popsUtils.formatByteToSize(fileSize);
|
|
5308
|
+
}
|
|
5309
|
+
for (let keyName in Folder_ICON) {
|
|
5310
|
+
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5311
|
+
fileType = keyName;
|
|
5312
|
+
fileIcon = Folder_ICON[keyName];
|
|
5313
|
+
break;
|
|
5314
|
+
}
|
|
5315
|
+
}
|
|
5316
|
+
if (!Boolean(fileIcon)) {
|
|
5317
|
+
fileType = "Null";
|
|
5318
|
+
fileIcon = Folder_ICON.Null;
|
|
5319
|
+
}
|
|
5250
5320
|
}
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
/*html*/ `
|
|
5321
|
+
folderElement.className = "pops-folder-list-table__body-row";
|
|
5322
|
+
fileNameElement.className = "pops-folder-list-table__body-td";
|
|
5323
|
+
PopsSafeUtils.setSafeHTML(fileNameElement,
|
|
5324
|
+
/*html*/ `
|
|
5256
5325
|
<div class="pops-folder-list-file-name pops-mobile-folder-list-file-name cursor-p">
|
|
5257
5326
|
<img src="${fileIcon}" alt="${fileType}" class="pops-folder-list-file-icon u-file-icon u-file-icon--list">
|
|
5258
5327
|
<div>
|
|
@@ -5261,139 +5330,138 @@ define((function () { 'use strict';
|
|
|
5261
5330
|
</div>
|
|
5262
5331
|
</div>
|
|
5263
5332
|
`);
|
|
5264
|
-
|
|
5265
|
-
|
|
5266
|
-
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
|
|
5270
|
-
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
|
|
5277
|
-
|
|
5278
|
-
|
|
5279
|
-
|
|
5280
|
-
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5285
|
-
|
|
5286
|
-
|
|
5287
|
-
|
|
5288
|
-
|
|
5289
|
-
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
|
|
5293
|
-
|
|
5294
|
-
|
|
5295
|
-
|
|
5296
|
-
|
|
5297
|
-
|
|
5298
|
-
|
|
5299
|
-
|
|
5300
|
-
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
|
|
5304
|
-
|
|
5305
|
-
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
|
-
|
|
5310
|
-
|
|
5311
|
-
|
|
5312
|
-
|
|
5313
|
-
|
|
5314
|
-
|
|
5315
|
-
|
|
5316
|
-
|
|
5317
|
-
|
|
5318
|
-
|
|
5319
|
-
|
|
5320
|
-
|
|
5321
|
-
|
|
5322
|
-
|
|
5333
|
+
/* 存储原来的值 */
|
|
5334
|
+
let __value__ = {
|
|
5335
|
+
fileName: origin_fileName,
|
|
5336
|
+
latestTime: origin_latestTime,
|
|
5337
|
+
fileSize: origin_fileSize,
|
|
5338
|
+
isFolder: isFolder,
|
|
5339
|
+
};
|
|
5340
|
+
Reflect.set(fileNameElement, "__value__", __value__);
|
|
5341
|
+
Reflect.set(folderElement, "__value__", __value__);
|
|
5342
|
+
folderElement.appendChild(fileNameElement);
|
|
5343
|
+
return {
|
|
5344
|
+
folderElement,
|
|
5345
|
+
fileNameElement,
|
|
5346
|
+
};
|
|
5347
|
+
}
|
|
5348
|
+
/**
|
|
5349
|
+
* 清空文件夹信息页面
|
|
5350
|
+
*/
|
|
5351
|
+
clearFolderInfoView() {
|
|
5352
|
+
PopsSafeUtils.setSafeHTML(folderListBodyElement, "");
|
|
5353
|
+
}
|
|
5354
|
+
/**
|
|
5355
|
+
* 创建顶部导航的箭头图标
|
|
5356
|
+
*/
|
|
5357
|
+
createHeaderArrowIcon() {
|
|
5358
|
+
let $arrowIcon = popsDOMUtils.createElement("div", {
|
|
5359
|
+
className: "iconArrow",
|
|
5360
|
+
});
|
|
5361
|
+
return $arrowIcon;
|
|
5362
|
+
}
|
|
5363
|
+
/**
|
|
5364
|
+
* 添加顶部导航元素
|
|
5365
|
+
* @param folderName 文件夹名
|
|
5366
|
+
* @param folderDataConfig 文件夹配置
|
|
5367
|
+
*/
|
|
5368
|
+
createBreadcrumb(folderName, folderDataConfig) {
|
|
5369
|
+
let $breadcrumb = popsDOMUtils.createElement("span", {
|
|
5370
|
+
className: "pops-folder-file-list-breadcrumb-allFiles cursor-p",
|
|
5371
|
+
innerHTML: `<a>${folderName}</a>`,
|
|
5372
|
+
_config_: folderDataConfig,
|
|
5373
|
+
}, {
|
|
5374
|
+
title: folderName,
|
|
5375
|
+
});
|
|
5376
|
+
return $breadcrumb;
|
|
5377
|
+
}
|
|
5378
|
+
/**
|
|
5379
|
+
* 顶部导航的点击事件
|
|
5380
|
+
* @param clickEvent
|
|
5381
|
+
* @param isTop 是否是全部文件按钮
|
|
5382
|
+
* @param dataConfigList 配置
|
|
5383
|
+
*/
|
|
5384
|
+
setBreadcrumbClickEvent(clickEvent, isTop, dataConfigList) {
|
|
5385
|
+
this.clearFolderInfoView();
|
|
5386
|
+
/* 获取当前的导航元素 */
|
|
5387
|
+
let $click = clickEvent.target;
|
|
5388
|
+
let currentBreadcrumb = $click.closest("span.pops-folder-file-list-breadcrumb-allFiles");
|
|
5389
|
+
if (currentBreadcrumb) {
|
|
5390
|
+
while (currentBreadcrumb.nextElementSibling) {
|
|
5391
|
+
currentBreadcrumb.nextElementSibling.remove();
|
|
5392
|
+
}
|
|
5393
|
+
}
|
|
5394
|
+
else {
|
|
5395
|
+
console.error("获取导航按钮失败");
|
|
5323
5396
|
}
|
|
5397
|
+
let loadingMask = PopsLoading.init({
|
|
5398
|
+
parent: $content,
|
|
5399
|
+
content: {
|
|
5400
|
+
text: "获取文件列表中...",
|
|
5401
|
+
},
|
|
5402
|
+
mask: {
|
|
5403
|
+
enable: true,
|
|
5404
|
+
clickEvent: {
|
|
5405
|
+
toClose: false,
|
|
5406
|
+
toHide: false,
|
|
5407
|
+
},
|
|
5408
|
+
},
|
|
5409
|
+
addIndexCSS: false,
|
|
5410
|
+
});
|
|
5411
|
+
this.initFolderView(dataConfigList);
|
|
5412
|
+
loadingMask.close();
|
|
5324
5413
|
}
|
|
5325
|
-
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5414
|
+
/**
|
|
5415
|
+
* 文件夹的点击事件 - 进入文件夹
|
|
5416
|
+
*
|
|
5417
|
+
* 先情况页面元素
|
|
5418
|
+
* @param clickEvent
|
|
5419
|
+
* @param dataConfig
|
|
5420
|
+
*/
|
|
5421
|
+
async enterFolder(clickEvent, dataConfig) {
|
|
5422
|
+
this.clearFolderInfoView();
|
|
5423
|
+
let loadingMask = PopsLoading.init({
|
|
5424
|
+
parent: $content,
|
|
5425
|
+
content: {
|
|
5426
|
+
text: "获取文件列表中...",
|
|
5338
5427
|
},
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
loadingMask.close();
|
|
5344
|
-
}
|
|
5345
|
-
/**
|
|
5346
|
-
* 刷新文件列表界面信息
|
|
5347
|
-
* @param event
|
|
5348
|
-
* @param folderDataConfig
|
|
5349
|
-
*/
|
|
5350
|
-
async function refreshFolderInfoClickEvent(event, folderDataConfig) {
|
|
5351
|
-
clearFolderRow();
|
|
5352
|
-
let loadingMask = PopsLoading.init({
|
|
5353
|
-
parent: $content,
|
|
5354
|
-
content: {
|
|
5355
|
-
text: "获取文件列表中...",
|
|
5356
|
-
},
|
|
5357
|
-
mask: {
|
|
5358
|
-
enable: true,
|
|
5359
|
-
},
|
|
5360
|
-
addIndexCSS: false,
|
|
5361
|
-
});
|
|
5362
|
-
if (typeof folderDataConfig.clickEvent === "function") {
|
|
5363
|
-
let childConfig = await folderDataConfig.clickEvent(event, folderDataConfig);
|
|
5364
|
-
/* 添加顶部导航的箭头 */
|
|
5365
|
-
folderFileListBreadcrumbPrimaryElement.appendChild(createHeaderArrowIcon());
|
|
5366
|
-
/* 添加顶部导航的链接文字 */
|
|
5367
|
-
let breadcrumbAllFilesElement = createHeaderFileLinkNavgiation(folderDataConfig.fileName, childConfig);
|
|
5368
|
-
folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);
|
|
5369
|
-
/* 设置顶部导航点击事件 */
|
|
5370
|
-
popsDOMUtils.on(breadcrumbAllFilesElement, "click", function (event) {
|
|
5371
|
-
breadcrumbAllFilesElementClickEvent(event, false, childConfig);
|
|
5428
|
+
mask: {
|
|
5429
|
+
enable: true,
|
|
5430
|
+
},
|
|
5431
|
+
addIndexCSS: false,
|
|
5372
5432
|
});
|
|
5373
|
-
|
|
5433
|
+
if (typeof dataConfig.clickEvent === "function") {
|
|
5434
|
+
let childConfig = await dataConfig.clickEvent(clickEvent, dataConfig);
|
|
5435
|
+
/* 添加顶部导航的箭头 */
|
|
5436
|
+
folderFileListBreadcrumbPrimaryElement.appendChild(this.createHeaderArrowIcon());
|
|
5437
|
+
/* 添加顶部导航的链接文字 */
|
|
5438
|
+
let breadcrumbAllFilesElement = this.createBreadcrumb(dataConfig.fileName, childConfig);
|
|
5439
|
+
folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);
|
|
5440
|
+
/* 设置顶部导航点击事件 */
|
|
5441
|
+
popsDOMUtils.on(breadcrumbAllFilesElement, "click", (event) => {
|
|
5442
|
+
this.setBreadcrumbClickEvent(event, false, childConfig);
|
|
5443
|
+
});
|
|
5444
|
+
this.initFolderView(childConfig);
|
|
5445
|
+
}
|
|
5446
|
+
loadingMask.close();
|
|
5374
5447
|
}
|
|
5375
|
-
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
|
|
5383
|
-
|
|
5384
|
-
|
|
5385
|
-
event?.stopPropagation();
|
|
5386
|
-
event?.stopImmediatePropagation();
|
|
5387
|
-
let linkElement = targetElement.querySelector("a");
|
|
5388
|
-
if (typeof _config_.clickEvent === "function") {
|
|
5389
|
-
let downloadInfo = await _config_.clickEvent(event, _config_);
|
|
5448
|
+
/**
|
|
5449
|
+
* 文件的点击事件 - 下载文件
|
|
5450
|
+
* @param $target
|
|
5451
|
+
* @param dataConfig
|
|
5452
|
+
*/
|
|
5453
|
+
async downloadFile(clickEvent, $row, dataConfig) {
|
|
5454
|
+
popsDOMUtils.preventEvent(clickEvent);
|
|
5455
|
+
let $link = $row.querySelector("a");
|
|
5456
|
+
if (typeof dataConfig.clickEvent === "function") {
|
|
5457
|
+
let downloadInfo = await dataConfig.clickEvent(clickEvent, dataConfig);
|
|
5390
5458
|
if (downloadInfo != null &&
|
|
5391
5459
|
typeof downloadInfo === "object" &&
|
|
5392
5460
|
!Array.isArray(downloadInfo) &&
|
|
5393
5461
|
typeof downloadInfo.url === "string" &&
|
|
5394
5462
|
downloadInfo.url.trim() !== "") {
|
|
5395
|
-
|
|
5396
|
-
|
|
5463
|
+
$link.setAttribute("href", downloadInfo.url);
|
|
5464
|
+
$link.setAttribute("target", "_blank");
|
|
5397
5465
|
if (downloadInfo.autoDownload) {
|
|
5398
5466
|
if (downloadInfo.mode == null || downloadInfo.mode === "") {
|
|
5399
5467
|
/* 未设置mode的话默认为aBlank */
|
|
@@ -5437,215 +5505,190 @@ define((function () { 'use strict';
|
|
|
5437
5505
|
}
|
|
5438
5506
|
}
|
|
5439
5507
|
}
|
|
5440
|
-
}
|
|
5441
|
-
|
|
5442
|
-
|
|
5443
|
-
|
|
5444
|
-
|
|
5445
|
-
|
|
5446
|
-
|
|
5447
|
-
|
|
5448
|
-
|
|
5449
|
-
|
|
5450
|
-
|
|
5451
|
-
|
|
5452
|
-
|
|
5453
|
-
|
|
5454
|
-
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5508
|
+
}
|
|
5509
|
+
/**
|
|
5510
|
+
* 对配置进行排序
|
|
5511
|
+
* @param folderDataConfigList
|
|
5512
|
+
* @param sortName 比较的属性,默认fileName
|
|
5513
|
+
* @param isDesc 是否降序,默认false(升序)
|
|
5514
|
+
*/
|
|
5515
|
+
sortFolderConfig(folderDataConfigList, sortName = "fileName", isDesc = false) {
|
|
5516
|
+
if (sortName === "fileName") {
|
|
5517
|
+
// 如果是以文件名排序,文件夹优先放前面
|
|
5518
|
+
let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {
|
|
5519
|
+
return value.isFolder;
|
|
5520
|
+
});
|
|
5521
|
+
let onlyFileDataConfigList = folderDataConfigList.filter((value) => {
|
|
5522
|
+
return !value.isFolder;
|
|
5523
|
+
});
|
|
5524
|
+
// 文件夹排序
|
|
5525
|
+
onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5526
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
5527
|
+
let afterVal = rightConfig[sortName].toString();
|
|
5528
|
+
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5529
|
+
if (isDesc) {
|
|
5530
|
+
/* 降序 */
|
|
5531
|
+
if (compareVal > 0) {
|
|
5532
|
+
compareVal = -1;
|
|
5533
|
+
}
|
|
5534
|
+
else if (compareVal < 0) {
|
|
5535
|
+
compareVal = 1;
|
|
5536
|
+
}
|
|
5466
5537
|
}
|
|
5467
|
-
|
|
5468
|
-
|
|
5538
|
+
return compareVal;
|
|
5539
|
+
});
|
|
5540
|
+
// 文件名排序
|
|
5541
|
+
onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5542
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
5543
|
+
let afterVal = rightConfig[sortName].toString();
|
|
5544
|
+
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5545
|
+
if (isDesc) {
|
|
5546
|
+
/* 降序 */
|
|
5547
|
+
if (compareVal > 0) {
|
|
5548
|
+
compareVal = -1;
|
|
5549
|
+
}
|
|
5550
|
+
else if (compareVal < 0) {
|
|
5551
|
+
compareVal = 1;
|
|
5552
|
+
}
|
|
5469
5553
|
}
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
});
|
|
5473
|
-
// 文件名排序
|
|
5474
|
-
onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5475
|
-
let beforeVal = leftConfig[sortName].toString();
|
|
5476
|
-
let afterVal = rightConfig[sortName].toString();
|
|
5477
|
-
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5554
|
+
return compareVal;
|
|
5555
|
+
});
|
|
5478
5556
|
if (isDesc) {
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
}
|
|
5557
|
+
// 降序,文件夹在下面
|
|
5558
|
+
return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
|
|
5559
|
+
}
|
|
5560
|
+
else {
|
|
5561
|
+
// 升序,文件夹在上面
|
|
5562
|
+
return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];
|
|
5486
5563
|
}
|
|
5487
|
-
return compareVal;
|
|
5488
|
-
});
|
|
5489
|
-
if (isDesc) {
|
|
5490
|
-
// 降序,文件夹在下面
|
|
5491
|
-
return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
|
|
5492
5564
|
}
|
|
5493
5565
|
else {
|
|
5494
|
-
|
|
5495
|
-
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
|
|
5499
|
-
|
|
5500
|
-
|
|
5501
|
-
let afterVal = afterConfig[sortName];
|
|
5502
|
-
if (sortName === "fileSize") {
|
|
5503
|
-
/* 文件大小,进行Float转换 */
|
|
5504
|
-
beforeVal = parseFloat(beforeVal.toString());
|
|
5505
|
-
afterVal = parseFloat(afterVal.toString());
|
|
5506
|
-
}
|
|
5507
|
-
else if (sortName === "latestTime") {
|
|
5508
|
-
/* 文件时间 */
|
|
5509
|
-
beforeVal = new Date(beforeVal).getTime();
|
|
5510
|
-
afterVal = new Date(afterVal).getTime();
|
|
5511
|
-
}
|
|
5512
|
-
if (beforeVal > afterVal) {
|
|
5513
|
-
if (isDesc) {
|
|
5514
|
-
/* 降序 */
|
|
5515
|
-
return -1;
|
|
5566
|
+
folderDataConfigList.sort((beforeConfig, afterConfig) => {
|
|
5567
|
+
let beforeVal = beforeConfig[sortName];
|
|
5568
|
+
let afterVal = afterConfig[sortName];
|
|
5569
|
+
if (sortName === "fileSize") {
|
|
5570
|
+
/* 文件大小,进行Float转换 */
|
|
5571
|
+
beforeVal = parseFloat(beforeVal.toString());
|
|
5572
|
+
afterVal = parseFloat(afterVal.toString());
|
|
5516
5573
|
}
|
|
5517
|
-
else {
|
|
5518
|
-
|
|
5574
|
+
else if (sortName === "latestTime") {
|
|
5575
|
+
/* 文件时间 */
|
|
5576
|
+
beforeVal = new Date(beforeVal).getTime();
|
|
5577
|
+
afterVal = new Date(afterVal).getTime();
|
|
5519
5578
|
}
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5524
|
-
|
|
5579
|
+
if (beforeVal > afterVal) {
|
|
5580
|
+
if (isDesc) {
|
|
5581
|
+
/* 降序 */
|
|
5582
|
+
return -1;
|
|
5583
|
+
}
|
|
5584
|
+
else {
|
|
5585
|
+
return 1;
|
|
5586
|
+
}
|
|
5587
|
+
}
|
|
5588
|
+
else if (beforeVal < afterVal) {
|
|
5589
|
+
if (isDesc) {
|
|
5590
|
+
/* 降序 */
|
|
5591
|
+
return 1;
|
|
5592
|
+
}
|
|
5593
|
+
else {
|
|
5594
|
+
return -1;
|
|
5595
|
+
}
|
|
5525
5596
|
}
|
|
5526
5597
|
else {
|
|
5527
|
-
return
|
|
5598
|
+
return 0;
|
|
5528
5599
|
}
|
|
5600
|
+
});
|
|
5601
|
+
return folderDataConfigList;
|
|
5602
|
+
}
|
|
5603
|
+
}
|
|
5604
|
+
/**
|
|
5605
|
+
* 添加文件夹/文件行元素
|
|
5606
|
+
* @param dataConfig 配置
|
|
5607
|
+
*/
|
|
5608
|
+
initFolderView(dataConfig) {
|
|
5609
|
+
// 先对文件夹、文件进行排序
|
|
5610
|
+
this.sortFolderConfig(dataConfig, config.sort.name, config.sort.isDesc);
|
|
5611
|
+
dataConfig.forEach((item) => {
|
|
5612
|
+
if (item.isFolder) {
|
|
5613
|
+
let { folderElement, fileNameElement } = popsUtils.isPhone()
|
|
5614
|
+
? this.createFolderRowElementByMobile(item.fileName, "", "", true)
|
|
5615
|
+
: this.createFolderRowElement(item.fileName, "", "", true);
|
|
5616
|
+
// 文件夹 - 点击事件
|
|
5617
|
+
popsDOMUtils.on(fileNameElement, "click", (event) => {
|
|
5618
|
+
// 进入文件夹
|
|
5619
|
+
this.enterFolder(event, item);
|
|
5620
|
+
});
|
|
5621
|
+
folderListBodyElement.appendChild(folderElement);
|
|
5529
5622
|
}
|
|
5530
5623
|
else {
|
|
5531
|
-
|
|
5624
|
+
let { folderElement, fileNameElement } = popsUtils.isPhone()
|
|
5625
|
+
? this.createFolderRowElementByMobile(item.fileName, item.latestTime, item.fileSize, false)
|
|
5626
|
+
: this.createFolderRowElement(item.fileName, item.latestTime, item.fileSize, false);
|
|
5627
|
+
// 文件 - 点击事件
|
|
5628
|
+
popsDOMUtils.on(fileNameElement, "click", (event) => {
|
|
5629
|
+
// 下载文件
|
|
5630
|
+
this.downloadFile(event, fileNameElement, item);
|
|
5631
|
+
});
|
|
5632
|
+
folderListBodyElement.appendChild(folderElement);
|
|
5532
5633
|
}
|
|
5533
5634
|
});
|
|
5534
|
-
return folderDataConfigList;
|
|
5535
5635
|
}
|
|
5536
|
-
|
|
5537
|
-
|
|
5538
|
-
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5636
|
+
/**
|
|
5637
|
+
* 移除所有箭头的被访问状态
|
|
5638
|
+
*/
|
|
5639
|
+
removeArrowActiveStatus() {
|
|
5640
|
+
[
|
|
5641
|
+
...Array.from(folderListSortFileNameElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5642
|
+
...Array.from(folderListSortLatestTimeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5643
|
+
...Array.from(folderListSortFileSizeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5644
|
+
].forEach((ele) => ele.classList.remove("pops-folder-icon-active"));
|
|
5645
|
+
}
|
|
5646
|
+
/**
|
|
5647
|
+
* 修改导航箭头的状态
|
|
5648
|
+
*/
|
|
5649
|
+
changeArrowActive(arrowUp, arrowDown, isDesc) {
|
|
5650
|
+
this.removeArrowActiveStatus();
|
|
5651
|
+
if (isDesc) {
|
|
5652
|
+
arrowDown.classList.add("pops-folder-icon-active");
|
|
5552
5653
|
}
|
|
5553
5654
|
else {
|
|
5554
|
-
|
|
5555
|
-
? createMobileFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false)
|
|
5556
|
-
: createFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false);
|
|
5557
|
-
setFileClickEvent(fileNameElement, item);
|
|
5558
|
-
folderListBodyElement.appendChild(folderELement);
|
|
5655
|
+
arrowUp.classList.add("pops-folder-icon-active");
|
|
5559
5656
|
}
|
|
5560
|
-
});
|
|
5561
|
-
}
|
|
5562
|
-
addFolderElement(config.folder);
|
|
5563
|
-
/* 将数据存到全部文件的属性_config_中 */
|
|
5564
|
-
let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child");
|
|
5565
|
-
allFilesElement._config_ = config.folder;
|
|
5566
|
-
/* 设置点击顶部的全部文件事件 */
|
|
5567
|
-
popsDOMUtils.on(allFilesElement, "click", (event) => {
|
|
5568
|
-
breadcrumbAllFilesElementClickEvent(event, true, config.folder);
|
|
5569
|
-
});
|
|
5570
|
-
/* 移除所有的当前排序的arrow */
|
|
5571
|
-
function removeAllArrowActive() {
|
|
5572
|
-
[
|
|
5573
|
-
...Array.from(folderListSortFileNameElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5574
|
-
...Array.from(folderListSortLatestTimeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5575
|
-
...Array.from(folderListSortFileSizeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5576
|
-
].forEach((ele) => ele.classList.remove("pops-folder-icon-active"));
|
|
5577
|
-
}
|
|
5578
|
-
/* 设置当前的排序的arrow */
|
|
5579
|
-
function changeArrowActive(arrowUp, arrowDown, isDesc) {
|
|
5580
|
-
removeAllArrowActive();
|
|
5581
|
-
if (isDesc) {
|
|
5582
|
-
arrowDown.classList.add("pops-folder-icon-active");
|
|
5583
5657
|
}
|
|
5584
|
-
|
|
5585
|
-
|
|
5586
|
-
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5590
|
-
|
|
5591
|
-
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
|
|
5603
|
-
|
|
5604
|
-
|
|
5658
|
+
/**
|
|
5659
|
+
* 排序按钮的点击事件
|
|
5660
|
+
* @param target
|
|
5661
|
+
* @param event
|
|
5662
|
+
* @param sortName
|
|
5663
|
+
*/
|
|
5664
|
+
arrowToSortFolderInfoView(target, event, sortName) {
|
|
5665
|
+
const notChangeSortRule = Reflect.get(event, "notChangeSortRule");
|
|
5666
|
+
if (!notChangeSortRule) {
|
|
5667
|
+
config.sort.name = sortName;
|
|
5668
|
+
config.sort.isDesc = !config.sort.isDesc;
|
|
5669
|
+
}
|
|
5670
|
+
let arrowUp = target.querySelector(".pops-folder-icon-arrow-up");
|
|
5671
|
+
let arrowDown = target.querySelector(".pops-folder-icon-arrow-down");
|
|
5672
|
+
this.changeArrowActive(arrowUp, arrowDown, config.sort.isDesc);
|
|
5673
|
+
if (typeof config.sort.callback === "function" &&
|
|
5674
|
+
config.sort.callback(target, event, config.sort.name, config.sort.isDesc)) {
|
|
5675
|
+
return;
|
|
5676
|
+
}
|
|
5677
|
+
let childrenList = [];
|
|
5678
|
+
Array.from(folderListBodyElement.children).forEach((trElement) => {
|
|
5679
|
+
let __value__ = Reflect.get(trElement, "__value__");
|
|
5680
|
+
Reflect.set(__value__, "target", trElement);
|
|
5681
|
+
childrenList.push(__value__);
|
|
5682
|
+
});
|
|
5683
|
+
let sortedConfigList = this.sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);
|
|
5684
|
+
sortedConfigList.forEach((item) => {
|
|
5685
|
+
folderListBodyElement.appendChild(item.target);
|
|
5686
|
+
});
|
|
5605
5687
|
}
|
|
5606
|
-
let childrenList = [];
|
|
5607
|
-
Array.from(folderListBodyElement.children).forEach((trElement) => {
|
|
5608
|
-
let __value__ = trElement["__value__"];
|
|
5609
|
-
__value__["target"] = trElement;
|
|
5610
|
-
childrenList.push(__value__);
|
|
5611
|
-
});
|
|
5612
|
-
let sortedConfigList = sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);
|
|
5613
|
-
sortedConfigList.forEach((item) => {
|
|
5614
|
-
folderListBodyElement.appendChild(item.target);
|
|
5615
|
-
});
|
|
5616
|
-
}
|
|
5617
|
-
/* 设置当前排序的图标按钮 */
|
|
5618
|
-
popsDOMUtils.on(folderListSortFileNameElement.closest("th"), "click", function (event) {
|
|
5619
|
-
arrowSortClickEvent(folderListSortFileNameElement, event, "fileName");
|
|
5620
|
-
}, {
|
|
5621
|
-
capture: true,
|
|
5622
|
-
});
|
|
5623
|
-
popsDOMUtils.on(folderListSortLatestTimeElement.closest("th"), "click", void 0, function (event) {
|
|
5624
|
-
arrowSortClickEvent(folderListSortLatestTimeElement, event, "latestTime");
|
|
5625
|
-
}, {
|
|
5626
|
-
capture: true,
|
|
5627
|
-
});
|
|
5628
|
-
popsDOMUtils.on(folderListSortFileSizeElement.closest("th"), "click", void 0, function (event) {
|
|
5629
|
-
arrowSortClickEvent(folderListSortFileSizeElement, event, "fileSize");
|
|
5630
|
-
}, {
|
|
5631
|
-
capture: true,
|
|
5632
|
-
});
|
|
5633
|
-
/* 设置默认触发的arrow */
|
|
5634
|
-
if (config.sort.name === "fileName") {
|
|
5635
|
-
popsDOMUtils.trigger(folderListSortFileNameElement, "click", {
|
|
5636
|
-
notChangeSortRule: true,
|
|
5637
|
-
});
|
|
5638
|
-
}
|
|
5639
|
-
else if (config.sort.name === "latestTime") {
|
|
5640
|
-
popsDOMUtils.trigger(folderListSortLatestTimeElement, "click", {
|
|
5641
|
-
notChangeSortRule: true,
|
|
5642
|
-
});
|
|
5643
|
-
}
|
|
5644
|
-
else if (config.sort.name === "fileSize") {
|
|
5645
|
-
popsDOMUtils.trigger(folderListSortFileSizeElement, "click", {
|
|
5646
|
-
notChangeSortRule: true,
|
|
5647
|
-
});
|
|
5648
5688
|
}
|
|
5689
|
+
const popsFolder = new PopsFolder();
|
|
5690
|
+
popsFolder.init();
|
|
5691
|
+
Reflect.set($pops, "data-pops-folder", popsFolder);
|
|
5649
5692
|
/* 拖拽 */
|
|
5650
5693
|
if (config.drag) {
|
|
5651
5694
|
PopsInstanceUtils.drag($pops, {
|
|
@@ -11602,7 +11645,7 @@ define((function () { 'use strict';
|
|
|
11602
11645
|
/** 配置 */
|
|
11603
11646
|
config = {
|
|
11604
11647
|
/** 版本号 */
|
|
11605
|
-
version: "2025.8.
|
|
11648
|
+
version: "2025.8.30",
|
|
11606
11649
|
cssText: PopsCSS,
|
|
11607
11650
|
/** icon图标的svg代码 */
|
|
11608
11651
|
iconSVG: PopsIcon.$data,
|