Files
copilot-toolbox-template-121/node_modules/@ant-design/pro-layout/lib/components/Help/RenderContentPanel.js
2026-01-16 02:20:32 +00:00

118 lines
4.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RenderContentPanel = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _antd = require("antd");
var _react = _interopRequireWildcard(require("react"));
var _HelpProvide = require("./HelpProvide");
var _ProHelpPanel = require("./ProHelpPanel");
var _jsxRuntime = require("react/jsx-runtime");
// HTML渲染组件接收一个字符串形式的html作为props
// 可选接收className作为组件的样式类名
var HTMLRender = function HTMLRender(props) {
var ref = (0, _react.useRef)(null);
// 当html发生变化时将其渲染到ref.current的innerHTML中
(0, _react.useEffect)(function () {
if (ref.current) ref.current.innerHTML = props.children;
}, [props.children]);
// 返回一个div元素作为容器并传递ref和className作为props
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
ref: ref,
className: props.className || 'inner-html'
});
};
var NavigationSwitch = function NavigationSwitch(props) {
var context = (0, _react.useContext)(_ProHelpPanel.SelectKeyProvide);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Text, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
"data-testid": "navigation-switch",
onClick: function onClick() {
context.setSelectedKey(props.selectKey);
},
children: props.children
})
});
};
var RenderContentPanel = exports.RenderContentPanel = function RenderContentPanel(_ref) {
var dataSourceChildren = _ref.dataSourceChildren,
onInit = _ref.onInit;
var _useContext = (0, _react.useContext)(_HelpProvide.ProHelpProvide),
valueTypeMap = _useContext.valueTypeMap;
var divRef = (0, _react.useRef)(null);
(0, _react.useEffect)(function () {
onInit === null || onInit === void 0 || onInit(divRef.current);
}, [dataSourceChildren]);
/**
* itemRender 的定义
* @param {ProHelpDataSourceChildren} item
* @param {number} index
* @return {*}
*/
var itemRender = function itemRender(item, index) {
// 自定义的渲染,优先级最高
if (valueTypeMap.has(item.valueType)) {
var _valueTypeMap$get;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
children: (_valueTypeMap$get = valueTypeMap.get(item.valueType)) === null || _valueTypeMap$get === void 0 ? void 0 : _valueTypeMap$get(item, index)
}, index);
}
if (item.valueType === 'html') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(HTMLRender, (0, _objectSpread2.default)({}, item.children), index);
}
if (item.valueType === 'h1') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Title, {
style: {
marginTop: 0
},
level: 3,
children: item.children
}, index);
}
if (item.valueType === 'h2') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Title, {
style: {
marginTop: 20
},
level: 5,
children: item.children
}, index);
}
if (item.valueType === 'image') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: {
marginBlock: 12
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Image, (0, _objectSpread2.default)({}, item.children))
}, index);
}
if (item.valueType === 'inlineLink') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Text, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", (0, _objectSpread2.default)({}, item.children))
}, index);
}
if (item.valueType === 'link') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Text, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", (0, _objectSpread2.default)({}, item.children))
}, index)
}, index);
}
if (item.valueType === 'navigationSwitch') {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(NavigationSwitch, (0, _objectSpread2.default)({}, item.children), index);
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Typography.Text, {
children: item.children
}, index);
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
ref: divRef,
children: dataSourceChildren === null || dataSourceChildren === void 0 ? void 0 : dataSourceChildren.map(itemRender)
});
};