UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

162 lines (161 loc) 10.7 kB
"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