diff --git a/package.json b/package.json index 2c5e8f6..dccd229 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne-components/components-admin", - "version": "1.1.3", + "version": "1.1.4", "description": "用于实现一个后台管理系统的必要组件", "scripts": { "init": "husky", diff --git a/src/components/Apis/getApis.js b/src/components/Apis/getApis.js index 28f2647..e8449e9 100644 --- a/src/components/Apis/getApis.js +++ b/src/components/Apis/getApis.js @@ -245,6 +245,26 @@ const getApis = options => { url: `${prefix}/tenant/admin/append-args`, method: 'POST' }, + appendCustomComponent: { + url: `${prefix}/tenant/admin/append-custom-component`, + method: 'POST' + }, + removeCustomComponent: { + url: `${prefix}/tenant/admin/remove-custom-component`, + method: 'POST' + }, + saveCustomComponent: { + url: `${prefix}/tenant/admin/save-custom-component`, + method: 'POST' + }, + copyCustomComponent: { + url: `${prefix}/tenant/admin/copy-custom-component`, + method: 'POST' + }, + customComponentDetail: { + url: `${prefix}/tenant/admin/custom-component-detail`, + method: 'GET' + }, removeArg: { url: `${prefix}/tenant/admin/remove-arg`, method: 'POST' @@ -350,7 +370,11 @@ const getApis = options => { userInviteMessage: { url: `${prefix}/tenant/send-invite-message`, method: 'POST' - } + }, + customComponentDetail: { + url: `${prefix}/tenant/custom-component-detail`, + method: 'GET' + }, } }; }; diff --git a/src/components/TenantAdmin/TabDetail/Setting/index.js b/src/components/TenantAdmin/TabDetail/Setting/index.js index d1e5cf7..651d95e 100644 --- a/src/components/TenantAdmin/TabDetail/Setting/index.js +++ b/src/components/TenantAdmin/TabDetail/Setting/index.js @@ -1,15 +1,63 @@ import { createWithRemoteLoader } from '@kne/remote-loader'; import { Flex, Button, App } from 'antd'; +import { useState, forwardRef, useImperativeHandle } from 'react'; +import style from './style.module.scss'; + +const LiveComponent = createWithRemoteLoader({ + modules: ['components-thirdparty:LiveComponentEditor'] +})( + forwardRef(({ remoteModules, defaultValue }, ref) => { + const [LiveComponentEditor] = remoteModules; + const [value, setValue] = useState(defaultValue || ''); + useImperativeHandle(ref, () => { + return { + getValue: () => value + }; + }); + return ( + + + + ); + }) +); + +const CustomComponentFormInner = createWithRemoteLoader({ + modules: ['components-core:FormInfo'] +})(({ remoteModules, isEdit }) => { + const [FormInfo] = remoteModules; + const { Input, TextArea } = FormInfo.fields; + + return ( + , + , + , +