UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

86 lines (85 loc) 6.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GenericOperationContainer = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var testTable_1 = require("../../testTable"); var tpl_1 = require("../../../../../../utils/tpl"); var index_1 = require("../../../../../../index"); var antd_1 = require("antd"); require("./index.scss"); require("../../style/baseCss/popover.scss"); var GenericOperationContainer = function (props) { var buttons = props.buttons, seat = props.seat, rightTableWidth = props.rightTableWidth; var className = 'tbody-td--column thead-th--column tbody-td--opreation' + (seat === 'right' ? ' lion-cell--fix--right' : ''); var OperateElement = function (_a) { var children = _a.children; return react_1.default.createElement("td", { className: className }, children); }; if (!(seat === 'right')) return (react_1.default.createElement(OperateElement, null, react_1.default.createElement("div", { className: "tbody-td--column--surface--hide" }))); if (!(buttons === null || buttons === void 0 ? void 0 : buttons.length)) return (react_1.default.createElement(OperateElement, null, react_1.default.createElement("div", { className: "lion-cell--fix--right--cell", style: { width: rightTableWidth } }))); return react_1.default.createElement(GenericOperation, tslib_1.__assign({}, props, { RenderOperateContainer: OperateElement })); }; exports.GenericOperationContainer = GenericOperationContainer; var GenericOperation = function (_a) { var rightTableWidth = _a.rightTableWidth, buttons = _a.buttons, source = _a.source, RenderOperateContainer = _a.RenderOperateContainer, _b = _a.limitNum, limitNum = _b === void 0 ? buttons === null || buttons === void 0 ? void 0 : buttons.length : _b; var _c = (0, react_1.useContext)(testTable_1.LionTestTableContext), env = _c.env, handleAction = _c.handleAction, primaryField = _c.primaryField; var btnList = (0, react_1.useMemo)(function () { return buttons.filter(function (item) { var _a; return !(0, tpl_1.evalExpression)((_a = item === null || item === void 0 ? void 0 : item.hiddenOn) !== null && _a !== void 0 ? _a : '', source); }); }, [buttons, source]); return react_1.default.createElement(RenderOperateContainer, null, react_1.default.createElement("div", { className: "lion-cell--fix--right--cell", style: { width: rightTableWidth } }, react_1.default.createElement("div", { className: "tbody-td--opreation--list" }, btnList.slice(0, limitNum).map(function (item, index) { return (0, index_1.render)(tslib_1.__assign(tslib_1.__assign({}, item), { // Jay type: item.type !== 'label-print' ? item.type : 'button' }), { data: source, ids: source[primaryField], primaryField: primaryField, onAction: handleAction }, { fetcher: env === null || env === void 0 ? void 0 : env.fetcher, session: env === null || env === void 0 ? void 0 : env.session }); }), (btnList === null || btnList === void 0 ? void 0 : btnList.length) <= limitNum ? null : react_1.default.createElement(antd_1.Popover, { placement: 'bottomRight', arrowPointAtCenter: true, getPopupContainer: env === null || env === void 0 ? void 0 : env.getModalContainer, trigger: "click", overlayClassName: "lion-table-cell-btn", overlayStyle: { paddingTop: 0 }, overlayInnerStyle: { padding: 0 }, content: function () { var _a; var _b; return react_1.default.createElement("div", { className: "lion-export-popover" }, react_1.default.createElement("div", { className: "lion-export-popover-container" }, react_1.default.createElement("div", { className: "lion-export-popover-hide" }, react_1.default.createElement("ul", { style: (_a = {}, _a[((_b = btnList.slice(limitNum)) === null || _b === void 0 ? void 0 : _b.length) <= 1 ? 'padding' : ''] = 0, _a) }, btnList.slice(limitNum).map(function (item, idx) { return react_1.default.createElement("div", { style: { margin: '5px' }, key: idx, "data-index": idx }, (0, index_1.render)(tslib_1.__assign({}, item), { data: source, ids: source[primaryField], primaryField: primaryField, onAction: handleAction, className: 'lion-td-btn' }, { fetcher: env === null || env === void 0 ? void 0 : env.fetcher, session: env === null || env === void 0 ? void 0 : env.session })); }))))); } }, react_1.default.createElement(antd_1.Popover, { placement: 'top', arrowPointAtCenter: true, getPopupContainer: env === null || env === void 0 ? void 0 : env.getModalContainer, trigger: "hover", overlayStyle: { paddingTop: 0 }, overlayInnerStyle: { padding: 0 }, overlayClassName: "lion-table-cell-btn lion-table-cell-btn-hide", content: function () { return react_1.default.createElement("div", { className: "lion-table-cell-btn-hide--text" }, "\u66F4\u591A\u5185\u5BB9"); } }, react_1.default.createElement(antd_1.Button, { className: "lion-cell-btn--ellipsis", icon: react_1.default.createElement("span", { style: { fontSize: '20px' }, className: "fa fa-ellipsis-h" }), type: "link" })))))); }; //# sourceMappingURL=./renderers/Lion/Table/LionTable/assembly/generic/GenericOperation.js.map