@next-libs/visual-builder 1.2.15 → 1.2.16
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.
- package/dist/cjs/index.js +0 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/brick-visualization.js +0 -3
- package/dist/cjs/interfaces/brick-visualization.js.map +1 -1
- package/dist/cjs/interfaces/index.js +0 -4
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/utils/deepMatch.js +0 -7
- package/dist/cjs/utils/deepMatch.js.map +1 -1
- package/dist/cjs/utils/index.js +0 -2
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/visual-property-form/VisualPropertyForm.js +2 -48
- package/dist/cjs/visual-property-form/VisualPropertyForm.js.map +1 -1
- package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js +0 -11
- package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js +0 -19
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js +0 -5
- package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js +0 -9
- package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/constant.js.map +1 -1
- package/dist/cjs/visual-property-form/processor.js +9 -45
- package/dist/cjs/visual-property-form/processor.js.map +1 -1
- package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js +0 -11
- package/dist/cjs/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/brick-visualization.js +0 -3
- package/dist/esm/interfaces/brick-visualization.js.map +1 -1
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/utils/deepMatch.js +0 -5
- package/dist/esm/utils/deepMatch.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/visual-property-form/VisualPropertyForm.js +0 -25
- package/dist/esm/visual-property-form/VisualPropertyForm.js.map +1 -1
- package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js +4 -9
- package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/ColorEditor/ColorEditorItem.js +0 -9
- package/dist/esm/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js +0 -4
- package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/esm/visual-property-form/constant.js.map +1 -1
- package/dist/esm/visual-property-form/processor.js +1 -27
- package/dist/esm/visual-property-form/processor.js.map +1 -1
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js +0 -3
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/package.json +5 -5
- package/CHANGELOG.md +0 -145
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorEditorItem.js","names":["getPresetColors","colorMap","colorList","group","Object","entries","forEach","name","result","match","colorHex","window","getComputedStyle","document","documentElement","getPropertyValue","trim","push","LegacyColorPick","props","ref","value","setValue","useState","visible","setVisible","useEffect","handleChangeComplete","color","hex","onChange","handleClick","styles","colorContainer","colorCube","colorContent","backgroundColor","popover","cover","COLORS_MAP","ColorPick","forwardRef","ColorEditorItem","label","required","message"],"sources":["../../../../../src/visual-property-form/components/ColorEditor/ColorEditorItem.tsx"],"sourcesContent":["import { ColorResult, SketchPicker } from \"react-color\";\nimport { COLORS_MAP, Colors } from \"@next-libs/basic-components\";\nimport { Form } from \"antd\";\nimport React, { useEffect, useState, forwardRef } from \"react\";\nimport styles from \"./ColorEditor.module.css\";\n\nexport interface ColorEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n required?: boolean;\n value?: any;\n onChange?: (value: string) => void;\n}\n\nexport function getPresetColors(\n colorMap: Record<\n Colors,\n {\n color: string;\n background: string;\n borderColor: string;\n }\n >\n): string[] {\n const colorList: string[] = [];\n for (const [, group] of Object.entries(colorMap)) {\n [\"color\", \"background\", \"borderColor\"].forEach((name) => {\n const result = (group as Record<string, any>)[name]?.match(\n /^var\\((.+)\\)/\n );\n if (result) {\n const colorHex = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(result[1])\n ?.trim();\n colorHex && colorList.push(colorHex);\n }\n });\n }\n\n return colorList;\n}\n\nexport function LegacyColorPick(\n props: ColorEditorItemProps,\n ref: React.Ref<any>\n) {\n const [value, setValue] = useState(props.value);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleChangeComplete = (color: ColorResult) => {\n setValue(color.hex);\n props.onChange(color.hex);\n };\n\n const handleClick = () => {\n setVisible(true);\n };\n\n return (\n <div className={styles.colorContainer}>\n <div className={styles.colorCube} onClick={handleClick}>\n <div\n className={styles.colorContent}\n style={{ backgroundColor: value }}\n />\n </div>\n {visible && (\n <div className={styles.popover}>\n <div className={styles.cover} onClick={() => setVisible(false)} />\n <SketchPicker\n width=\"230px\"\n ref={ref}\n color={value}\n onChangeComplete={handleChangeComplete}\n presetColors={getPresetColors(COLORS_MAP)}\n />\n </div>\n )}\n </div>\n );\n}\n\nexport const ColorPick = forwardRef(LegacyColorPick);\n\nexport function ColorEditorItem(props: ColorEditorItemProps) {\n return (\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <ColorPick />\n </Form.Item>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColorEditorItem.js","names":["getPresetColors","colorMap","colorList","group","Object","entries","forEach","name","result","match","colorHex","window","getComputedStyle","document","documentElement","getPropertyValue","trim","push","LegacyColorPick","props","ref","value","setValue","useState","visible","setVisible","useEffect","handleChangeComplete","color","hex","onChange","handleClick","styles","colorContainer","colorCube","colorContent","backgroundColor","popover","cover","COLORS_MAP","ColorPick","forwardRef","ColorEditorItem","label","required","message"],"sources":["../../../../../src/visual-property-form/components/ColorEditor/ColorEditorItem.tsx"],"sourcesContent":["import { ColorResult, SketchPicker } from \"react-color\";\nimport { COLORS_MAP, Colors } from \"@next-libs/basic-components\";\nimport { Form } from \"antd\";\nimport React, { useEffect, useState, forwardRef } from \"react\";\nimport styles from \"./ColorEditor.module.css\";\n\nexport interface ColorEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n required?: boolean;\n value?: any;\n onChange?: (value: string) => void;\n}\n\nexport function getPresetColors(\n colorMap: Record<\n Colors,\n {\n color: string;\n background: string;\n borderColor: string;\n }\n >\n): string[] {\n const colorList: string[] = [];\n for (const [, group] of Object.entries(colorMap)) {\n [\"color\", \"background\", \"borderColor\"].forEach((name) => {\n const result = (group as Record<string, any>)[name]?.match(\n /^var\\((.+)\\)/\n );\n if (result) {\n const colorHex = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(result[1])\n ?.trim();\n colorHex && colorList.push(colorHex);\n }\n });\n }\n\n return colorList;\n}\n\nexport function LegacyColorPick(\n props: ColorEditorItemProps,\n ref: React.Ref<any>\n) {\n const [value, setValue] = useState(props.value);\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleChangeComplete = (color: ColorResult) => {\n setValue(color.hex);\n props.onChange(color.hex);\n };\n\n const handleClick = () => {\n setVisible(true);\n };\n\n return (\n <div className={styles.colorContainer}>\n <div className={styles.colorCube} onClick={handleClick}>\n <div\n className={styles.colorContent}\n style={{ backgroundColor: value }}\n />\n </div>\n {visible && (\n <div className={styles.popover}>\n <div className={styles.cover} onClick={() => setVisible(false)} />\n <SketchPicker\n width=\"230px\"\n ref={ref}\n color={value}\n onChangeComplete={handleChangeComplete}\n presetColors={getPresetColors(COLORS_MAP)}\n />\n </div>\n )}\n </div>\n );\n}\n\nexport const ColorPick = forwardRef(LegacyColorPick);\n\nexport function ColorEditorItem(props: ColorEditorItemProps) {\n return (\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <ColorPick />\n </Form.Item>\n );\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAUO,SAASA,eAAe,CAC7BC,QAOC,EACS;EACV,MAAMC,SAAmB,GAAG,EAAE;EAC9B,KAAK,MAAM,GAAGC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,QAAQ,CAAC,EAAE;IAChD,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAACK,OAAO,CAAEC,IAAI,IAAK;MAAA;MACvD,MAAMC,MAAM,YAAIL,KAAK,CAAyBI,IAAI,CAAC,0CAApC,MAAsCE,KAAK,CACxD,cAAc,CACf;MACD,IAAID,MAAM,EAAE;QAAA;QACV,MAAME,QAAQ,4BAAGC,MAAM,CACpBC,gBAAgB,CAACC,QAAQ,CAACC,eAAe,CAAC,CAC1CC,gBAAgB,CAACP,MAAM,CAAC,CAAC,CAAC,CAAC,0DAFb,sBAGbQ,IAAI,EAAE;QACVN,QAAQ,IAAIR,SAAS,CAACe,IAAI,CAACP,QAAQ,CAAC;MACtC;IACF,CAAC,CAAC;EACJ;EAEA,OAAOR,SAAS;AAClB;AAEO,SAASgB,eAAe,CAC7BC,KAA2B,EAC3BC,GAAmB,EACnB;EACA,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAACJ,KAAK,CAACE,KAAK,CAAC;EAC/C,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAG,gBAAS,EAAC,MAAM;IACdJ,QAAQ,CAACH,KAAK,CAACE,KAAK,CAAC;EACvB,CAAC,EAAE,CAACF,KAAK,CAACE,KAAK,CAAC,CAAC;EAEjB,MAAMM,oBAAoB,GAAIC,KAAkB,IAAK;IACnDN,QAAQ,CAACM,KAAK,CAACC,GAAG,CAAC;IACnBV,KAAK,CAACW,QAAQ,CAACF,KAAK,CAACC,GAAG,CAAC;EAC3B,CAAC;EAED,MAAME,WAAW,GAAG,MAAM;IACxBN,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;EAED,oBACE;IAAK,SAAS,EAAEO,0BAAM,CAACC;EAAe,gBACpC;IAAK,SAAS,EAAED,0BAAM,CAACE,SAAU;IAAC,OAAO,EAAEH;EAAY,gBACrD;IACE,SAAS,EAAEC,0BAAM,CAACG,YAAa;IAC/B,KAAK,EAAE;MAAEC,eAAe,EAAEf;IAAM;EAAE,EAClC,CACE,EACLG,OAAO,iBACN;IAAK,SAAS,EAAEQ,0BAAM,CAACK;EAAQ,gBAC7B;IAAK,SAAS,EAAEL,0BAAM,CAACM,KAAM;IAAC,OAAO,EAAE,MAAMb,UAAU,CAAC,KAAK;EAAE,EAAG,eAClE,6BAAC,wBAAY;IACX,KAAK,EAAC,OAAO;IACb,GAAG,EAAEL,GAAI;IACT,KAAK,EAAEC,KAAM;IACb,gBAAgB,EAAEM,oBAAqB;IACvC,YAAY,EAAE3B,eAAe,CAACuC,2BAAU;EAAE,EAC1C,CAEL,CACG;AAEV;AAEO,MAAMC,SAAS,gBAAG,IAAAC,iBAAU,EAACvB,eAAe,CAAC;AAAC;AAE9C,SAASwB,eAAe,CAACvB,KAA2B,EAAE;EAC3D,oBACE,6BAAC,UAAI,CAAC,IAAI;IACR,GAAG,EAAEA,KAAK,CAACZ,IAAK;IAChB,IAAI,EAAEY,KAAK,CAACZ,IAAK;IACjB,KAAK,EAAEY,KAAK,CAACwB,KAAM;IACnB,KAAK,EAAE,CAAC;MAAEC,QAAQ,EAAEzB,KAAK,CAACyB,QAAQ;MAAEC,OAAO,EAAG,MAAK1B,KAAK,CAACZ,IAAK;IAAE,CAAC;EAAE,gBAEnE,6BAAC,SAAS,OAAG,CACH;AAEhB"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.IconSelectFormItem = IconSelectFormItem;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _antd = require("antd");
|
|
13
|
-
|
|
14
10
|
var _forms = require("@next-libs/forms");
|
|
15
|
-
|
|
16
11
|
function IconSelectFormItem(props) {
|
|
17
12
|
const [visible, setVisible] = (0, _react.useState)(false);
|
|
18
13
|
return /*#__PURE__*/_react.default.createElement(_antd.Form.Item, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconSelectFormItem.js","names":["IconSelectFormItem","props","visible","setVisible","useState","name","label","required","message"],"sources":["../../../../../src/visual-property-form/components/IconSelect/IconSelectFormItem.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Form } from \"antd\";\nimport { IconSelectProps, IconSelectItem } from \"@next-libs/forms\";\n\nexport function IconSelectFormItem(props: IconSelectProps): React.ReactElement {\n const [visible, setVisible] = useState(false);\n\n return (\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <IconSelectItem\n setColor={true}\n bg={true}\n visible={visible}\n openModal={() => setVisible(true)}\n handleCancel={() => setVisible(false)}\n onChange={() => setVisible(false)}\n />\n </Form.Item>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconSelectFormItem.js","names":["IconSelectFormItem","props","visible","setVisible","useState","name","label","required","message"],"sources":["../../../../../src/visual-property-form/components/IconSelect/IconSelectFormItem.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Form } from \"antd\";\nimport { IconSelectProps, IconSelectItem } from \"@next-libs/forms\";\n\nexport function IconSelectFormItem(props: IconSelectProps): React.ReactElement {\n const [visible, setVisible] = useState(false);\n\n return (\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <IconSelectItem\n setColor={true}\n bg={true}\n visible={visible}\n openModal={() => setVisible(true)}\n handleCancel={() => setVisible(false)}\n onChange={() => setVisible(false)}\n />\n </Form.Item>\n );\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEO,SAASA,kBAAkB,CAACC,KAAsB,EAAsB;EAC7E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE7C,oBACE,6BAAC,UAAI,CAAC,IAAI;IACR,GAAG,EAAEH,KAAK,CAACI,IAAK;IAChB,IAAI,EAAEJ,KAAK,CAACI,IAAK;IACjB,KAAK,EAAEJ,KAAK,CAACK,KAAM;IACnB,KAAK,EAAE,CAAC;MAAEC,QAAQ,EAAEN,KAAK,CAACM,QAAQ;MAAEC,OAAO,EAAG,MAAKP,KAAK,CAACI,IAAK;IAAE,CAAC;EAAE,gBAEnE,6BAAC,qBAAc;IACb,QAAQ,EAAE,IAAK;IACf,EAAE,EAAE,IAAK;IACT,OAAO,EAAEH,OAAQ;IACjB,SAAS,EAAE,MAAMC,UAAU,CAAC,IAAI,CAAE;IAClC,YAAY,EAAE,MAAMA,UAAU,CAAC,KAAK,CAAE;IACtC,QAAQ,EAAE,MAAMA,UAAU,CAAC,KAAK;EAAE,EAClC,CACQ;AAEhB"}
|
|
@@ -1,23 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.MenuEditorItem = MenuEditorItem;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _antd = require("antd");
|
|
13
|
-
|
|
14
10
|
var _basicComponents = require("@next-libs/basic-components");
|
|
15
|
-
|
|
16
11
|
var _cmdbSdk = require("@next-sdk/cmdb-sdk");
|
|
17
|
-
|
|
18
12
|
function MenuEditorItem(props) {
|
|
19
13
|
const [options, setOptions] = (0, _react.useState)([]);
|
|
20
|
-
|
|
21
14
|
const getMenu = async () => {
|
|
22
15
|
const result = await (0, _cmdbSdk.InstanceApi_getDetail)("PROJECT_MICRO_APP", props.projectId, {
|
|
23
16
|
fields: "menus.menuId"
|
|
@@ -28,11 +21,9 @@ function MenuEditorItem(props) {
|
|
|
28
21
|
}));
|
|
29
22
|
setOptions(options);
|
|
30
23
|
};
|
|
31
|
-
|
|
32
24
|
const handleMenuSettingClick = () => {
|
|
33
25
|
props.menuSettingClick();
|
|
34
26
|
};
|
|
35
|
-
|
|
36
27
|
(0, _react.useEffect)(() => {
|
|
37
28
|
if (props.projectId) {
|
|
38
29
|
getMenu();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuEditorItem.js","names":["MenuEditorItem","props","options","setOptions","useState","getMenu","result","InstanceApi_getDetail","projectId","fields","menus","map","item","value","menuId","label","handleMenuSettingClick","menuSettingClick","useEffect","display","alignItems","name","required","message","width","input","option","toLocaleLowerCase","indexOf","fontSize","marginTop","marginLeft","cursor","category","color","icon","lib"],"sources":["../../../../../src/visual-property-form/components/MenuEditor/MenuEditorItem.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Form, Select, Tooltip } from \"antd\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { InstanceApi_getDetail } from \"@next-sdk/cmdb-sdk\";\n\ninterface MenuEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n value?: string;\n required?: boolean;\n projectId?: string;\n menuSettingClick?: () => void;\n}\n\nexport function MenuEditorItem(props: MenuEditorItemProps): React.ReactElement {\n const [options, setOptions] = useState([]);\n\n const getMenu = async () => {\n const result = await InstanceApi_getDetail(\n \"PROJECT_MICRO_APP\",\n props.projectId,\n {\n fields: \"menus.menuId\",\n }\n );\n\n const options = result.menus.map((item: Record<string, any>) => ({\n value: item.menuId,\n label: item.menuId,\n }));\n setOptions(options);\n };\n\n const handleMenuSettingClick = () => {\n props.menuSettingClick();\n };\n\n useEffect(() => {\n if (props.projectId) {\n getMenu();\n }\n }, []);\n\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <Select\n style={{\n width: \"300px\",\n }}\n options={options}\n showSearch\n allowClear\n placeholder=\"Select a menu id\"\n filterOption={(input, option) =>\n (option.label as string)\n .toLocaleLowerCase()\n .indexOf(input.toLocaleLowerCase()) >= 0 ||\n (option.value as string)\n .toLocaleLowerCase()\n .indexOf(input.toLocaleLowerCase()) >= 0\n }\n />\n </Form.Item>\n <div\n style={{\n fontSize: \"18px\",\n marginTop: \"10px\",\n marginLeft: \"10px\",\n cursor: \"pointer\",\n display: \"inline-block\",\n }}\n >\n <Tooltip title=\"配置菜单数据\">\n {\" \"}\n <GeneralIcon\n icon={{\n category: \"app\",\n color: \"blue\",\n icon: \"launchpad-setting\",\n lib: \"easyops\",\n }}\n onClick={handleMenuSettingClick}\n />\n </Tooltip>\n </div>\n </div>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuEditorItem.js","names":["MenuEditorItem","props","options","setOptions","useState","getMenu","result","InstanceApi_getDetail","projectId","fields","menus","map","item","value","menuId","label","handleMenuSettingClick","menuSettingClick","useEffect","display","alignItems","name","required","message","width","input","option","toLocaleLowerCase","indexOf","fontSize","marginTop","marginLeft","cursor","category","color","icon","lib"],"sources":["../../../../../src/visual-property-form/components/MenuEditor/MenuEditorItem.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Form, Select, Tooltip } from \"antd\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { InstanceApi_getDetail } from \"@next-sdk/cmdb-sdk\";\n\ninterface MenuEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n value?: string;\n required?: boolean;\n projectId?: string;\n menuSettingClick?: () => void;\n}\n\nexport function MenuEditorItem(props: MenuEditorItemProps): React.ReactElement {\n const [options, setOptions] = useState([]);\n\n const getMenu = async () => {\n const result = await InstanceApi_getDetail(\n \"PROJECT_MICRO_APP\",\n props.projectId,\n {\n fields: \"menus.menuId\",\n }\n );\n\n const options = result.menus.map((item: Record<string, any>) => ({\n value: item.menuId,\n label: item.menuId,\n }));\n setOptions(options);\n };\n\n const handleMenuSettingClick = () => {\n props.menuSettingClick();\n };\n\n useEffect(() => {\n if (props.projectId) {\n getMenu();\n }\n }, []);\n\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n }}\n >\n <Form.Item\n key={props.name}\n name={props.name}\n label={props.label}\n rules={[{ required: props.required, message: `请输入${props.name}` }]}\n >\n <Select\n style={{\n width: \"300px\",\n }}\n options={options}\n showSearch\n allowClear\n placeholder=\"Select a menu id\"\n filterOption={(input, option) =>\n (option.label as string)\n .toLocaleLowerCase()\n .indexOf(input.toLocaleLowerCase()) >= 0 ||\n (option.value as string)\n .toLocaleLowerCase()\n .indexOf(input.toLocaleLowerCase()) >= 0\n }\n />\n </Form.Item>\n <div\n style={{\n fontSize: \"18px\",\n marginTop: \"10px\",\n marginLeft: \"10px\",\n cursor: \"pointer\",\n display: \"inline-block\",\n }}\n >\n <Tooltip title=\"配置菜单数据\">\n {\" \"}\n <GeneralIcon\n icon={{\n category: \"app\",\n color: \"blue\",\n icon: \"launchpad-setting\",\n lib: \"easyops\",\n }}\n onClick={handleMenuSettingClick}\n />\n </Tooltip>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAWO,SAASA,cAAc,CAACC,KAA0B,EAAsB;EAC7E,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAE1C,MAAMC,OAAO,GAAG,YAAY;IAC1B,MAAMC,MAAM,GAAG,MAAM,IAAAC,8BAAqB,EACxC,mBAAmB,EACnBN,KAAK,CAACO,SAAS,EACf;MACEC,MAAM,EAAE;IACV,CAAC,CACF;IAED,MAAMP,OAAO,GAAGI,MAAM,CAACI,KAAK,CAACC,GAAG,CAAEC,IAAyB,KAAM;MAC/DC,KAAK,EAAED,IAAI,CAACE,MAAM;MAClBC,KAAK,EAAEH,IAAI,CAACE;IACd,CAAC,CAAC,CAAC;IACHX,UAAU,CAACD,OAAO,CAAC;EACrB,CAAC;EAED,MAAMc,sBAAsB,GAAG,MAAM;IACnCf,KAAK,CAACgB,gBAAgB,EAAE;EAC1B,CAAC;EAED,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIjB,KAAK,CAACO,SAAS,EAAE;MACnBH,OAAO,EAAE;IACX;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IACE,KAAK,EAAE;MACLc,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE;IACd;EAAE,gBAEF,6BAAC,UAAI,CAAC,IAAI;IACR,GAAG,EAAEnB,KAAK,CAACoB,IAAK;IAChB,IAAI,EAAEpB,KAAK,CAACoB,IAAK;IACjB,KAAK,EAAEpB,KAAK,CAACc,KAAM;IACnB,KAAK,EAAE,CAAC;MAAEO,QAAQ,EAAErB,KAAK,CAACqB,QAAQ;MAAEC,OAAO,EAAG,MAAKtB,KAAK,CAACoB,IAAK;IAAE,CAAC;EAAE,gBAEnE,6BAAC,YAAM;IACL,KAAK,EAAE;MACLG,KAAK,EAAE;IACT,CAAE;IACF,OAAO,EAAEtB,OAAQ;IACjB,UAAU;IACV,UAAU;IACV,WAAW,EAAC,kBAAkB;IAC9B,YAAY,EAAE,CAACuB,KAAK,EAAEC,MAAM,KACzBA,MAAM,CAACX,KAAK,CACVY,iBAAiB,EAAE,CACnBC,OAAO,CAACH,KAAK,CAACE,iBAAiB,EAAE,CAAC,IAAI,CAAC,IACzCD,MAAM,CAACb,KAAK,CACVc,iBAAiB,EAAE,CACnBC,OAAO,CAACH,KAAK,CAACE,iBAAiB,EAAE,CAAC,IAAI;EAC1C,EACD,CACQ,eACZ;IACE,KAAK,EAAE;MACLE,QAAQ,EAAE,MAAM;MAChBC,SAAS,EAAE,MAAM;MACjBC,UAAU,EAAE,MAAM;MAClBC,MAAM,EAAE,SAAS;MACjBb,OAAO,EAAE;IACX;EAAE,gBAEF,6BAAC,aAAO;IAAC,KAAK,EAAC;EAAQ,GACpB,GAAG,eACJ,6BAAC,4BAAW;IACV,IAAI,EAAE;MACJc,QAAQ,EAAE,KAAK;MACfC,KAAK,EAAE,MAAM;MACbC,IAAI,EAAE,mBAAmB;MACzBC,GAAG,EAAE;IACP,CAAE;IACF,OAAO,EAAEpB;EAAuB,EAChC,CACM,CACN,CACF;AAEV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["groupI18nMap","basic","en","zh","ui","advanced","basicFormItem","advancedFormItem","other","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","name","type","description","group","groupI18N"],"sources":["../../../src/visual-property-form/constant.ts"],"sourcesContent":["import { PropertyType } from \"../interfaces\";\n\nexport const groupI18nMap = {\n basic: {\n en: \"Basic\",\n zh: \"常用\",\n },\n ui: {\n en: \"UI\",\n zh: \"外观\",\n },\n advanced: {\n en: \"Advanced\",\n zh: \"高级\",\n },\n basicFormItem: {\n en: \"Basic Form Item\",\n zh: \"表单项常用\",\n },\n advancedFormItem: {\n en: \"Advanced Form Item\",\n zh: \"表单项高级\",\n },\n other: {\n en: \"Other\",\n zh: \"其他\",\n },\n};\n\nexport const supportBasicType = [\n \"boolean\",\n \"number\",\n \"string\",\n \"string[]\",\n \"MenuIcon\",\n \"Color\",\n];\n\nexport const supportMenuType = [\"Menu\", \"SidebarSubMenu\"];\n\nexport const OTHER_FORM_ITEM_FIELD = \"others\";\n\nexport const defaultCommonProps: PropertyType[] = [\n {\n name: \"id\",\n type: \"string\",\n description: \"构件 ID\",\n group: \"basic\",\n groupI18N: groupI18nMap,\n },\n {\n name: \"style\",\n type: \"Record<string, any>\",\n description: \"构件样式\",\n group: \"ui\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":";;;;;;AAEO,MAAMA,YAAY,GAAG;EAC1BC,KAAK,EAAE;IACLC,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"constant.js","names":["groupI18nMap","basic","en","zh","ui","advanced","basicFormItem","advancedFormItem","other","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","name","type","description","group","groupI18N"],"sources":["../../../src/visual-property-form/constant.ts"],"sourcesContent":["import { PropertyType } from \"../interfaces\";\n\nexport const groupI18nMap = {\n basic: {\n en: \"Basic\",\n zh: \"常用\",\n },\n ui: {\n en: \"UI\",\n zh: \"外观\",\n },\n advanced: {\n en: \"Advanced\",\n zh: \"高级\",\n },\n basicFormItem: {\n en: \"Basic Form Item\",\n zh: \"表单项常用\",\n },\n advancedFormItem: {\n en: \"Advanced Form Item\",\n zh: \"表单项高级\",\n },\n other: {\n en: \"Other\",\n zh: \"其他\",\n },\n};\n\nexport const supportBasicType = [\n \"boolean\",\n \"number\",\n \"string\",\n \"string[]\",\n \"MenuIcon\",\n \"Color\",\n];\n\nexport const supportMenuType = [\"Menu\", \"SidebarSubMenu\"];\n\nexport const OTHER_FORM_ITEM_FIELD = \"others\";\n\nexport const defaultCommonProps: PropertyType[] = [\n {\n name: \"id\",\n type: \"string\",\n description: \"构件 ID\",\n group: \"basic\",\n groupI18N: groupI18nMap,\n },\n {\n name: \"style\",\n type: \"Record<string, any>\",\n description: \"构件样式\",\n group: \"ui\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":";;;;;;AAEO,MAAMA,YAAY,GAAG;EAC1BC,KAAK,EAAE;IACLC,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDC,EAAE,EAAE;IACFF,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDE,QAAQ,EAAE;IACRH,EAAE,EAAE,UAAU;IACdC,EAAE,EAAE;EACN,CAAC;EACDG,aAAa,EAAE;IACbJ,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACN,CAAC;EACDI,gBAAgB,EAAE;IAChBL,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE;EACN,CAAC;EACDK,KAAK,EAAE;IACLN,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN;AACF,CAAC;AAAC;AAEK,MAAMM,gBAAgB,GAAG,CAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,CACR;AAAC;AAEK,MAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAAC;AAEnD,MAAMC,qBAAqB,GAAG,QAAQ;AAAC;AAEvC,MAAMC,kBAAkC,GAAG,CAChD;EACEC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,OAAO;EACpBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAEjB;AACb,CAAC,EACD;EACEa,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE,IAAI;EACXC,SAAS,EAAEjB;AACb,CAAC,CACF;AAAC"}
|
|
@@ -14,32 +14,24 @@ exports.mergeProperties = mergeProperties;
|
|
|
14
14
|
exports.processFormValue = processFormValue;
|
|
15
15
|
exports.yaml = yaml;
|
|
16
16
|
exports.yamlStringify = yamlStringify;
|
|
17
|
-
|
|
18
17
|
var _brickKit = require("@next-core/brick-kit");
|
|
19
|
-
|
|
20
18
|
var _interfaces = require("../interfaces");
|
|
21
|
-
|
|
22
19
|
var _jsYaml = require("js-yaml");
|
|
23
|
-
|
|
24
20
|
var _lodash = require("lodash");
|
|
25
|
-
|
|
26
21
|
var _constant = require("./constant");
|
|
27
|
-
|
|
28
22
|
function isAdvanceMode(value) {
|
|
29
23
|
if (typeof value === "string" && (value.startsWith("<%") || value.includes("${"))) {
|
|
30
24
|
return true;
|
|
31
25
|
}
|
|
32
|
-
|
|
33
26
|
return false;
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
function mergeProperties(propertyList = [], brickProperties = {}) {
|
|
37
|
-
return propertyList === null || propertyList === void 0 ? void 0 : propertyList.map(item => ({
|
|
29
|
+
return propertyList === null || propertyList === void 0 ? void 0 : propertyList.map(item => ({
|
|
30
|
+
...item,
|
|
38
31
|
value: brickProperties === null || brickProperties === void 0 ? void 0 : brickProperties[item.name],
|
|
39
32
|
mode: isAdvanceMode(brickProperties === null || brickProperties === void 0 ? void 0 : brickProperties[item.name]) ? _interfaces.ItemModeType.Advanced : _interfaces.ItemModeType.Normal
|
|
40
33
|
}));
|
|
41
34
|
}
|
|
42
|
-
|
|
43
35
|
function yamlStringify(value, indent = 2) {
|
|
44
36
|
return (0, _jsYaml.safeDump)(value, {
|
|
45
37
|
indent,
|
|
@@ -49,60 +41,46 @@ function yamlStringify(value, indent = 2) {
|
|
|
49
41
|
noCompatMode: true
|
|
50
42
|
});
|
|
51
43
|
}
|
|
52
|
-
|
|
53
44
|
function yaml(value) {
|
|
54
45
|
return (0, _jsYaml.safeLoad)(value, {
|
|
55
46
|
schema: _jsYaml.JSON_SCHEMA,
|
|
56
47
|
json: true
|
|
57
48
|
});
|
|
58
49
|
}
|
|
59
|
-
|
|
60
50
|
function matchNoramlMenuValue(value) {
|
|
61
51
|
if (typeof value === "string") {
|
|
62
52
|
var _value$match, _value$match$;
|
|
63
|
-
|
|
64
53
|
const reg = /<% APP\.getMenu\((.*)\) %>/;
|
|
65
54
|
return ((_value$match = value.match(reg)) === null || _value$match === void 0 ? void 0 : (_value$match$ = _value$match[1]) === null || _value$match$ === void 0 ? void 0 : _value$match$.replace(/'|"/g, "")) || value;
|
|
66
55
|
}
|
|
67
|
-
|
|
68
56
|
return value;
|
|
69
57
|
}
|
|
70
|
-
|
|
71
58
|
function calcMenuValue(value) {
|
|
72
59
|
if (typeof value === "string") {
|
|
73
60
|
if (value.startsWith("<%")) {
|
|
74
61
|
return value;
|
|
75
62
|
}
|
|
76
|
-
|
|
77
63
|
return `<% APP.getMenu('${value}') %>`;
|
|
78
64
|
}
|
|
79
|
-
|
|
80
65
|
return value;
|
|
81
66
|
}
|
|
82
|
-
|
|
83
67
|
function calculateValue(propertyList = [], brickProperties = {}, typeList = []) {
|
|
84
68
|
const othersValue = {};
|
|
85
|
-
|
|
86
69
|
for (const [key, value] of Object.entries(brickProperties)) {
|
|
87
70
|
const find = propertyList.find(item => item.name === key);
|
|
88
|
-
|
|
89
71
|
if (!find) {
|
|
90
72
|
othersValue[key] = value;
|
|
91
73
|
}
|
|
92
74
|
}
|
|
93
|
-
|
|
94
75
|
const processValue = propertyList.reduce((obj, item) => {
|
|
95
76
|
const v = brickProperties[item.name];
|
|
96
77
|
obj[item.name] = v;
|
|
97
|
-
|
|
98
78
|
if (v !== undefined) {
|
|
99
79
|
if (!_constant.supportBasicType.concat(_constant.supportMenuType).includes(item.type)) {
|
|
100
80
|
obj[item.name] = yamlStringify(v);
|
|
101
81
|
}
|
|
102
|
-
|
|
103
82
|
if (_constant.supportMenuType.includes(item.type)) {
|
|
104
83
|
const selected = typeList.find(typeItem => typeItem.name === item.name);
|
|
105
|
-
|
|
106
84
|
if ((selected === null || selected === void 0 ? void 0 : selected.mode) === _interfaces.ItemModeType.Advanced) {
|
|
107
85
|
obj[item.name] = v;
|
|
108
86
|
} else {
|
|
@@ -110,13 +88,14 @@ function calculateValue(propertyList = [], brickProperties = {}, typeList = [])
|
|
|
110
88
|
}
|
|
111
89
|
}
|
|
112
90
|
}
|
|
113
|
-
|
|
114
91
|
return obj;
|
|
115
92
|
}, {});
|
|
116
|
-
return {
|
|
93
|
+
return {
|
|
94
|
+
...processValue,
|
|
117
95
|
[_constant.OTHER_FORM_ITEM_FIELD]: (0, _lodash.isEmpty)(othersValue) ? "" : yamlStringify(othersValue)
|
|
118
96
|
};
|
|
119
97
|
}
|
|
98
|
+
|
|
120
99
|
/**
|
|
121
100
|
* @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理
|
|
122
101
|
* 1. 当前属性的类型不是内置支持的类型
|
|
@@ -127,37 +106,27 @@ function calculateValue(propertyList = [], brickProperties = {}, typeList = [])
|
|
|
127
106
|
* @return boolean
|
|
128
107
|
*/
|
|
129
108
|
|
|
130
|
-
|
|
131
109
|
function isUseYamlParse(field, typeList) {
|
|
132
110
|
if (typeof field.value !== "string") return false;
|
|
133
111
|
if (field.key === _constant.OTHER_FORM_ITEM_FIELD) return true;
|
|
134
112
|
const find = typeList === null || typeList === void 0 ? void 0 : typeList.find(item => item.name === field.key);
|
|
135
|
-
|
|
136
113
|
if (find) {
|
|
137
114
|
if (_constant.supportMenuType.includes(find.type) && find.mode !== _interfaces.ItemModeType.Advanced) return false;
|
|
138
|
-
|
|
139
115
|
const isBasicType = _constant.supportBasicType.includes(find.type);
|
|
140
|
-
|
|
141
116
|
if (isBasicType && find.mode === _interfaces.ItemModeType.Advanced) return true;
|
|
142
117
|
if (!isBasicType) return true;
|
|
143
118
|
}
|
|
144
|
-
|
|
145
119
|
return false;
|
|
146
120
|
}
|
|
147
|
-
|
|
148
121
|
function isUseMenuParse(field, typeList) {
|
|
149
122
|
const item = typeList.find(item => item.name === field.key);
|
|
150
|
-
|
|
151
123
|
if (_constant.supportMenuType.includes(item === null || item === void 0 ? void 0 : item.type)) {
|
|
152
124
|
return true;
|
|
153
125
|
}
|
|
154
|
-
|
|
155
126
|
return false;
|
|
156
127
|
}
|
|
157
|
-
|
|
158
128
|
function processFormValue(values = {}, typeList) {
|
|
159
129
|
const formData = {};
|
|
160
|
-
|
|
161
130
|
for (const [key, value] of Object.entries(values)) {
|
|
162
131
|
if (isUseYamlParse({
|
|
163
132
|
key,
|
|
@@ -173,37 +142,32 @@ function processFormValue(values = {}, typeList) {
|
|
|
173
142
|
formData[key] = value;
|
|
174
143
|
}
|
|
175
144
|
}
|
|
176
|
-
|
|
177
|
-
|
|
145
|
+
return {
|
|
146
|
+
...(0, _lodash.omit)(formData, _constant.OTHER_FORM_ITEM_FIELD),
|
|
178
147
|
...((0, _lodash.isEmpty)(formData[_constant.OTHER_FORM_ITEM_FIELD]) ? {} : formData[_constant.OTHER_FORM_ITEM_FIELD])
|
|
179
148
|
};
|
|
180
149
|
}
|
|
181
|
-
|
|
182
150
|
function groupByType(typeList = []) {
|
|
183
151
|
const normals = typeList.filter(item => item.group !== "other");
|
|
184
152
|
const others = typeList.filter(item => item.group === "other");
|
|
185
153
|
return Object.entries((0, _lodash.groupBy)(normals.concat(others), item => {
|
|
186
154
|
const group = item.group || "basic";
|
|
187
|
-
const groupI18N = {
|
|
155
|
+
const groupI18N = {
|
|
156
|
+
..._constant.groupI18nMap,
|
|
188
157
|
...item.groupI18N
|
|
189
158
|
};
|
|
190
159
|
const i18nData = groupI18N && groupI18N[group];
|
|
191
|
-
|
|
192
160
|
if (i18nData) {
|
|
193
161
|
return (0, _brickKit.i18nText)(i18nData);
|
|
194
162
|
}
|
|
195
|
-
|
|
196
163
|
return group;
|
|
197
164
|
}));
|
|
198
165
|
}
|
|
199
|
-
|
|
200
166
|
function extractCommonProps(typeList, sharedPropertyList) {
|
|
201
167
|
if ((0, _lodash.isEmpty)(typeList)) return [];
|
|
202
|
-
|
|
203
168
|
if (sharedPropertyList) {
|
|
204
169
|
return sharedPropertyList.concat(typeList);
|
|
205
170
|
}
|
|
206
|
-
|
|
207
171
|
return _constant.defaultCommonProps.concat(typeList);
|
|
208
172
|
}
|
|
209
173
|
//# sourceMappingURL=processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","ItemModeType","Advanced","Normal","yamlStringify","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","yaml","safeLoad","json","matchNoramlMenuValue","reg","match","replace","calcMenuValue","calculateValue","typeList","othersValue","key","Object","entries","find","processValue","reduce","obj","v","undefined","supportBasicType","concat","supportMenuType","type","selected","typeItem","OTHER_FORM_ITEM_FIELD","isEmpty","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","omit","groupByType","normals","filter","group","others","groupBy","groupI18N","groupI18nMap","i18nData","i18nText","extractCommonProps","sharedPropertyList","defaultCommonProps"],"sources":["../../../src/visual-property-form/processor.ts"],"sourcesContent":["import { i18nText } from \"@next-core/brick-kit\";\nimport {\n PropertyType,\n UnionPropertyType,\n BrickProperties,\n ItemModeType,\n} from \"../interfaces\";\nimport { safeDump, JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { omit, isEmpty, groupBy } from \"lodash\";\nimport {\n supportBasicType,\n supportMenuType,\n OTHER_FORM_ITEM_FIELD,\n defaultCommonProps,\n groupI18nMap,\n} from \"./constant\";\n\nexport function isAdvanceMode(value: unknown): boolean {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"<%\") || value.includes(\"${\"))\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function mergeProperties(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {}\n): UnionPropertyType[] {\n return propertyList?.map((item) => ({\n ...item,\n value: brickProperties?.[item.name],\n mode: isAdvanceMode(brickProperties?.[item.name])\n ? ItemModeType.Advanced\n : ItemModeType.Normal,\n }));\n}\n\nexport function yamlStringify(value: unknown, indent = 2): string {\n return safeDump(value, {\n indent,\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n });\n}\n\nexport function yaml(value: string): any {\n return safeLoad(value, { schema: JSON_SCHEMA, json: true });\n}\n\nexport function matchNoramlMenuValue(value: unknown): unknown {\n if (typeof value === \"string\") {\n const reg = /<% APP\\.getMenu\\((.*)\\) %>/;\n return value.match(reg)?.[1]?.replace(/'|\"/g, \"\") || value;\n }\n return value;\n}\n\nfunction calcMenuValue(value: string): string {\n if (typeof value === \"string\") {\n if (value.startsWith(\"<%\")) {\n return value;\n }\n return `<% APP.getMenu('${value}') %>`;\n }\n return value;\n}\n\nexport function calculateValue(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {},\n typeList: UnionPropertyType[] = []\n): Record<string, any> {\n const othersValue: Record<string, any> = {};\n for (const [key, value] of Object.entries(brickProperties)) {\n const find = propertyList.find((item) => item.name === key);\n if (!find) {\n othersValue[key] = value;\n }\n }\n\n const processValue = propertyList.reduce((obj: any, item) => {\n const v = brickProperties[item.name];\n obj[item.name] = v;\n if (v !== undefined) {\n if (\n !supportBasicType.concat(supportMenuType).includes(item.type as string)\n ) {\n obj[item.name] = yamlStringify(v);\n }\n\n if (supportMenuType.includes(item.type as string)) {\n const selected = typeList.find(\n (typeItem) => typeItem.name === item.name\n );\n if (selected?.mode === ItemModeType.Advanced) {\n obj[item.name] = v;\n } else {\n obj[item.name] = matchNoramlMenuValue(v);\n }\n }\n }\n return obj;\n }, {});\n\n return {\n ...processValue,\n [OTHER_FORM_ITEM_FIELD]: isEmpty(othersValue)\n ? \"\"\n : yamlStringify(othersValue),\n };\n}\n\n/**\n * @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理\n * 1. 当前属性的类型不是内置支持的类型\n * 2. 当前属性虽然是支持的类型,但是当前切换到高级模式编辑\n * 3. 不是构件本身申明的属性,为 html 共有的通用属性,目前统一放在 others 的编辑器中\n * @param field 字段值\n * @param typeList 属性列表包含每个属性的类型和当前编辑模式\n * @return boolean\n */\n\nexport function isUseYamlParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n if (typeof field.value !== \"string\") return false;\n\n if (field.key === OTHER_FORM_ITEM_FIELD) return true;\n\n const find = typeList?.find((item) => item.name === field.key);\n\n if (find) {\n if (\n supportMenuType.includes(find.type as string) &&\n find.mode !== ItemModeType.Advanced\n )\n return false;\n\n const isBasicType = supportBasicType.includes(find.type as string);\n\n if (isBasicType && find.mode === ItemModeType.Advanced) return true;\n\n if (!isBasicType) return true;\n }\n\n return false;\n}\n\nexport function isUseMenuParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n const item = typeList.find((item) => item.name === field.key);\n if (supportMenuType.includes(item?.type as string)) {\n return true;\n }\n return false;\n}\n\nexport function processFormValue(\n values = {},\n typeList: UnionPropertyType[]\n): Record<string, any> {\n const formData: Record<string, any> = {};\n for (const [key, value] of Object.entries(values)) {\n if (isUseYamlParse({ key, value }, typeList)) {\n formData[key] = yaml(value as any);\n } else if (isUseMenuParse({ key, value }, typeList)) {\n formData[key] = calcMenuValue(value as string);\n } else {\n formData[key] = value;\n }\n }\n\n return {\n ...omit(formData, OTHER_FORM_ITEM_FIELD),\n ...(isEmpty(formData[OTHER_FORM_ITEM_FIELD])\n ? {}\n : formData[OTHER_FORM_ITEM_FIELD]),\n };\n}\n\nexport function groupByType(\n typeList: UnionPropertyType[] = []\n): Array<[string, UnionPropertyType[]]> {\n const normals = typeList.filter((item) => item.group !== \"other\");\n const others = typeList.filter((item) => item.group === \"other\");\n\n return Object.entries(\n groupBy(normals.concat(others), (item) => {\n const group = item.group || \"basic\";\n const groupI18N: Record<string, any> = {\n ...groupI18nMap,\n ...item.groupI18N,\n };\n const i18nData = groupI18N && groupI18N[group];\n if (i18nData) {\n return i18nText(i18nData);\n }\n\n return group;\n })\n );\n}\n\nexport function extractCommonProps(\n typeList: PropertyType[],\n sharedPropertyList?: PropertyType[]\n): PropertyType[] {\n if (isEmpty(typeList)) return [];\n\n if (sharedPropertyList) {\n return sharedPropertyList.concat(typeList);\n }\n\n return defaultCommonProps.concat(typeList);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"processor.js","names":["isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","ItemModeType","Advanced","Normal","yamlStringify","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","yaml","safeLoad","json","matchNoramlMenuValue","reg","match","replace","calcMenuValue","calculateValue","typeList","othersValue","key","Object","entries","find","processValue","reduce","obj","v","undefined","supportBasicType","concat","supportMenuType","type","selected","typeItem","OTHER_FORM_ITEM_FIELD","isEmpty","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","omit","groupByType","normals","filter","group","others","groupBy","groupI18N","groupI18nMap","i18nData","i18nText","extractCommonProps","sharedPropertyList","defaultCommonProps"],"sources":["../../../src/visual-property-form/processor.ts"],"sourcesContent":["import { i18nText } from \"@next-core/brick-kit\";\nimport {\n PropertyType,\n UnionPropertyType,\n BrickProperties,\n ItemModeType,\n} from \"../interfaces\";\nimport { safeDump, JSON_SCHEMA, safeLoad } from \"js-yaml\";\nimport { omit, isEmpty, groupBy } from \"lodash\";\nimport {\n supportBasicType,\n supportMenuType,\n OTHER_FORM_ITEM_FIELD,\n defaultCommonProps,\n groupI18nMap,\n} from \"./constant\";\n\nexport function isAdvanceMode(value: unknown): boolean {\n if (\n typeof value === \"string\" &&\n (value.startsWith(\"<%\") || value.includes(\"${\"))\n ) {\n return true;\n }\n\n return false;\n}\n\nexport function mergeProperties(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {}\n): UnionPropertyType[] {\n return propertyList?.map((item) => ({\n ...item,\n value: brickProperties?.[item.name],\n mode: isAdvanceMode(brickProperties?.[item.name])\n ? ItemModeType.Advanced\n : ItemModeType.Normal,\n }));\n}\n\nexport function yamlStringify(value: unknown, indent = 2): string {\n return safeDump(value, {\n indent,\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n });\n}\n\nexport function yaml(value: string): any {\n return safeLoad(value, { schema: JSON_SCHEMA, json: true });\n}\n\nexport function matchNoramlMenuValue(value: unknown): unknown {\n if (typeof value === \"string\") {\n const reg = /<% APP\\.getMenu\\((.*)\\) %>/;\n return value.match(reg)?.[1]?.replace(/'|\"/g, \"\") || value;\n }\n return value;\n}\n\nfunction calcMenuValue(value: string): string {\n if (typeof value === \"string\") {\n if (value.startsWith(\"<%\")) {\n return value;\n }\n return `<% APP.getMenu('${value}') %>`;\n }\n return value;\n}\n\nexport function calculateValue(\n propertyList: PropertyType[] = [],\n brickProperties: BrickProperties = {},\n typeList: UnionPropertyType[] = []\n): Record<string, any> {\n const othersValue: Record<string, any> = {};\n for (const [key, value] of Object.entries(brickProperties)) {\n const find = propertyList.find((item) => item.name === key);\n if (!find) {\n othersValue[key] = value;\n }\n }\n\n const processValue = propertyList.reduce((obj: any, item) => {\n const v = brickProperties[item.name];\n obj[item.name] = v;\n if (v !== undefined) {\n if (\n !supportBasicType.concat(supportMenuType).includes(item.type as string)\n ) {\n obj[item.name] = yamlStringify(v);\n }\n\n if (supportMenuType.includes(item.type as string)) {\n const selected = typeList.find(\n (typeItem) => typeItem.name === item.name\n );\n if (selected?.mode === ItemModeType.Advanced) {\n obj[item.name] = v;\n } else {\n obj[item.name] = matchNoramlMenuValue(v);\n }\n }\n }\n return obj;\n }, {});\n\n return {\n ...processValue,\n [OTHER_FORM_ITEM_FIELD]: isEmpty(othersValue)\n ? \"\"\n : yamlStringify(othersValue),\n };\n}\n\n/**\n * @description 判断是否用使用 yaml 把用户输入解析成 JSON 的模式,当前只有以下情况下会进行解析,其他情况不对数据进行处理\n * 1. 当前属性的类型不是内置支持的类型\n * 2. 当前属性虽然是支持的类型,但是当前切换到高级模式编辑\n * 3. 不是构件本身申明的属性,为 html 共有的通用属性,目前统一放在 others 的编辑器中\n * @param field 字段值\n * @param typeList 属性列表包含每个属性的类型和当前编辑模式\n * @return boolean\n */\n\nexport function isUseYamlParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n if (typeof field.value !== \"string\") return false;\n\n if (field.key === OTHER_FORM_ITEM_FIELD) return true;\n\n const find = typeList?.find((item) => item.name === field.key);\n\n if (find) {\n if (\n supportMenuType.includes(find.type as string) &&\n find.mode !== ItemModeType.Advanced\n )\n return false;\n\n const isBasicType = supportBasicType.includes(find.type as string);\n\n if (isBasicType && find.mode === ItemModeType.Advanced) return true;\n\n if (!isBasicType) return true;\n }\n\n return false;\n}\n\nexport function isUseMenuParse(\n field: { key: string; value: any },\n typeList: UnionPropertyType[]\n): boolean {\n const item = typeList.find((item) => item.name === field.key);\n if (supportMenuType.includes(item?.type as string)) {\n return true;\n }\n return false;\n}\n\nexport function processFormValue(\n values = {},\n typeList: UnionPropertyType[]\n): Record<string, any> {\n const formData: Record<string, any> = {};\n for (const [key, value] of Object.entries(values)) {\n if (isUseYamlParse({ key, value }, typeList)) {\n formData[key] = yaml(value as any);\n } else if (isUseMenuParse({ key, value }, typeList)) {\n formData[key] = calcMenuValue(value as string);\n } else {\n formData[key] = value;\n }\n }\n\n return {\n ...omit(formData, OTHER_FORM_ITEM_FIELD),\n ...(isEmpty(formData[OTHER_FORM_ITEM_FIELD])\n ? {}\n : formData[OTHER_FORM_ITEM_FIELD]),\n };\n}\n\nexport function groupByType(\n typeList: UnionPropertyType[] = []\n): Array<[string, UnionPropertyType[]]> {\n const normals = typeList.filter((item) => item.group !== \"other\");\n const others = typeList.filter((item) => item.group === \"other\");\n\n return Object.entries(\n groupBy(normals.concat(others), (item) => {\n const group = item.group || \"basic\";\n const groupI18N: Record<string, any> = {\n ...groupI18nMap,\n ...item.groupI18N,\n };\n const i18nData = groupI18N && groupI18N[group];\n if (i18nData) {\n return i18nText(i18nData);\n }\n\n return group;\n })\n );\n}\n\nexport function extractCommonProps(\n typeList: PropertyType[],\n sharedPropertyList?: PropertyType[]\n): PropertyType[] {\n if (isEmpty(typeList)) return [];\n\n if (sharedPropertyList) {\n return sharedPropertyList.concat(typeList);\n }\n\n return defaultCommonProps.concat(typeList);\n}\n"],"mappings":"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"}
|
|
@@ -1,24 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.WorkbenchMiniActionBar = WorkbenchMiniActionBar;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
-
|
|
16
11
|
var _brickKit = require("@next-core/brick-kit");
|
|
17
|
-
|
|
18
12
|
var _basicComponents = require("@next-libs/basic-components");
|
|
19
|
-
|
|
20
13
|
var _WorkbenchMiniActionBarModule = _interopRequireDefault(require("./WorkbenchMiniActionBar.module.css"));
|
|
21
|
-
|
|
22
14
|
function WorkbenchMiniActionBar({
|
|
23
15
|
data,
|
|
24
16
|
className,
|
|
@@ -30,11 +22,9 @@ function WorkbenchMiniActionBar({
|
|
|
30
22
|
onActionClick
|
|
31
23
|
}) {
|
|
32
24
|
const enabledActions = (0, _react.useMemo)(() => actions === null || actions === void 0 ? void 0 : actions.filter(item => (0, _brickKit.looseCheckIfByTransform)(item, data)), [actions, data]);
|
|
33
|
-
|
|
34
25
|
if (actionsHidden || !(enabledActions !== null && enabledActions !== void 0 && enabledActions.length)) {
|
|
35
26
|
return null;
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
39
29
|
className: (0, _classnames.default)(_WorkbenchMiniActionBarModule.default.actionsBar, className),
|
|
40
30
|
style: {
|
|
@@ -49,7 +39,6 @@ function WorkbenchMiniActionBar({
|
|
|
49
39
|
onActionClick: onActionClick
|
|
50
40
|
})));
|
|
51
41
|
}
|
|
52
|
-
|
|
53
42
|
function WorkbenchSubAction({
|
|
54
43
|
action,
|
|
55
44
|
data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","classNames","styles","actionsBar","map","action","WorkbenchSubAction","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { looseCheckIfByTransform } from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <GeneralIcon icon={action.icon} />\n </a>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","looseCheckIfByTransform","length","classNames","styles","actionsBar","map","action","WorkbenchSubAction","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport { looseCheckIfByTransform } from \"@next-core/brick-kit\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../interfaces\";\n\nimport styles from \"./WorkbenchMiniActionBar.module.css\";\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => looseCheckIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(styles.actionsBar, className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(styles.action, { [styles.disabled]: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <GeneralIcon icon={action.icon} />\n </a>\n );\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAGA;AAaO,SAASA,sBAAsB,CAAC;EACrCC,IAAI;EACJC,SAAS;EACTC,GAAG;EACHC,OAAO;EACPC,MAAM;EACNC,OAAO;EACPC,aAAa;EACbC;AAC0B,CAAC,EAAsB;EACjD,MAAMC,cAAc,GAAG,IAAAC,cAAO,EAC5B,MAAMJ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEK,MAAM,CAAEC,IAAI,IAAK,IAAAC,iCAAuB,EAACD,IAAI,EAAEX,IAAI,CAAC,CAAC,EACpE,CAACK,OAAO,EAAEL,IAAI,CAAC,CAChB;EAED,IAAIM,aAAa,IAAI,EAACE,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEK,MAAM,GAAE;IAC5C,OAAO,IAAI;EACb;EAEA,oBACE;IAAK,SAAS,EAAE,IAAAC,mBAAU,EAACC,qCAAM,CAACC,UAAU,EAAEf,SAAS,CAAE;IAAC,KAAK,EAAE;MAAEC;IAAI;EAAE,GACtEM,cAAc,CAACS,GAAG,CAAEN,IAAI,iBACvB,6BAAC,kBAAkB;IACjB,GAAG,EAAEA,IAAI,CAACO,MAAO;IACjB,MAAM,EAAEP,IAAK;IACb,IAAI,EAAEX,IAAK;IACX,OAAO,EAAEG,OAAQ;IACjB,MAAM,EAAEC,MAAO;IACf,aAAa,EAAEG;EAAc,EAEhC,CAAC,CACE;AAEV;AAUA,SAASY,kBAAkB,CAAC;EAC1BD,MAAM;EACNlB,IAAI;EACJG,OAAO;EACPC,MAAM;EACNG;AACuB,CAAC,EAAsB;EAC9C,MAAMa,QAAQ,GACXjB,OAAO,IAAIe,MAAM,CAACA,MAAM,KAAK,SAAS,IACtCd,MAAM,IAAIc,MAAM,CAACA,MAAM,KAAK,WAAY;EAE3C,MAAMG,iBAAiB,GAAG,IAAAC,kBAAW,EAClCC,KAAuB,IAAK;IAC3BA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;IACvBL,QAAQ,KACNb,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAG;MACdW,MAAM,EAAEA,MAAM,CAACA,MAAM;MACrBlB,IAAI,EAAEA;IACR,CAAC,CAAC;EACN,CAAC,EACD,CAACkB,MAAM,CAACA,MAAM,EAAElB,IAAI,EAAEoB,QAAQ,EAAEb,aAAa,CAAC,CAC/C;EAED,MAAMmB,iBAAiB,GAAG,IAAAJ,kBAAW,EAAEC,KAAuB,IAAK;IACjEA,KAAK,CAACC,cAAc,EAAE;IACtBD,KAAK,CAACE,eAAe,EAAE;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE;IACE,SAAS,EAAE,IAAAX,mBAAU,EAACC,qCAAM,CAACG,MAAM,EAAE;MAAE,CAACH,qCAAM,CAACK,QAAQ,GAAGA;IAAS,CAAC,CAAE;IACtE,KAAK,EAAEF,MAAM,CAACS,KAAM;IACpB,IAAI,EAAC,QAAQ;IACb,OAAO,EAAEN,iBAAkB;IAC3B,aAAa,EAAEK,iBAAkB;IACjC,WAAW,EAAEA;EAAkB,gBAE/B,6BAAC,4BAAW;IAAC,IAAI,EAAER,MAAM,CAACU;EAAK,EAAG,CAChC;AAER"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./visual-property-form/VisualPropertyForm\";\nexport * from \"./interfaces\";\nexport * from \"./visual-property-form/processor\";\nexport * from \"./workbench-mini-action-bar/WorkbenchMiniActionBar\";\nexport * from \"./utils\";\n"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./visual-property-form/VisualPropertyForm\";\nexport * from \"./interfaces\";\nexport * from \"./visual-property-form/processor\";\nexport * from \"./workbench-mini-action-bar/WorkbenchMiniActionBar\";\nexport * from \"./utils\";\n"],"mappings":"AAAA,cAAc,2CAA2C;AACzD,cAAc,cAAc;AAC5B,cAAc,kCAAkC;AAChD,cAAc,oDAAoD;AAClE,cAAc,SAAS"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
export var Required;
|
|
2
|
-
|
|
3
2
|
(function (Required) {
|
|
4
3
|
Required["True"] = "true";
|
|
5
4
|
Required["False"] = "false";
|
|
6
5
|
})(Required || (Required = {}));
|
|
7
|
-
|
|
8
6
|
export var ItemModeType;
|
|
9
|
-
|
|
10
7
|
(function (ItemModeType) {
|
|
11
8
|
ItemModeType["Normal"] = "normal";
|
|
12
9
|
ItemModeType["Advanced"] = "advanced";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brick-visualization.js","names":["Required","ItemModeType"],"sources":["../../../src/interfaces/brick-visualization.ts"],"sourcesContent":["import { FormInstance } from \"antd/lib/form\";\n\nexport type FormItemType =\n | boolean\n | string\n | string[]\n | number\n | Record<string, any>;\n\nexport enum Required {\n True = \"true\",\n False = \"false\",\n}\n\nexport enum ItemModeType {\n Normal = \"normal\",\n Advanced = \"advanced\",\n}\n\nexport interface PropertyType {\n type: FormItemType;\n name: string;\n editor?: {\n model?: string;\n };\n required?: Required;\n description?: string;\n default?: string;\n group?: string;\n groupI18N?: Record<string, { [language: string]: string }>;\n}\n\nexport interface UnionPropertyType extends PropertyType {\n mode?: ItemModeType;\n value?: any;\n jsonSchema?: Record<string, any>;\n schemaRef?: string;\n}\n\nexport type BrickProperties = Record<string, any>;\n\nexport interface visualFormUtils extends Partial<FormInstance> {\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => void;\n getCurTypeList: () => UnionPropertyType[];\n}\n"],"mappings":"AASA,WAAYA,
|
|
1
|
+
{"version":3,"file":"brick-visualization.js","names":["Required","ItemModeType"],"sources":["../../../src/interfaces/brick-visualization.ts"],"sourcesContent":["import { FormInstance } from \"antd/lib/form\";\n\nexport type FormItemType =\n | boolean\n | string\n | string[]\n | number\n | Record<string, any>;\n\nexport enum Required {\n True = \"true\",\n False = \"false\",\n}\n\nexport enum ItemModeType {\n Normal = \"normal\",\n Advanced = \"advanced\",\n}\n\nexport interface PropertyType {\n type: FormItemType;\n name: string;\n editor?: {\n model?: string;\n };\n required?: Required;\n description?: string;\n default?: string;\n group?: string;\n groupI18N?: Record<string, { [language: string]: string }>;\n}\n\nexport interface UnionPropertyType extends PropertyType {\n mode?: ItemModeType;\n value?: any;\n jsonSchema?: Record<string, any>;\n schemaRef?: string;\n}\n\nexport type BrickProperties = Record<string, any>;\n\nexport interface visualFormUtils extends Partial<FormInstance> {\n resetPropertyFields: (\n typeList: PropertyType[],\n properties: BrickProperties\n ) => void;\n getCurTypeList: () => UnionPropertyType[];\n}\n"],"mappings":"AASA,WAAYA,QAAQ;AAGnB,WAHWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ;AAKpB,WAAYC,YAAY;AAGvB,WAHWA,YAAY;EAAZA,YAAY;EAAZA,YAAY;AAAA,GAAZA,YAAY,KAAZA,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/interfaces/index.ts"],"sourcesContent":["export * from \"./brick-visualization\";\nexport * from \"./workbench-mini-action-bar\";\n"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/interfaces/index.ts"],"sourcesContent":["export * from \"./brick-visualization\";\nexport * from \"./workbench-mini-action-bar\";\n"],"mappings":"AAAA,cAAc,uBAAuB;AACrC,cAAc,6BAA6B"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
export function deepFilter(data, q) {
|
|
2
2
|
var trimmedQuery = q === null || q === void 0 ? void 0 : q.trim();
|
|
3
|
-
|
|
4
3
|
if (!trimmedQuery) {
|
|
5
4
|
return data.slice();
|
|
6
5
|
}
|
|
7
|
-
|
|
8
6
|
return data.filter(item => deepMatch(item, trimmedQuery.toLowerCase()));
|
|
9
7
|
}
|
|
10
8
|
export function deepMatch(data, lowerTrimmedQuery) {
|
|
11
9
|
switch (typeof data) {
|
|
12
10
|
case "string":
|
|
13
11
|
return data.toLowerCase().includes(lowerTrimmedQuery);
|
|
14
|
-
|
|
15
12
|
case "boolean":
|
|
16
13
|
case "number":
|
|
17
14
|
return String(data).includes(lowerTrimmedQuery);
|
|
18
|
-
|
|
19
15
|
case "object":
|
|
20
16
|
return data === null ? "null".includes(lowerTrimmedQuery) : (Array.isArray(data) ? data : Object.entries(data).flat()).some(item => deepMatch(item, lowerTrimmedQuery));
|
|
21
|
-
|
|
22
17
|
default:
|
|
23
18
|
return false;
|
|
24
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepMatch.js","names":["deepFilter","data","q","trimmedQuery","trim","slice","filter","item","deepMatch","toLowerCase","lowerTrimmedQuery","includes","String","Array","isArray","Object","entries","flat","some"],"sources":["../../../src/utils/deepMatch.ts"],"sourcesContent":["export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,
|
|
1
|
+
{"version":3,"file":"deepMatch.js","names":["deepFilter","data","q","trimmedQuery","trim","slice","filter","item","deepMatch","toLowerCase","lowerTrimmedQuery","includes","String","Array","isArray","Object","entries","flat","some"],"sources":["../../../src/utils/deepMatch.ts"],"sourcesContent":["export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n"],"mappings":"AAAA,OAAO,SAASA,UAAU,CAAIC,IAAc,EAAEC,CAAS,EAAY;EACjE,IAAMC,YAAY,GAAGD,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEE,IAAI,EAAE;EAC9B,IAAI,CAACD,YAAY,EAAE;IACjB,OAAOF,IAAI,CAACI,KAAK,EAAE;EACrB;EACA,OAAOJ,IAAI,CAACK,MAAM,CAAEC,IAAI,IAAKC,SAAS,CAACD,IAAI,EAAEJ,YAAY,CAACM,WAAW,EAAE,CAAC,CAAC;AAC3E;AAEA,OAAO,SAASD,SAAS,CAACP,IAAa,EAAES,iBAAyB,EAAW;EAC3E,QAAQ,OAAOT,IAAI;IACjB,KAAK,QAAQ;MACX,OAAOA,IAAI,CAACQ,WAAW,EAAE,CAACE,QAAQ,CAACD,iBAAiB,CAAC;IACvD,KAAK,SAAS;IACd,KAAK,QAAQ;MACX,OAAOE,MAAM,CAACX,IAAI,CAAC,CAACU,QAAQ,CAACD,iBAAiB,CAAC;IACjD,KAAK,QAAQ;MACX,OAAOT,IAAI,KAAK,IAAI,GAChB,MAAM,CAACU,QAAQ,CAACD,iBAAiB,CAAC,GAClC,CAACG,KAAK,CAACC,OAAO,CAACb,IAAI,CAAC,GAAGA,IAAI,GAAGc,MAAM,CAACC,OAAO,CAACf,IAAI,CAAC,CAACgB,IAAI,EAAE,EAAEC,IAAI,CAC5DX,IAAI,IAAKC,SAAS,CAACD,IAAI,EAAEG,iBAAiB,CAAC,CAC7C;IACP;MACE,OAAO,KAAK;EAAC;AAEnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./deepMatch\";\n"],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/index.ts"],"sourcesContent":["export * from \"./deepMatch\";\n"],"mappings":"AAAA,cAAc,aAAa"}
|