679 lines
31 KiB
JavaScript
679 lines
31 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var tslib_1 = require("tslib");
|
|
var uuid_1 = require("oak-domain/lib/utils/uuid");
|
|
var assert_1 = tslib_1.__importDefault(require("assert"));
|
|
var index_1 = tslib_1.__importDefault(require("../../../utils/dialog/index"));
|
|
exports.default = OakComponent({
|
|
entity: 'extraFile',
|
|
isList: true,
|
|
projection: {
|
|
id: 1,
|
|
tag1: 1,
|
|
tag2: 1,
|
|
origin: 1,
|
|
bucket: 1,
|
|
objectId: 1,
|
|
filename: 1,
|
|
extra1: 1,
|
|
extension: 1,
|
|
type: 1,
|
|
entity: 1,
|
|
entityId: 1,
|
|
fileType: 1,
|
|
},
|
|
formData: function (_a) {
|
|
var _this = this;
|
|
var originalFiles = _a.data, features = _a.features;
|
|
var files = originalFiles === null || originalFiles === void 0 ? void 0 : originalFiles.filter(function (ele) { return !ele.$$deleteAt$$; });
|
|
if (this.props.tag1) {
|
|
files = files === null || files === void 0 ? void 0 : files.filter(function (ele) { return (ele === null || ele === void 0 ? void 0 : ele.tag1) === _this.props.tag1; });
|
|
}
|
|
if (this.props.tag2) {
|
|
files = files === null || files === void 0 ? void 0 : files.filter(function (ele) { return (ele === null || ele === void 0 ? void 0 : ele.tag2) === _this.props.tag2; });
|
|
}
|
|
return {
|
|
files: files,
|
|
disableInsert: this.props.maxNumber === 0 ||
|
|
(files === null || files === void 0 ? void 0 : files.length) >= this.props.maxNumber,
|
|
};
|
|
},
|
|
data: {
|
|
// 根据 size 不同,计算的图片显示大小不同
|
|
itemSizePercentage: '',
|
|
},
|
|
wechatMp: {
|
|
externalClasses: ['oak-class', 'oak-item-class'],
|
|
},
|
|
filters: [
|
|
{
|
|
filter: function () {
|
|
var _a = this.props, tag1 = _a.tag1, tag2 = _a.tag2;
|
|
var filter1 = {};
|
|
if (tag1) {
|
|
Object.assign(filter1, { tag1: tag1 });
|
|
}
|
|
if (tag2) {
|
|
Object.assign(filter1, { tag2: tag2 });
|
|
}
|
|
return filter1;
|
|
},
|
|
},
|
|
],
|
|
properties: {
|
|
removeLater: Boolean,
|
|
autoUpload: {
|
|
type: Boolean,
|
|
value: false,
|
|
},
|
|
maxNumber: {
|
|
type: Number,
|
|
value: 20,
|
|
},
|
|
extension: {
|
|
//小程序独有 chooseMessageFile 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。
|
|
type: Array,
|
|
},
|
|
fileType: {
|
|
//小程序独有 chooseMessageFile 文件type
|
|
type: String,
|
|
value: 'all',
|
|
},
|
|
selectCount: {
|
|
//小程序独有 文件一次选择几个
|
|
type: Number,
|
|
value: 1,
|
|
},
|
|
sourceType: {
|
|
type: Array,
|
|
value: ['album', 'camera'],
|
|
},
|
|
mediaType: {
|
|
//小程序独有 文件上传类型
|
|
type: Array,
|
|
value: ['image'],
|
|
},
|
|
// 图片显示模式
|
|
mode: {
|
|
//小程序独有
|
|
type: String,
|
|
value: 'aspectFit',
|
|
},
|
|
// 每行可显示的个数
|
|
size: {
|
|
// 小程序独有
|
|
type: Number,
|
|
value: 3,
|
|
},
|
|
showUploadList: {
|
|
// web独有 是否展示文件列表, 可设为一个对象
|
|
type: Boolean,
|
|
value: true,
|
|
},
|
|
accept: {
|
|
// web独有 文件上传类型
|
|
type: String,
|
|
value: 'image/*',
|
|
},
|
|
// 图片是否可预览
|
|
preview: {
|
|
type: Boolean,
|
|
value: true,
|
|
},
|
|
// 图片是否可删除
|
|
disableDelete: {
|
|
type: Boolean,
|
|
value: false,
|
|
},
|
|
// 上传按钮隐藏
|
|
disableAdd: {
|
|
type: Boolean,
|
|
value: false,
|
|
},
|
|
// 下按按钮隐藏
|
|
disableDownload: {
|
|
type: Boolean,
|
|
value: false,
|
|
},
|
|
type: String,
|
|
origin: String,
|
|
tag1: String,
|
|
tag2: String,
|
|
entity: String,
|
|
entityId: String,
|
|
theme: {
|
|
type: String,
|
|
value: 'image',
|
|
},
|
|
},
|
|
methods: {
|
|
/**
|
|
* 获取组件内部节点位置信息(单个)
|
|
* @param component 组件实例
|
|
* @param selector {String} css选择器
|
|
* @returns boundingClientRect() 回调函数的值
|
|
*/
|
|
getNodeRectFromComponent: function (component, selector) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0: return [4 /*yield*/, new Promise(function (resolve) {
|
|
component
|
|
.createSelectorQuery()
|
|
.select(selector)
|
|
.boundingClientRect(function (res) {
|
|
resolve(res);
|
|
})
|
|
.exec();
|
|
})];
|
|
case 1: return [2 /*return*/, _a.sent()];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
/**
|
|
// * px 转 rpx
|
|
// * @param px 像素值
|
|
// */
|
|
px2rpx: function (px) {
|
|
var windowWidth = wx.getSystemInfoSync().windowWidth;
|
|
return (750 / windowWidth) * px;
|
|
},
|
|
chooseMediaByMp: function () {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var _a, selectCount, mediaType, sourceType, _b, errMsg, tempFiles, err_1;
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
_a = this.props, selectCount = _a.selectCount, mediaType = _a.mediaType, sourceType = _a.sourceType;
|
|
_c.label = 1;
|
|
case 1:
|
|
_c.trys.push([1, 6, , 7]);
|
|
return [4 /*yield*/, wx.chooseMedia({
|
|
count: selectCount,
|
|
mediaType: mediaType,
|
|
sourceType: sourceType,
|
|
})];
|
|
case 2:
|
|
_b = _c.sent(), errMsg = _b.errMsg, tempFiles = _b.tempFiles;
|
|
if (!(errMsg !== 'chooseMedia:ok')) return [3 /*break*/, 3];
|
|
this.triggerEvent('error', {
|
|
level: 'warning',
|
|
msg: errMsg,
|
|
});
|
|
return [3 /*break*/, 5];
|
|
case 3: return [4 /*yield*/, Promise.all(tempFiles.map(function (tempExtraFile) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
var tempFilePath, thumbTempFilePath, fileType, size, filePath, fileFullName;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
tempFilePath = tempExtraFile.tempFilePath, thumbTempFilePath = tempExtraFile.thumbTempFilePath, fileType = tempExtraFile.fileType, size = tempExtraFile.size;
|
|
filePath = tempFilePath || thumbTempFilePath;
|
|
fileFullName = filePath.match(/[^/]+(?!.*\/)/g)[0];
|
|
return [4 /*yield*/, this.pushExtraFile({
|
|
name: fileFullName,
|
|
fileType: fileType,
|
|
size: size,
|
|
extra1: filePath,
|
|
})];
|
|
case 1:
|
|
_a.sent();
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
}); }))];
|
|
case 4:
|
|
_c.sent();
|
|
_c.label = 5;
|
|
case 5: return [3 /*break*/, 7];
|
|
case 6:
|
|
err_1 = _c.sent();
|
|
console.error(err_1);
|
|
if (err_1.errMsg !== 'chooseMedia:fail cancel') {
|
|
this.triggerEvent('error', {
|
|
level: 'error',
|
|
msg: err_1.errMsg,
|
|
});
|
|
}
|
|
return [3 /*break*/, 7];
|
|
case 7: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
chooseFileByMp: function () {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var _a, selectCount, extension, fileType, _b, errMsg, tempFiles, err_2;
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
_a = this.props, selectCount = _a.selectCount, extension = _a.extension, fileType = _a.fileType;
|
|
_c.label = 1;
|
|
case 1:
|
|
_c.trys.push([1, 6, , 7]);
|
|
return [4 /*yield*/, wx.chooseMessageFile(tslib_1.__assign({ count: selectCount, type: 'all' }, (fileType === 'file' ? { extension: extension } : {})))];
|
|
case 2:
|
|
_b = _c.sent(), errMsg = _b.errMsg, tempFiles = _b.tempFiles;
|
|
if (!(errMsg !== 'chooseMessageFile:ok')) return [3 /*break*/, 3];
|
|
this.triggerEvent('error', {
|
|
level: 'warning',
|
|
msg: errMsg,
|
|
});
|
|
return [3 /*break*/, 5];
|
|
case 3: return [4 /*yield*/, Promise.all(tempFiles.map(function (tempExtraFile) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
var path, type, size, name;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
path = tempExtraFile.path, type = tempExtraFile.type, size = tempExtraFile.size, name = tempExtraFile.name;
|
|
return [4 /*yield*/, this.pushExtraFile({
|
|
name: name,
|
|
fileType: type,
|
|
size: size,
|
|
extra1: path,
|
|
})];
|
|
case 1:
|
|
_a.sent();
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
}); }))];
|
|
case 4:
|
|
_c.sent();
|
|
_c.label = 5;
|
|
case 5: return [3 /*break*/, 7];
|
|
case 6:
|
|
err_2 = _c.sent();
|
|
console.error(err_2);
|
|
if (err_2.errMsg !== 'chooseMessageFile:fail cancel') {
|
|
this.triggerEvent('error', {
|
|
level: 'error',
|
|
msg: err_2.errMsg,
|
|
});
|
|
}
|
|
return [3 /*break*/, 7];
|
|
case 7: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onPickByMp: function () {
|
|
var theme = this.props.theme;
|
|
if (['image', 'image-flow'].includes(theme)) {
|
|
this.chooseMediaByMp();
|
|
}
|
|
else {
|
|
this.chooseFileByMp();
|
|
}
|
|
},
|
|
onPickByWeb: function (uploadFiles, callback) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0: return [4 /*yield*/, Promise.all(uploadFiles.map(function (uploadFile) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
var name, type, size, originFileObj;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
name = uploadFile.name, type = uploadFile.type, size = uploadFile.size, originFileObj = uploadFile.originFileObj;
|
|
return [4 /*yield*/, this.pushExtraFile({
|
|
name: name,
|
|
fileType: type,
|
|
size: size,
|
|
extra1: originFileObj,
|
|
}, callback)];
|
|
case 1:
|
|
_a.sent();
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
}); }))];
|
|
case 1:
|
|
_a.sent();
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
pushExtraFile: function (options, callback) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var _a, type, origin, tag1, tag2, entity, entityId, autoUpload, name, extra1, fileType, size, extension, filename, updateData, bucket, error_1;
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_b) {
|
|
switch (_b.label) {
|
|
case 0:
|
|
_a = this.props, type = _a.type, origin = _a.origin, tag1 = _a.tag1, tag2 = _a.tag2, entity = _a.entity, entityId = _a.entityId, autoUpload = _a.autoUpload;
|
|
name = options.name, extra1 = options.extra1, fileType = options.fileType, size = options.size;
|
|
extension = name.substring(name.lastIndexOf('.') + 1);
|
|
filename = name.substring(0, name.lastIndexOf('.'));
|
|
(0, assert_1.default)(entity, '必须传入entity');
|
|
(0, assert_1.default)(origin === 'qiniu', '目前只支持七牛上传'); // 目前只支持七牛上传
|
|
updateData = {
|
|
extra1: extra1,
|
|
origin: origin,
|
|
type: type || 'file',
|
|
tag1: tag1,
|
|
tag2: tag2,
|
|
objectId: (0, uuid_1.generateNewId)(),
|
|
entity: entity,
|
|
filename: filename,
|
|
size: size,
|
|
extension: extension,
|
|
fileType: fileType,
|
|
id: (0, uuid_1.generateNewId)(),
|
|
entityId: entityId,
|
|
};
|
|
if (!autoUpload) return [3 /*break*/, 6];
|
|
if (callback) {
|
|
callback(updateData, 'uploading');
|
|
}
|
|
_b.label = 1;
|
|
case 1:
|
|
_b.trys.push([1, 3, , 4]);
|
|
return [4 /*yield*/, this.features.extraFile.upload(updateData)];
|
|
case 2:
|
|
bucket = (_b.sent()).bucket;
|
|
Object.assign(updateData, {
|
|
bucket: bucket,
|
|
extra1: null,
|
|
});
|
|
if (callback) {
|
|
callback(updateData, 'success');
|
|
}
|
|
return [3 /*break*/, 4];
|
|
case 3:
|
|
error_1 = _b.sent();
|
|
if (callback) {
|
|
callback(updateData, 'failed');
|
|
}
|
|
//todo 保存extraFile失败 需要remove七牛图片
|
|
throw error_1;
|
|
case 4:
|
|
this.addItem(updateData);
|
|
return [4 /*yield*/, this.execute()];
|
|
case 5:
|
|
_b.sent();
|
|
return [3 /*break*/, 7];
|
|
case 6:
|
|
this.addItem(updateData, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
var bucket;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
if (updateData.bucket) {
|
|
// 说明本函数已经执行过了
|
|
return [2 /*return*/];
|
|
}
|
|
return [4 /*yield*/, this.features.extraFile.upload(updateData)];
|
|
case 1:
|
|
bucket = (_a.sent()).bucket;
|
|
Object.assign(updateData, {
|
|
bucket: bucket,
|
|
extra1: null,
|
|
});
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
}); });
|
|
_b.label = 7;
|
|
case 7: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onItemTapped: function (event) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var files, index, imageUrl, urls, detail, result;
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
files = this.state.files;
|
|
index = event.currentTarget.dataset.index;
|
|
imageUrl = this.features.extraFile.getUrl(files[index]);
|
|
urls = files === null || files === void 0 ? void 0 : files.filter(function (ele) { return !!ele; }).map(function (ele) {
|
|
return _this.features.extraFile.getUrl(ele);
|
|
});
|
|
detail = {
|
|
all: files,
|
|
index: index,
|
|
urls: urls,
|
|
current: imageUrl,
|
|
};
|
|
this.triggerEvent('tap', detail);
|
|
if (!this.props.preview) return [3 /*break*/, 2];
|
|
return [4 /*yield*/, wx.previewImage({
|
|
urls: urls,
|
|
current: imageUrl,
|
|
})];
|
|
case 1:
|
|
result = _a.sent();
|
|
this.triggerEvent('preview', detail);
|
|
_a.label = 2;
|
|
case 2: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onDeleteByMp: function (event) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var value, id, bucket, origin, result, confirm_1;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
value = event.currentTarget.dataset.value;
|
|
id = value.id, bucket = value.bucket, origin = value.origin;
|
|
if (!(this.props.removeLater || (origin !== 'unknown' && !bucket))) return [3 /*break*/, 1];
|
|
this.removeItem(id);
|
|
return [3 /*break*/, 4];
|
|
case 1: return [4 /*yield*/, wx.showModal({
|
|
title: '确认删除吗',
|
|
content: '删除现有文件',
|
|
})];
|
|
case 2:
|
|
result = _a.sent();
|
|
confirm_1 = result.confirm;
|
|
if (!confirm_1) return [3 /*break*/, 4];
|
|
this.removeItem(id);
|
|
return [4 /*yield*/, this.execute()];
|
|
case 3:
|
|
_a.sent();
|
|
_a.label = 4;
|
|
case 4: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
onDeleteByWeb: function (value) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var id, bucket, origin, confirm_2;
|
|
var _this = this;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
id = value.id, bucket = value.bucket, origin = value.origin;
|
|
// 如果 removeLater为true 或 origin === 'qiniu' 且 bucket不存在
|
|
if (this.props.removeLater || (origin !== 'unknown' && !bucket)) {
|
|
this.removeItem(id);
|
|
}
|
|
else {
|
|
confirm_2 = index_1.default.confirm({
|
|
title: '确认删除当前文件?',
|
|
content: '删除后,文件不可恢复',
|
|
cancelText: '取消',
|
|
okText: '确定',
|
|
onOk: function (e) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
this.removeItem(id);
|
|
return [4 /*yield*/, this.execute()];
|
|
case 1:
|
|
_a.sent();
|
|
confirm_2.destroy();
|
|
return [2 /*return*/];
|
|
}
|
|
});
|
|
}); },
|
|
onCancel: function (e) {
|
|
confirm_2.destroy();
|
|
},
|
|
});
|
|
}
|
|
return [2 /*return*/];
|
|
});
|
|
});
|
|
},
|
|
onDownloadByMp: function (event) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var value, fileUrl, name, that;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
value = event.currentTarget.dataset.value;
|
|
fileUrl = this.features.extraFile.getUrl(value);
|
|
name = this.features.extraFile.getFileName(value);
|
|
that = this;
|
|
wx.showLoading({
|
|
title: '下载请求中,请耐心等待..',
|
|
});
|
|
wx.downloadFile({
|
|
url: fileUrl,
|
|
success: function (res) {
|
|
var filePath = res.tempFilePath || res.filePath;
|
|
var fs = wx.getFileSystemManager();
|
|
fs.saveFile({
|
|
tempFilePath: filePath,
|
|
success: function (res) {
|
|
console.log(res, '下载成功');
|
|
wx.hideLoading();
|
|
var savedFilePath = res.savedFilePath;
|
|
// 打开文件
|
|
wx.openDocument({
|
|
filePath: savedFilePath,
|
|
success: function (res) {
|
|
console.log('打开文档成功');
|
|
},
|
|
fail: function (res) {
|
|
console.log(res, 'openDocument');
|
|
that.setMessage({
|
|
type: 'error',
|
|
content: '打开文档失败',
|
|
});
|
|
},
|
|
});
|
|
},
|
|
fail: function (res) {
|
|
console.log(res, 'saveFile');
|
|
wx.hideLoading();
|
|
that.setMessage({
|
|
type: 'error',
|
|
content: '保存文件失败',
|
|
});
|
|
},
|
|
});
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
wx.hideLoading();
|
|
that.setMessage({
|
|
type: 'error',
|
|
content: '下载文件失败'
|
|
});
|
|
},
|
|
complete: function (res) { },
|
|
});
|
|
return [2 /*return*/];
|
|
});
|
|
});
|
|
},
|
|
onOpenByMp: function (event) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var value, fileUrl, extension, extensions;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
value = event.currentTarget.dataset.value;
|
|
fileUrl = this.features.extraFile.getUrl(value);
|
|
extension = value.extension.toLowerCase();
|
|
extensions = [
|
|
'doc',
|
|
'docx',
|
|
'xls',
|
|
'xlsx',
|
|
'ppt',
|
|
'pptx',
|
|
'pdf',
|
|
];
|
|
if (!extensions.includes(extension)) {
|
|
this.setMessage({
|
|
type: 'error',
|
|
content: "\u76EE\u524D\u4EC5\u652F\u6301\u6253\u5F00".concat(extensions.join(','), "\u7C7B\u578B\u7684\u6587\u4EF6"),
|
|
});
|
|
return [2 /*return*/];
|
|
}
|
|
wx.showLoading({
|
|
title: '下载请求中,请耐心等待..',
|
|
});
|
|
wx.downloadFile({
|
|
url: fileUrl,
|
|
success: function (res) {
|
|
var filePath = res.tempFilePath || res.filePath;
|
|
wx.hideLoading();
|
|
wx.openDocument({
|
|
//打开文件
|
|
filePath: filePath,
|
|
fileType: extension,
|
|
showMenu: true,
|
|
success: function () {
|
|
console.log("\u6253\u5F00\u6587\u4EF6\u6210\u529F");
|
|
},
|
|
fail: function (err) {
|
|
console.log(err);
|
|
},
|
|
});
|
|
},
|
|
fail: function (res) {
|
|
console.log(res);
|
|
},
|
|
complete: function (res) { },
|
|
});
|
|
return [2 /*return*/];
|
|
});
|
|
});
|
|
},
|
|
},
|
|
listeners: {
|
|
maxNumber: function (prev, next) {
|
|
if (this.state.oakFullpath) {
|
|
if (prev.maxNumber !== next.maxNumber) {
|
|
this.reRender();
|
|
}
|
|
}
|
|
},
|
|
size: function (prev, next) {
|
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
var size, res, widthRpx, itemSizePercentage;
|
|
return tslib_1.__generator(this, function (_a) {
|
|
switch (_a.label) {
|
|
case 0:
|
|
if (!(process.env.OAK_PLATFORM === 'wechatMp')) return [3 /*break*/, 2];
|
|
size = next.size;
|
|
if (!size) {
|
|
this.setState({ itemSizePercentage: '' });
|
|
return [2 /*return*/];
|
|
}
|
|
return [4 /*yield*/, this.getNodeRectFromComponent(this, '.file-list__container')];
|
|
case 1:
|
|
res = _a.sent();
|
|
widthRpx = this.px2rpx(res.right - res.left);
|
|
itemSizePercentage = (10 / size) * 10 - (20 / widthRpx) * 100 + '%;';
|
|
this.setState({
|
|
itemSizePercentage: itemSizePercentage,
|
|
});
|
|
_a.label = 2;
|
|
case 2: return [2 /*return*/];
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
});
|