@next-libs/visual-builder 1.6.8 → 1.7.0
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/visual-property-form/processor.js +3 -2
- package/dist/cjs/visual-property-form/processor.js.map +1 -1
- package/dist/esm/visual-property-form/VisualPropertyForm.module.css +1 -1
- package/dist/esm/visual-property-form/processor.js +3 -2
- package/dist/esm/visual-property-form/processor.js.map +1 -1
- package/package.json +4 -4
|
@@ -166,9 +166,10 @@ function processFormValue(values = {}, typeList) {
|
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
168
|
function groupByType(typeList = []) {
|
|
169
|
-
const normals = typeList.filter(item => item.group !== "other");
|
|
169
|
+
const normals = typeList.filter(item => item.group !== "other" && item.group !== "style");
|
|
170
170
|
const others = typeList.filter(item => item.group === "other");
|
|
171
|
-
|
|
171
|
+
const styles = typeList.filter(item => item.group === "style");
|
|
172
|
+
return Object.entries((0, _lodash.groupBy)(normals.concat(styles).concat(others), item => {
|
|
172
173
|
const group = item.group || "basic";
|
|
173
174
|
const groupI18N = {
|
|
174
175
|
..._constant.groupI18nMap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","names":["isAdvanceMode","value","startsWith","includes","mergeProperties","propertyList","brickProperties","map","item","name","mode","ItemModeType","Advanced","yamlStringify","Normal","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","replace","yaml","safeLoad","json","matchNoramlMenuValue","reg","match","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 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((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","yamlStringify","Normal","indent","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","replace","yaml","safeLoad","json","matchNoramlMenuValue","reg","match","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","styles","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 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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"}
|
|
@@ -157,9 +157,10 @@ export function processFormValue() {
|
|
|
157
157
|
}
|
|
158
158
|
export function groupByType() {
|
|
159
159
|
var typeList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
160
|
-
var normals = typeList.filter(item => item.group !== "other");
|
|
160
|
+
var normals = typeList.filter(item => item.group !== "other" && item.group !== "style");
|
|
161
161
|
var others = typeList.filter(item => item.group === "other");
|
|
162
|
-
|
|
162
|
+
var styles = typeList.filter(item => item.group === "style");
|
|
163
|
+
return Object.entries(groupBy(normals.concat(styles).concat(others), item => {
|
|
163
164
|
var group = item.group || "basic";
|
|
164
165
|
var groupI18N = _objectSpread(_objectSpread({}, groupI18nMap), item.groupI18N);
|
|
165
166
|
var i18nData = groupI18N && groupI18N[group];
|
|
@@ -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","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((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":["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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-libs/visual-builder",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
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",
|
|
@@ -30,10 +30,10 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@next-libs/basic-components": "^5.3.0",
|
|
33
|
-
"@next-libs/code-editor-components": "^4.8.
|
|
34
|
-
"@next-libs/forms": "^3.3.
|
|
33
|
+
"@next-libs/code-editor-components": "^4.8.9",
|
|
34
|
+
"@next-libs/forms": "^3.3.14",
|
|
35
35
|
"@types/react-color": "^3.0.6",
|
|
36
36
|
"react-color": "^2.19.3"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "2f8b5237c7045c61b1cda5dd7f6255919320f508"
|
|
39
39
|
}
|