UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

133 lines (129 loc) 5.55 kB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import React from 'react'; import cn from 'classnames'; import Typography from "../../typography"; import message from "../../message"; import Image from "../../image"; import Menu from "../../menu"; import Checkbox from "../../checkbox"; import Button from "../../button"; import IconFont from "../../icon-font"; import Dropdown from "../../dropdown"; var Paragraph = Typography.Paragraph; // 左图右文 var PictureTextRow = function PictureTextRow(_ref) { var index = _ref.index, cell = _ref.cell, table = _ref.table, checked = _ref.checked; var cellKey = table.cellKey, state = table.state, defaultConfig = table.defaultConfig, cellClick = table.cellClick, cellDoubleClick = table.cellDoubleClick, toggleCheckboxKey = table.toggleCheckboxKey, checkboxChange = table.checkboxChange, ellipsis = table.ellipsis; var trigger = state.checkboxConfig.trigger; var resetDefaultConfig = _objectSpread({ checkbox: true, imgurl: 'imgurl', title: function title() { return '物料名称'; }, code: 'code', operate: null, extend: null, columns: null, footer: null, // 底部区域 extra: null }, defaultConfig); // 复选框改变事件, 将复选数据保存到缓存中 var onSelctChange = function onSelctChange(val) { toggleCheckboxKey(cell[cellKey]); checkboxChange === null || checkboxChange === void 0 ? void 0 : checkboxChange(val, cell, index); }; // 单元格单击事件 var onClick = function onClick() { cellClick === null || cellClick === void 0 ? void 0 : cellClick(cell, index); if (trigger === 'cell') { onSelctChange === null || onSelctChange === void 0 ? void 0 : onSelctChange(!checked); } }; // 单元格双击事件: 双击时避免单击事件触发自己实现 var onDoubleClick = function onDoubleClick() { cellDoubleClick === null || cellDoubleClick === void 0 ? void 0 : cellDoubleClick(cell, index); }; return /*#__PURE__*/React.createElement("div", { className: "card_PTR" }, /*#__PURE__*/React.createElement("div", { className: cn('card_PTR_container', checked && 'checked') }, /*#__PURE__*/React.createElement("div", { className: "card_PTR_body", onClick: onClick, onDoubleClick: onDoubleClick }, resetDefaultConfig.checkbox && /*#__PURE__*/React.createElement("div", { className: "card_checkbox", onClick: function onClick(e) { return e.stopPropagation(); } }, /*#__PURE__*/React.createElement(Checkbox, { checked: checked, onChange: function onChange(e) { return onSelctChange(e.target.checked); } })), resetDefaultConfig.extra ? /*#__PURE__*/React.createElement("div", { className: "card_extra", onClick: function onClick(e) { return e.stopPropagation(); } }, /*#__PURE__*/React.createElement(Dropdown, { placement: "bottomRight", trigger: "click", overlay: function overlay() { return resetDefaultConfig.extra(cell, table); } }, /*#__PURE__*/React.createElement(IconFont, { type: "lmweb-gengduotianchong" }))) : null, /*#__PURE__*/React.createElement("div", { className: "card_PTR_left" }, typeof resetDefaultConfig.imgurl === 'function' ? resetDefaultConfig.imgurl(cell, table) : /*#__PURE__*/React.createElement(Image, { src: cell[resetDefaultConfig.imgurl], fallback: "" })), /*#__PURE__*/React.createElement("div", { className: "card_PTR_right" }, resetDefaultConfig.title ? /*#__PURE__*/React.createElement("div", { className: "card_title lm-font-middle-bold" }, typeof resetDefaultConfig.title === 'function' ? resetDefaultConfig.title(cell, table) : cell[resetDefaultConfig.title]) : null, resetDefaultConfig.code ? /*#__PURE__*/React.createElement("div", { className: "card_copy_text" }, typeof resetDefaultConfig.code === 'function' ? resetDefaultConfig.code(cell, table) : /*#__PURE__*/React.createElement(Paragraph, { copyable: { tooltips: false, onCopy: function onCopy() { return message.success('复制成功!', 1.5); } }, ellipsis: true }, cell[resetDefaultConfig.code])) : null, resetDefaultConfig.columns ? /*#__PURE__*/React.createElement("div", { className: "PTR_column" }, /*#__PURE__*/React.createElement("div", { className: "PTR_column_box" }, resetDefaultConfig.columns.map(function (v, idx) { var isVisible = v.show || typeof v.show !== 'boolean'; return isVisible ? /*#__PURE__*/React.createElement("div", { key: (v === null || v === void 0 ? void 0 : v.dataIndex) || idx }, v.title, "\uFF1A", /*#__PURE__*/React.createElement("div", { className: cn({ ellipsis: ellipsis }) }, typeof v.render === 'function' ? v.render(cell[v.dataIndex], cell, table) : cell[v.dataIndex])) : null; }))) : null, resetDefaultConfig.extend ? /*#__PURE__*/React.createElement("div", { className: "PTR_extend" }, resetDefaultConfig.extend(cell, table)) : null, resetDefaultConfig.desc ? /*#__PURE__*/React.createElement("div", { className: "PTR_desc" }, typeof resetDefaultConfig.desc === 'function' ? resetDefaultConfig.desc(cell, table) : cell[resetDefaultConfig.desc]) : null)), /*#__PURE__*/React.createElement("div", { className: "card_PTR_footer" }, resetDefaultConfig.footer || resetDefaultConfig.operate ? (resetDefaultConfig.footer || resetDefaultConfig.operate)(cell, table) : null))); }; export default PictureTextRow;