fastlion-amis
Version:
一种MIS页面生成工具
86 lines (85 loc) • 6.51 kB
JavaScript
"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