UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

49 lines (48 loc) 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ItemSelection = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var components_1 = require("../../../components"); var tpl_1 = require("../../../utils/tpl"); var lodash_1 = require("lodash"); var helper_1 = require("../../../utils/helper"); var ItemSelection = function (_a) { var props = _a.props, control = _a.control; var store = props.store, cx = props.classnames, labelField = props.labelField, labelTpl = props.labelTpl, primaryField = props.primaryField, __ = props.translate; if (!store.selectedItems.length) { return null; } var unSelectItem = (0, react_1.useCallback)(function (item, index) { var _a, _b, _c; var data = (_b = (_a = control === null || control === void 0 ? void 0 : control.props) === null || _a === void 0 ? void 0 : _a.store) === null || _b === void 0 ? void 0 : _b.rows.concat(); var Item = data === null || data === void 0 ? void 0 : data.find(function (items) { return (0, lodash_1.isEqual)(item, items.data); }); if (Item) { (_c = control === null || control === void 0 ? void 0 : control.handleCheck) === null || _c === void 0 ? void 0 : _c.call(control, Item); } var selected = store.selectedItems.concat(); var unSelected = store.unSelectedItems.concat(); var idx = selected.indexOf(item); ~idx && unSelected.push.apply(unSelected, selected.splice(idx, 1)); store.setSelectedItems(selected); store.setUnSelectedItems(unSelected); }, []); var clearSelection = (0, react_1.useCallback)(function () { control === null || control === void 0 ? void 0 : control.handleCheckAll(2); var selected = store.selectedItems.concat(); var unSelected = store.unSelectedItems.concat(); store.setSelectedItems([]); store.setUnSelectedItems(unSelected.concat(selected)); }, []); return (react_1.default.createElement("div", { className: cx('Crud-selection') }, react_1.default.createElement("div", { className: cx('Crud-selectionLabel') }, __('CRUD.selected')), store.selectedItems.map(function (item, index) { return react_1.default.createElement("div", { key: index, className: cx("Crud-value") }, react_1.default.createElement("span", { "data-tooltip": __('delete'), "data-position": "bottom", className: cx('Crud-valueIcon'), onClick: function () { return unSelectItem(item, index); } }, "\u00D7"), react_1.default.createElement("span", { className: cx('Crud-valueLabel') }, labelTpl ? (react_1.default.createElement(components_1.Html, { html: (0, tpl_1.filter)(labelTpl, item) })) : ((0, helper_1.getVariable)(item, labelField || 'label') || (0, helper_1.getVariable)(item, primaryField || 'id')))); }), react_1.default.createElement("a", { onClick: clearSelection, className: cx('Crud-selectionClear') }, __('clear')))); }; exports.ItemSelection = ItemSelection; //# sourceMappingURL=./renderers/CRUD/components/Selection.js.map