UNPKG

es-grid-template

Version:

es-grid-template

55 lines (54 loc) 2.29 kB
"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" })))) }; })); }; }