choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
115 lines (91 loc) • 3.94 kB
JavaScript
"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