es-grid-template
Version:
es-grid-template
55 lines (54 loc) • 2.29 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.tips = tips;
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _commonViews = require("../../common-views");
var _internals = require("../../internals");
var _utils = require("../../utils");
const HeaderCellWithTips = _styledComponents.default.div.withConfig({
displayName: "HeaderCellWithTips",
componentId: "es-grid-template__sc-dlllyl-0"
})(["display:flex;align-items:center;.tip-icon-wrapper{margin-left:2px;}.tip-icon{display:flex;fill:currentColor;}"]);
function tips() {
return function tipsSteap(pipeline) {
const Balloon = pipeline.ctx.components.Balloon;
const Tooltip = pipeline.ctx.components.Tooltip;
if (Balloon == null && Tooltip == null) {
throw new Error('使用 tips 之前需要通过 pipeline context 设置 components.Balloon / components.Tooltip');
}
return pipeline.mapColumns((0, _utils.makeRecursiveMapper)(col => {
if (!col.features?.tips) {
return col;
}
const justifyContent = col.textAlign === 'right' ? 'flex-end' : col.textAlign === 'center' ? 'center' : 'flex-start';
return {
...col,
title: /*#__PURE__*/_react.default.createElement(HeaderCellWithTips, {
style: {
justifyContent
}
}, _internals.internals.safeRenderHeader(col), Balloon ?
/*#__PURE__*/
// fusion/hippo
_react.default.createElement(Balloon, {
closable: false,
trigger: /*#__PURE__*/_react.default.createElement("div", {
className: "tip-icon-wrapper"
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
className: "tip-icon"
}))
}, col.features.tips) : /*#__PURE__*/_react.default.createElement(Tooltip, {
title: col.features.tips
}, /*#__PURE__*/_react.default.createElement("div", {
className: "tip-icon-wrapper"
}, /*#__PURE__*/_react.default.createElement(_commonViews.icons.Info, {
className: "tip-icon"
}))))
};
}));
};
}