jc-biz-components
Version:
jc component library based on Antd
147 lines (126 loc) • 3.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _message2 = require('antd/lib/message');
var _message3 = _interopRequireDefault(_message2);
exports.beforeUpload = beforeUpload;
exports.onPreview = onPreview;
exports.fileToObject = fileToObject;
exports.genPercentAdd = genPercentAdd;
exports.getFileItem = getFileItem;
exports.modifyFileItem = modifyFileItem;
exports.changeIndex = changeIndex;
exports.removeFileItem = removeFileItem;
require('antd/lib/message/style');
var _modal = require('../jc-modal');
var _modal2 = _interopRequireDefault(_modal);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function beforeUpload(file) {
if (file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png') {
var isLt10M = file.size < 1024 * 5000;
if (!isLt10M) {
_message3['default'].error('图片不能大于5MB!');
}
return isLt10M;
} else {
_message3['default'].error('请上传图片文件!');
return false;
}
}
function onPreview(file) {
var html = React.createElement('img', { alt: 'preview', style: { width: '100%' }, src: file.url });
(0, _modal2['default'])(html);
}
// Fix IE file.status problem
// via coping a new Object
function fileToObject(file) {
return {
lastModified: file.lastModified,
lastModifiedDate: file.lastModifiedDate,
name: file.filename || file.name,
size: file.size,
type: file.type,
uid: file.uid,
response: file.response,
error: file.error,
percent: 0,
originFileObj: file,
status: null
};
}
/**
* 生成Progress percent: 0.1 -> 0.98
* - for ie
*/
function genPercentAdd() {
var k = 0.1;
var i = 0.01;
var end = 0.98;
return function (s) {
var start = s;
if (start >= end) {
return start;
}
start += k;
k = k - i;
if (k < 0.001) {
k = 0.001;
}
return start * 100;
};
}
function getFileItem(file, fileList) {
var matchKey = file.uid !== undefined ? 'uid' : 'name';
return fileList.filter(function (item) {
return item[matchKey] === file[matchKey];
})[0];
}
function modifyFileItem(file, fileList, object) {
var matchKey = file.uid !== undefined ? 'uid' : 'name';
return fileList.map(function (item) {
if (item[matchKey] === file[matchKey]) {
return (0, _extends3['default'])({}, item, object);
}
return item;
});
}
var forwardIndex = function forwardIndex(fileList, index) {
var temp = null;
if (index === 0 || index > fileList.length - 1) {
return fileList;
}
temp = fileList[index];
fileList[index] = fileList[index - 1];
fileList[index - 1] = temp;
return fileList;
};
var backIndex = function backIndex(fileList, index) {
var temp = null;
if (index === fileList.length - 1 || index > fileList.length - 1) {
return fileList;
}
temp = fileList[index];
fileList[index] = fileList[index + 1];
fileList[index + 1] = temp;
return fileList;
};
function changeIndex(file, fileList, value) {
var index = fileList.indexOf(file);
if (value === 0) {
return forwardIndex(fileList, index);
}
return backIndex(fileList, index);
}
function removeFileItem(file, fileList) {
var matchKey = file.uid !== undefined ? 'uid' : 'name';
var removed = fileList.filter(function (item) {
return item[matchKey] !== file[matchKey];
});
if (removed.length === fileList.length) {
return null;
}
return removed;
}