@cainiaofe/cn-ui-charts
Version:
99 lines (98 loc) • 4.98 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = exports.CnTile = void 0;
var _react = _interopRequireWildcard(require("react"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _cnUi = require("@alife/cn-ui");
var _cnLayout = require("../../components/cn-layout");
var _cnTile = require("../../components/cn-tile");
var _util = require("../../common/util/util");
var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject"));
var _excluded = ["backgroundColor", "type", "customStyle"];
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var CnTile = function CnTile(props) {
var _getLowCodeCoreUtil;
var children = props.children,
span = props.span,
_context = props._context,
_filter = props._filter,
tileStyle = props.tileStyle,
extra = props.extra;
var _ref = tileStyle || {},
backgroundColor = _ref.backgroundColor,
type = _ref.type,
customStyle = _ref.customStyle,
rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, _excluded);
var _ref2 = _filter || {},
componentSlot = _ref2.componentSlot,
slotPosition = _ref2.slotPosition;
var isDesign = (0, _util.isDesignMode)(props);
var state = _context === null || _context === void 0 ? void 0 : _context.state;
var extraDom = (_getLowCodeCoreUtil = (0, _util.getLowCodeCoreUtil)('util.makeButtons')) === null || _getLowCodeCoreUtil === void 0 ? void 0 : _getLowCodeCoreUtil({
buttons: extra === null || extra === void 0 ? void 0 : extra.map(function (item) {
var realChildren = item === null || item === void 0 ? void 0 : item.children;
if (typeof (item === null || item === void 0 ? void 0 : item.children) === 'function') {
realChildren = (0, _util.executeFunction)(item.children, {}, state);
}
return (0, _extends2["default"])({}, item, {
size: 'small',
position: (0, _util.getLowCodeCoreUtil)('enumMap.ButtonPosition.tileRightButton'),
children: realChildren
});
}),
_context: _context,
state: state,
recordDataSource: {}
});
var tileProps = {};
if ((0, _util.isArrayNotEmpty)(extraDom)) {
extraDom = /*#__PURE__*/_react["default"].createElement(_cnUi.CnBox, {
spacing: 8,
direction: "row"
}, extraDom);
}
var realStyle = {
backgroundColor: backgroundColor
};
var bodyStyle = (0, _util.executeFunction)(customStyle);
if ((0, _isPlainObject["default"])(bodyStyle)) {
tileProps.bodyStyle = bodyStyle;
}
if (type === 'noBorder') {
realStyle.backgroundColor = 'transparent';
realStyle.padding = 0;
realStyle.boxShadow = 'none';
}
var filterSlot = null;
if (slotPosition === 'right') {
var tempFilter = (0, _util.getSlotDom)({
componentSlot: componentSlot,
isDesign: isDesign,
componentProps: {
className: 'l2-cn-filter-in-chart l2-cn-filter-in-tile-right-slot'
}
});
extraDom = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, tempFilter, extraDom);
} else {
filterSlot = (0, _util.getSlotDom)({
componentSlot: componentSlot,
isDesign: isDesign
});
}
return /*#__PURE__*/_react["default"].createElement(_cnLayout.CnLayoutBlock, {
className: 'cn-tile-block-wrap',
span: span
}, /*#__PURE__*/_react["default"].createElement(_cnTile.CnTile, (0, _extends2["default"])({}, tileProps, {
style: realStyle
}, rest, {
extra: extraDom
}), slotPosition !== 'right' && filterSlot, children));
};
exports.CnTile = CnTile;
CnTile.typeMark = 'Block';
CnTile.displayName = 'CnTile';
var _default = CnTile;
exports["default"] = _default;