@next-libs/visual-builder 1.13.1 → 1.13.3
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.map +1 -1
- package/dist/cjs/interfaces/brick-visualization.js +2 -4
- package/dist/cjs/interfaces/brick-visualization.js.map +1 -1
- package/dist/cjs/interfaces/index.js.map +1 -1
- package/dist/cjs/interfaces/workbench-mini-action-bar.js.map +1 -1
- package/dist/cjs/utils/deepMatch.js.map +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/visual-property-form/VisualPropertyForm.js +1 -2
- package/dist/cjs/visual-property-form/VisualPropertyForm.js.map +1 -1
- package/dist/cjs/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js +2 -4
- package/dist/cjs/visual-property-form/components/ColorEditor/ColorEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/IconSelect/IconSelectFormItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/ListEditor/ListEditor.js.map +1 -1
- package/dist/cjs/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/cjs/visual-property-form/components/MessageEditor/MessageEditor.js.map +1 -1
- package/dist/cjs/visual-property-form/constant.js +5 -10
- package/dist/cjs/visual-property-form/constant.js.map +1 -1
- package/dist/cjs/visual-property-form/processor.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/interfaces/index.js.map +1 -1
- package/dist/esm/interfaces/workbench-mini-action-bar.js.map +1 -1
- 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.map +1 -1
- package/dist/esm/visual-property-form/components/CodeEditor/CodeEditorFormItem.js.map +1 -1
- 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/ListEditor/ListEditor.js.map +1 -1
- package/dist/esm/visual-property-form/components/MenuEditor/MenuEditorItem.js.map +1 -1
- package/dist/esm/visual-property-form/components/MessageEditor/MessageEditor.js.map +1 -1
- package/dist/esm/visual-property-form/constant.js.map +1 -1
- package/dist/esm/visual-property-form/processor.js +2 -2
- package/dist/esm/visual-property-form/processor.js.map +1 -1
- package/dist/esm/workbench-mini-action-bar/WorkbenchMiniActionBar.js.map +1 -1
- package/dist/types/visual-property-form/components/ColorEditor/ColorEditorItem.d.ts +2 -2
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorEditorItem.js","names":["SketchPicker","COLORS_MAP","Form","React","useEffect","useState","forwardRef","styles","isArray","isObject","presetColorMap","getComputedColor","key","window","getComputedStyle","document","documentElement","getPropertyValue","trim","getDefaultPresetColors","colorMap","colorList","group","forEach","name","result","match","colorHex","push","color","title","Object","entries","processEditorPresetColors","editorPresetColors","res","item","matchArr","length","LegacyColorPick","props","ref","value","setValue","visible","setVisible","pos","setPos","handleChangeComplete","rgba","rgb","r","g","b","a","hex","onChange","handleClick","e","clientX","clientY","getPickerColor","colorContainer","colorCube","colorContent","backgroundColor","popover","top","cover","concat","ColorPick","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\";\nimport { isArray, isObject } from \"lodash\";\nimport { PresetColor } from \"react-color/lib/components/sketch/Sketch\";\n\nexport interface ColorEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n required?: boolean;\n value?: any;\n onChange?: (value: string) => void;\n editorPresetColors?: PresetColor[];\n}\n\nexport const presetColorMap: Record<string, string> = {};\n\nconst getComputedColor = (key: string) => {\n return window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(key)\n ?.trim();\n};\n\nexport function getDefaultPresetColors(\n colorMap: Record<\n Colors,\n {\n color: string;\n background: string;\n borderColor: string;\n }\n >\n): PresetColor[] {\n const colorList: PresetColor[] = [];\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 = getComputedColor(result[1]);\n if (colorHex) {\n colorList.push({ color: colorHex, title: result[0] });\n if (!presetColorMap[colorHex]) {\n presetColorMap[colorHex] = result[0];\n }\n }\n }\n });\n }\n\n return colorList;\n}\n\nexport const processEditorPresetColors = (\n editorPresetColors: PresetColor[]\n) => {\n const res: PresetColor[] = [];\n\n editorPresetColors?.forEach((item) => {\n if (typeof item === \"string\") {\n // css变量字符串或颜色字符串的情况\n const matchArr = item.match(/^var\\((.+)\\)/);\n if (isArray(matchArr) && matchArr?.length > 0) {\n const color = getComputedColor(matchArr[1]);\n if (color) {\n res.push({ title: matchArr[0], color });\n if (!presetColorMap[color]) {\n presetColorMap[color] = matchArr[0];\n }\n }\n } else {\n res.push(item);\n }\n } else if (isObject(item)) {\n // { title:..., color:... } 的情况, color也会分为css变量字符串或颜色字符串\n const matchArr = item?.color?.match(/^var\\((.+)\\)/);\n if (isArray(matchArr) && matchArr?.length > 0) {\n const color = getComputedColor(matchArr[1]);\n if (color) {\n res.push({ ...item, color });\n if (!presetColorMap[color]) {\n presetColorMap[color] = matchArr[0];\n }\n }\n } else {\n res.push(item);\n }\n }\n });\n return res;\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 const [pos, setPos] = useState([0, 0]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleChangeComplete = (color: ColorResult) => {\n const rgba = `rgba( ${color.rgb.r}, ${color.rgb.g}, ${color.rgb.b}, ${color.rgb.a})`;\n const rgb = `rgb( ${color.rgb.r}, ${color.rgb.g}, ${color.rgb.b})`;\n // 优先使用变量作为value\n const res =\n presetColorMap[rgba] ??\n presetColorMap[rgb] ??\n presetColorMap[color.hex] ??\n rgba;\n setValue(res);\n props.onChange(res);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>): void => {\n setPos([e.clientX, e.clientY]);\n setVisible(true);\n };\n\n const getPickerColor = () => {\n return value?.match(/^var\\((.+)\\)/)\n ? getComputedColor(value?.match(/^var\\((.+)\\)/)[1])\n : value;\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\n className={styles.popover}\n style={{\n top: pos[1] - 385 - 16,\n }}\n >\n <div className={styles.cover} onClick={() => setVisible(false)} />\n <SketchPicker\n width=\"230px\"\n ref={ref}\n color={getPickerColor()}\n onChangeComplete={handleChangeComplete}\n presetColors={getDefaultPresetColors(COLORS_MAP).concat(\n processEditorPresetColors(props?.editorPresetColors)\n )}\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 editorPresetColors={props?.editorPresetColors} />\n </Form.Item>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorEditorItem.js","names":["SketchPicker","COLORS_MAP","Form","React","useEffect","useState","forwardRef","styles","isArray","isObject","presetColorMap","getComputedColor","key","_window$getComputedSt","window","getComputedStyle","document","documentElement","getPropertyValue","trim","getDefaultPresetColors","colorMap","colorList","_loop","group","forEach","name","_name","result","match","colorHex","push","color","title","Object","entries","processEditorPresetColors","editorPresetColors","res","item","matchArr","length","_item$color","_objectSpread","LegacyColorPick","props","ref","value","setValue","visible","setVisible","pos","setPos","handleChangeComplete","_ref","_ref2","_presetColorMap$rgba","rgba","concat","rgb","r","g","b","a","hex","onChange","handleClick","e","clientX","clientY","getPickerColor","createElement","className","colorContainer","colorCube","onClick","colorContent","style","backgroundColor","popover","top","cover","width","onChangeComplete","presetColors","ColorPick","ColorEditorItem","Item","label","rules","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\";\nimport { isArray, isObject } from \"lodash\";\nimport { PresetColor } from \"react-color/lib/components/sketch/Sketch\";\n\nexport interface ColorEditorItemProps {\n name?: string;\n label?: string | React.ReactElement;\n required?: boolean;\n value?: any;\n onChange?: (value: string) => void;\n editorPresetColors?: PresetColor[];\n}\n\nexport const presetColorMap: Record<string, string> = {};\n\nconst getComputedColor = (key: string) => {\n return window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(key)\n ?.trim();\n};\n\nexport function getDefaultPresetColors(\n colorMap: Record<\n Colors,\n {\n color: string;\n background: string;\n borderColor: string;\n }\n >\n): PresetColor[] {\n const colorList: PresetColor[] = [];\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 = getComputedColor(result[1]);\n if (colorHex) {\n colorList.push({ color: colorHex, title: result[0] });\n if (!presetColorMap[colorHex]) {\n presetColorMap[colorHex] = result[0];\n }\n }\n }\n });\n }\n\n return colorList;\n}\n\nexport const processEditorPresetColors = (\n editorPresetColors: PresetColor[]\n) => {\n const res: PresetColor[] = [];\n\n editorPresetColors?.forEach((item) => {\n if (typeof item === \"string\") {\n // css变量字符串或颜色字符串的情况\n const matchArr = item.match(/^var\\((.+)\\)/);\n if (isArray(matchArr) && matchArr?.length > 0) {\n const color = getComputedColor(matchArr[1]);\n if (color) {\n res.push({ title: matchArr[0], color });\n if (!presetColorMap[color]) {\n presetColorMap[color] = matchArr[0];\n }\n }\n } else {\n res.push(item);\n }\n } else if (isObject(item)) {\n // { title:..., color:... } 的情况, color也会分为css变量字符串或颜色字符串\n const matchArr = item?.color?.match(/^var\\((.+)\\)/);\n if (isArray(matchArr) && matchArr?.length > 0) {\n const color = getComputedColor(matchArr[1]);\n if (color) {\n res.push({ ...item, color });\n if (!presetColorMap[color]) {\n presetColorMap[color] = matchArr[0];\n }\n }\n } else {\n res.push(item);\n }\n }\n });\n return res;\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 const [pos, setPos] = useState([0, 0]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n const handleChangeComplete = (color: ColorResult) => {\n const rgba = `rgba( ${color.rgb.r}, ${color.rgb.g}, ${color.rgb.b}, ${color.rgb.a})`;\n const rgb = `rgb( ${color.rgb.r}, ${color.rgb.g}, ${color.rgb.b})`;\n // 优先使用变量作为value\n const res =\n presetColorMap[rgba] ??\n presetColorMap[rgb] ??\n presetColorMap[color.hex] ??\n rgba;\n setValue(res);\n props.onChange(res);\n };\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement>): void => {\n setPos([e.clientX, e.clientY]);\n setVisible(true);\n };\n\n const getPickerColor = () => {\n return value?.match(/^var\\((.+)\\)/)\n ? getComputedColor(value?.match(/^var\\((.+)\\)/)[1])\n : value;\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\n className={styles.popover}\n style={{\n top: pos[1] - 385 - 16,\n }}\n >\n <div className={styles.cover} onClick={() => setVisible(false)} />\n <SketchPicker\n width=\"230px\"\n ref={ref}\n color={getPickerColor()}\n onChangeComplete={handleChangeComplete}\n presetColors={getDefaultPresetColors(COLORS_MAP).concat(\n processEditorPresetColors(props?.editorPresetColors)\n )}\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 editorPresetColors={props?.editorPresetColors} />\n </Form.Item>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconSelectFormItem.js","names":["React","useState","Form","IconSelectItem","IconSelectFormItem","props","visible","setVisible","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,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,QAAQ,MAAM;AAC3B,SAA0BC,cAAc,QAAQ,kBAAkB;AAElE,OAAO,SAASC,
|
|
1
|
+
{"version":3,"file":"IconSelectFormItem.js","names":["React","useState","Form","IconSelectItem","IconSelectFormItem","props","visible","setVisible","createElement","Item","key","name","label","rules","required","message","concat","setColor","bg","openModal","handleCancel","onChange"],"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,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,QAAQ,MAAM;AAC3B,SAA0BC,cAAc,QAAQ,kBAAkB;AAElE,OAAO,SAASC,kBAAkBA,CAACC,KAAsB,EAAsB;EAC7E,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EAE7C,oBACED,KAAA,CAAAQ,aAAA,CAACN,IAAI,CAACO,IAAI;IACRC,GAAG,EAAEL,KAAK,CAACM,IAAK;IAChBA,IAAI,EAAEN,KAAK,CAACM,IAAK;IACjBC,KAAK,EAAEP,KAAK,CAACO,KAAM;IACnBC,KAAK,EAAE,CAAC;MAAEC,QAAQ,EAAET,KAAK,CAACS,QAAQ;MAAEC,OAAO,uBAAAC,MAAA,CAAQX,KAAK,CAACM,IAAI;IAAG,CAAC;EAAE,gBAEnEX,KAAA,CAAAQ,aAAA,CAACL,cAAc;IACbc,QAAQ,EAAE,IAAK;IACfC,EAAE,EAAE,IAAK;IACTZ,OAAO,EAAEA,OAAQ;IACjBa,SAAS,EAAEA,CAAA,KAAMZ,UAAU,CAAC,IAAI,CAAE;IAClCa,YAAY,EAAEA,CAAA,KAAMb,UAAU,CAAC,KAAK,CAAE;IACtCc,QAAQ,EAAEA,CAAA,KAAMd,UAAU,CAAC,KAAK;EAAE,CACnC,CACQ,CAAC;AAEhB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListEditor.js","names":["React","useState","useEffect","useCallback","useMemo","GeneralIcon","Form","Popover","styles","COLUMN_KEY","Symbol","for","key","ListEditor","name","label","value","required","listItemKey","getDefaultItem","renderFormItem","onChange","list","setList","map","item","handleRemoveItem","e","stopPropagation","newList","filter","handleAddListItem","defaultValue","
|
|
1
|
+
{"version":3,"file":"ListEditor.js","names":["React","useState","useEffect","useCallback","useMemo","GeneralIcon","Form","Popover","styles","COLUMN_KEY","Symbol","for","key","ListEditor","_ref","name","label","value","required","listItemKey","getDefaultItem","renderFormItem","onChange","list","setList","map","item","_objectSpread","handleRemoveItem","e","stopPropagation","newList","filter","handleAddListItem","defaultValue","concat","length","renderListForm","handleOnValuesChange","changeValues","createElement","layout","labelAlign","labelCol","style","minWidth","onValuesChange","renderListContent","className","listContent","index","overlayStyle","zIndex","content","title","trigger","placement","listItem","onClick","icon","lib","category","color","padding","border","borderRadius","listEmptyItem","listContainer","Item","rules","message","addListItem","marginRight"],"sources":["../../../../../src/visual-property-form/components/ListEditor/ListEditor.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, useMemo } from \"react\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\nimport { Form, Popover } from \"antd\";\nimport styles from \"./ListEditor.module.css\";\n\nconst COLUMN_KEY = Symbol.for(\"column_key\");\n\ninterface ListEditor {\n name?: string;\n label?: string | React.ReactElement;\n value?: any[];\n required?: boolean;\n listItemKey: string;\n getDefaultItem: (data: any) => Record<string, any>;\n renderFormItem?: (data: any) => React.ReactElement;\n onChange?: (data: any) => void;\n}\n\nlet key = 0;\n\nexport function ListEditor({\n name,\n label,\n value,\n required,\n listItemKey,\n getDefaultItem,\n renderFormItem,\n onChange,\n}: ListEditor): React.ReactElement {\n const [list, setList] = useState<any[]>(\n (value ?? []).map((item) => ({\n ...item,\n [COLUMN_KEY]: ++key,\n }))\n );\n\n useEffect(() => {\n setList(\n (value ?? []).map((item) => ({\n ...item,\n [COLUMN_KEY]: ++key,\n }))\n );\n }, [value]);\n\n const handleRemoveItem = useCallback(\n (e: React.MouseEvent, item: any): void => {\n e.stopPropagation();\n const key = item[COLUMN_KEY];\n const newList = list.filter((item) => item[COLUMN_KEY] !== key);\n setList(newList);\n onChange(newList);\n },\n [list, onChange]\n );\n\n const handleAddListItem = (): void => {\n key++;\n const defaultValue = `newItem(${list.length})`;\n const newList = list.concat([\n { ...getDefaultItem(defaultValue), [COLUMN_KEY]: key },\n ]);\n setList(newList);\n onChange?.(newList);\n };\n\n const renderListForm = useCallback(\n (item: any): React.ReactElement => {\n const handleOnValuesChange = (changeValues: any): void => {\n const key = item[COLUMN_KEY];\n const newList = list.map((item) => {\n if (item[COLUMN_KEY] === key) {\n item = {\n ...item,\n ...changeValues,\n };\n }\n return item;\n });\n setList(newList);\n onChange?.(newList);\n };\n return (\n <Form\n layout=\"horizontal\"\n labelAlign=\"left\"\n labelCol={{\n style: {\n minWidth: \"112px\",\n },\n }}\n onValuesChange={handleOnValuesChange}\n >\n {renderFormItem(item)}\n </Form>\n );\n },\n [list, onChange, renderFormItem]\n );\n\n const renderListContent = useMemo((): React.ReactElement => {\n return (\n <div className={styles.listContent}>\n {list.length ? (\n list.map((item, index) => {\n return (\n <Popover\n key={index}\n overlayStyle={{\n zIndex: 999,\n }}\n content={renderListForm(item)}\n title=\"Detail\"\n trigger=\"click\"\n placement=\"left\"\n >\n <div className={styles.listItem}>\n <span>{item[listItemKey]}</span>\n <span onClick={(e) => handleRemoveItem(e, item)}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"assets-inventory\",\n icon: \"out\",\n color: \"red\",\n }}\n style={{\n padding: \"2px\",\n border: \"1px solid\",\n borderRadius: \"50%\",\n }}\n />\n </span>\n </div>\n </Popover>\n );\n })\n ) : (\n <div className={styles.listEmptyItem}>No data</div>\n )}\n </div>\n );\n }, [list, renderListForm, listItemKey, handleRemoveItem]);\n\n return (\n <div className={styles.listContainer}>\n <Form.Item\n key={name}\n name={name}\n label={label}\n rules={[{ required: required, message: `请输入${name}` }]}\n >\n <div className={styles.listContent}>{renderListContent}</div>\n <span className={styles.addListItem} onClick={handleAddListItem}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"assets-inventory\",\n icon: \"xin\",\n color: \"blue\",\n }}\n style={{\n marginRight: \"4px\",\n }}\n />\n 添加\n </span>\n </Form.Item>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuEditorItem.js","names":["React","useState","useEffect","Form","Select","Tooltip","GeneralIcon","InstanceApi_getDetail","MenuEditorItem","props","options","setOptions","getMenu","result","projectId","fields","menus","map","item","value","menuId","label","handleMenuSettingClick","menuSettingClick","display","alignItems","name","required","message","width","input","option","toLocaleLowerCase","indexOf","fontSize","marginBottom","marginLeft","cursor","category","color","
|
|
1
|
+
{"version":3,"file":"MenuEditorItem.js","names":["React","useState","useEffect","Form","Select","Tooltip","GeneralIcon","InstanceApi_getDetail","MenuEditorItem","props","options","setOptions","getMenu","_ref","_asyncToGenerator","result","projectId","fields","menus","map","item","value","menuId","label","apply","arguments","handleMenuSettingClick","menuSettingClick","createElement","style","display","alignItems","Item","key","name","rules","required","message","concat","width","showSearch","allowClear","placeholder","filterOption","input","option","toLocaleLowerCase","indexOf","fontSize","marginBottom","marginLeft","cursor","title","icon","category","color","lib","onClick"],"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 marginBottom: \"8px\",\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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageEditor.js","names":["Form","Input","Popover","React","styles","GeneralIcon","MessageEditor","name","label","value","required","onChange","renderForm","style","minWidth","pattern","max","min","messageEditorContainer","message","zIndex","
|
|
1
|
+
{"version":3,"file":"MessageEditor.js","names":["Form","Input","Popover","React","styles","GeneralIcon","MessageEditor","_ref","name","label","value","required","onChange","renderForm","createElement","layout","labelAlign","labelCol","style","minWidth","onValuesChange","Item","defaultValue","pattern","max","min","className","messageEditorContainer","key","rules","message","concat","overlayStyle","zIndex","content","title","trigger","placement","editBtn","icon","lib","category","color","padding"],"sources":["../../../../../src/visual-property-form/components/MessageEditor/MessageEditor.tsx"],"sourcesContent":["import { Form, Input, Popover } from \"antd\";\nimport React from \"react\";\nimport styles from \"./MessageEditor.module.css\";\nimport { GeneralIcon } from \"@next-libs/basic-components\";\n\ninterface MessageEditorProps {\n name?: string;\n label?: string | React.ReactElement;\n value?: Record<string, any>;\n required?: boolean;\n onChange?: (data: any) => void;\n}\n\nexport function MessageEditor({\n name,\n label,\n value = {},\n required,\n onChange,\n}: MessageEditorProps): React.ReactElement {\n const renderForm = (value: Record<string, any>) => {\n return (\n <Form\n layout=\"horizontal\"\n labelAlign=\"left\"\n labelCol={{\n style: {\n minWidth: \"112px\",\n },\n }}\n onValuesChange={onChange}\n >\n <Form.Item name=\"pattern\" label=\"pattern\">\n <Input defaultValue={value.pattern} />\n </Form.Item>\n <Form.Item name=\"required\" label=\"required\">\n <Input defaultValue={value.required} />\n </Form.Item>\n <Form.Item name=\"max\" label=\"max\">\n <Input defaultValue={value.max} />\n </Form.Item>\n <Form.Item name=\"min\" label=\"min\">\n <Input defaultValue={value.min} />\n </Form.Item>\n </Form>\n );\n };\n\n return (\n <div className={styles.messageEditorContainer}>\n <Form.Item\n key={name}\n name={name}\n label={label}\n rules={[{ required: required, message: `请输入${name}` }]}\n >\n <Popover\n overlayStyle={{\n zIndex: 999,\n }}\n content={renderForm(value)}\n title=\"Detail\"\n trigger=\"click\"\n placement=\"left\"\n >\n <div className={styles.editBtn}>\n <GeneralIcon\n icon={{\n lib: \"easyops\",\n category: \"default\",\n icon: \"edit\",\n color: \"gray\",\n }}\n style={{\n padding: 4,\n }}\n />\n </div>\n </Popover>\n </Form.Item>\n </div>\n );\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,KAAK,EAAEC,OAAO,QAAQ,MAAM;AAC3C,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,MAAM,MAAM,4BAA4B;AAC/C,SAASC,WAAW,QAAQ,6BAA6B;AAUzD,OAAO,SAASC,aAAaA,CAAAC,IAAA,EAMc;EAAA,IANb;IAC5BC,IAAI;IACJC,KAAK;IACLC,KAAK,GAAG,CAAC,CAAC;IACVC,QAAQ;IACRC;EACkB,CAAC,GAAAL,IAAA;EACnB,IAAMM,UAAU,GAAIH,KAA0B,IAAK;IACjD,oBACEP,KAAA,CAAAW,aAAA,CAACd,IAAI;MACHe,MAAM,EAAC,YAAY;MACnBC,UAAU,EAAC,MAAM;MACjBC,QAAQ,EAAE;QACRC,KAAK,EAAE;UACLC,QAAQ,EAAE;QACZ;MACF,CAAE;MACFC,cAAc,EAAER;IAAS,gBAEzBT,KAAA,CAAAW,aAAA,CAACd,IAAI,CAACqB,IAAI;MAACb,IAAI,EAAC,SAAS;MAACC,KAAK,EAAC;IAAS,gBACvCN,KAAA,CAAAW,aAAA,CAACb,KAAK;MAACqB,YAAY,EAAEZ,KAAK,CAACa;IAAQ,CAAE,CAC5B,CAAC,eACZpB,KAAA,CAAAW,aAAA,CAACd,IAAI,CAACqB,IAAI;MAACb,IAAI,EAAC,UAAU;MAACC,KAAK,EAAC;IAAU,gBACzCN,KAAA,CAAAW,aAAA,CAACb,KAAK;MAACqB,YAAY,EAAEZ,KAAK,CAACC;IAAS,CAAE,CAC7B,CAAC,eACZR,KAAA,CAAAW,aAAA,CAACd,IAAI,CAACqB,IAAI;MAACb,IAAI,EAAC,KAAK;MAACC,KAAK,EAAC;IAAK,gBAC/BN,KAAA,CAAAW,aAAA,CAACb,KAAK;MAACqB,YAAY,EAAEZ,KAAK,CAACc;IAAI,CAAE,CACxB,CAAC,eACZrB,KAAA,CAAAW,aAAA,CAACd,IAAI,CAACqB,IAAI;MAACb,IAAI,EAAC,KAAK;MAACC,KAAK,EAAC;IAAK,gBAC/BN,KAAA,CAAAW,aAAA,CAACb,KAAK;MAACqB,YAAY,EAAEZ,KAAK,CAACe;IAAI,CAAE,CACxB,CACP,CAAC;EAEX,CAAC;EAED,oBACEtB,KAAA,CAAAW,aAAA;IAAKY,SAAS,EAAEtB,MAAM,CAACuB;EAAuB,gBAC5CxB,KAAA,CAAAW,aAAA,CAACd,IAAI,CAACqB,IAAI;IACRO,GAAG,EAAEpB,IAAK;IACVA,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACboB,KAAK,EAAE,CAAC;MAAElB,QAAQ,EAAEA,QAAQ;MAAEmB,OAAO,uBAAAC,MAAA,CAAQvB,IAAI;IAAG,CAAC;EAAE,gBAEvDL,KAAA,CAAAW,aAAA,CAACZ,OAAO;IACN8B,YAAY,EAAE;MACZC,MAAM,EAAE;IACV,CAAE;IACFC,OAAO,EAAErB,UAAU,CAACH,KAAK,CAAE;IAC3ByB,KAAK,EAAC,QAAQ;IACdC,OAAO,EAAC,OAAO;IACfC,SAAS,EAAC;EAAM,gBAEhBlC,KAAA,CAAAW,aAAA;IAAKY,SAAS,EAAEtB,MAAM,CAACkC;EAAQ,gBAC7BnC,KAAA,CAAAW,aAAA,CAACT,WAAW;IACVkC,IAAI,EAAE;MACJC,GAAG,EAAE,SAAS;MACdC,QAAQ,EAAE,SAAS;MACnBF,IAAI,EAAE,MAAM;MACZG,KAAK,EAAE;IACT,CAAE;IACFxB,KAAK,EAAE;MACLyB,OAAO,EAAE;IACX;EAAE,CACH,CACE,CACE,CACA,CACR,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","names":["groupI18nMap","basic","en","zh","ui","style","advanced","basicFormItem","advancedFormItem","formValidation","formLabel","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 style: {\n en: \"Style\",\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 formValidation: {\n en: \"Validation\",\n zh: \"数据验证\",\n },\n formLabel: {\n en: \"Label\",\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: \"style\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":"AAEA,OAAO,IAAMA,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,KAAK,EAAE;IACLH,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDG,QAAQ,EAAE;IACRJ,EAAE,EAAE,UAAU;IACdC,EAAE,EAAE;EACN,CAAC;EACDI,aAAa,EAAE;IACbL,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACN,CAAC;EACDK,gBAAgB,EAAE;IAChBN,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE;EACN,CAAC;EACDM,cAAc,EAAE;IACdP,EAAE,EAAE,YAAY;IAChBC,EAAE,EAAE;EACN,CAAC;EACDO,SAAS,EAAE;IACTR,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDQ,KAAK,EAAE;IACLT,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN;AACF,CAAC;AAED,OAAO,IAAMS,gBAAgB,GAAG,CAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,CACR;AAED,OAAO,IAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAEzD,OAAO,IAAMC,qBAAqB,GAAG,QAAQ;AAE7C,OAAO,IAAMC,kBAAkC,GAAG,CAChD;EACEC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,OAAO;EACpBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAEpB;AACb,CAAC,EACD;EACEgB,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAEpB;AACb,CAAC,CACF"}
|
|
1
|
+
{"version":3,"file":"constant.js","names":["groupI18nMap","basic","en","zh","ui","style","advanced","basicFormItem","advancedFormItem","formValidation","formLabel","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 style: {\n en: \"Style\",\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 formValidation: {\n en: \"Validation\",\n zh: \"数据验证\",\n },\n formLabel: {\n en: \"Label\",\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: \"style\",\n groupI18N: groupI18nMap,\n },\n];\n"],"mappings":"AAEA,OAAO,IAAMA,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,KAAK,EAAE;IACLH,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDG,QAAQ,EAAE;IACRJ,EAAE,EAAE,UAAU;IACdC,EAAE,EAAE;EACN,CAAC;EACDI,aAAa,EAAE;IACbL,EAAE,EAAE,iBAAiB;IACrBC,EAAE,EAAE;EACN,CAAC;EACDK,gBAAgB,EAAE;IAChBN,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE;EACN,CAAC;EACDM,cAAc,EAAE;IACdP,EAAE,EAAE,YAAY;IAChBC,EAAE,EAAE;EACN,CAAC;EACDO,SAAS,EAAE;IACTR,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN,CAAC;EACDQ,KAAK,EAAE;IACLT,EAAE,EAAE,OAAO;IACXC,EAAE,EAAE;EACN;AACF,CAAC;AAED,OAAO,IAAMS,gBAAgB,GAAG,CAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,OAAO,CACR;AAED,OAAO,IAAMC,eAAe,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAEzD,OAAO,IAAMC,qBAAqB,GAAG,QAAQ;AAE7C,OAAO,IAAMC,kBAAkC,GAAG,CAChD;EACEC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,QAAQ;EACdC,WAAW,EAAE,OAAO;EACpBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAEpB;AACb,CAAC,EACD;EACEgB,IAAI,EAAE,OAAO;EACbC,IAAI,EAAE,qBAAqB;EAC3BC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAEpB;AACb,CAAC,CACF","ignoreList":[]}
|
|
@@ -65,14 +65,14 @@ export function calculateValue() {
|
|
|
65
65
|
var brickProperties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
66
66
|
var typeList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
67
67
|
var othersValue = {};
|
|
68
|
-
var _loop = function (key
|
|
68
|
+
var _loop = function (key) {
|
|
69
69
|
var find = propertyList.find(item => item.name === key);
|
|
70
70
|
if (!find) {
|
|
71
71
|
othersValue[key] = value;
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
for (var [key, value] of Object.entries(brickProperties)) {
|
|
75
|
-
_loop(key
|
|
75
|
+
_loop(key);
|
|
76
76
|
}
|
|
77
77
|
var processValue = propertyList.reduce((obj, item) => {
|
|
78
78
|
var v = brickProperties[item.name];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["i18nText","ItemModeType","safeDump","JSON_SCHEMA","safeLoad","omit","isEmpty","groupBy","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","groupI18nMap","isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","Advanced","yamlStringify","Normal","indent","schema","skipInvalid","noRefs","noCompatMode","replace","yaml","json","matchNoramlMenuValue","reg","match","calcMenuValue","calculateValue","typeList","othersValue","key","find","Object","entries","processValue","reduce","obj","v","undefined","concat","type","selected","typeItem","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","groupByType","normals","filter","group","others","styles","groupI18N","i18nData","extractCommonProps","sharedPropertyList"],"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 typeof value === \"object\"\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 if (isAdvanceMode(brickProperties?.[item.name])) {\n return {\n ...item,\n mode: ItemModeType.Advanced,\n value: yamlStringify(brickProperties?.[item.name]),\n };\n } else {\n return {\n ...item,\n mode: ItemModeType.Normal,\n value: brickProperties?.[item.name],\n };\n }\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 }).replace(/[\\n\\r]+$/, \"\");\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 yamlStringify(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\n .concat(supportMenuType)\n .includes(item.type as string) || // 非已知类型\n typeof v === \"object\" // 值为object\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] = yamlStringify(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 * 4. 表达式也不需要解析成 JSON 模式\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\") {\n return false;\n } else if (field.value.startsWith(\"<%\") || field.value.includes(\"${\")) {\n return false;\n }\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(\n (item) => item.group !== \"other\" && item.group !== \"style\"\n );\n const others = typeList.filter((item) => item.group === \"other\");\n const styles = typeList.filter((item) => item.group === \"style\");\n\n return Object.entries(\n groupBy(normals.concat(styles).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":["i18nText","ItemModeType","safeDump","JSON_SCHEMA","safeLoad","omit","isEmpty","groupBy","supportBasicType","supportMenuType","OTHER_FORM_ITEM_FIELD","defaultCommonProps","groupI18nMap","isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","arguments","length","undefined","brickProperties","map","item","name","_objectSpread","mode","Advanced","yamlStringify","Normal","indent","schema","skipInvalid","noRefs","noCompatMode","replace","yaml","json","matchNoramlMenuValue","_value$match","_value$match$","reg","match","calcMenuValue","concat","calculateValue","typeList","othersValue","_loop","key","find","Object","entries","processValue","reduce","obj","v","type","selected","typeItem","isUseYamlParse","field","isBasicType","isUseMenuParse","processFormValue","values","formData","groupByType","normals","filter","group","others","styles","groupI18N","i18nData","extractCommonProps","sharedPropertyList"],"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 typeof value === \"object\"\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 if (isAdvanceMode(brickProperties?.[item.name])) {\n return {\n ...item,\n mode: ItemModeType.Advanced,\n value: yamlStringify(brickProperties?.[item.name]),\n };\n } else {\n return {\n ...item,\n mode: ItemModeType.Normal,\n value: brickProperties?.[item.name],\n };\n }\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 }).replace(/[\\n\\r]+$/, \"\");\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 yamlStringify(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\n .concat(supportMenuType)\n .includes(item.type as string) || // 非已知类型\n typeof v === \"object\" // 值为object\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] = yamlStringify(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 * 4. 表达式也不需要解析成 JSON 模式\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\") {\n return false;\n } else if (field.value.startsWith(\"<%\") || field.value.includes(\"${\")) {\n return false;\n }\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(\n (item) => item.group !== \"other\" && item.group !== \"style\"\n );\n const others = typeList.filter((item) => item.group === \"other\");\n const styles = typeList.filter((item) => item.group === \"style\");\n\n return Object.entries(\n groupBy(normals.concat(styles).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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useEffect","useMemo","useRef","classNames","Tooltip","BrickAsComponent","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","filter","item","length","actionsBar","map","action","
|
|
1
|
+
{"version":3,"file":"WorkbenchMiniActionBar.js","names":["React","useCallback","useEffect","useMemo","useRef","classNames","Tooltip","BrickAsComponent","looseCheckIfByTransform","GeneralIcon","styles","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","useNativeEvent","onActionClick","enabledActions","filter","item","length","createElement","actionsBar","style","map","WorkbenchSubAction","key","action","_ref2","_action$iconUseBrick","disabled","linkRef","handleActionClick","event","preventDefault","stopPropagation","clientX","clientY","link","current","addEventListener","removeEventListener","preventMouseEvent","title","role","ref","onClick","onContextMenu","onMouseDown","tooltip","iconUseBrick","useBrick","icon"],"sources":["../../../src/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"antd\";\nimport {\n BrickAsComponent,\n looseCheckIfByTransform,\n} 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 useNativeEvent?: 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 useNativeEvent,\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 useNativeEvent={useNativeEvent}\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 useNativeEvent?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n useNativeEvent,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n const linkRef = useRef<HTMLAnchorElement>();\n\n const handleActionClick = useCallback(\n (event: MouseEvent | React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n useEffect(() => {\n const link = linkRef.current;\n if (!link || !useNativeEvent) {\n return;\n }\n link.addEventListener(\"click\", handleActionClick);\n return () => {\n link.removeEventListener(\"click\", handleActionClick);\n };\n }, [handleActionClick, useNativeEvent]);\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 ref={linkRef}\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <Tooltip title={action.tooltip}>\n {action.iconUseBrick?.useBrick ? (\n <BrickAsComponent\n useBrick={action.iconUseBrick.useBrick}\n data={data}\n />\n ) : (\n <GeneralIcon icon={action.icon} />\n )}\n </Tooltip>\n </a>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,6 @@ export declare function getDefaultPresetColors(colorMap: Record<Colors, {
|
|
|
16
16
|
borderColor: string;
|
|
17
17
|
}>): PresetColor[];
|
|
18
18
|
export declare const processEditorPresetColors: (editorPresetColors: PresetColor[]) => PresetColor[];
|
|
19
|
-
export declare function LegacyColorPick(props: ColorEditorItemProps, ref: React.Ref<any>): JSX.Element;
|
|
19
|
+
export declare function LegacyColorPick(props: ColorEditorItemProps, ref: React.Ref<any>): React.JSX.Element;
|
|
20
20
|
export declare const ColorPick: React.ForwardRefExoticComponent<ColorEditorItemProps & React.RefAttributes<any>>;
|
|
21
|
-
export declare function ColorEditorItem(props: ColorEditorItemProps): JSX.Element;
|
|
21
|
+
export declare function ColorEditorItem(props: ColorEditorItemProps): React.JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/visual-builder",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.3",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-libs/tree/master/libs/visual-builder",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"@next-dll/ace": "*"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@next-libs/basic-components": "^5.
|
|
33
|
-
"@next-libs/code-editor-components": "^4.
|
|
34
|
-
"@next-libs/forms": "^3.5.
|
|
32
|
+
"@next-libs/basic-components": "^5.5.0",
|
|
33
|
+
"@next-libs/code-editor-components": "^4.12.1",
|
|
34
|
+
"@next-libs/forms": "^3.5.6",
|
|
35
35
|
"@types/react-color": "^3.0.6",
|
|
36
36
|
"react-color": "^2.19.3"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "0948ffb8e65512df03425bb6c5157d788e0e4076"
|
|
39
39
|
}
|