@next-bricks/presentational-bricks 1.326.9 → 1.327.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/deploy/contract.yaml +115 -115
- package/dist/bricks.json +33 -33
- package/dist/{index.c7d52693.js → index.45832f28.js} +2 -2
- package/dist/{index.c7d52693.js.map → index.45832f28.js.map} +1 -1
- package/dist/lazy-bricks/brick-collapse-card.dd92.71f0e7fb.js +2 -0
- package/dist/lazy-bricks/brick-collapse-card.dd92.71f0e7fb.js.map +1 -0
- package/dist/property-editors/property-editors.f4c288a3.js +2 -0
- package/dist/property-editors/property-editors.f4c288a3.js.map +1 -0
- package/dist/stories.json +55 -1
- package/package.json +2 -2
- package/dist/lazy-bricks/brick-collapse-card.dd92.716adb42.js +0 -2
- package/dist/lazy-bricks/brick-collapse-card.dd92.716adb42.js.map +0 -1
- package/dist/property-editors/property-editors.777f26a7.js +0 -2
- package/dist/property-editors/property-editors.777f26a7.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///delegated ./node_modules/@babel/runtime/helpers/objectSpread2.js from dll-reference dll","webpack:///delegated ./node_modules/@next-core/brick-kit/dist/index.esm.js from dll-reference dll","webpack:///delegated ./node_modules/lodash/lodash.js from dll-reference dll","webpack:///external \"dll\"","webpack:///delegated ./node_modules/@next-core/brick-utils/dist/index.esm.js from dll-reference dll","webpack:///./bricks/presentational-bricks/src/property-editors/_/public-path.js","webpack:///./bricks/presentational-bricks/src/property-editors/brick-general-search/brickGeneralSearch.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-general-search/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-tag/brickTag.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-tag/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-divider/brickDivider.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-divider/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/card-item/cardItem.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/card-item/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-link/brickLink.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-link/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/basic-icon/basicIcon.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/basic-icon/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-result/brickResult.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-result/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-table/brickTable.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-table/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/datetime-selector/datetimeSelector.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/datetime-selector/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/modal-confirm/modalConfirm.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/modal-confirm/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-value-mapping/brickValueMapping.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-value-mapping/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/general-tooltip/generalTooltip.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/general-tooltip/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-descriptions/brickDescriptions.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-descriptions/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/general-label/generalLabel.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/general-label/index.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-alert/brickAlert.schema.tsx","webpack:///./bricks/presentational-bricks/src/property-editors/brick-alert/index.tsx"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","dll","__webpack_public_path__","window","PUBLIC_ROOT","brickGeneralSearchSchema","type","component","props","layout","children","decorator","text","title","size","defaultValue","target","fulfill","state","visible","enum","label","optionType","placeholder","getRuntime","customEditors","define","React","SchemaFieldComponent","formilySchemaFormatter","advancedMode","scope","form","useEffect","setInitialValues","searchTypeEnabled","createElement","schema","brickTagSchema","dependencies","componentType","multipleCheck","closable","brickDividerSchema","tooltip","cardItemSchema","descorator","allowClear","options","required","transformNormal2Advanced","rawValue","omit","effects","onAdvancedChange","onSubmit","dataList","cardLayoutType","useOldDesc","showImg","query","take","field","setComponentProps","map","item","addEffects","getState","values","transformAdvanced2Normal","eoLinkSchema","transform","url","href","display","onFormValuesChange","init","setFieldState","hideExternalIcon","basicIconSchema","IllustrationsStatusOptions","BrickResultStatusOptions","EmptyResultStatusOptions","brickResultSchema","useNewIllustration","status","undefined","emptyResultSize","brickTableSchema","isPagination","pagination","isInitRef","useRef","dataListRef","onFieldValueChange","onFormInitialValuesChange","rowSelection","defaultSelectAll","sortable","expandable","defaultExpandAllRows","expandIconAsCell","frontSearch","tableDraggable","showHeader","shouldUpdateUrlParams","current","setTimeout","deleteValuesIn","matchData","find","matchDefinitionOptions","dataDefinition","fields","_form","paginationConfig","datetimeSelectorSchema","isCustomType","modalConfirmSchema","brickValueMappingSchema","triggerClickEvent","generalTooltipSchema","isCustomDisplayBrick","displayBrick","brickDescriptionsSchema","bordered","isMultiDesc","descriptionList","generalLabelSchema","brickAlertSchema","enableMessageSlot","enableDescSlot","showIcon","foldDesc"],"mappings":"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","file":"property-editors.f4c288a3.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n","module.exports = (__webpack_require__(3))(\"3tO9\");","module.exports = (__webpack_require__(3))(\"tYg3\");","module.exports = (__webpack_require__(3))(\"LvDl\");","module.exports = dll;","module.exports = (__webpack_require__(3))(\"A+yw\");","__webpack_public_path__ = `${window.PUBLIC_ROOT ?? \"\"}bricks/presentational-bricks/dist/property-editors/`;","export const brickGeneralSearchSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"placeholder\",\n title: \"占位文本\",\n type: \"string\",\n },\n {\n name: \"q\",\n title: \"回填文本\",\n type: \"string\",\n },\n {\n name: \"shouldTrimQuery\",\n title: \"自动去除输入的首尾空格\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"disableAutofocus\",\n title: \"禁用自动聚焦\",\n type: \"boolean\",\n },\n {\n name: \"allowClear\",\n title: \"支持清空\",\n type: \"boolean\",\n },\n {\n name: \"searchTypeEnabled\",\n title: \"支持切换搜索类型\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"searchType\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"searchType\",\n title: \"默认搜索类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"全文搜索\",\n value: \"all\",\n },\n {\n label: \"IP搜索\",\n value: \"ip\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"all\",\n },\n },\n },\n {\n name: \"debounceTime\",\n title: \"搜索延迟时间\",\n decorator: \"FormItem\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n props: {\n placeholder: \"0\",\n },\n },\n },\n {\n name: \"shouldUpdateUrlParams\",\n title: \"更新URL\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n \"x-reactions\": [\n {\n target: \"qField\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"qField\",\n title: \"更新到URL上的Key值\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"q\",\n },\n },\n },\n {\n name: \"defaultArgs\",\n title: \"搜索重置默认参数\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"样式\",\n },\n },\n },\n {\n name: \"size\",\n title: \"尺寸大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"超大\",\n value: \"extraLarge\",\n },\n {\n label: \"大\",\n value: \"large\",\n },\n {\n label: \"标准\",\n value: \"default\",\n },\n {\n label: \"小\",\n value: \"small\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"default\",\n },\n },\n },\n {\n name: \"shape\",\n title: \"形状\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"默认\",\n value: \"default\",\n },\n {\n label: \"圆角\",\n value: \"round\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"default\",\n },\n },\n },\n {\n name: \"inputStyle\",\n title: \"输入框样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"buttonStyle\",\n title: \"按钮样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickGeneralSearchSchema } from \"./brickGeneralSearch.schema\";\n\nfunction BrickGeneralSearchComponentFactory(React: typeof _React) {\n return function BrickGeneralSearchComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n React.useEffect(() => {\n form.setInitialValues({ searchTypeEnabled: false });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(\n brickGeneralSearchSchema as any,\n advancedMode!\n ),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-general-search\",\n BrickGeneralSearchComponentFactory\n);\n","export const brickTagSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"componentType\",\n title: \"标签类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"默认\",\n value: \"Tag\",\n },\n {\n label: \"可选标签\",\n value: \"CheckableTag\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"Tag\",\n },\n },\n \"x-reactions\": [\n {\n target: \"multipleCheck\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='CheckableTag'}}\",\n },\n },\n },\n {\n dependencies: [\"multipleCheck\"],\n target: \"cancelable\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='CheckableTag'&&$deps[0]===false}}\",\n },\n },\n },\n {\n target: \"default\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='CheckableTag'}}\",\n },\n },\n },\n {\n dependencies: [\"closable\"],\n target: \"color\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='Tag'&&$deps[0]===false}}\",\n },\n },\n },\n {\n target: \"configProps\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='Tag'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"tagList\",\n title: \"标签列表\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"multipleCheck\",\n title: \"允许多选\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n \"x-reactions\": [\n {\n dependencies: [\"componentType\"],\n target: \"cancelable\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false&&$deps[0]==='checkableTag'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"cancelable\",\n title: \"允许取消选中\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"default\",\n title: \"默认值\",\n type: \"string\",\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"样式\",\n },\n },\n },\n {\n name: \"showTagCircle\",\n title: \"标签内显示圆点\",\n type: \"boolean\",\n },\n {\n name: \"showCard\",\n title: \"显示卡片容器\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"closable\",\n title: \"允许关闭\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n dependencies: [\"componentType\"],\n target: \"color\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false&&$deps[0]==='Tag'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"textEllipsis\",\n title: \"是否溢出省略\",\n type: \"boolean\",\n },\n {\n name: \"label\",\n title: \"文案\",\n type: \"string\",\n },\n {\n name: \"color\",\n title: \"颜色\",\n type: \"string\",\n component: \"ColorPicker\",\n },\n {\n name: \"tagStyle\",\n title: \"自定义样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"tagCheckedStyle\",\n title: \"选中自定义样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"tagHoverStyle\",\n title: \"悬浮自定义样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"categoryTitle_other\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"其他\",\n },\n },\n },\n {\n name: \"disabledTooltip\",\n title: \"禁用提示\",\n type: \"string\",\n },\n {\n name: \"tooltipProps\",\n title: \"提示配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"configProps\",\n title: \"额外配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"afterBrick\",\n title: \"尾部插入构件\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickTagSchema } from \"./brickTag.schema\";\n\nfunction BrickTagComponentFactory(React: typeof _React) {\n return function BrickTagComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n React.useEffect(() => {\n form.setInitialValues({\n componentType: \"Tag\",\n multipleCheck: true,\n closable: false,\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(brickTagSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-tag\",\n BrickTagComponentFactory\n);\n","export const brickDividerSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"type\",\n title: \"类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n tooltip: \"Radiation是个特殊的类型,样式是特定的\",\n },\n },\n enum: [\n {\n label: \"Horizontal\",\n value: \"horizontal\",\n },\n {\n label: \"Vertical\",\n value: \"vertical\",\n },\n {\n label: \"Radiation\",\n value: \"radiation\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n target: \"proportion\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='radiation'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"proportion\",\n title: \"数值\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"如需要展示1/3,yaml格式填入数组[1,3]\",\n },\n },\n },\n {\n name: \"dividerTitle\",\n title: \"标题\",\n type: \"string\",\n },\n {\n name: \"orientation\",\n title: \"标题位置\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"左\",\n value: \"left\",\n },\n {\n label: \"中\",\n value: \"center\",\n },\n {\n label: \"右\",\n value: \"right\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"center\",\n },\n },\n },\n {\n name: \"dashed\",\n title: \"虚线效果\",\n type: \"boolean\",\n },\n {\n name: \"plain\",\n title: \"文字普通正文样式\",\n type: \"boolean\",\n },\n {\n name: \"dividerStyle\",\n title: \"分割线样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickDividerSchema } from \"./brickDivider.schema\";\n\nfunction BrickDividerComponentFactory(React: typeof _React) {\n return function BrickDividerComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n React.useEffect(() => {\n form.setInitialValues({\n type: \"horizontal\",\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(brickDividerSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-divider\",\n BrickDividerComponentFactory\n);\n","export const cardItemSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"cardLayoutType\",\n title: \"布局类型\",\n type: \"string\",\n descorator: \"FormItem\",\n component: {\n name: \"Select\",\n props: {\n placeholder: \"icon-as-background\",\n allowClear: true,\n options: [\n {\n label: \"icon-as-background\",\n value: \"icon-as-background\",\n },\n {\n label: \"block-icon-align-left\",\n value: \"block-icon-align-left\",\n },\n {\n label: \"icon-align-left\",\n value: \"icon-align-left\",\n },\n {\n label: \"icon-align-middle\",\n value: \"icon-align-middle\",\n },\n {\n label: \"icon-align-right\",\n value: \"icon-align-right\",\n },\n {\n label: \"icon-small-align-left\",\n value: \"icon-small-align-left\",\n },\n ],\n },\n },\n \"x-reactions\": [\n {\n target: \"useAfterDescriptionSlot\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"showImg\"],\n target: \"iconColor\",\n fulfill: {\n state: {\n visible:\n \"{{$deps[0]===false&&($self.value==='icon-small-align-left'||$self.value==='icon-align-right'||$self.value==='icon-align-left')}}\",\n },\n },\n },\n {\n dependencies: [\"showImg\"],\n target: \"iconSize\",\n fulfill: {\n state: {\n visible:\n \"{{$deps[0]===false&&$self.value==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"showImg\"],\n target: \"iconOffsetX\",\n fulfill: {\n state: {\n visible:\n \"{{$deps[0]===false&&$self.value==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"showImg\"],\n target: \"iconOffsetY\",\n fulfill: {\n state: {\n visible:\n \"{{$deps[0]===false&&$self.value==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"showImg\"],\n target: \"iconOpacity\",\n fulfill: {\n state: {\n visible:\n \"{{$deps[0]===false&&$self.value==='icon-as-background'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"useOldDesc\",\n title: \"支持多行描述\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"cardSubtitle\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"descriptionList\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"descMaxLine\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"hideDescCircle\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"descriptionDataType\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"newDescription\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false}}\",\n },\n },\n },\n ],\n },\n {\n name: \"cardTitle\",\n title: \"标题\",\n type: \"string\",\n },\n {\n name: \"cardSubtitle\",\n title: \"副标题\",\n type: \"string\",\n },\n {\n name: \"descriptionList\",\n title: \"描述\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"以字符串或字符串数组的形式填入描述列表\",\n },\n },\n },\n {\n name: \"descMaxLine\",\n title: \"描述最大行数\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n props: {\n placeholder: 3,\n },\n },\n decorator: \"FormItem\",\n },\n {\n name: \"hideDescCircle\",\n title: \"隐藏描述前的圆点\",\n type: \"boolean\",\n },\n {\n name: \"descriptionDataType\",\n title: \"描述类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n tooltip:\n \"若描述为数组时,应选择list;若描述为字符串时,应选择section\",\n },\n },\n enum: [\n {\n label: \"list\",\n value: \"list\",\n },\n {\n label: \"section\",\n value: \"section\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"newDescription\",\n title: \"描述\",\n type: \"string\",\n },\n {\n name: \"alwaysShowDescription\",\n title: \"总是保留描述区\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n tooltip: \"保留描述区,则没有描述时也会有相应的空间留白\",\n },\n },\n },\n {\n name: \"topInformation\",\n title: \"头部辅助信息\",\n type: \"string\",\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"样式\",\n },\n },\n },\n {\n name: \"bordered\",\n title: \"显示外边框\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"hoverable\",\n title: \"启用hover样式\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"showOperationAreaWhenHovering\",\n title: \"hover时显示操作区\",\n type: \"boolean\",\n },\n {\n name: \"disabled\",\n title: \"禁用状态\",\n type: \"boolean\",\n },\n {\n name: \"categoryTitle_link\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"跳转链接\",\n },\n },\n },\n {\n name: \"href\",\n title: \"跳转href\",\n type: \"string\",\n decorator: {\n props: {\n tooltip: \"优先级最高\",\n },\n },\n },\n {\n name: \"url\",\n title: \"跳转url\",\n type: \"string\",\n decorator: {\n props: {\n tooltip: \"优先级次于href\",\n },\n },\n },\n {\n name: \"urlTemplate\",\n title: \"跳转模板url\",\n type: \"string\",\n decorator: {\n props: {\n tooltip: \"优先级次于url,支持模板变量\",\n },\n },\n },\n {\n name: \"target\",\n title: \"跳转目标\",\n type: \"string\",\n decorator: {\n props: {\n tooltip: \"例如可设置为_blank\",\n },\n },\n },\n {\n name: \"categoryTitle_icon\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"图标\",\n },\n },\n },\n {\n name: \"showImg\",\n title: \"使用图片图标\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"icon\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false}}\",\n },\n },\n },\n {\n dependencies: [\"cardLayoutType\"],\n target: \"iconColor\",\n fulfill: {\n state: {\n visible:\n \"{{$self.value===false&&($deps[0]==='icon-small-align-left'||$deps[0]==='icon-align-right'||$deps[0]==='icon-align-left')}}\",\n },\n },\n },\n {\n dependencies: [\"cardLayoutType\"],\n target: \"iconSize\",\n fulfill: {\n state: {\n visible:\n \"{{$self.value===false&&$deps[0]==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"cardLayoutType\"],\n target: \"iconOffsetX\",\n fulfill: {\n state: {\n visible:\n \"{{$self.value===false&&$deps[0]==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"cardLayoutType\"],\n target: \"iconOffsetY\",\n fulfill: {\n state: {\n visible:\n \"{{$self.value===false&&$deps[0]==='icon-as-background'}}\",\n },\n },\n },\n {\n dependencies: [\"cardLayoutType\"],\n target: \"iconOpacity\",\n fulfill: {\n state: {\n visible:\n \"{{$self.value===false&&$deps[0]==='icon-as-background'}}\",\n },\n },\n },\n {\n target: \"reverseBgColor\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false}}\",\n },\n },\n },\n {\n target: \"iconStyle\",\n fulfill: {\n state: {\n visible: \"{{$self.value===false}}\",\n },\n },\n },\n {\n target: \"imgSrc\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n {\n target: \"imgSize\",\n fulfill: {\n state: {\n visible: \"{{$self.value===true}}\",\n },\n },\n },\n ],\n },\n {\n name: \"icon\",\n title: \"图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n {\n name: \"iconColor\",\n title: \"图标颜色\",\n type: \"string\",\n component: \"ColorPicker\",\n },\n {\n name: \"iconSize\",\n title: \"图标大小\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n props: {\n placeholder: 100,\n },\n },\n decorator: \"FormItem\",\n },\n {\n name: \"iconOffsetX\",\n title: \"图标X轴偏移\",\n type: \"number\",\n component: \"NumberPicker\",\n decorator: \"FormItem\",\n },\n {\n name: \"iconOffsetY\",\n title: \"图标Y轴偏移\",\n type: \"number\",\n component: \"NumberPicker\",\n decorator: \"FormItem\",\n },\n {\n name: \"iconOpacity\",\n title: \"图标透明度\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n props: {\n placeholder: 0.45,\n },\n },\n decorator: \"FormItem\",\n },\n {\n name: \"reverseBgColor\",\n title: \"反转背景色\",\n type: \"boolean\",\n },\n {\n name: \"iconStyle\",\n title: \"图标样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"imgSrc\",\n title: \"图标链接\",\n type: \"string\",\n },\n {\n name: \"imgSize\",\n title: \"图标大小\",\n type: \"number\",\n component: \"NumberPicker\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"默认铺满\",\n },\n },\n },\n {\n name: \"shape\",\n title: \"形状\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"圆形\",\n value: \"circle\",\n },\n {\n label: \"方形\",\n value: \"square\",\n },\n {\n label: \"圆角\",\n value: \"round-square\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"circle\",\n },\n },\n },\n {\n name: \"categoryTitle_advanced\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"高级\",\n },\n },\n },\n {\n name: \"tagConfig\",\n title: \"右上角标签\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"dataSource\",\n title: \"数据源\",\n type: \"string\",\n required: true,\n component: {\n name: \"Select\",\n props: {\n placeholder: \"请选择数据源\",\n allowClear: true,\n },\n },\n },\n {\n name: \"fields\",\n title: \"字段映射\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"配合数据源一起使用来获得运行时必要字段\",\n },\n },\n },\n {\n name: \"useAfterDescriptionSlot\",\n title: \"支持afterDescription插槽\",\n type: \"boolean\",\n },\n {\n name: \"useLinkBehavior\",\n title: \"内部使用a标签实现点击\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"configProps\",\n title: \"其他配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"完全透传给antd的Card属性\",\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { cardItemSchema } from \"./cardItem.schema\";\nimport { get, omit } from \"lodash\";\n\nconst transformNormal2Advanced = (rawValue: any) => {\n const res = {\n ...omit(rawValue, [\"useOldDesc\"]),\n };\n return res;\n};\n\nconst transformAdvanced2Normal = (rawValue: any) => {\n const useOldDesc = !!get(rawValue, \"descriptionList\");\n const res = {\n ...rawValue,\n useOldDesc,\n };\n return res;\n};\n\nfunction CardItemComponentFactory(React: typeof _React) {\n return function CardItemComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n effects,\n } = props;\n\n React.useEffect(() => {\n const { onAdvancedChange, onSubmit } = effects;\n const { dataList = [] } = scope;\n // 表单初始化\n\n form.setInitialValues({\n cardLayoutType: \"icon-as-background\",\n useOldDesc: false,\n showImg: false,\n });\n\n // 初始化data\n form.query(\"dataSource\").take((field: any) => {\n field.setComponentProps({\n options: dataList?.map((item: any) => ({\n label: item?.name,\n value: item?.value,\n })),\n });\n });\n\n // 监听模式切换\n form.addEffects(\"onAdvancedChange\", () => {\n onAdvancedChange((advancedMode: boolean, form: any) => {\n const rawValue = form.getState()?.values ?? {};\n return advancedMode\n ? transformNormal2Advanced(rawValue)\n : transformAdvanced2Normal(rawValue);\n });\n });\n\n // 监听表单提交\n form.addEffects(\"onSubmit\", () => {\n onSubmit((value: any) => {\n return transformNormal2Advanced(value);\n });\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(cardItemSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.card-item\",\n CardItemComponentFactory\n);\n","export const eoLinkSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"label\",\n title: \"文本\",\n type: \"string\",\n },\n {\n name: \"link\",\n title: \"链接\",\n type: \"string\",\n component: {\n name: \"InputWithUrl\",\n props: {\n transform: {\n url: \"url\",\n href: \"href\",\n },\n },\n },\n },\n {\n type: \"boolean\",\n title: \"隐藏外链标识\",\n name: \"hideExternalIcon\",\n },\n {\n name: \"type\",\n title: \"类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n options: [\n { label: \"链接\", value: \"link\" },\n { label: \"文本\", value: \"text\" },\n ],\n optionType: \"button\",\n defaultValue: \"link\",\n },\n },\n },\n {\n name: \"target\",\n title: \"跳转方式\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n options: [\n {\n label: \"当前页面加载\",\n value: \"_self\",\n },\n {\n label: \"新标签打开\",\n value: \"_blank\",\n },\n ],\n defaultValue: \"_self\",\n },\n },\n },\n {\n name: \"tooltip\",\n title: \"文字提示\",\n type: \"string\",\n },\n {\n name: \"disabled\",\n title: \"禁用\",\n type: \"boolean\",\n },\n {\n name: \"categoryTitle_style\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"外观\",\n },\n },\n },\n {\n name: \"icon\",\n title: \"图标\",\n type: \"string\",\n component: \"IconSelect\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n target: \"iconAlign\",\n fulfill: {\n state: {\n display: '{{$self.value === undefined ? \"none\" : \"visible\"}}',\n },\n },\n },\n ],\n },\n {\n name: \"iconAlign\",\n title: \"图标位置\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n options: [\n { label: \"文本左侧\", value: \"left\" },\n { label: \"文本右侧\", value: \"right\" },\n ],\n optionType: \"button\",\n defaultValue: \"left\",\n },\n },\n },\n {\n type: \"boolean\",\n title: \"显示下划线\",\n name: \"underLine\",\n },\n {\n name: \"labelColor\",\n type: \"string\",\n title: \"文本颜色\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n component: \"ColorPicker\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { eoLinkSchema } from \"./brickLink.schema\";\nimport { omit } from \"lodash\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { hasOwnProperty } from \"@next-core/brick-utils\";\n\nfunction BrickLinkComponentFactory(React: typeof _React) {\n return function BrickLinkComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n scope,\n form,\n effects,\n } = props;\n\n React.useEffect(() => {\n const { onSubmit, onFormValuesChange, init } = effects;\n\n form.addEffects(\"submit\", () => {\n onSubmit((value: any) => {\n return omit(value, [\"link\"]);\n });\n });\n form.addEffects(\"onFormValuesChange\", () => {\n onFormValuesChange((form: any) => {\n // 切换外链时(用href而不是url),显示 hideExternalIcon\n form.setFieldState(\"hideExternalIcon\", (state: any) => {\n state.display = hasOwnProperty(form.values, \"href\")\n ? \"visible\"\n : \"none\";\n });\n });\n });\n }, [effects, form]);\n\n React.useEffect(() => {\n form.setInitialValues({\n hideExternalIcon: false,\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(eoLinkSchema as any),\n scope,\n });\n };\n}\n\ngetRuntime().customEditors.define(\n \"presentational-bricks.brick-link\",\n BrickLinkComponentFactory\n);\n","export const basicIconSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"icon\",\n title: \"图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { basicIconSchema } from \"./basicIcon.schema\";\nimport { getRuntime } from \"@next-core/brick-kit\";\n\nfunction BrickIconComponentFactory(React: typeof _React) {\n return function BrickIconComponent(props: any): React.ReactElement {\n const { SchemaFieldComponent, formilySchemaFormatter, scope } = props;\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(basicIconSchema as any),\n scope,\n });\n };\n}\n\ngetRuntime().customEditors.define(\n \"presentational-bricks.basic-icon\",\n BrickIconComponentFactory\n);\n","export const IllustrationsStatusOptions = [\n {\n label: \"自定义插画\",\n value: \"illustrations\",\n },\n];\n\nexport const BrickResultStatusOptions = [\n {\n label: \"403\",\n value: \"403\",\n },\n {\n label: \"404\",\n value: \"404\",\n },\n {\n label: \"500\",\n value: \"500\",\n },\n {\n label: \"说明\",\n value: \"info\",\n },\n {\n label: \"成功\",\n value: \"success\",\n },\n {\n label: \"警告\",\n value: \"warning\",\n },\n {\n label: \"错误\",\n value: \"error\",\n },\n];\n\nexport const EmptyResultStatusOptions = [\n {\n label: \"浏览器版本过低\",\n value: \"browser-too-old\",\n },\n {\n label: \"空内容\",\n value: \"empty\",\n },\n {\n label: \"没有数据\",\n value: \"no-data\",\n },\n {\n label: \"没有历史版本\",\n value: \"no-history-version\",\n },\n {\n label: \"没有浏览记录\",\n value: \"no-visit-record\",\n },\n {\n label: \"搜索为空\",\n value: \"search-empty\",\n },\n {\n label: \"引导创建\",\n value: \"welcome-to-create\",\n },\n];\n\nexport const brickResultSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"status\",\n title: \"类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"类型决定展示的样式\",\n },\n },\n component: {\n name: \"Select\",\n props: {\n options: [\n ...IllustrationsStatusOptions,\n ...BrickResultStatusOptions,\n ...EmptyResultStatusOptions,\n ],\n },\n },\n \"x-reactions\": [\n {\n target: \"icon\",\n fulfill: {\n state: {\n visible:\n \"{{BrickResultStatusOptions.some(item => item.value === $self.value)}}\",\n },\n },\n },\n {\n target: \"illustrationsConfig\",\n fulfill: {\n state: {\n visible:\n \"{{IllustrationsStatusOptions.some(item => item.value === $self.value)}}\",\n },\n },\n },\n {\n target: \"emptyResultSize\",\n fulfill: {\n state: {\n visible:\n \"{{EmptyResultStatusOptions.some(item => item.value === $self.value)}}\",\n },\n },\n },\n ],\n },\n {\n name: \"useNewIllustration\",\n title: \"使用新图标\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"使用新版本的图标替换插画库default分类图标\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"customTitle\",\n title: \"主标题\",\n type: \"string\",\n },\n {\n name: \"subTitle\",\n title: \"副标题\",\n type: \"string\",\n },\n {\n name: \"icon\",\n type: \"string\",\n title: \"自定义图标\",\n component: \"IconSelect\",\n },\n {\n name: \"illustrationsConfig\",\n title: \"自定义插画配置\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"category: default\\nimageStyle: \\n backgroundColor: red \\nname: search-empty\\nsize: large\",\n },\n },\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"emptyResultSize\",\n title: \"空状态插画大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"middle\",\n options: [\n {\n label: \"S\",\n value: \"small\",\n },\n {\n label: \"M\",\n value: \"middle\",\n },\n {\n label: \"L\",\n value: \"large\",\n },\n {\n label: \"XL\",\n value: \"xlarge\",\n },\n ],\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport {\n brickResultSchema,\n IllustrationsStatusOptions,\n BrickResultStatusOptions,\n EmptyResultStatusOptions,\n} from \"./brickResult.schema\";\n\nfunction BrickResultComponentFactory(React: typeof _React) {\n return function BrickResultComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n React.useEffect(() => {\n form.setInitialValues({\n useNewIllustration: true,\n status: undefined,\n emptyResultSize: \"middle\",\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(brickResultSchema as any, advancedMode!),\n scope: {\n ...scope,\n IllustrationsStatusOptions,\n BrickResultStatusOptions,\n EmptyResultStatusOptions,\n },\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-result\",\n BrickResultComponentFactory\n);\n","export const brickTableSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"dataSource\",\n title: \"选择数据\",\n type: \"string\",\n required: true,\n component: {\n name: \"Select\",\n props: {\n placeholder: \"请选择数据\",\n allowClear: true,\n },\n },\n },\n {\n name: \"columns\",\n title: \"表格列配置\",\n type: \"string\",\n required: true,\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"- dataIndex: name\\n title: 名称\\n key: name\\n- dataIndex: age\\n title: 年龄\\n key: age\",\n },\n },\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"扩展自antd的table Column相关配置项\",\n },\n },\n },\n {\n type: \"string\",\n name: \"rowKey\",\n required: true,\n title: \"表格行key\",\n component: {\n name: \"Select\",\n props: {\n placeholder: \"index\",\n allowClear: true,\n },\n },\n },\n {\n name: \"hiddenColumns\",\n title: \"隐藏表格列\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder: \"- name\\n- age\",\n },\n },\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"输入对应的dataIndex或者key\",\n },\n },\n },\n {\n name: \"categoryTitle_page\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"页设置\",\n },\n },\n },\n {\n name: \"isPagination\",\n title: \"显示分页\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n \"x-reactions\": [\n {\n target: \"pagination\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"storeCheckedByUrl\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n dependencies: [\"frontSearch\"],\n target: \"page\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n {\n dependencies: [\"frontSearch\"],\n target: \"pageSize\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"pagination\",\n title: \"分页配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"storeCheckedByUrl\",\n title: \"翻页时记录已选项\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: false,\n size: \"small\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"已选项的rowKey将保存在url中,如果不设置rowKey,该设置不生效。如果选择太多可能会造成url过长,请谨慎使用\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"categoryTitle_select\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"选择\",\n },\n },\n },\n {\n name: \"rowSelection\",\n title: \"支持选择表格行\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"type\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"showSelectInfo\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"defaultSelectAll\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n dependencies: [\"defaultSelectAll\"],\n target: \"selectedRowKeys\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&!$deps[0]}}\",\n },\n },\n },\n {\n target: \"selectAllChildren\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"autoSelectParentWhenAllChildrenSelected\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"rowDisabledConfig\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"type\",\n title: \"选框类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"复选\",\n value: \"checkbox\",\n },\n {\n label: \"单选\",\n value: \"radio\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"showSelectInfo\",\n title: \"显示已选信息\",\n type: \"boolean\",\n },\n {\n name: \"defaultSelectAll\",\n title: \"默认选中所有行\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n dependencies: [\"rowSelection\"],\n target: \"selectedRowKeys\",\n fulfill: {\n state: {\n visible: \"{{!$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"selectedRowKeys\",\n title: \"指定选中项\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"selectAllChildren\",\n title: \"勾选父节点时同步所有子节点\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"用于表格树形数据展示的场景,且被同步勾选的子节点不能单独取消。该属性必须设置表格行key\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"autoSelectParentWhenAllChildrenSelected\",\n title: \"全选子节点时回选父节点\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"当所有子节点选中时,自动选中父节点\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"rowDisabledConfig\",\n title: \"行禁用配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"具体使用查阅文档\",\n },\n },\n },\n {\n name: \"categoryTitle_sort\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"排序\",\n },\n },\n },\n {\n name: \"sortable\",\n title: \"支持排序\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"当对应列的sorter设置成true时则可排序\",\n layout: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n target: \"order\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"sort\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"order\",\n title: \"排序方式\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"升序\",\n value: \"ascend\",\n },\n {\n label: \"降序\",\n value: \"descend\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"sort\",\n title: \"被排序的列\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"输入列的dataIndex,通常来自于url参数,可以设置成${QUERY.sort}\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"categoryTitle_expand\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"展开与树形展示\",\n },\n },\n },\n {\n name: \"expandable\",\n title: \"支持展开\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"defaultExpandAllRows\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n dependencies: [\"defaultExpandAllRows\"],\n target: \"expandedRowKeys\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&!$deps[0]}}\",\n },\n },\n },\n {\n target: \"expandRowByClick\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"expandedRowBrick\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"expandIcon\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"expandIconAsCell\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n dependencies: [\"expandIconAsCell\"],\n target: \"expandIconColumnIndex\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&!$deps[0]}}\",\n },\n },\n },\n {\n target: \"childrenColumnName\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"showHeaderExpandAll\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"stripEmptyExpandableChildren\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"defaultExpandAllRows\",\n title: \"默认展开所有行\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n dependencies: [\"expandable\"],\n target: \"expandedRowKeys\",\n fulfill: {\n state: {\n visible: \"{{!$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"expandedRowKeys\",\n title: \"指定展开行\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"expandRowByClick\",\n title: \"支持点击行展开子行\",\n type: \"boolean\",\n },\n {\n name: \"expandedRowBrick\",\n title: \"自定义展开构件\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"expandIcon\",\n title: \"自定义展开图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n {\n name: \"expandIconAsCell\",\n title: \"展开图标显示为单元格\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"默认显示在第一列,设置为false时,可以设置展开图标所在列\",\n layout: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n dependencies: [\"expandable\"],\n target: \"expandIconColumnIndex\",\n fulfill: {\n state: {\n visible: \"{{!$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"expandIconColumnIndex\",\n title: \"展开图标显示所在列\",\n decorator: \"FormItem\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n },\n },\n {\n name: \"childrenColumnName\",\n title: \"树形结构的列名\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"children\",\n },\n },\n },\n {\n name: \"showHeaderExpandAll\",\n title: \"显示展开全部按钮\",\n type: \"boolean\",\n },\n {\n name: \"stripEmptyExpandableChildren\",\n title: \"树形数据展示时去除空数组\",\n type: \"boolean\",\n },\n {\n name: \"categoryTitle_search\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"搜索与过滤\",\n },\n },\n },\n {\n name: \"frontSearch\",\n title: \"使用前端搜索\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"配合presentational-bricks.brick-input使用\",\n layout: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n dependencies: [\"isPagination\"],\n target: \"page\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n {\n dependencies: [\"isPagination\"],\n target: \"pageSize\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n {\n target: \"frontSearchQuery\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"exactSearch\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"frontSearchFilterKeys\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"qField\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"page\",\n title: \"页码\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"前台搜索的时候,一般配置成${query.page=1|number}\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"pageSize\",\n title: \"页大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"前台搜索的时候,一般配置成${query.pageSize=10|number}\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"frontSearchQuery\",\n title: \"搜索参数\",\n type: \"string\",\n },\n {\n name: \"exactSearch\",\n title: \"精确搜索\",\n type: \"boolean\",\n },\n {\n name: \"frontSearchFilterKeys\",\n title: \"搜索目标字段\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip:\n '支持嵌套的写法如[\"name\",\"value.a\"],不配置的时候默认为对所有 columns 的 dataIndex[]进行前端搜索',\n },\n },\n },\n {\n name: \"qField\",\n title: \"搜索内容映射到url的字段名\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"q\",\n },\n },\n },\n {\n name: \"filters\",\n title: \"表头默认过滤配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip:\n \"以key+value的形式传递,key为column的dataIndex,value为过滤值的集合\",\n },\n },\n },\n {\n name: \"categoryTitle_drag\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"拖拽\",\n },\n },\n },\n {\n name: \"tableDraggable\",\n title: \"支持表格行拖拽\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n '如果是树形数据的表格,则各行需要设置__acceptType,并保证同层级的__acceptType值相同 [ { id: \"parent1\", __acceptType: \"level-1\", children: [ { id: \"sub1\", __acceptType: \"parent1-sub\" }, { id: \"sub2\", __acceptType: \"parent1-sub\" } ] }, { id: \"parent2\", __acceptType: \"level-1\", children: [ { id: \"sub3\", __acceptType: \"parent2-sub\" } ] } ]',\n layout: \"horizontal\",\n },\n },\n \"x-reactions\": [\n {\n target: \"acceptType\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"acceptType\",\n title: \"元素的类型\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"DraggableBodyRow\",\n },\n },\n decorator: {\n props: {\n tooltip: \"只有类型相同的元素才能进行drop操作\",\n },\n },\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"外观\",\n },\n },\n },\n {\n name: \"size\",\n title: \"表格大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"XS\",\n value: \"x-small\",\n },\n {\n label: \"S\",\n value: \"small\",\n },\n {\n label: \"M\",\n value: \"middle\",\n },\n {\n label: \"L\",\n value: \"large\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"zebraPattern\",\n title: \"斑马纹样式\",\n type: \"boolean\",\n },\n {\n name: \"ellipsisInfo\",\n title: \"省略溢出内容\",\n type: \"boolean\",\n },\n {\n name: \"showCard\",\n title: \"显示外层卡片\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n },\n {\n name: \"showHeader\",\n title: \"显示表头\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n \"x-reactions\": [\n {\n target: \"thTransparent\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"thTransparent\",\n title: \"表头透明\",\n type: \"boolean\",\n },\n {\n name: \"categoryTitle_other\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"其他\",\n },\n },\n },\n {\n name: \"scrollConfigs\",\n title: \"表格滚动配置\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder: \"x: true\",\n },\n },\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"emptyUseBrick\",\n title: \"自定义空状态构件\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"optimizedColumns\",\n title: \"需优化渲染的列\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip:\n \"输入对应列的dataIndex。当前 antd 在更新 state 的时候,会全量渲染单元格,如果确定某一列在后续操作中无需重新渲染,例如仅作为展示的单元格,可通过该属性设置以优化性能。注意,在树形表格中,当某一列内包含展开/收起按钮,则不应该设置该列\",\n },\n },\n },\n {\n name: \"shouldUpdateUrlParams\",\n title: \"自动更新url参数\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n \"x-reactions\": [\n {\n target: \"shouldRenderWhenUrlParamsUpdate\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"shouldRenderWhenUrlParamsUpdate\",\n title: \"更新url时重新渲染页面\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n },\n {\n name: \"fields\",\n title: \"字段来源映射\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"configProps\",\n title: \"表格透传配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickTableSchema } from \"./brickTable.schema\";\nimport { get, omit } from \"lodash\";\n\nconst transformNormal2Advanced = (rawValue: any) => {\n const res = {\n ...omit(rawValue, [\"isPagination\"]),\n ...(rawValue.isPagination\n ? {}\n : {\n pagination: false,\n }),\n };\n return res;\n};\n\nconst transformAdvanced2Normal = (rawValue: any) => {\n const paginationConfig = get(rawValue, \"pagination\");\n const res = {\n ...omit(rawValue, [\"pagination\"]),\n ...(paginationConfig === false\n ? {\n isPagination: false,\n }\n : {\n isPagination: true,\n pagination: paginationConfig,\n }),\n };\n return res;\n};\n\nfunction BrickTableComponentFactory(React: typeof _React) {\n return function BrickTableComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n effects,\n } = props;\n\n const isInitRef = React.useRef<boolean>(false);\n const dataListRef = React.useRef<any>();\n\n React.useEffect(() => {\n const {\n onFieldValueChange,\n onAdvancedChange,\n onFormInitialValuesChange,\n onSubmit,\n } = effects;\n\n form.setInitialValues({\n isPagination: true,\n rowSelection: false,\n defaultSelectAll: false,\n sortable: true,\n expandable: true,\n size: \"large\",\n defaultExpandAllRows: false,\n expandIconAsCell: true,\n frontSearch: false,\n tableDraggable: false,\n showHeader: true,\n shouldUpdateUrlParams: true,\n });\n\n // 当data变化时\n form.addEffects(\"dataChange\", () => {\n onFormInitialValuesChange(() => {\n isInitRef.current = true;\n\n setTimeout(() => {\n isInitRef.current = false;\n });\n }),\n onFieldValueChange(\"dataSource\", (field: any) => {\n if (!isInitRef.current) {\n // 清除关联值\n form.deleteValuesIn(\"rowKey\");\n }\n\n // 修改关联值的options\n const { value } = field;\n const matchData = dataListRef.current?.find(\n (item: any) => item?.value === value\n );\n const matchDefinitionOptions =\n matchData?.dataDefinition?.fields?.map((item: any) => ({\n label: item?.name,\n value: item?.name,\n }));\n form.query(\"rowKey\").take((field: any) => {\n field.setComponentProps({\n options: matchDefinitionOptions,\n });\n });\n });\n });\n\n // 监听模式切换\n form.addEffects(\"onAdvancedChange\", () => {\n onAdvancedChange((advancedMode: boolean, _form: any, values: any) => {\n return advancedMode\n ? transformNormal2Advanced(values)\n : transformAdvanced2Normal(values);\n });\n });\n\n // 监听表单提交\n form.addEffects(\"onSubmit\", () => {\n onSubmit((value: any) => {\n return transformNormal2Advanced(value);\n });\n });\n }, [form]);\n\n React.useEffect(() => {\n // 初始化data\n const { dataList = [] } = scope;\n dataListRef.current = dataList?.map((item: any) => ({\n ...item,\n label: item?.name,\n value: item?.value,\n }));\n form.query(\"dataSource\").take((field: any) => {\n field.setComponentProps({\n options: dataListRef.current,\n });\n });\n }, [scope, form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(brickTableSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-table\",\n BrickTableComponentFactory\n);\n","export const datetimeSelectorSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"from\",\n title: \"默认起始时间\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"now-1d\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n '按下列规则书写: \"now-1h\", \"now-1d\", \"now/d\", \"now-7d\", \"now-30d\"',\n },\n },\n },\n {\n name: \"to\",\n title: \"默认结束时间\",\n type: \"string\",\n },\n {\n name: \"shouldUpdateUrlParams\",\n title: \"自动更新url并刷新页面\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"默认显示常用的几种时间范围,如有需要可自定义\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"isCustomType\",\n title: \"自定义可选时间范围\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"customTimeRange\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"customTimeRange\",\n title: \"可选时间范围\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"- range: now-1h\\n text:近一个小时\\n- range: now-1d\\n text:近24小时\",\n },\n },\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"resolution\",\n title: \"时间戳单位\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"毫秒\",\n value: \"ms\",\n },\n {\n label: \"秒\",\n value: \"s\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"ms\",\n },\n },\n },\n {\n name: \"selectNearDays\",\n title: \"限制选择最近天数\",\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n },\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"可选范围限制到当天及其前N天\",\n },\n },\n },\n {\n name: \"rangeDays\",\n title: \"限制选择范围天数\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"可选范围天数长度限制为N天\",\n },\n },\n type: \"number\",\n component: {\n name: \"NumberPicker\",\n },\n },\n {\n name: \"format\",\n title: \"展示日期格式\",\n type: \"string\",\n component: {\n props: {\n placeholder: \"yyyy-MM-dd HH:mm:ss\",\n },\n },\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"外观\",\n },\n },\n },\n {\n name: \"size\",\n title: \"按钮大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"S\",\n value: \"small\",\n },\n {\n label: \"M\",\n value: \"default\",\n },\n {\n label: \"L\",\n value: \"large\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"default\",\n },\n },\n },\n {\n name: \"placement\",\n title: \"选框弹出位置\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n },\n component: {\n name: \"Select\",\n props: {\n placeholder: \"bottom\",\n options: [\n {\n label: \"top\",\n value: \"top\",\n },\n {\n label: \"left\",\n value: \"left\",\n },\n {\n label: \"right\",\n value: \"right\",\n },\n {\n label: \"bottom\",\n value: \"bottom\",\n },\n {\n label: \"topLeft\",\n value: \"topLeft\",\n },\n {\n label: \"topRight\",\n value: \"topRight\",\n },\n {\n label: \"bottomLeft\",\n value: \"bottomLeft\",\n },\n {\n label: \"bottomRight\",\n value: \"bottomRight\",\n },\n {\n label: \"leftTop\",\n value: \"leftTop\",\n },\n {\n label: \"leftBottom\",\n value: \"leftBottom\",\n },\n {\n label: \"rightTop\",\n value: \"rightTop\",\n },\n {\n label: \"rightBottom\",\n value: \"rightBottom\",\n },\n ],\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { datetimeSelectorSchema } from \"./datetimeSelector.schema\";\nimport { get, omit } from \"lodash\";\n\nconst transformNormal2Advanced = (rawValue: any) => {\n const res = {\n ...omit(rawValue, [\"isCustomType\"]),\n ...(rawValue.isCustomType\n ? {\n type: \"custom\",\n }\n : {}),\n };\n return res;\n};\n\nconst transformAdvanced2Normal = (rawValue: any) => {\n const type = get(rawValue, \"type\");\n const res = {\n ...omit(rawValue, [\"type\"]),\n ...(type === \"custom\"\n ? {\n isCustomType: true,\n }\n : {\n isCustomType: false,\n }),\n };\n return res;\n};\n\nfunction DatetimeSelectorComponentFactory(React: typeof _React) {\n return function DatetimeSelectorComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n effects,\n } = props;\n\n React.useEffect(() => {\n const { onAdvancedChange, onSubmit } = effects;\n\n form.setInitialValues({\n isCustomType: true,\n });\n\n // 监听模式切换\n form.addEffects(\"onAdvancedChange\", () => {\n onAdvancedChange((advancedMode: boolean, _form: any, values: any) => {\n return advancedMode\n ? transformNormal2Advanced(values)\n : transformAdvanced2Normal(values);\n });\n });\n\n // 监听表单提交\n form.addEffects(\"onSubmit\", () => {\n onSubmit((value: any) => {\n return transformNormal2Advanced(value);\n });\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(\n datetimeSelectorSchema as any,\n advancedMode!\n ),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.datetime-selector\",\n DatetimeSelectorComponentFactory\n);\n","export const modalConfirmSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"type\",\n title: \"类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"确认\",\n value: \"confirm\",\n },\n {\n label: \"说明\",\n value: \"info\",\n },\n {\n label: \"成功\",\n value: \"success\",\n },\n {\n label: \"错误\",\n value: \"error\",\n },\n {\n label: \"警告\",\n value: \"warning\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"confirm\",\n },\n },\n },\n {\n name: \"width\",\n title: \"宽度\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n },\n },\n {\n name: \"modalTitle\",\n title: \"标题\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"支持模板,可通过#{xxx}的方式获取数据源字段上的值\",\n },\n },\n },\n {\n name: \"content\",\n title: \"内容\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"支持模板和HTML\",\n },\n },\n },\n {\n name: \"extraContent\",\n title: \"额外内容\",\n type: \"string\",\n },\n {\n name: \"contentBrick\",\n title: \"内容构件\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"使用useBrick,会覆盖整个内容区域\",\n },\n },\n },\n {\n name: \"dataSource\",\n title: \"数据源\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"解析模板时的数据源,配合内容属性使用,并作为点击事件的detail值\",\n },\n },\n component: {\n name: \"Select\",\n props: {\n placeholder: \"请选择数据源\",\n allowClear: true,\n },\n },\n },\n {\n name: \"categoryTitle_ok\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"确定\",\n },\n },\n },\n {\n name: \"okType\",\n title: \"按钮类型\",\n type: \"string\",\n descorator: \"FormItem\",\n component: {\n name: \"Select\",\n props: {\n placeholder: \"Default\",\n allowClear: true,\n options: [\n {\n label: \"Default\",\n value: \"default\",\n },\n {\n label: \"Link\",\n value: \"link\",\n },\n {\n label: \"Primary\",\n value: \"primary\",\n },\n {\n label: \"Ghost\",\n value: \"ghost\",\n },\n {\n label: \"Dashed\",\n value: \"dashed\",\n },\n {\n label: \"Danger\",\n value: \"danger\",\n },\n ],\n },\n },\n },\n {\n name: \"okText\",\n title: \"按钮文案\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n },\n },\n {\n name: \"okButtonProps\",\n title: \"按钮属性\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"同antd Modal的okButtonProps\",\n },\n },\n },\n {\n name: \"confirmLoading\",\n title: \"按钮显示加载中\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"在发起后台请求并且请求较慢的情况下可以设置loading状态优化用户体验\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"expect\",\n title: \"二次确认关键字\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"支持模板,用户需输入该关键字才会启用确定按钮\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"closeWhenOk\",\n title: \"点击确定即关闭模态框\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"categoryTitle_cancel\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"取消\",\n },\n },\n },\n {\n name: \"cancelText\",\n title: \"取消按钮文案\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n },\n },\n {\n name: \"cancelButtonProps\",\n title: \"取消按钮属性\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"同antd Modal的cancelButtonProps\",\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { modalConfirmSchema } from \"./modalConfirm.schema\";\n\nfunction ModalConfirmComponentFactory(React: typeof _React) {\n return function ModalConfirmComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n const dataListRef = React.useRef<any>();\n\n React.useEffect(() => {\n // 初始化data\n const { dataList = [] } = scope;\n dataListRef.current = dataList?.map((item: any) => ({\n ...item,\n label: item?.name,\n value: item?.value,\n }));\n form.query(\"dataSource\").take((field: any) => {\n field.setComponentProps({\n options: dataListRef.current,\n });\n });\n }, [scope, form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(modalConfirmSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.modal-confirm\",\n ModalConfirmComponentFactory\n);\n","export const brickValueMappingSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"value\",\n title: \"值\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n },\n },\n {\n name: \"mapping\",\n title: \"映射规则\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"success:\\n color: green\\n text:正常\\narning:\\n color: orange\\n text:异常\",\n },\n },\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"triggerClickEvent\",\n title: \"支持触发点击事件\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n },\n \"x-reactions\": [\n {\n target: \"dataSource\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"link\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"dataSource\",\n title: \"数据源\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"点击事件传出的数据\",\n },\n },\n component: {\n name: \"Select\",\n props: {\n placeholder: \"请选择数据源\",\n allowClear: true,\n },\n },\n },\n {\n name: \"link\",\n title: \"跳转链接\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"外观\",\n },\n },\n },\n {\n name: \"showTagCircle\",\n title: \"显示标签圆点\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"按照平台规范,通常表示状态的标签需显示圆点\",\n layout: \"horizontal\",\n },\n },\n },\n {\n name: \"isTextEllipsis\",\n title: \"文案溢出省略\",\n type: \"boolean\",\n decorator: {\n name: \"FormItem\",\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickValueMappingSchema } from \"./brickValueMapping.schema\";\n\nfunction BrickValueMappingComponentFactory(React: typeof _React) {\n return function BrickValueMappingComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n const dataListRef = React.useRef<any>();\n\n React.useEffect(() => {\n form.setInitialValues({\n triggerClickEvent: false,\n });\n }, [form]);\n\n React.useEffect(() => {\n // 初始化data\n const { dataList = [] } = scope;\n dataListRef.current = dataList?.map((item: any) => ({\n ...item,\n label: item?.name,\n value: item?.value,\n }));\n form.query(\"dataSource\").take((field: any) => {\n field.setComponentProps({\n options: dataListRef.current,\n });\n });\n }, [scope, form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(\n brickValueMappingSchema as any,\n advancedMode!\n ),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-value-mapping\",\n BrickValueMappingComponentFactory\n);\n","export const generalTooltipSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_show\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"展示\",\n },\n },\n },\n {\n name: \"type\",\n title: \"类型\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"Tooltip\",\n value: \"tooltip\",\n },\n {\n label: \"Popover\",\n value: \"popover\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"tooltip\",\n },\n },\n \"x-reactions\": [\n {\n target: \"header\",\n fulfill: {\n state: {\n visible: \"{{$self.value==='popover'}}\",\n },\n },\n },\n ],\n },\n {\n name: \"isCustomDisplayBrick\",\n title: \"自定义展示构件\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"displayBrick\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"text\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"icon\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"triggerByIcon\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"iconContainerStyle\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"textEllipsis\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"displayBrick\",\n title: \"展示构件\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"text\",\n title: \"展示内容\",\n type: \"string\",\n },\n {\n name: \"icon\",\n title: \"图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n {\n name: \"triggerByIcon\",\n title: \"由图标触发提示\",\n type: \"boolean\",\n component: {\n props: {\n defaultValue: true,\n size: \"small\",\n },\n },\n },\n {\n name: \"iconContainerStyle\",\n title: \"图标容器样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n },\n },\n {\n name: \"textEllipsis\",\n title: \"展示内容溢出省略\",\n type: \"boolean\",\n },\n {\n name: \"categoryTitle_tooltip\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"提示\",\n },\n },\n },\n {\n name: \"content\",\n title: \"提示内容\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip: \"输入数组则多行显示\",\n },\n },\n },\n {\n name: \"header\",\n title: \"提示内容标题\",\n type: \"string\",\n },\n {\n name: \"tooltipConfig\",\n title: \"提示配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n tooltip:\n \"可配置placement、overlayStyle、arrowPointAtCenter等属性,具体查阅TooltipConfig的文档\",\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { generalTooltipSchema } from \"./generalTooltip.schema\";\nimport { get, omit } from \"lodash\";\n\nconst transformNormal2Advanced = (rawValue: any) => {\n const res = omit(rawValue, [\"isCustomDisplayBrick\"]);\n return res;\n};\n\nconst transformAdvanced2Normal = (rawValue: any) => {\n const displayBrick = get(rawValue, \"displayBrick\");\n const res = {\n ...rawValue,\n ...(displayBrick\n ? {\n isCustomDisplayBrick: true,\n }\n : {\n isCustomDisplayBrick: false,\n }),\n };\n return res;\n};\n\nfunction GeneralTooltipComponentFactory(React: typeof _React) {\n return function GeneralTooltipComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n effects,\n } = props;\n\n React.useEffect(() => {\n const { onAdvancedChange, onSubmit } = effects;\n\n form.setInitialValues({\n type: \"tooltip\",\n isCustomDisplayBrick: false,\n });\n\n // 监听模式切换\n form.addEffects(\"onAdvancedChange\", () => {\n onAdvancedChange((advancedMode: boolean, _form: any, values: any) => {\n return advancedMode\n ? transformNormal2Advanced(values)\n : transformAdvanced2Normal(values);\n });\n });\n\n // 监听表单提交\n form.addEffects(\"onSubmit\", () => {\n onSubmit((value: any) => {\n return transformNormal2Advanced(value);\n });\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(\n generalTooltipSchema as any,\n advancedMode!\n ),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.general-tooltip\",\n GeneralTooltipComponentFactory\n);\n","export const brickDescriptionsSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"descriptionTitle\",\n title: \"标题\",\n type: \"string\",\n },\n {\n name: \"isMultiDesc\",\n title: \"配置多个描述列表\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"descriptionList\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"itemList\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"hideGroups\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"descriptionList\",\n title: \"描述列表\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"- descriptionTitle: 基本信息\\n itemList:\\n - label: 名称\\n text: name\\n - label: 环境类型\\n text: 无\\n- descriptionTitle: 集群规格\\n itemList:\\n - label: 集群来源\\n text: 导入\\n - label: 节点数量\\n text: 3\\n\",\n },\n },\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"itemList\",\n title: \"描述列表\",\n type: \"string\",\n component: {\n name: \"CodeEditor\",\n props: {\n placeholder:\n \"- label: 名称\\n text: name\\n- label: 环境类型\\n text: 无\",\n },\n },\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"configProps\",\n title: \"描述配置\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n layout: \"horizontal\",\n tooltip: \"参考antd Descriptions的配置项\",\n },\n },\n },\n {\n name: \"categoryTitle_style\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"外观\",\n },\n },\n },\n {\n name: \"showCard\",\n title: \"显示卡片背景\",\n type: \"boolean\",\n component: {\n props: {\n size: \"small\",\n defaultValue: true,\n },\n },\n },\n {\n name: \"bordered\",\n title: \"显示边框\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"size\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"size\",\n title: \"列表大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"Default\",\n value: \"default\",\n },\n {\n label: \"Middle\",\n value: \"middle\",\n },\n {\n label: \"Small\",\n value: \"small\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"horizontal\",\n },\n },\n },\n {\n name: \"layout\",\n title: \"布局\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"Horizontal\",\n value: \"horizontal\",\n },\n {\n label: \"Vertical\",\n value: \"vertical\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n defaultValue: \"horizontal\",\n },\n },\n },\n {\n name: \"column\",\n title: \"列数\",\n type: \"string\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n layout: \"horizontal\",\n tooltip:\n \"一行包含的描述项数,可以写成像素值或支持响应式的对象写法{ xs: 8, sm: 16, md: 24}\",\n },\n },\n component: {\n name: \"CodeEditor\",\n props: {\n defaultValue: \"3\",\n },\n },\n },\n {\n name: \"hideGroups\",\n title: \"需隐藏的描述列表项\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: {\n name: \"FormItemWithoutAdvanced\",\n props: {\n layout: \"horizontal\",\n tooltip: \"请先在描述列表中定义列表项所属group\",\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickDescriptionsSchema } from \"./brickDescriptions.schema\";\nimport { get, omit } from \"lodash\";\n\nconst transformNormal2Advanced = (rawValue: any) => {\n const res = omit(rawValue, [\"isMultiDesc\"]);\n return res;\n};\n\nconst transformAdvanced2Normal = (rawValue: any) => {\n const descriptionList = get(rawValue, \"descriptionList\");\n const res = {\n ...rawValue,\n ...(descriptionList\n ? {\n isMultiDesc: true,\n }\n : {\n isMultiDesc: false,\n }),\n };\n return res;\n};\n\nfunction BrickDescriptionsComponentFactory(React: typeof _React) {\n return function BrickDescriptionsComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n effects,\n } = props;\n\n React.useEffect(() => {\n const { onAdvancedChange, onSubmit } = effects;\n\n form.setInitialValues({\n bordered: false,\n isMultiDesc: false,\n });\n\n // 监听模式切换\n form.addEffects(\"onAdvancedChange\", () => {\n onAdvancedChange((advancedMode: boolean, _form: any, values: any) => {\n return advancedMode\n ? transformNormal2Advanced(values)\n : transformAdvanced2Normal(values);\n });\n });\n\n // 监听表单提交\n form.addEffects(\"onSubmit\", () => {\n onSubmit((value: any) => {\n return transformNormal2Advanced(value);\n });\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(\n brickDescriptionsSchema as any,\n advancedMode!\n ),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-descriptions\",\n BrickDescriptionsComponentFactory\n);\n","export const generalLabelSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"text\",\n title: \"内容\",\n type: \"string\",\n },\n {\n name: \"prefixIcon\",\n title: \"前缀图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n {\n name: \"suffixIcon\",\n title: \"后缀图标\",\n type: \"string\",\n component: \"IconSelect\",\n },\n {\n name: \"url\",\n title: \"链接url\",\n type: \"string\",\n },\n {\n name: \"href\",\n title: \"链接href\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"使用原生<a>标签,通常用于外链的跳转\",\n },\n },\n },\n {\n name: \"dataSource\",\n title: \"选择数据\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip: \"label.click事件的传出的数据\",\n },\n },\n component: {\n name: \"Select\",\n props: {\n placeholder: \"请选择数据\",\n allowClear: true,\n },\n },\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { generalLabelSchema } from \"./generalLabel.schema\";\n\nfunction GeneralLabelComponentFactory(React: typeof _React) {\n return function GeneralLabelComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n const dataListRef = React.useRef<any>();\n\n React.useEffect(() => {\n // 初始化data\n const { dataList = [] } = scope;\n dataListRef.current = dataList?.map((item: any) => ({\n ...item,\n label: item?.name,\n value: item?.value,\n }));\n form.query(\"dataSource\").take((field: any) => {\n field.setComponentProps({\n options: dataListRef.current,\n });\n });\n }, [scope]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(generalLabelSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.general-label\",\n GeneralLabelComponentFactory\n);\n","export const brickAlertSchema = {\n name: \"layout\",\n type: \"void\",\n component: {\n name: \"FormLayout\",\n props: {\n layout: \"vertical\",\n },\n },\n children: [\n {\n name: \"categoryTitle_basic\",\n type: \"void\",\n decorator: {\n name: \"CategoryTitle\",\n props: {\n text: \"基础\",\n },\n },\n },\n {\n name: \"type\",\n title: \"提示类型\",\n type: \"string\",\n required: true,\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n },\n },\n enum: [\n {\n label: \"Success\",\n value: \"success\",\n },\n {\n label: \"Error\",\n value: \"error\",\n },\n {\n label: \"Info\",\n value: \"info\",\n },\n {\n label: \"Warning\",\n value: \"warning\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"enableMessageSlot\",\n title: \"启用提示插槽\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"message\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"messageStyle\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n {\n target: \"foldDesc\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n dependencies: [\"foldDesc\"],\n target: \"foldDescLabel\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"message\",\n title: \"提示内容\",\n type: \"string\",\n },\n {\n name: \"messageStyle\",\n title: \"自定义提示样式\",\n type: \"string\",\n component: \"CodeEditor\",\n decorator: \"FormItemWithoutAdvanced\",\n },\n {\n name: \"enableDescSlot\",\n title: \"启用描述插槽\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"description\",\n fulfill: {\n state: {\n visible: \"{{!$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"description\",\n title: \"描述内容\",\n type: \"string\",\n },\n {\n name: \"enableActionSlot\",\n title: \"启用action插槽\",\n type: \"boolean\",\n },\n {\n name: \"showIcon\",\n title: \"显示辅助图标\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"iconSize\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"iconSize\",\n title: \"图标大小\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n layout: \"horizontal\",\n tooltip: \"为L时使用大图标,否则为根据是否有描述来渲染大小的默认图标\",\n },\n },\n enum: [\n {\n label: \"S\",\n value: \"small\",\n },\n {\n label: \"M\",\n value: \"default\",\n },\n {\n label: \"L\",\n value: \"big\",\n },\n ],\n component: {\n name: \"Radio.Group\",\n props: {\n size: \"small\",\n optionType: \"button\",\n },\n },\n },\n {\n name: \"closable\",\n title: \"显示关闭按钮\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n target: \"localStorageKey\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n {\n target: \"stripLocalStorageUrlSuffix\",\n fulfill: {\n state: {\n visible: \"{{$self.value}}\",\n },\n },\n },\n ],\n },\n {\n name: \"localStorageKey\",\n title: \"缓存关闭状态key值\",\n type: \"string\",\n decorator: {\n name: \"FormItem\",\n props: {\n tooltip:\n \"用户点击关闭后写入 localStorage(浏览器存储), 之后就不再显示该警告提示。以该值和页面 url 为命名空间,注意同一页面下该值的唯一性\",\n },\n },\n },\n {\n name: \"stripLocalStorageUrlSuffix\",\n title: \"不使用url命名空间\",\n type: \"boolean\",\n },\n {\n name: \"foldDesc\",\n title: \"描述折叠模式\",\n type: \"boolean\",\n \"x-reactions\": [\n {\n dependencies: [\"enableMessageSlot\"],\n target: \"foldDescLabel\",\n fulfill: {\n state: {\n visible: \"{{$self.value&&$deps[0]}}\",\n },\n },\n },\n ],\n },\n {\n name: \"foldDescLabel\",\n title: \"描述折叠模式标签文案\",\n type: \"string\",\n },\n {\n name: \"noBorderRadio\",\n title: \"不使用圆角\",\n type: \"boolean\",\n },\n ],\n};\n","import type _React from \"react\";\nimport { getRuntime } from \"@next-core/brick-kit\";\nimport { brickAlertSchema } from \"./brickAlert.schema\";\n\nfunction BrickAlertComponentFactory(React: typeof _React) {\n return function BrickAlertComponent(props: any): React.ReactElement {\n const {\n SchemaFieldComponent,\n formilySchemaFormatter,\n advancedMode,\n scope,\n form,\n } = props;\n\n React.useEffect(() => {\n form.setInitialValues({\n enableMessageSlot: false,\n enableDescSlot: false,\n showIcon: false,\n closable: false,\n foldDesc: false,\n });\n }, [form]);\n\n return React.createElement(SchemaFieldComponent, {\n schema: formilySchemaFormatter(brickAlertSchema as any, advancedMode!),\n scope,\n });\n };\n}\n\n(getRuntime() as any).customEditors.define(\n \"presentational-bricks.brick-alert\",\n BrickAlertComponentFactory\n);\n"],"sourceRoot":""}
|
package/dist/stories.json
CHANGED
|
@@ -2036,6 +2036,60 @@
|
|
|
2036
2036
|
"type": "bricks"
|
|
2037
2037
|
}
|
|
2038
2038
|
}
|
|
2039
|
+
},
|
|
2040
|
+
{
|
|
2041
|
+
"brick": "presentational-bricks.brick-collapse-card",
|
|
2042
|
+
"properties": {
|
|
2043
|
+
"expandInactiveText": "展开",
|
|
2044
|
+
"expandInactiveIcon": "down",
|
|
2045
|
+
"expandActiveText": "收起",
|
|
2046
|
+
"expandActiveIcon": "up",
|
|
2047
|
+
"isActive": true,
|
|
2048
|
+
"titleWithIconAndDesc": "compact",
|
|
2049
|
+
"cardTitle": "容器管理-闲置资源采集",
|
|
2050
|
+
"descriptionList": [
|
|
2051
|
+
{
|
|
2052
|
+
"label": "作者",
|
|
2053
|
+
"text": "defalutUser"
|
|
2054
|
+
},
|
|
2055
|
+
{
|
|
2056
|
+
"label": "分类",
|
|
2057
|
+
"text": "容器管理"
|
|
2058
|
+
}
|
|
2059
|
+
],
|
|
2060
|
+
"titleIcon": {
|
|
2061
|
+
"lib": "easyops",
|
|
2062
|
+
"category": "agile",
|
|
2063
|
+
"icon": "easy-now"
|
|
2064
|
+
}
|
|
2065
|
+
},
|
|
2066
|
+
"slots": {
|
|
2067
|
+
"content": {
|
|
2068
|
+
"bricks": [
|
|
2069
|
+
{
|
|
2070
|
+
"brick": "presentational-bricks.brick-descriptions",
|
|
2071
|
+
"properties": {
|
|
2072
|
+
"showCard": false,
|
|
2073
|
+
"itemList": [
|
|
2074
|
+
{
|
|
2075
|
+
"label": "版本信息",
|
|
2076
|
+
"text": "1.0.10"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"label": "版本作者",
|
|
2080
|
+
"text": "defaultUser"
|
|
2081
|
+
},
|
|
2082
|
+
{
|
|
2083
|
+
"label": "脚本信息",
|
|
2084
|
+
"text": "python"
|
|
2085
|
+
}
|
|
2086
|
+
]
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
],
|
|
2090
|
+
"type": "bricks"
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2039
2093
|
}
|
|
2040
2094
|
]
|
|
2041
2095
|
}
|
|
@@ -2110,7 +2164,7 @@
|
|
|
2110
2164
|
},
|
|
2111
2165
|
{
|
|
2112
2166
|
"name": "titleWithIconAndDesc",
|
|
2113
|
-
"type": "boolean",
|
|
2167
|
+
"type": "boolean | \"compact\"",
|
|
2114
2168
|
"required": "false",
|
|
2115
2169
|
"default": "false",
|
|
2116
2170
|
"description": "是否可以设置标题图标和描述信息"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-bricks/presentational-bricks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.327.0",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"homepage": "https://github.com/easyops-cn/next-basics/tree/master/bricks/presentational-bricks",
|
|
6
6
|
"license": "GPL-3.0",
|
|
@@ -75,5 +75,5 @@
|
|
|
75
75
|
"@next-dll/ace": "*",
|
|
76
76
|
"@next-dll/react-dnd": "*"
|
|
77
77
|
},
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "d23abf037f4aa6aec8f24e98dedfbe26ea29d15c"
|
|
79
79
|
}
|