gxxc-ui 1.0.50 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import parse, { Element } from 'html-react-parser';
|
|
3
|
+
export default function HtmlTemplateRenderer(props) {
|
|
4
|
+
/// config 格式 {key : <>内容</> }
|
|
5
|
+
var template = props.template,
|
|
6
|
+
config = props.config;
|
|
7
|
+
var processedHtml = useMemo(function () {
|
|
8
|
+
if (!template) return '';
|
|
9
|
+
var parser = new DOMParser();
|
|
10
|
+
var doc = parser.parseFromString(template, 'text/html');
|
|
11
|
+
var firstChild = doc.body.children[0];
|
|
12
|
+
if (!firstChild) return '';
|
|
13
|
+
var firstElementHtml = firstChild.outerHTML;
|
|
14
|
+
var variableRegex = /\$\{([^}]+)\}/g;
|
|
15
|
+
return firstElementHtml.replace(variableRegex, function (match, varName) {
|
|
16
|
+
return "<my-ts value=\"".concat(varName.trim(), "\"></my-ts>");
|
|
17
|
+
});
|
|
18
|
+
}, [template]);
|
|
19
|
+
var options = useMemo(function () {
|
|
20
|
+
return {
|
|
21
|
+
replace: function replace(domNode) {
|
|
22
|
+
if (domNode instanceof Element && domNode.name === 'my-ts') {
|
|
23
|
+
var varName = domNode.attribs['value'];
|
|
24
|
+
return config[varName];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}, [config]);
|
|
29
|
+
var renderedContent = useMemo(function () {
|
|
30
|
+
if (!processedHtml) return null;
|
|
31
|
+
return parse(processedHtml, options);
|
|
32
|
+
}, [processedHtml, options]);
|
|
33
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, renderedContent);
|
|
34
|
+
}
|
package/dist/SelectUI/index.js
CHANGED
|
@@ -27,7 +27,8 @@ var SelectUI = function SelectUI(props) {
|
|
|
27
27
|
var _props$options = props.options,
|
|
28
28
|
options = _props$options === void 0 ? [] : _props$options,
|
|
29
29
|
filterOption = props.filterOption,
|
|
30
|
-
filterSort = props.filterSort,
|
|
30
|
+
_props$filterSort = props.filterSort,
|
|
31
|
+
filterSort = _props$filterSort === void 0 ? false : _props$filterSort,
|
|
31
32
|
fieldNames = props.fieldNames,
|
|
32
33
|
onChange = props.onChange,
|
|
33
34
|
value = props.value,
|
|
@@ -66,6 +67,11 @@ var SelectUI = function SelectUI(props) {
|
|
|
66
67
|
setSelecValue(value);
|
|
67
68
|
if (onChange) onChange(value, option);
|
|
68
69
|
};
|
|
70
|
+
var getFilterSort = function getFilterSort() {
|
|
71
|
+
if (filterSort === false) return undefined; // 显式禁用
|
|
72
|
+
if (filterSort === true) return defaultFilterSort; // 强制默认
|
|
73
|
+
return filterSort !== null && filterSort !== void 0 ? filterSort : defaultFilterSort; // 函数自定义 or 隐式兜底
|
|
74
|
+
};
|
|
69
75
|
return /*#__PURE__*/React.createElement("div", {
|
|
70
76
|
className: "selectUI"
|
|
71
77
|
}, /*#__PURE__*/React.createElement(Select, _extends({
|
|
@@ -75,7 +81,7 @@ var SelectUI = function SelectUI(props) {
|
|
|
75
81
|
allowClear: true,
|
|
76
82
|
optionFilterProp: "label",
|
|
77
83
|
filterOption: filterOption !== null && filterOption !== void 0 ? filterOption : defaultFilterOption,
|
|
78
|
-
filterSort:
|
|
84
|
+
filterSort: getFilterSort,
|
|
79
85
|
fieldNames: fieldNames,
|
|
80
86
|
onChange: changeSelect
|
|
81
87
|
}, otherProps)), copy && /*#__PURE__*/React.createElement(IconUI, {
|
package/dist/index.d.ts
CHANGED
|
@@ -33,3 +33,4 @@ export { default as Tiga } from './Tiga';
|
|
|
33
33
|
export { default as UploadUI } from './UploadUI';
|
|
34
34
|
export { default as VesselUI } from './VesselUI';
|
|
35
35
|
export { default as VideoPreviewUI } from './VideoPreviewUI';
|
|
36
|
+
export { default as HtmlTemplateRenderer } from './HtmlTemplateRenderer';
|
package/dist/index.js
CHANGED
|
@@ -32,4 +32,5 @@ export { default as TextUI } from "./TextUI";
|
|
|
32
32
|
export { default as Tiga } from "./Tiga";
|
|
33
33
|
export { default as UploadUI } from "./UploadUI";
|
|
34
34
|
export { default as VesselUI } from "./VesselUI";
|
|
35
|
-
export { default as VideoPreviewUI } from "./VideoPreviewUI";
|
|
35
|
+
export { default as VideoPreviewUI } from "./VideoPreviewUI";
|
|
36
|
+
export { default as HtmlTemplateRenderer } from "./HtmlTemplateRenderer";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gxxc-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.52",
|
|
4
4
|
"description": "A react library developed with dumi",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -51,11 +51,12 @@
|
|
|
51
51
|
"antd": "^5.27.1",
|
|
52
52
|
"axios": "^1.7.9",
|
|
53
53
|
"dayjs": "^1.11.11",
|
|
54
|
+
"gxxc-util": "^1.0.19",
|
|
55
|
+
"html-react-parser": "^6.1.2",
|
|
54
56
|
"lodash": "^4.17.21",
|
|
55
57
|
"react-countup": "^6.5.3",
|
|
56
58
|
"react-draggable": "^4.4.6",
|
|
57
|
-
"react-router-dom": "^6.13.0"
|
|
58
|
-
"gxxc-util": "^1.0.19"
|
|
59
|
+
"react-router-dom": "^6.13.0"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
62
|
"@commitlint/cli": "^17.1.2",
|