fastlion-amis
Version:
一种MIS页面生成工具
162 lines (161 loc) • 10.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var antd_1 = require("antd");
var utils_1 = require("../../utils/utils");
var icons_1 = require("../../../../components/icons");
var CellPopover = function (props) {
return react_1.default.createElement(MediaAction, tslib_1.__assign({}, props),
react_1.default.createElement(ImgContent, tslib_1.__assign({}, props)));
};
var MediaAction = function (props) {
var Print = props.Print, remove = props.remove, tabSample = props.tabSample, readonly = props.readonly, children = props.children, selectMedia = props.selectMedia, mediaList = props.mediaList, printMedia = props.printMedia, downloadMedia = props.downloadMedia, selectList = props.selectList, isSingleFile = props.isSingleFile, isImage = props.isImage, canDelete = props.canDelete, canUpload = props.canUpload, upload = props.upload, maxLength = props.maxLength;
var actionList = [
{
name: "下载",
icon: 'fa-download',
disabled: !(selectList === null || selectList === void 0 ? void 0 : selectList.length),
action: downloadMedia
},
{
name: "打印",
icon: 'fa-print',
disabled: !(selectList === null || selectList === void 0 ? void 0 : selectList.length),
action: printMedia
},
{
name: "删除",
icon: 'fa-remove',
disabled: canDelete === false || !(selectList === null || selectList === void 0 ? void 0 : selectList.length),
action: remove
},
{
name: "上传",
icon: 'fa-upload',
disabled: canUpload === false || (mediaList === null || mediaList === void 0 ? void 0 : mediaList.length) >= maxLength,
action: upload
},
];
var fileactionList = [
{
name: "下载",
icon: 'fa-download',
disabled: true,
action: downloadMedia
},
{
name: "打印",
icon: 'fa-print',
disabled: Print === null || Print === void 0 ? void 0 : Print(),
action: printMedia
},
{
name: "删除",
icon: 'fa-remove',
disabled: true,
action: remove
},
];
return react_1.default.createElement("div", { className: "mediaPopoverContent" },
mediaList.length > 0 &&
react_1.default.createElement("div", { className: (0, utils_1.classNames)("topAction") },
react_1.default.createElement("div", { className: "actionTitle" }, "\u6587\u4EF6\u5217\u8868"),
isSingleFile ? "" :
react_1.default.createElement("div", { className: "afterActionWrapper" },
react_1.default.createElement("span", { style: { cursor: 'pointer' }, onClick: function () { selectMedia('all'); } }, "\u5168\u9009"),
react_1.default.createElement("span", { style: { cursor: 'pointer', marginLeft: 16 }, onClick: function () { selectMedia('invert'); } }, "\u53CD\u9009"))),
mediaList.length > 0 &&
react_1.default.createElement("div", { className: "centerContent", style: tabSample ? { minHeight: 124, maxHeight: 230, height: "auto", overflow: "auto" } : {} }, children),
react_1.default.createElement("div", { className: "bottomAction" }, isSingleFile ?
fileactionList.map(function (actionItem, actionIndex) {
return readonly && actionIndex !== 2 ?
(react_1.default.createElement("div", { className: (0, utils_1.classNames)("actionItem", !actionItem.disabled && "actionDisabled"), key: actionIndex, onClick: function () {
var _a;
actionItem.disabled && ((_a = actionItem.action) === null || _a === void 0 ? void 0 : _a.call(actionItem));
} },
react_1.default.createElement("i", { className: "fa ".concat(actionItem.icon) }),
react_1.default.createElement("div", { className: "actionItemName" }, actionItem.name)))
: "";
})
:
actionList.map(function (actionItem, actionIndex) {
if (actionIndex === 2 && (readonly || canDelete === false))
return '';
if (actionIndex === 3 && (readonly || canUpload === false))
return '';
return react_1.default.createElement("div", { className: (0, utils_1.classNames)("actionItem", actionItem.disabled && "actionDisabled"), key: actionIndex, onClick: function () {
var _a;
!actionItem.disabled && ((_a = actionItem.action) === null || _a === void 0 ? void 0 : _a.call(actionItem));
} },
react_1.default.createElement("i", { className: "fa ".concat(actionItem.icon) }),
react_1.default.createElement("div", { className: "actionItemName" }, actionItem.name));
})));
};
var ImgContent = function (props) {
var singlePhoto = props.singlePhoto, tabSample = props.tabSample, formatFileSize = props.formatFileSize, mediaList = props.mediaList, selectList = props.selectList, checkMedia = props.checkMedia, previewMedia = props.previewMedia, isSingleFile = props.isSingleFile, isImage = props.isImage;
var filetext = function (fileName) {
// if (/(.pdf)/i.test(fileName)) {
// return <Icon icon={'file-pdf'} className="icon"></Icon>
// } else if (/(.ppt)/i.test(fileName)) {
// return <Icon icon={'file-ppt'} className="icon"></Icon>
// } else if (/(.jpe?)g|(.png)|(.svg)|(.gif)/i.test(fileName)) {
// const [iconName, iconColor] = getMediaIcon(fileName);
// return <Icon icon={iconName} color={iconColor} className="icon" symbol></Icon>
// } else if (/(.xlsx)|(.xls)/i.test(fileName)) {
// return <Icon icon={'file-xls'} className="icon"></Icon>
// } else if (/(.docx)|(.doc)/i.test(fileName)) {
// return <Icon icon={'file-doc'} className="icon"></Icon>
// } else {
// return <Icon icon={'file-file'} className="icon"></Icon>
// }
var _a = (0, utils_1.getMediaIcon)(fileName), iconName = _a[0], iconColor = _a[1];
return react_1.default.createElement(icons_1.Icon, { icon: iconName, color: iconColor, className: "icon", symbol: true });
};
// 是否只展示单个文件
if (isSingleFile) {
return (react_1.default.createElement("div", { className: (0, utils_1.classNames)("allImgContent", "popoverContentScrollBar"), style: { textAlign: "center", placeContent: "center", padding: "0 5px" } }, react_1.default.createElement("div", { key: singlePhoto, style: { textAlign: "center" } },
react_1.default.createElement("span", { style: { margin: '0 2px' }, onClick: function (e) {
previewMedia === null || previewMedia === void 0 ? void 0 : previewMedia(-1, e);
} }, filetext(singlePhoto.name)),
(0, utils_1.isImg)(singlePhoto.name) ? null :
(react_1.default.createElement(react_1.default.Fragment, null,
react_1.default.createElement("p", { className: 'image-info' }, singlePhoto.name),
react_1.default.createElement("p", { className: 'image-info' }, singlePhoto.size && formatFileSize(singlePhoto.size)))))));
}
else {
return (react_1.default.createElement("div", { className: (0, utils_1.classNames)("allImgContent", "popoverContentScrollBar") }, mediaList.map(function (mediaItem, mediaIndex) {
// if (!mediaItem.err) {
// 图片展示部分
if (isImage) {
return react_1.default.createElement("div", { className: (0, utils_1.classNames)("commonBorder", "MediaSelectedWrapper_common", mediaList.length === 1 && "singleImgWrapper", mediaList.length === 2 && "doubleImgWrapper", mediaList.length >= 3 && "mostImgWrapper", (selectList === null || selectList === void 0 ? void 0 : selectList.includes(mediaIndex)) && "MediaSelectedWrapper_selected"), key: mediaIndex },
react_1.default.createElement("img", { key: mediaIndex, src: mediaItem.thumbnailAddr || mediaItem.src, alt: mediaItem.sourceFileName, onClick: function (e) {
!mediaItem.err &&
(previewMedia === null || previewMedia === void 0 ? void 0 : previewMedia(mediaIndex, e));
} }),
!mediaItem.err ?
react_1.default.createElement(antd_1.Checkbox, { className: "selectCheckBox", checked: selectList === null || selectList === void 0 ? void 0 : selectList.includes(mediaIndex), onClick: function (e) {
e.stopPropagation();
checkMedia(mediaIndex);
} })
: null);
// 文件列表展示部分
}
else {
return react_1.default.createElement("div", { className: 'fileListWarp', style: { cursor: 'pointer' }, key: mediaIndex, onClick: function (e) {
previewMedia === null || previewMedia === void 0 ? void 0 : previewMedia(mediaIndex, e);
} },
react_1.default.createElement(antd_1.Checkbox, { className: "selectCheckBox", checked: selectList === null || selectList === void 0 ? void 0 : selectList.includes(mediaIndex), onClick: function (e) {
e.stopPropagation();
checkMedia(mediaIndex);
} }),
react_1.default.createElement("span", { style: { margin: '0 2px' } }, filetext(mediaItem.name)),
react_1.default.createElement("span", { title: "".concat(mediaItem.name), className: "fileNameWrapper" }, "".concat(mediaItem.name)),
react_1.default.createElement("span", null, "(".concat(mediaItem.size ? formatFileSize(mediaItem.size) : 0, ")")));
}
// }
})));
}
};
exports.default = CellPopover;
//# sourceMappingURL=./renderers/Lion/Table/LionCellImg/CellPopover.js.map