UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

115 lines (91 loc) 3.94 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireWildcard(require("react")); var _mobxReactLite = require("mobx-react-lite"); var _Button = _interopRequireDefault(require("../../../button/Button")); var _enum = require("../../../button/enum"); var _enum2 = require("../../../core/enum"); var _TableContext = _interopRequireDefault(require("../../TableContext")); var _enum3 = require("../../enum"); var _localeContext = require("../../../locale-context"); var _tooltip = _interopRequireDefault(require("../../../tooltip")); var ItemSuffix = function ItemSuffix(props) { var records = props.records, record = props.record; var _useContext = (0, _react.useContext)(_TableContext["default"]), _useContext$tableStor = _useContext.tableStore, columnHideable = _useContext$tableStor.columnHideable, columnDraggable = _useContext$tableStor.columnDraggable; var changeLock = (0, _react.useCallback)(function (lock) { var sort = record.get('sort'); record.set('lock', lock); if (!lock) { records.forEach(function (r) { if (r.get('sort') > sort) { r.set('lock', lock); } }); } else { records.forEach(function (r) { if (r.get('sort') < sort) { r.set('lock', lock); } }); } }, [record]); var changeHidden = (0, _react.useCallback)(function (hidden) { record.set('hidden', hidden); }, [record]); var getTreeNodes = function getTreeNodes() { var lock = record.get('lock'); if (columnDraggable && record.get('draggable') !== false) { if (!record.parent) { if (lock) { return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], { title: (0, _localeContext.$l)('Table', 'lock_column') }, /*#__PURE__*/_react["default"].createElement(_Button["default"], { funcType: _enum.FuncType.flat, color: _enum.ButtonColor.primary, size: _enum2.Size.small, icon: "lock-o", onClick: function onClick() { return changeLock(false); } })); } return /*#__PURE__*/_react["default"].createElement(_tooltip["default"], { title: (0, _localeContext.$l)('Table', 'cancel_lock_column') }, /*#__PURE__*/_react["default"].createElement(_Button["default"], { funcType: _enum.FuncType.flat, size: _enum2.Size.small, icon: "lock_open", onClick: function onClick() { return changeLock(_enum3.ColumnLock.left); }, tooltip: _enum.ButtonTooltip.always })); } } }; return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, getTreeNodes(), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], { title: record.get('hidden') === false ? (0, _localeContext.$l)('Table', 'show') : (0, _localeContext.$l)('Table', 'hide') }, /*#__PURE__*/_react["default"].createElement(_Button["default"], { funcType: _enum.FuncType.flat, color: record.get('hidden') === false ? _enum.ButtonColor.primary : _enum.ButtonColor["default"], size: _enum2.Size.small, disabled: !columnHideable || record.get('hideable') === false || record.parent && record.parent.get('hidden'), icon: record.get('hidden') === false ? 'visibility' : 'visibility_off', onClick: function onClick() { return changeHidden(!record.get('hidden')); } }))); }; ItemSuffix.displayName = 'ItemSuffix'; var _default = (0, _mobxReactLite.observer)(ItemSuffix); exports["default"] = _default; //# sourceMappingURL=ItemSuffix.js.map