@whitesev/pops 2.3.6 → 2.3.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/index.amd.js +454 -430
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +454 -430
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +454 -430
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +454 -430
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +454 -430
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +454 -430
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1152,6 +1152,7 @@ class PopsDOMUtilsEvent {
|
|
|
1152
1152
|
* })
|
|
1153
1153
|
*/
|
|
1154
1154
|
ready(callback) {
|
|
1155
|
+
const that = this;
|
|
1155
1156
|
if (typeof callback !== "function") {
|
|
1156
1157
|
return;
|
|
1157
1158
|
}
|
|
@@ -1197,7 +1198,7 @@ class PopsDOMUtilsEvent {
|
|
|
1197
1198
|
function addDomReadyListener() {
|
|
1198
1199
|
for (let index = 0; index < targetList.length; index++) {
|
|
1199
1200
|
let item = targetList[index];
|
|
1200
|
-
item.target
|
|
1201
|
+
that.on(item.target, item.eventType, item.callback);
|
|
1201
1202
|
}
|
|
1202
1203
|
}
|
|
1203
1204
|
/**
|
|
@@ -1206,7 +1207,7 @@ class PopsDOMUtilsEvent {
|
|
|
1206
1207
|
function removeDomReadyListener() {
|
|
1207
1208
|
for (let index = 0; index < targetList.length; index++) {
|
|
1208
1209
|
let item = targetList[index];
|
|
1209
|
-
item.target
|
|
1210
|
+
that.off(item.target, item.eventType, item.callback);
|
|
1210
1211
|
}
|
|
1211
1212
|
}
|
|
1212
1213
|
if (checkDOMReadyState()) {
|
|
@@ -1488,9 +1489,7 @@ class PopsDOMUtilsEvent {
|
|
|
1488
1489
|
eventNameList = [eventNameList];
|
|
1489
1490
|
}
|
|
1490
1491
|
eventNameList.forEach((eventName) => {
|
|
1491
|
-
|
|
1492
|
-
capture: Boolean(capture),
|
|
1493
|
-
});
|
|
1492
|
+
this.on(element, eventName, stopEvent, { capture: Boolean(capture) });
|
|
1494
1493
|
});
|
|
1495
1494
|
}
|
|
1496
1495
|
}
|
|
@@ -5139,57 +5138,101 @@ const PopsFolder = {
|
|
|
5139
5138
|
if ($mask != null) {
|
|
5140
5139
|
$anim.after($mask);
|
|
5141
5140
|
}
|
|
5142
|
-
|
|
5143
|
-
|
|
5144
|
-
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
|
|
5160
|
-
|
|
5161
|
-
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
if (
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
|
-
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5177
|
-
fileType = keyName;
|
|
5178
|
-
fileIcon = Folder_ICON[keyName];
|
|
5179
|
-
break;
|
|
5180
|
-
}
|
|
5141
|
+
class PopsFolder {
|
|
5142
|
+
init() {
|
|
5143
|
+
config.folder.sort();
|
|
5144
|
+
this.initFolderView(config.folder);
|
|
5145
|
+
/* 将数据存到全部文件的属性_config_中 */
|
|
5146
|
+
let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child");
|
|
5147
|
+
Reflect.set(allFilesElement, "_config_", config.folder);
|
|
5148
|
+
/* 设置点击顶部的全部文件事件 */
|
|
5149
|
+
popsDOMUtils.on(allFilesElement, "click", (event) => {
|
|
5150
|
+
this.setBreadcrumbClickEvent(event, true, config.folder);
|
|
5151
|
+
});
|
|
5152
|
+
// 文件名的点击排序
|
|
5153
|
+
popsDOMUtils.on(folderListSortFileNameElement.closest("th"), "click", (event) => {
|
|
5154
|
+
this.arrowToSortFolderInfoView(folderListSortFileNameElement, event, "fileName");
|
|
5155
|
+
}, {
|
|
5156
|
+
capture: true,
|
|
5157
|
+
});
|
|
5158
|
+
// 修改事件的点击排序
|
|
5159
|
+
popsDOMUtils.on(folderListSortLatestTimeElement.closest("th"), "click", (event) => {
|
|
5160
|
+
this.arrowToSortFolderInfoView(folderListSortLatestTimeElement, event, "latestTime");
|
|
5161
|
+
}, {
|
|
5162
|
+
capture: true,
|
|
5163
|
+
});
|
|
5164
|
+
// 文件大小的点击排序
|
|
5165
|
+
popsDOMUtils.on(folderListSortFileSizeElement.closest("th"), "click", (event) => {
|
|
5166
|
+
this.arrowToSortFolderInfoView(folderListSortFileSizeElement, event, "fileSize");
|
|
5167
|
+
}, {
|
|
5168
|
+
capture: true,
|
|
5169
|
+
});
|
|
5170
|
+
/* 设置默认触发的arrow */
|
|
5171
|
+
if (config.sort.name === "fileName") {
|
|
5172
|
+
popsDOMUtils.trigger(folderListSortFileNameElement, "click", {
|
|
5173
|
+
notChangeSortRule: true,
|
|
5174
|
+
});
|
|
5181
5175
|
}
|
|
5182
|
-
if (
|
|
5183
|
-
|
|
5184
|
-
|
|
5176
|
+
else if (config.sort.name === "latestTime") {
|
|
5177
|
+
popsDOMUtils.trigger(folderListSortLatestTimeElement, "click", {
|
|
5178
|
+
notChangeSortRule: true,
|
|
5179
|
+
});
|
|
5180
|
+
}
|
|
5181
|
+
else if (config.sort.name === "fileSize") {
|
|
5182
|
+
popsDOMUtils.trigger(folderListSortFileSizeElement, "click", {
|
|
5183
|
+
notChangeSortRule: true,
|
|
5184
|
+
});
|
|
5185
5185
|
}
|
|
5186
5186
|
}
|
|
5187
|
-
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
|
|
5191
|
-
|
|
5192
|
-
|
|
5187
|
+
/**
|
|
5188
|
+
* 创建文件夹元素
|
|
5189
|
+
* @param fileName 文件名
|
|
5190
|
+
* @param latestTime 修改时间
|
|
5191
|
+
* @param [fileSize="-"] 文件大小
|
|
5192
|
+
* @param isFolder 是否是文件夹
|
|
5193
|
+
*/
|
|
5194
|
+
createFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5195
|
+
let origin_fileName = fileName;
|
|
5196
|
+
let origin_latestTime = latestTime;
|
|
5197
|
+
let origin_fileSize = fileSize;
|
|
5198
|
+
let folderElement = popsDOMUtils.createElement("tr");
|
|
5199
|
+
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5200
|
+
let fileTimeElement = popsDOMUtils.createElement("td");
|
|
5201
|
+
let fileFormatSize = popsDOMUtils.createElement("td");
|
|
5202
|
+
let fileType = "";
|
|
5203
|
+
let fileIcon = Folder_ICON.folder;
|
|
5204
|
+
if (isFolder) {
|
|
5205
|
+
/* 文件夹 */
|
|
5206
|
+
latestTime = "";
|
|
5207
|
+
fileSize = "";
|
|
5208
|
+
}
|
|
5209
|
+
else {
|
|
5210
|
+
/* 文件 */
|
|
5211
|
+
fileIcon = "";
|
|
5212
|
+
if (typeof latestTime === "number") {
|
|
5213
|
+
latestTime = popsUtils.formatTime(latestTime);
|
|
5214
|
+
}
|
|
5215
|
+
if (typeof fileSize === "number") {
|
|
5216
|
+
fileSize = popsUtils.formatByteToSize(fileSize);
|
|
5217
|
+
}
|
|
5218
|
+
for (let keyName in Folder_ICON) {
|
|
5219
|
+
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5220
|
+
fileType = keyName;
|
|
5221
|
+
fileIcon = Folder_ICON[keyName];
|
|
5222
|
+
break;
|
|
5223
|
+
}
|
|
5224
|
+
}
|
|
5225
|
+
if (!Boolean(fileIcon)) {
|
|
5226
|
+
fileType = "Null";
|
|
5227
|
+
fileIcon = Folder_ICON.Null;
|
|
5228
|
+
}
|
|
5229
|
+
}
|
|
5230
|
+
folderElement.className = "pops-folder-list-table__body-row";
|
|
5231
|
+
fileNameElement.className = "pops-folder-list-table__body-td";
|
|
5232
|
+
fileTimeElement.className = "pops-folder-list-table__body-td";
|
|
5233
|
+
fileFormatSize.className = "pops-folder-list-table__body-td";
|
|
5234
|
+
PopsSafeUtils.setSafeHTML(fileNameElement,
|
|
5235
|
+
/*html*/ `
|
|
5193
5236
|
<div class="pops-folder-list-file-name cursor-p">
|
|
5194
5237
|
<div>
|
|
5195
5238
|
<img src="${fileIcon}" alt="${fileType}" class="pops-folder-list-file-icon u-file-icon u-file-icon--list">
|
|
@@ -5199,80 +5242,84 @@ const PopsFolder = {
|
|
|
5199
5242
|
</div>
|
|
5200
5243
|
</div>
|
|
5201
5244
|
`);
|
|
5202
|
-
|
|
5203
|
-
|
|
5245
|
+
PopsSafeUtils.setSafeHTML(fileTimeElement,
|
|
5246
|
+
/*html*/ `
|
|
5204
5247
|
<div class="pops-folder-list__time">
|
|
5205
5248
|
<span>${latestTime}</span>
|
|
5206
5249
|
</div>
|
|
5207
5250
|
`);
|
|
5208
|
-
|
|
5209
|
-
|
|
5251
|
+
PopsSafeUtils.setSafeHTML(fileFormatSize,
|
|
5252
|
+
/*html*/ `
|
|
5210
5253
|
<div class="pops-folder-list-format-size">
|
|
5211
5254
|
<span>${fileSize}</span>
|
|
5212
5255
|
</div>
|
|
5213
5256
|
`);
|
|
5214
|
-
|
|
5215
|
-
|
|
5216
|
-
|
|
5217
|
-
|
|
5218
|
-
|
|
5219
|
-
|
|
5220
|
-
|
|
5221
|
-
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
|
|
5227
|
-
|
|
5228
|
-
|
|
5229
|
-
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5233
|
-
|
|
5234
|
-
}
|
|
5235
|
-
/**
|
|
5236
|
-
* 创建移动端文件夹元素
|
|
5237
|
-
*/
|
|
5238
|
-
function createMobileFolderRowElement(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5239
|
-
let origin_fileName = fileName;
|
|
5240
|
-
let origin_latestTime = latestTime;
|
|
5241
|
-
let origin_fileSize = fileSize;
|
|
5242
|
-
let folderELement = popsDOMUtils.createElement("tr");
|
|
5243
|
-
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5244
|
-
let fileType = "";
|
|
5245
|
-
let fileIcon = Folder_ICON.folder;
|
|
5246
|
-
if (isFolder) {
|
|
5247
|
-
/* 文件夹 */
|
|
5248
|
-
latestTime = "";
|
|
5249
|
-
fileSize = "";
|
|
5257
|
+
/* 存储原来的值 */
|
|
5258
|
+
let __value__ = {
|
|
5259
|
+
fileName: origin_fileName,
|
|
5260
|
+
latestTime: origin_latestTime,
|
|
5261
|
+
fileSize: origin_fileSize,
|
|
5262
|
+
isFolder: isFolder,
|
|
5263
|
+
};
|
|
5264
|
+
Reflect.set(fileNameElement, "__value__", __value__);
|
|
5265
|
+
Reflect.set(fileTimeElement, "__value__", __value__);
|
|
5266
|
+
Reflect.set(fileFormatSize, "__value__", __value__);
|
|
5267
|
+
Reflect.set(folderElement, "__value__", __value__);
|
|
5268
|
+
folderElement.appendChild(fileNameElement);
|
|
5269
|
+
folderElement.appendChild(fileTimeElement);
|
|
5270
|
+
folderElement.appendChild(fileFormatSize);
|
|
5271
|
+
return {
|
|
5272
|
+
folderElement,
|
|
5273
|
+
fileNameElement,
|
|
5274
|
+
fileTimeElement,
|
|
5275
|
+
fileFormatSize,
|
|
5276
|
+
};
|
|
5250
5277
|
}
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
|
|
5278
|
+
/**
|
|
5279
|
+
* 创建移动端文件夹元素
|
|
5280
|
+
* @param fileName 文件名
|
|
5281
|
+
* @param latestTime 创建时间
|
|
5282
|
+
* @param [fileSize="-"] 文件大小
|
|
5283
|
+
* @param isFolder 是否是文件夹
|
|
5284
|
+
*/
|
|
5285
|
+
createFolderRowElementByMobile(fileName, latestTime = "-", fileSize = "-", isFolder = false) {
|
|
5286
|
+
let origin_fileName = fileName;
|
|
5287
|
+
let origin_latestTime = latestTime;
|
|
5288
|
+
let origin_fileSize = fileSize;
|
|
5289
|
+
let folderElement = popsDOMUtils.createElement("tr");
|
|
5290
|
+
let fileNameElement = popsDOMUtils.createElement("td");
|
|
5291
|
+
let fileType = "";
|
|
5292
|
+
let fileIcon = Folder_ICON.folder;
|
|
5293
|
+
if (isFolder) {
|
|
5294
|
+
/* 文件夹 */
|
|
5295
|
+
latestTime = "";
|
|
5296
|
+
fileSize = "";
|
|
5266
5297
|
}
|
|
5267
|
-
|
|
5268
|
-
|
|
5269
|
-
fileIcon =
|
|
5298
|
+
else {
|
|
5299
|
+
/* 文件 */
|
|
5300
|
+
fileIcon = "";
|
|
5301
|
+
if (typeof latestTime === "number") {
|
|
5302
|
+
latestTime = popsUtils.formatTime(latestTime);
|
|
5303
|
+
}
|
|
5304
|
+
if (typeof fileSize === "number") {
|
|
5305
|
+
fileSize = popsUtils.formatByteToSize(fileSize);
|
|
5306
|
+
}
|
|
5307
|
+
for (let keyName in Folder_ICON) {
|
|
5308
|
+
if (fileName.toLowerCase().endsWith("." + keyName)) {
|
|
5309
|
+
fileType = keyName;
|
|
5310
|
+
fileIcon = Folder_ICON[keyName];
|
|
5311
|
+
break;
|
|
5312
|
+
}
|
|
5313
|
+
}
|
|
5314
|
+
if (!Boolean(fileIcon)) {
|
|
5315
|
+
fileType = "Null";
|
|
5316
|
+
fileIcon = Folder_ICON.Null;
|
|
5317
|
+
}
|
|
5270
5318
|
}
|
|
5271
|
-
|
|
5272
|
-
|
|
5273
|
-
|
|
5274
|
-
|
|
5275
|
-
/*html*/ `
|
|
5319
|
+
folderElement.className = "pops-folder-list-table__body-row";
|
|
5320
|
+
fileNameElement.className = "pops-folder-list-table__body-td";
|
|
5321
|
+
PopsSafeUtils.setSafeHTML(fileNameElement,
|
|
5322
|
+
/*html*/ `
|
|
5276
5323
|
<div class="pops-folder-list-file-name pops-mobile-folder-list-file-name cursor-p">
|
|
5277
5324
|
<img src="${fileIcon}" alt="${fileType}" class="pops-folder-list-file-icon u-file-icon u-file-icon--list">
|
|
5278
5325
|
<div>
|
|
@@ -5281,139 +5328,138 @@ const PopsFolder = {
|
|
|
5281
5328
|
</div>
|
|
5282
5329
|
</div>
|
|
5283
5330
|
`);
|
|
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
|
-
|
|
5323
|
-
|
|
5324
|
-
|
|
5325
|
-
|
|
5326
|
-
|
|
5327
|
-
|
|
5328
|
-
|
|
5329
|
-
|
|
5330
|
-
|
|
5331
|
-
|
|
5332
|
-
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5331
|
+
/* 存储原来的值 */
|
|
5332
|
+
let __value__ = {
|
|
5333
|
+
fileName: origin_fileName,
|
|
5334
|
+
latestTime: origin_latestTime,
|
|
5335
|
+
fileSize: origin_fileSize,
|
|
5336
|
+
isFolder: isFolder,
|
|
5337
|
+
};
|
|
5338
|
+
Reflect.set(fileNameElement, "__value__", __value__);
|
|
5339
|
+
Reflect.set(folderElement, "__value__", __value__);
|
|
5340
|
+
folderElement.appendChild(fileNameElement);
|
|
5341
|
+
return {
|
|
5342
|
+
folderElement,
|
|
5343
|
+
fileNameElement,
|
|
5344
|
+
};
|
|
5345
|
+
}
|
|
5346
|
+
/**
|
|
5347
|
+
* 清空文件夹信息页面
|
|
5348
|
+
*/
|
|
5349
|
+
clearFolderInfoView() {
|
|
5350
|
+
PopsSafeUtils.setSafeHTML(folderListBodyElement, "");
|
|
5351
|
+
}
|
|
5352
|
+
/**
|
|
5353
|
+
* 创建顶部导航的箭头图标
|
|
5354
|
+
*/
|
|
5355
|
+
createHeaderArrowIcon() {
|
|
5356
|
+
let $arrowIcon = popsDOMUtils.createElement("div", {
|
|
5357
|
+
className: "iconArrow",
|
|
5358
|
+
});
|
|
5359
|
+
return $arrowIcon;
|
|
5360
|
+
}
|
|
5361
|
+
/**
|
|
5362
|
+
* 添加顶部导航元素
|
|
5363
|
+
* @param folderName 文件夹名
|
|
5364
|
+
* @param folderDataConfig 文件夹配置
|
|
5365
|
+
*/
|
|
5366
|
+
createBreadcrumb(folderName, folderDataConfig) {
|
|
5367
|
+
let $breadcrumb = popsDOMUtils.createElement("span", {
|
|
5368
|
+
className: "pops-folder-file-list-breadcrumb-allFiles cursor-p",
|
|
5369
|
+
innerHTML: `<a>${folderName}</a>`,
|
|
5370
|
+
_config_: folderDataConfig,
|
|
5371
|
+
}, {
|
|
5372
|
+
title: folderName,
|
|
5373
|
+
});
|
|
5374
|
+
return $breadcrumb;
|
|
5375
|
+
}
|
|
5376
|
+
/**
|
|
5377
|
+
* 顶部导航的点击事件
|
|
5378
|
+
* @param clickEvent
|
|
5379
|
+
* @param isTop 是否是全部文件按钮
|
|
5380
|
+
* @param dataConfigList 配置
|
|
5381
|
+
*/
|
|
5382
|
+
setBreadcrumbClickEvent(clickEvent, isTop, dataConfigList) {
|
|
5383
|
+
this.clearFolderInfoView();
|
|
5384
|
+
/* 获取当前的导航元素 */
|
|
5385
|
+
let $click = clickEvent.target;
|
|
5386
|
+
let currentBreadcrumb = $click.closest("span.pops-folder-file-list-breadcrumb-allFiles");
|
|
5387
|
+
if (currentBreadcrumb) {
|
|
5388
|
+
while (currentBreadcrumb.nextElementSibling) {
|
|
5389
|
+
currentBreadcrumb.nextElementSibling.remove();
|
|
5390
|
+
}
|
|
5343
5391
|
}
|
|
5392
|
+
else {
|
|
5393
|
+
console.error("获取导航按钮失败");
|
|
5394
|
+
}
|
|
5395
|
+
let loadingMask = PopsLoading.init({
|
|
5396
|
+
parent: $content,
|
|
5397
|
+
content: {
|
|
5398
|
+
text: "获取文件列表中...",
|
|
5399
|
+
},
|
|
5400
|
+
mask: {
|
|
5401
|
+
enable: true,
|
|
5402
|
+
clickEvent: {
|
|
5403
|
+
toClose: false,
|
|
5404
|
+
toHide: false,
|
|
5405
|
+
},
|
|
5406
|
+
},
|
|
5407
|
+
addIndexCSS: false,
|
|
5408
|
+
});
|
|
5409
|
+
this.initFolderView(dataConfigList);
|
|
5410
|
+
loadingMask.close();
|
|
5344
5411
|
}
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5412
|
+
/**
|
|
5413
|
+
* 文件夹的点击事件 - 进入文件夹
|
|
5414
|
+
*
|
|
5415
|
+
* 先情况页面元素
|
|
5416
|
+
* @param clickEvent
|
|
5417
|
+
* @param dataConfig
|
|
5418
|
+
*/
|
|
5419
|
+
async enterFolder(clickEvent, dataConfig) {
|
|
5420
|
+
this.clearFolderInfoView();
|
|
5421
|
+
let loadingMask = PopsLoading.init({
|
|
5422
|
+
parent: $content,
|
|
5423
|
+
content: {
|
|
5424
|
+
text: "获取文件列表中...",
|
|
5358
5425
|
},
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
loadingMask.close();
|
|
5364
|
-
}
|
|
5365
|
-
/**
|
|
5366
|
-
* 刷新文件列表界面信息
|
|
5367
|
-
* @param event
|
|
5368
|
-
* @param folderDataConfig
|
|
5369
|
-
*/
|
|
5370
|
-
async function refreshFolderInfoClickEvent(event, folderDataConfig) {
|
|
5371
|
-
clearFolderRow();
|
|
5372
|
-
let loadingMask = PopsLoading.init({
|
|
5373
|
-
parent: $content,
|
|
5374
|
-
content: {
|
|
5375
|
-
text: "获取文件列表中...",
|
|
5376
|
-
},
|
|
5377
|
-
mask: {
|
|
5378
|
-
enable: true,
|
|
5379
|
-
},
|
|
5380
|
-
addIndexCSS: false,
|
|
5381
|
-
});
|
|
5382
|
-
if (typeof folderDataConfig.clickEvent === "function") {
|
|
5383
|
-
let childConfig = await folderDataConfig.clickEvent(event, folderDataConfig);
|
|
5384
|
-
/* 添加顶部导航的箭头 */
|
|
5385
|
-
folderFileListBreadcrumbPrimaryElement.appendChild(createHeaderArrowIcon());
|
|
5386
|
-
/* 添加顶部导航的链接文字 */
|
|
5387
|
-
let breadcrumbAllFilesElement = createHeaderFileLinkNavgiation(folderDataConfig.fileName, childConfig);
|
|
5388
|
-
folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);
|
|
5389
|
-
/* 设置顶部导航点击事件 */
|
|
5390
|
-
popsDOMUtils.on(breadcrumbAllFilesElement, "click", function (event) {
|
|
5391
|
-
breadcrumbAllFilesElementClickEvent(event, false, childConfig);
|
|
5426
|
+
mask: {
|
|
5427
|
+
enable: true,
|
|
5428
|
+
},
|
|
5429
|
+
addIndexCSS: false,
|
|
5392
5430
|
});
|
|
5393
|
-
|
|
5431
|
+
if (typeof dataConfig.clickEvent === "function") {
|
|
5432
|
+
let childConfig = await dataConfig.clickEvent(clickEvent, dataConfig);
|
|
5433
|
+
/* 添加顶部导航的箭头 */
|
|
5434
|
+
folderFileListBreadcrumbPrimaryElement.appendChild(this.createHeaderArrowIcon());
|
|
5435
|
+
/* 添加顶部导航的链接文字 */
|
|
5436
|
+
let breadcrumbAllFilesElement = this.createBreadcrumb(dataConfig.fileName, childConfig);
|
|
5437
|
+
folderFileListBreadcrumbPrimaryElement.appendChild(breadcrumbAllFilesElement);
|
|
5438
|
+
/* 设置顶部导航点击事件 */
|
|
5439
|
+
popsDOMUtils.on(breadcrumbAllFilesElement, "click", (event) => {
|
|
5440
|
+
this.setBreadcrumbClickEvent(event, false, childConfig);
|
|
5441
|
+
});
|
|
5442
|
+
this.initFolderView(childConfig);
|
|
5443
|
+
}
|
|
5444
|
+
loadingMask.close();
|
|
5394
5445
|
}
|
|
5395
|
-
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
event?.stopPropagation();
|
|
5406
|
-
event?.stopImmediatePropagation();
|
|
5407
|
-
let linkElement = targetElement.querySelector("a");
|
|
5408
|
-
if (typeof _config_.clickEvent === "function") {
|
|
5409
|
-
let downloadInfo = await _config_.clickEvent(event, _config_);
|
|
5446
|
+
/**
|
|
5447
|
+
* 文件的点击事件 - 下载文件
|
|
5448
|
+
* @param $target
|
|
5449
|
+
* @param dataConfig
|
|
5450
|
+
*/
|
|
5451
|
+
async downloadFile(clickEvent, $row, dataConfig) {
|
|
5452
|
+
popsDOMUtils.preventEvent(clickEvent);
|
|
5453
|
+
let $link = $row.querySelector("a");
|
|
5454
|
+
if (typeof dataConfig.clickEvent === "function") {
|
|
5455
|
+
let downloadInfo = await dataConfig.clickEvent(clickEvent, dataConfig);
|
|
5410
5456
|
if (downloadInfo != null &&
|
|
5411
5457
|
typeof downloadInfo === "object" &&
|
|
5412
5458
|
!Array.isArray(downloadInfo) &&
|
|
5413
5459
|
typeof downloadInfo.url === "string" &&
|
|
5414
5460
|
downloadInfo.url.trim() !== "") {
|
|
5415
|
-
|
|
5416
|
-
|
|
5461
|
+
$link.setAttribute("href", downloadInfo.url);
|
|
5462
|
+
$link.setAttribute("target", "_blank");
|
|
5417
5463
|
if (downloadInfo.autoDownload) {
|
|
5418
5464
|
if (downloadInfo.mode == null || downloadInfo.mode === "") {
|
|
5419
5465
|
/* 未设置mode的话默认为aBlank */
|
|
@@ -5457,215 +5503,190 @@ const PopsFolder = {
|
|
|
5457
5503
|
}
|
|
5458
5504
|
}
|
|
5459
5505
|
}
|
|
5460
|
-
}
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5478
|
-
|
|
5479
|
-
|
|
5480
|
-
|
|
5481
|
-
|
|
5482
|
-
|
|
5483
|
-
|
|
5484
|
-
|
|
5485
|
-
|
|
5506
|
+
}
|
|
5507
|
+
/**
|
|
5508
|
+
* 对配置进行排序
|
|
5509
|
+
* @param folderDataConfigList
|
|
5510
|
+
* @param sortName 比较的属性,默认fileName
|
|
5511
|
+
* @param isDesc 是否降序,默认false(升序)
|
|
5512
|
+
*/
|
|
5513
|
+
sortFolderConfig(folderDataConfigList, sortName = "fileName", isDesc = false) {
|
|
5514
|
+
if (sortName === "fileName") {
|
|
5515
|
+
// 如果是以文件名排序,文件夹优先放前面
|
|
5516
|
+
let onlyFolderDataConfigList = folderDataConfigList.filter((value) => {
|
|
5517
|
+
return value.isFolder;
|
|
5518
|
+
});
|
|
5519
|
+
let onlyFileDataConfigList = folderDataConfigList.filter((value) => {
|
|
5520
|
+
return !value.isFolder;
|
|
5521
|
+
});
|
|
5522
|
+
// 文件夹排序
|
|
5523
|
+
onlyFolderDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5524
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
5525
|
+
let afterVal = rightConfig[sortName].toString();
|
|
5526
|
+
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5527
|
+
if (isDesc) {
|
|
5528
|
+
/* 降序 */
|
|
5529
|
+
if (compareVal > 0) {
|
|
5530
|
+
compareVal = -1;
|
|
5531
|
+
}
|
|
5532
|
+
else if (compareVal < 0) {
|
|
5533
|
+
compareVal = 1;
|
|
5534
|
+
}
|
|
5486
5535
|
}
|
|
5487
|
-
|
|
5488
|
-
|
|
5536
|
+
return compareVal;
|
|
5537
|
+
});
|
|
5538
|
+
// 文件名排序
|
|
5539
|
+
onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5540
|
+
let beforeVal = leftConfig[sortName].toString();
|
|
5541
|
+
let afterVal = rightConfig[sortName].toString();
|
|
5542
|
+
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5543
|
+
if (isDesc) {
|
|
5544
|
+
/* 降序 */
|
|
5545
|
+
if (compareVal > 0) {
|
|
5546
|
+
compareVal = -1;
|
|
5547
|
+
}
|
|
5548
|
+
else if (compareVal < 0) {
|
|
5549
|
+
compareVal = 1;
|
|
5550
|
+
}
|
|
5489
5551
|
}
|
|
5490
|
-
|
|
5491
|
-
|
|
5492
|
-
});
|
|
5493
|
-
// 文件名排序
|
|
5494
|
-
onlyFileDataConfigList.sort((leftConfig, rightConfig) => {
|
|
5495
|
-
let beforeVal = leftConfig[sortName].toString();
|
|
5496
|
-
let afterVal = rightConfig[sortName].toString();
|
|
5497
|
-
let compareVal = beforeVal.localeCompare(afterVal);
|
|
5552
|
+
return compareVal;
|
|
5553
|
+
});
|
|
5498
5554
|
if (isDesc) {
|
|
5499
|
-
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
}
|
|
5555
|
+
// 降序,文件夹在下面
|
|
5556
|
+
return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
|
|
5557
|
+
}
|
|
5558
|
+
else {
|
|
5559
|
+
// 升序,文件夹在上面
|
|
5560
|
+
return [...onlyFolderDataConfigList, ...onlyFileDataConfigList];
|
|
5506
5561
|
}
|
|
5507
|
-
return compareVal;
|
|
5508
|
-
});
|
|
5509
|
-
if (isDesc) {
|
|
5510
|
-
// 降序,文件夹在下面
|
|
5511
|
-
return [...onlyFileDataConfigList, ...onlyFolderDataConfigList];
|
|
5512
5562
|
}
|
|
5513
5563
|
else {
|
|
5514
|
-
|
|
5515
|
-
|
|
5516
|
-
|
|
5517
|
-
|
|
5518
|
-
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
let afterVal = afterConfig[sortName];
|
|
5522
|
-
if (sortName === "fileSize") {
|
|
5523
|
-
/* 文件大小,进行Float转换 */
|
|
5524
|
-
beforeVal = parseFloat(beforeVal.toString());
|
|
5525
|
-
afterVal = parseFloat(afterVal.toString());
|
|
5526
|
-
}
|
|
5527
|
-
else if (sortName === "latestTime") {
|
|
5528
|
-
/* 文件时间 */
|
|
5529
|
-
beforeVal = new Date(beforeVal).getTime();
|
|
5530
|
-
afterVal = new Date(afterVal).getTime();
|
|
5531
|
-
}
|
|
5532
|
-
if (beforeVal > afterVal) {
|
|
5533
|
-
if (isDesc) {
|
|
5534
|
-
/* 降序 */
|
|
5535
|
-
return -1;
|
|
5564
|
+
folderDataConfigList.sort((beforeConfig, afterConfig) => {
|
|
5565
|
+
let beforeVal = beforeConfig[sortName];
|
|
5566
|
+
let afterVal = afterConfig[sortName];
|
|
5567
|
+
if (sortName === "fileSize") {
|
|
5568
|
+
/* 文件大小,进行Float转换 */
|
|
5569
|
+
beforeVal = parseFloat(beforeVal.toString());
|
|
5570
|
+
afterVal = parseFloat(afterVal.toString());
|
|
5536
5571
|
}
|
|
5537
|
-
else {
|
|
5538
|
-
|
|
5572
|
+
else if (sortName === "latestTime") {
|
|
5573
|
+
/* 文件时间 */
|
|
5574
|
+
beforeVal = new Date(beforeVal).getTime();
|
|
5575
|
+
afterVal = new Date(afterVal).getTime();
|
|
5539
5576
|
}
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
|
|
5544
|
-
|
|
5577
|
+
if (beforeVal > afterVal) {
|
|
5578
|
+
if (isDesc) {
|
|
5579
|
+
/* 降序 */
|
|
5580
|
+
return -1;
|
|
5581
|
+
}
|
|
5582
|
+
else {
|
|
5583
|
+
return 1;
|
|
5584
|
+
}
|
|
5585
|
+
}
|
|
5586
|
+
else if (beforeVal < afterVal) {
|
|
5587
|
+
if (isDesc) {
|
|
5588
|
+
/* 降序 */
|
|
5589
|
+
return 1;
|
|
5590
|
+
}
|
|
5591
|
+
else {
|
|
5592
|
+
return -1;
|
|
5593
|
+
}
|
|
5545
5594
|
}
|
|
5546
5595
|
else {
|
|
5547
|
-
return
|
|
5596
|
+
return 0;
|
|
5548
5597
|
}
|
|
5598
|
+
});
|
|
5599
|
+
return folderDataConfigList;
|
|
5600
|
+
}
|
|
5601
|
+
}
|
|
5602
|
+
/**
|
|
5603
|
+
* 添加文件夹/文件行元素
|
|
5604
|
+
* @param dataConfig 配置
|
|
5605
|
+
*/
|
|
5606
|
+
initFolderView(dataConfig) {
|
|
5607
|
+
// 先对文件夹、文件进行排序
|
|
5608
|
+
this.sortFolderConfig(dataConfig, config.sort.name, config.sort.isDesc);
|
|
5609
|
+
dataConfig.forEach((item) => {
|
|
5610
|
+
if (item.isFolder) {
|
|
5611
|
+
let { folderElement, fileNameElement } = popsUtils.isPhone()
|
|
5612
|
+
? this.createFolderRowElementByMobile(item.fileName, "", "", true)
|
|
5613
|
+
: this.createFolderRowElement(item.fileName, "", "", true);
|
|
5614
|
+
// 文件夹 - 点击事件
|
|
5615
|
+
popsDOMUtils.on(fileNameElement, "click", (event) => {
|
|
5616
|
+
// 进入文件夹
|
|
5617
|
+
this.enterFolder(event, item);
|
|
5618
|
+
});
|
|
5619
|
+
folderListBodyElement.appendChild(folderElement);
|
|
5549
5620
|
}
|
|
5550
5621
|
else {
|
|
5551
|
-
|
|
5622
|
+
let { folderElement, fileNameElement } = popsUtils.isPhone()
|
|
5623
|
+
? this.createFolderRowElementByMobile(item.fileName, item.latestTime, item.fileSize, false)
|
|
5624
|
+
: this.createFolderRowElement(item.fileName, item.latestTime, item.fileSize, false);
|
|
5625
|
+
// 文件 - 点击事件
|
|
5626
|
+
popsDOMUtils.on(fileNameElement, "click", (event) => {
|
|
5627
|
+
// 下载文件
|
|
5628
|
+
this.downloadFile(event, fileNameElement, item);
|
|
5629
|
+
});
|
|
5630
|
+
folderListBodyElement.appendChild(folderElement);
|
|
5552
5631
|
}
|
|
5553
5632
|
});
|
|
5554
|
-
return folderDataConfigList;
|
|
5555
5633
|
}
|
|
5556
|
-
|
|
5557
|
-
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5561
|
-
|
|
5562
|
-
|
|
5563
|
-
|
|
5564
|
-
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
|
|
5634
|
+
/**
|
|
5635
|
+
* 移除所有箭头的被访问状态
|
|
5636
|
+
*/
|
|
5637
|
+
removeArrowActiveStatus() {
|
|
5638
|
+
[
|
|
5639
|
+
...Array.from(folderListSortFileNameElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5640
|
+
...Array.from(folderListSortLatestTimeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5641
|
+
...Array.from(folderListSortFileSizeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5642
|
+
].forEach((ele) => ele.classList.remove("pops-folder-icon-active"));
|
|
5643
|
+
}
|
|
5644
|
+
/**
|
|
5645
|
+
* 修改导航箭头的状态
|
|
5646
|
+
*/
|
|
5647
|
+
changeArrowActive(arrowUp, arrowDown, isDesc) {
|
|
5648
|
+
this.removeArrowActiveStatus();
|
|
5649
|
+
if (isDesc) {
|
|
5650
|
+
arrowDown.classList.add("pops-folder-icon-active");
|
|
5572
5651
|
}
|
|
5573
5652
|
else {
|
|
5574
|
-
|
|
5575
|
-
? createMobileFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false)
|
|
5576
|
-
: createFolderRowElement(item["fileName"], item.latestTime, item.fileSize, false);
|
|
5577
|
-
setFileClickEvent(fileNameElement, item);
|
|
5578
|
-
folderListBodyElement.appendChild(folderELement);
|
|
5653
|
+
arrowUp.classList.add("pops-folder-icon-active");
|
|
5579
5654
|
}
|
|
5580
|
-
});
|
|
5581
|
-
}
|
|
5582
|
-
addFolderElement(config.folder);
|
|
5583
|
-
/* 将数据存到全部文件的属性_config_中 */
|
|
5584
|
-
let allFilesElement = folderFileListBreadcrumbPrimaryElement.querySelector(".pops-folder-list .pops-folder-file-list-breadcrumb-allFiles:first-child");
|
|
5585
|
-
allFilesElement._config_ = config.folder;
|
|
5586
|
-
/* 设置点击顶部的全部文件事件 */
|
|
5587
|
-
popsDOMUtils.on(allFilesElement, "click", (event) => {
|
|
5588
|
-
breadcrumbAllFilesElementClickEvent(event, true, config.folder);
|
|
5589
|
-
});
|
|
5590
|
-
/* 移除所有的当前排序的arrow */
|
|
5591
|
-
function removeAllArrowActive() {
|
|
5592
|
-
[
|
|
5593
|
-
...Array.from(folderListSortFileNameElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5594
|
-
...Array.from(folderListSortLatestTimeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5595
|
-
...Array.from(folderListSortFileSizeElement.querySelectorAll(".pops-folder-icon-active")),
|
|
5596
|
-
].forEach((ele) => ele.classList.remove("pops-folder-icon-active"));
|
|
5597
|
-
}
|
|
5598
|
-
/* 设置当前的排序的arrow */
|
|
5599
|
-
function changeArrowActive(arrowUp, arrowDown, isDesc) {
|
|
5600
|
-
removeAllArrowActive();
|
|
5601
|
-
if (isDesc) {
|
|
5602
|
-
arrowDown.classList.add("pops-folder-icon-active");
|
|
5603
5655
|
}
|
|
5604
|
-
|
|
5605
|
-
|
|
5606
|
-
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
|
|
5623
|
-
|
|
5624
|
-
|
|
5656
|
+
/**
|
|
5657
|
+
* 排序按钮的点击事件
|
|
5658
|
+
* @param target
|
|
5659
|
+
* @param event
|
|
5660
|
+
* @param sortName
|
|
5661
|
+
*/
|
|
5662
|
+
arrowToSortFolderInfoView(target, event, sortName) {
|
|
5663
|
+
const notChangeSortRule = Reflect.get(event, "notChangeSortRule");
|
|
5664
|
+
if (!notChangeSortRule) {
|
|
5665
|
+
config.sort.name = sortName;
|
|
5666
|
+
config.sort.isDesc = !config.sort.isDesc;
|
|
5667
|
+
}
|
|
5668
|
+
let arrowUp = target.querySelector(".pops-folder-icon-arrow-up");
|
|
5669
|
+
let arrowDown = target.querySelector(".pops-folder-icon-arrow-down");
|
|
5670
|
+
this.changeArrowActive(arrowUp, arrowDown, config.sort.isDesc);
|
|
5671
|
+
if (typeof config.sort.callback === "function" &&
|
|
5672
|
+
config.sort.callback(target, event, config.sort.name, config.sort.isDesc)) {
|
|
5673
|
+
return;
|
|
5674
|
+
}
|
|
5675
|
+
let childrenList = [];
|
|
5676
|
+
Array.from(folderListBodyElement.children).forEach((trElement) => {
|
|
5677
|
+
let __value__ = Reflect.get(trElement, "__value__");
|
|
5678
|
+
Reflect.set(__value__, "target", trElement);
|
|
5679
|
+
childrenList.push(__value__);
|
|
5680
|
+
});
|
|
5681
|
+
let sortedConfigList = this.sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);
|
|
5682
|
+
sortedConfigList.forEach((item) => {
|
|
5683
|
+
folderListBodyElement.appendChild(item.target);
|
|
5684
|
+
});
|
|
5625
5685
|
}
|
|
5626
|
-
let childrenList = [];
|
|
5627
|
-
Array.from(folderListBodyElement.children).forEach((trElement) => {
|
|
5628
|
-
let __value__ = trElement["__value__"];
|
|
5629
|
-
__value__["target"] = trElement;
|
|
5630
|
-
childrenList.push(__value__);
|
|
5631
|
-
});
|
|
5632
|
-
let sortedConfigList = sortFolderConfig(childrenList, config.sort.name, config.sort.isDesc);
|
|
5633
|
-
sortedConfigList.forEach((item) => {
|
|
5634
|
-
folderListBodyElement.appendChild(item.target);
|
|
5635
|
-
});
|
|
5636
|
-
}
|
|
5637
|
-
/* 设置当前排序的图标按钮 */
|
|
5638
|
-
popsDOMUtils.on(folderListSortFileNameElement.closest("th"), "click", function (event) {
|
|
5639
|
-
arrowSortClickEvent(folderListSortFileNameElement, event, "fileName");
|
|
5640
|
-
}, {
|
|
5641
|
-
capture: true,
|
|
5642
|
-
});
|
|
5643
|
-
popsDOMUtils.on(folderListSortLatestTimeElement.closest("th"), "click", void 0, function (event) {
|
|
5644
|
-
arrowSortClickEvent(folderListSortLatestTimeElement, event, "latestTime");
|
|
5645
|
-
}, {
|
|
5646
|
-
capture: true,
|
|
5647
|
-
});
|
|
5648
|
-
popsDOMUtils.on(folderListSortFileSizeElement.closest("th"), "click", void 0, function (event) {
|
|
5649
|
-
arrowSortClickEvent(folderListSortFileSizeElement, event, "fileSize");
|
|
5650
|
-
}, {
|
|
5651
|
-
capture: true,
|
|
5652
|
-
});
|
|
5653
|
-
/* 设置默认触发的arrow */
|
|
5654
|
-
if (config.sort.name === "fileName") {
|
|
5655
|
-
popsDOMUtils.trigger(folderListSortFileNameElement, "click", {
|
|
5656
|
-
notChangeSortRule: true,
|
|
5657
|
-
});
|
|
5658
|
-
}
|
|
5659
|
-
else if (config.sort.name === "latestTime") {
|
|
5660
|
-
popsDOMUtils.trigger(folderListSortLatestTimeElement, "click", {
|
|
5661
|
-
notChangeSortRule: true,
|
|
5662
|
-
});
|
|
5663
|
-
}
|
|
5664
|
-
else if (config.sort.name === "fileSize") {
|
|
5665
|
-
popsDOMUtils.trigger(folderListSortFileSizeElement, "click", {
|
|
5666
|
-
notChangeSortRule: true,
|
|
5667
|
-
});
|
|
5668
5686
|
}
|
|
5687
|
+
const popsFolder = new PopsFolder();
|
|
5688
|
+
popsFolder.init();
|
|
5689
|
+
Reflect.set($pops, "data-pops-folder", popsFolder);
|
|
5669
5690
|
/* 拖拽 */
|
|
5670
5691
|
if (config.drag) {
|
|
5671
5692
|
PopsInstanceUtils.drag($pops, {
|
|
@@ -11010,7 +11031,7 @@ const PopsSearchSuggestion = {
|
|
|
11010
11031
|
let $el = popsDOMUtils.createElement("div", {
|
|
11011
11032
|
className: `pops pops-${popsType}-search-suggestion`,
|
|
11012
11033
|
innerHTML: /*html*/ `
|
|
11013
|
-
<style>
|
|
11034
|
+
<style type="text/css">
|
|
11014
11035
|
.pops-${popsType}-animation{
|
|
11015
11036
|
-moz-animation: searchSelectFalIn 0.5s 1 linear;
|
|
11016
11037
|
-webkit-animation: searchSelectFalIn 0.5s 1 linear;
|
|
@@ -11018,7 +11039,7 @@ const PopsSearchSuggestion = {
|
|
|
11018
11039
|
-ms-animation: searchSelectFalIn 0.5s 1 linear;
|
|
11019
11040
|
}
|
|
11020
11041
|
</style>
|
|
11021
|
-
<style>
|
|
11042
|
+
<style type="text/css">
|
|
11022
11043
|
.pops-${popsType}-search-suggestion-arrow{
|
|
11023
11044
|
--suggestion-arrow-box-shadow-left-color: rgba(0, 0, 0, 0.24);
|
|
11024
11045
|
--suggestion-arrow-box-shadow-right-color: rgba(0, 0, 0, 0.12);
|
|
@@ -11084,7 +11105,7 @@ const PopsSearchSuggestion = {
|
|
|
11084
11105
|
content: "";
|
|
11085
11106
|
}
|
|
11086
11107
|
</style>
|
|
11087
|
-
<style data-dynamic="true">
|
|
11108
|
+
<style type="text/css" data-dynamic="true">
|
|
11088
11109
|
${this.getDynamicCSS()}
|
|
11089
11110
|
</style>
|
|
11090
11111
|
<style>
|
|
@@ -11106,6 +11127,9 @@ const PopsSearchSuggestion = {
|
|
|
11106
11127
|
transform: scaleY(1);
|
|
11107
11128
|
}
|
|
11108
11129
|
</style>
|
|
11130
|
+
<style type="text/css" data-user-css>
|
|
11131
|
+
${config.style || ""}
|
|
11132
|
+
</style>
|
|
11109
11133
|
<ul class="pops-${popsType}-search-suggestion-hint ${PopsCommonCSSClassName.userSelectNone}">${config.toSearhNotResultHTML}</ul>
|
|
11110
11134
|
${config.useArrow ? /*html*/ `<div class="pops-${popsType}-search-suggestion-arrow"></div>` : ""}
|
|
11111
11135
|
`,
|
|
@@ -11622,7 +11646,7 @@ class Pops {
|
|
|
11622
11646
|
/** 配置 */
|
|
11623
11647
|
config = {
|
|
11624
11648
|
/** 版本号 */
|
|
11625
|
-
version: "2025.
|
|
11649
|
+
version: "2025.9.2",
|
|
11626
11650
|
cssText: PopsCSS,
|
|
11627
11651
|
/** icon图标的svg代码 */
|
|
11628
11652
|
iconSVG: PopsIcon.$data,
|