vxe-design 4.0.8 → 4.0.9

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.
@@ -1,7 +1,7 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { checkDependVersion } from '../ui/src/depend';
3
3
  import VxeFormDesignComponent from './src/form-design';
4
- import { useWidgetView, useWidgetName, useSubtableView, useWidgetPropDataSource } from './src/use';
4
+ import { useFormView, useWidgetView, useWidgetName, useSubtableView, useWidgetPropDataSource } from './src/use';
5
5
  import './render';
6
6
  export const VxeFormDesign = Object.assign({}, VxeFormDesignComponent, {
7
7
  install(app) {
@@ -10,6 +10,7 @@ export const VxeFormDesign = Object.assign({}, VxeFormDesignComponent, {
10
10
  }
11
11
  });
12
12
  const formDesignHandle = {
13
+ useFormView,
13
14
  useWidgetName,
14
15
  useWidgetView,
15
16
  useSubtableView,
@@ -406,17 +406,18 @@ export default defineVxeComponent({
406
406
  };
407
407
  const createSettingForm = () => {
408
408
  const { formRender, showPc, showMobile } = props;
409
- let conf = getDefaultSettingFormData({
409
+ const defConf = getDefaultSettingFormData({
410
410
  pcVisible: showPc,
411
411
  mobileVisible: showMobile
412
412
  });
413
+ let customConf = {};
413
414
  // 如果为自定义渲染
414
415
  if (formRender) {
415
416
  const compConf = renderer.get(formRender.name);
416
417
  const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
417
- conf = (createFormConfig ? createFormConfig({}) : {}) || {};
418
+ customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
418
419
  }
419
- return conf;
420
+ return Object.assign({}, defConf, customConf);
420
421
  };
421
422
  const initSettingForm = () => {
422
423
  reactData.formData = createSettingForm();
@@ -39,7 +39,7 @@ export default defineVxeComponent({
39
39
  if (renderSettingView) {
40
40
  return h('div', {
41
41
  class: 'vxe-form-design--custom-setting-form-view'
42
- }, getSlotVNs(renderSettingView({}, { $formDesign: $xeFormDesign })));
42
+ }, getSlotVNs(renderSettingView(formRender, { formConfig: formData, $formDesign: $xeFormDesign })));
43
43
  }
44
44
  }
45
45
  return h(DefaultSettingFormComponent, {
@@ -0,0 +1,3 @@
1
+ export function useFormView(props) {
2
+ return props.renderParams;
3
+ }
@@ -1,3 +1,4 @@
1
+ export * from './form-view';
1
2
  export * from './widget-name';
2
3
  export * from './widget-view';
3
4
  export * from './widget-subtable-view';
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { setConfig, setIcon } = VxeUI;
3
- VxeUI.designVersion = "4.0.8";
3
+ VxeUI.designVersion = "4.0.9";
4
4
  setConfig({
5
5
  formDesign: {
6
6
  height: 400,
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `design v${"4.0.8"}`;
3
+ const version = `design v${"4.0.9"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -17,6 +17,7 @@ const VxeFormDesign = exports.VxeFormDesign = Object.assign({}, _formDesign.defa
17
17
  }
18
18
  });
19
19
  const formDesignHandle = {
20
+ useFormView: _use.useFormView,
20
21
  useWidgetName: _use.useWidgetName,
21
22
  useWidgetView: _use.useWidgetView,
22
23
  useSubtableView: _use.useSubtableView,
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeFormDesign=exports.FormDesign=void 0;var _core=require("@vxe-ui/core"),_depend=require("../ui/src/depend"),_formDesign=_interopRequireDefault(require("./src/form-design")),_use=require("./src/use");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("./render");let VxeFormDesign=exports.VxeFormDesign=Object.assign({},_formDesign.default,{install(e){(0,_depend.checkDependVersion)(),e.component(_formDesign.default.name,_formDesign.default)}}),formDesignHandle={useWidgetName:_use.useWidgetName,useWidgetView:_use.useWidgetView,useSubtableView:_use.useSubtableView,useWidgetPropDataSource:_use.useWidgetPropDataSource},FormDesign=(_core.VxeUI.dynamicApp&&_core.VxeUI.dynamicApp.use(VxeFormDesign),_core.VxeUI.component(_formDesign.default),_core.VxeUI.formDesignHandle=formDesignHandle,_core.VxeUI.formDesign=formDesignHandle,exports.FormDesign=VxeFormDesign);var _default=exports.default=VxeFormDesign;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeFormDesign=exports.FormDesign=void 0;var _core=require("@vxe-ui/core"),_depend=require("../ui/src/depend"),_formDesign=_interopRequireDefault(require("./src/form-design")),_use=require("./src/use");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("./render");let VxeFormDesign=exports.VxeFormDesign=Object.assign({},_formDesign.default,{install(e){(0,_depend.checkDependVersion)(),e.component(_formDesign.default.name,_formDesign.default)}}),formDesignHandle={useFormView:_use.useFormView,useWidgetName:_use.useWidgetName,useWidgetView:_use.useWidgetView,useSubtableView:_use.useSubtableView,useWidgetPropDataSource:_use.useWidgetPropDataSource},FormDesign=(_core.VxeUI.dynamicApp&&_core.VxeUI.dynamicApp.use(VxeFormDesign),_core.VxeUI.component(_formDesign.default),_core.VxeUI.formDesignHandle=formDesignHandle,_core.VxeUI.formDesign=formDesignHandle,exports.FormDesign=VxeFormDesign);var _default=exports.default=VxeFormDesign;
@@ -484,17 +484,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
484
484
  showPc,
485
485
  showMobile
486
486
  } = props;
487
- let conf = (0, _defaultSettingData.getDefaultSettingFormData)({
487
+ const defConf = (0, _defaultSettingData.getDefaultSettingFormData)({
488
488
  pcVisible: showPc,
489
489
  mobileVisible: showMobile
490
490
  });
491
+ let customConf = {};
491
492
  // 如果为自定义渲染
492
493
  if (formRender) {
493
494
  const compConf = renderer.get(formRender.name);
494
495
  const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
495
- conf = (createFormConfig ? createFormConfig({}) : {}) || {};
496
+ customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
496
497
  }
497
- return conf;
498
+ return Object.assign({}, defConf, customConf);
498
499
  };
499
500
  const initSettingForm = () => {
500
501
  reactData.formData = createSettingForm();
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_widgetInfo=require("./widget-info"),_xeUtils=_interopRequireDefault(require("xe-utils")),_layoutWidget=_interopRequireDefault(require("./layout-widget")),_layoutPreview=_interopRequireDefault(require("./layout-preview")),_layoutSetting=_interopRequireDefault(require("./layout-setting")),_layoutStyle=_interopRequireDefault(require("./layout-style")),_defaultSettingData=require("./default-setting-data");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,getConfig,getIcon,getI18n,renderer,createEvent,renderEmptyElement,useFns}=_core.VxeUI,useSize=useFns.useSize;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeFormDesign",props:{size:{type:String,default:()=>getConfig().formDesign.size||getConfig().size},config:Object,height:{type:[String,Number],default:()=>getConfig().formDesign.height},widgets:{type:Array,default:()=>_xeUtils.default.clone(getConfig().formDesign.widgets)||[]},showHeader:{type:Boolean,default:()=>getConfig().formDesign.showHeader},showPc:{type:Boolean,default:()=>getConfig().formDesign.showPc},showMobile:{type:Boolean,default:()=>getConfig().formDesign.showMobile},formRender:Object,menuConfig:Object},emits:["widget-click","widget-add","widget-copy","widget-remove","widget-drag","widget-menu","menu-click","click-widget","add-widget","copy-widget","remove-widget","drag-widget"],setup(l,e){let d=_core.VxeUI.getComponent("vxe-button"),{emit:r,slots:o}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),a=(0,_vue.ref)(),u=useSize(l).computeSize,s=(0,_vue.reactive)({formData:{},widgetConfigs:[],widgetObjList:[],dragWidget:null,sortWidget:null,activeWidget:null});var i=(0,_vue.reactive)({});let n={refElem:g},f=(0,_vue.computed)(()=>Object.assign({},getConfig().calendar.menuConfig,l.menuConfig)),c={computeSize:u},v={xID:t,props:l,context:e,reactData:s,internalData:i,getRefMaps:()=>n,getComputeMaps:()=>c},m=e=>new _widgetInfo.FormDesignWidgetInfo(v,e,s.widgetObjList),h=()=>new _widgetInfo.FormDesignWidgetInfo(v,"",s.widgetObjList),p=e=>{var t;e&&({formConfig:e,widgetData:t}=e,e&&_(e),t)&&y(t);let{activeWidget:i,widgetObjList:r}=s;return i?(e=_xeUtils.default.findTree(r,e=>e.id===i.id,{children:"children"}),s.activeWidget=e?e.item:r[0]||null):s.activeWidget=r[0]||null,(0,_vue.nextTick)()};let w=()=>_xeUtils.default.clone(s.formData,!0),_=e=>(s.formData=Object.assign({},S(),e),(0,_vue.nextTick)());let x=()=>{var e=_xeUtils.default.clone(s.widgetObjList,!0);return _xeUtils.default.eachTree(e,e=>{e.model.value=null},{children:"children"}),e},y=e=>(s.widgetObjList=(e||[]).map(e=>(0,_widgetInfo.configToWidget)(e)),(0,_vue.nextTick)()),D=()=>{var e=a.value;return e&&e.openStylePreview(),(0,_vue.nextTick)()},C=()=>(s.widgetObjList=[],U(),(0,_vue.nextTick)()),b=(e,t,i)=>{r(e,createEvent(i,{$formDesign:v},t))};t={dispatchEvent:b,createWidget:m,createEmptyWidget:h,getConfig(){return{formConfig:w(),widgetData:x()}},clearConfig:C,loadConfig:p,reloadConfig:e=>(C(),p(e)),getFormConfig:w,loadFormConfig:_,getWidgetById:e=>{var i=s.widgetObjList;if(e){let t=_xeUtils.default.toNumber(e);e=_xeUtils.default.findTree(i,e=>e&&e.id===t,{children:"children"});if(e)return e.item}return null},getFormData(){var e=s.widgetObjList;let t={};return _xeUtils.default.eachTree(e,e=>{t[e.field]=null},{children:"children"}),t},getWidgetData:x,loadWidgetData:y,refreshPreviewView(){var e=a.value;return e&&e.updatePreviewView(),(0,_vue.nextTick)()},openStyleSetting:D};let W=()=>{var e=l.widgets,t=[];let n=[],d=[],o=[],g=[];renderer.forEach((e,i)=>{e=e.createFormDesignWidgetConfig;if(e){var r=m(i),e=(0,_widgetInfo.getWidgetConfig)(i);let t=(0,_widgetInfo.getWidgetConfigCustomGroup)(i,v);if(t){i=g.find(e=>e.title===t);i?i.children.push(r):g.push({title:t,children:[r]})}else switch(e.group){case"layout":d.push(r);break;case"advanced":o.push(r);break;default:["title"].includes(r.name)||n.push(r)}}}),n.length&&t.push({group:"base",children:n}),d.length&&t.push({group:"layout",children:d}),o.length&&t.push({group:"advanced",children:o}),g.length&&t.push(...g),e&&e.length?s.widgetConfigs=l.widgets.map(e=>({title:e.customGroup,group:e.group,children:e.children?e.children.map(e=>m(e)):[]})):s.widgetConfigs=t},I=i=>{var e=s.widgetObjList;if((0,_widgetInfo.getWidgetConfig)(i).unique){let t=[];_xeUtils.default.eachTree(e,e=>{e.name===i&&t.push(e)},{children:"children"});e=t.length<1;return e||_core.VxeUI.modal&&_core.VxeUI.modal.message({content:getI18n("vxe.formDesign.error.wdFormUni"),status:"error",id:"wdFormUni"}),e}return!0};e={validWidgetUnique:I,handleContextmenuWidget(r,n){var e=l.menuConfig,t=f.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$formDesign:v,widget:n,options:e})||_core.VxeUI.contextMenu&&_core.VxeUI.contextMenu.openByEvent(r,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.formDesignMenuMethod:null,t={menu:t,widget:n,$event:r,$formDesign:v};i&&i(t,r),b("menu-click",t,e.$event)}}})),b("widget-menu",{widget:n},r)},handleClickWidget(e,t){t&&t.name&&(e.stopPropagation(),s.activeWidget=t,b("widget-click",{widget:t},e),b("click-widget",{widget:t},e))},handleCopyWidget(e,t){var i,r=s.widgetObjList,n=_xeUtils.default.findTree(r,e=>e.id===t.id,{children:"children"});n&&(e.stopPropagation(),I(t.name))&&(n=n.path,n=Number(n[0]),(i=m(t.name)).title&&(i.title=getI18n("vxe.formDesign.widget.copyTitle",[(""+t.title).replace(getI18n("vxe.formDesign.widget.copyTitle",[""]),"")])),n>=r.length-1?r.push(i):r.splice(n+1,0,i),s.activeWidget=i,s.widgetObjList=[...r],b("widget-copy",{widget:t,newWidget:i},e),b("copy-widget",{widget:i},e))},handleRemoveWidget(e,t){var i,r,n=s.widgetObjList,d=_xeUtils.default.findTree(n,e=>e.id===t.id,{children:"children"});d&&({index:d,parent:i,items:r}=d,e.stopPropagation(),d>=r.length-1?s.activeWidget=r[d-1]:s.activeWidget=r[d+1]||null,i&&"row"===i.name?r[d]=h():r.splice(d,1),s.widgetObjList=[...n],b("widget-remove",{widget:t},e),b("remove-widget",{widget:t},e))}};let S=()=>{var{formRender:e,showPc:t,showMobile:i}=l;let r=(0,_defaultSettingData.getDefaultSettingFormData)({pcVisible:t,mobileVisible:i});return e&&(i=(t=renderer.get(e.name))?t.createFormDesignSettingFormConfig:null,r=(i?i({}):{})||{}),r},U=()=>{s.formData=S()},O=()=>{D()};Object.assign(v,t,e);return v.renderVN=()=>{var{height:e,showHeader:t}=l,i=u.value,r=o.header,n=o.footer;return(0,_vue.h)("div",{ref:g,class:["vxe-form-design",{["size--"+i]:i}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[t||r?(0,_vue.h)("div",{class:"vxe-form-design--header"},r?r({}):(i=o.title,e=o.titlePrefix||o["title-prefix"],t=o.titleSuffix||o["title-suffix"]||o.extra,(0,_vue.h)("div",{class:"vxe-form-design--header-wrapper"},[(0,_vue.h)("div",{class:"vxe-form-design--header-left"},e?e({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-middle"},i?i({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-right"},[t?(0,_vue.h)("div",{class:"vxe-form-design--header-extra"},t({})):renderEmptyElement(v),(0,_vue.h)("div",{class:"vxe-form-design--header-setting"},[(0,_vue.h)(d,{mode:"text",status:"primary",icon:getIcon().FORM_DESIGN_STYLE_SETTING,content:getI18n("vxe.formDesign.styleSetting.btn"),onClick:O})])])]))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-form-design--body"},[(0,_vue.h)(_layoutWidget.default),(0,_vue.h)(_layoutPreview.default),(0,_vue.h)(_layoutSetting.default),(0,_vue.h)(_layoutStyle.default,{ref:a})]),n?(0,_vue.h)("div",{class:"vxe-form-design--footer"},n?n({}):[]):(0,_vue.createCommentVNode)()])},(0,_vue.watch)(()=>l.widgets,()=>{W()}),(0,_vue.watch)(()=>l.widgets,()=>{W()}),(0,_vue.watch)(()=>l.config,e=>{p(e||{})}),U(),W(),l.config&&p(l.config),(0,_vue.provide)("$xeFormDesign",v),v},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_widgetInfo=require("./widget-info"),_xeUtils=_interopRequireDefault(require("xe-utils")),_layoutWidget=_interopRequireDefault(require("./layout-widget")),_layoutPreview=_interopRequireDefault(require("./layout-preview")),_layoutSetting=_interopRequireDefault(require("./layout-setting")),_layoutStyle=_interopRequireDefault(require("./layout-style")),_defaultSettingData=require("./default-setting-data");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,getConfig,getIcon,getI18n,renderer,createEvent,renderEmptyElement,useFns}=_core.VxeUI,useSize=useFns.useSize;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeFormDesign",props:{size:{type:String,default:()=>getConfig().formDesign.size||getConfig().size},config:Object,height:{type:[String,Number],default:()=>getConfig().formDesign.height},widgets:{type:Array,default:()=>_xeUtils.default.clone(getConfig().formDesign.widgets)||[]},showHeader:{type:Boolean,default:()=>getConfig().formDesign.showHeader},showPc:{type:Boolean,default:()=>getConfig().formDesign.showPc},showMobile:{type:Boolean,default:()=>getConfig().formDesign.showMobile},formRender:Object,menuConfig:Object},emits:["widget-click","widget-add","widget-copy","widget-remove","widget-drag","widget-menu","menu-click","click-widget","add-widget","copy-widget","remove-widget","drag-widget"],setup(l,e){let d=_core.VxeUI.getComponent("vxe-button"),{emit:r,slots:o}=e;var t=_xeUtils.default.uniqueId();let g=(0,_vue.ref)(),a=(0,_vue.ref)(),u=useSize(l).computeSize,s=(0,_vue.reactive)({formData:{},widgetConfigs:[],widgetObjList:[],dragWidget:null,sortWidget:null,activeWidget:null});var i=(0,_vue.reactive)({});let n={refElem:g},c=(0,_vue.computed)(()=>Object.assign({},getConfig().calendar.menuConfig,l.menuConfig)),f={computeSize:u},v={xID:t,props:l,context:e,reactData:s,internalData:i,getRefMaps:()=>n,getComputeMaps:()=>f},m=e=>new _widgetInfo.FormDesignWidgetInfo(v,e,s.widgetObjList),h=()=>new _widgetInfo.FormDesignWidgetInfo(v,"",s.widgetObjList),p=e=>{var t;e&&({formConfig:e,widgetData:t}=e,e&&_(e),t)&&y(t);let{activeWidget:i,widgetObjList:r}=s;return i?(e=_xeUtils.default.findTree(r,e=>e.id===i.id,{children:"children"}),s.activeWidget=e?e.item:r[0]||null):s.activeWidget=r[0]||null,(0,_vue.nextTick)()};let w=()=>_xeUtils.default.clone(s.formData,!0),_=e=>(s.formData=Object.assign({},O(),e),(0,_vue.nextTick)());let x=()=>{var e=_xeUtils.default.clone(s.widgetObjList,!0);return _xeUtils.default.eachTree(e,e=>{e.model.value=null},{children:"children"}),e},y=e=>(s.widgetObjList=(e||[]).map(e=>(0,_widgetInfo.configToWidget)(e)),(0,_vue.nextTick)()),D=()=>{var e=a.value;return e&&e.openStylePreview(),(0,_vue.nextTick)()},C=()=>(s.widgetObjList=[],S(),(0,_vue.nextTick)()),b=(e,t,i)=>{r(e,createEvent(i,{$formDesign:v},t))};t={dispatchEvent:b,createWidget:m,createEmptyWidget:h,getConfig(){return{formConfig:w(),widgetData:x()}},clearConfig:C,loadConfig:p,reloadConfig:e=>(C(),p(e)),getFormConfig:w,loadFormConfig:_,getWidgetById:e=>{var i=s.widgetObjList;if(e){let t=_xeUtils.default.toNumber(e);e=_xeUtils.default.findTree(i,e=>e&&e.id===t,{children:"children"});if(e)return e.item}return null},getFormData(){var e=s.widgetObjList;let t={};return _xeUtils.default.eachTree(e,e=>{t[e.field]=null},{children:"children"}),t},getWidgetData:x,loadWidgetData:y,refreshPreviewView(){var e=a.value;return e&&e.updatePreviewView(),(0,_vue.nextTick)()},openStyleSetting:D};let W=()=>{var e=l.widgets,t=[];let n=[],d=[],o=[],g=[];renderer.forEach((e,i)=>{e=e.createFormDesignWidgetConfig;if(e){var r=m(i),e=(0,_widgetInfo.getWidgetConfig)(i);let t=(0,_widgetInfo.getWidgetConfigCustomGroup)(i,v);if(t){i=g.find(e=>e.title===t);i?i.children.push(r):g.push({title:t,children:[r]})}else switch(e.group){case"layout":d.push(r);break;case"advanced":o.push(r);break;default:["title"].includes(r.name)||n.push(r)}}}),n.length&&t.push({group:"base",children:n}),d.length&&t.push({group:"layout",children:d}),o.length&&t.push({group:"advanced",children:o}),g.length&&t.push(...g),e&&e.length?s.widgetConfigs=l.widgets.map(e=>({title:e.customGroup,group:e.group,children:e.children?e.children.map(e=>m(e)):[]})):s.widgetConfigs=t},I=i=>{var e=s.widgetObjList;if((0,_widgetInfo.getWidgetConfig)(i).unique){let t=[];_xeUtils.default.eachTree(e,e=>{e.name===i&&t.push(e)},{children:"children"});e=t.length<1;return e||_core.VxeUI.modal&&_core.VxeUI.modal.message({content:getI18n("vxe.formDesign.error.wdFormUni"),status:"error",id:"wdFormUni"}),e}return!0};e={validWidgetUnique:I,handleContextmenuWidget(r,n){var e=l.menuConfig,t=c.value;(e?(0,_utils.isEnableConf)(t):t.enabled)&&({options:e,visibleMethod:t}=t,t&&!t({$formDesign:v,widget:n,options:e})||_core.VxeUI.contextMenu&&_core.VxeUI.contextMenu.openByEvent(r,{options:e,events:{optionClick(e){var t=e.option,i=menus.get(t.code),i=i?i.formDesignMenuMethod:null,t={menu:t,widget:n,$event:r,$formDesign:v};i&&i(t,r),b("menu-click",t,e.$event)}}})),b("widget-menu",{widget:n},r)},handleClickWidget(e,t){t&&t.name&&(e.stopPropagation(),s.activeWidget=t,b("widget-click",{widget:t},e),b("click-widget",{widget:t},e))},handleCopyWidget(e,t){var i,r=s.widgetObjList,n=_xeUtils.default.findTree(r,e=>e.id===t.id,{children:"children"});n&&(e.stopPropagation(),I(t.name))&&(n=n.path,n=Number(n[0]),(i=m(t.name)).title&&(i.title=getI18n("vxe.formDesign.widget.copyTitle",[(""+t.title).replace(getI18n("vxe.formDesign.widget.copyTitle",[""]),"")])),n>=r.length-1?r.push(i):r.splice(n+1,0,i),s.activeWidget=i,s.widgetObjList=[...r],b("widget-copy",{widget:t,newWidget:i},e),b("copy-widget",{widget:i},e))},handleRemoveWidget(e,t){var i,r,n=s.widgetObjList,d=_xeUtils.default.findTree(n,e=>e.id===t.id,{children:"children"});d&&({index:d,parent:i,items:r}=d,e.stopPropagation(),d>=r.length-1?s.activeWidget=r[d-1]:s.activeWidget=r[d+1]||null,i&&"row"===i.name?r[d]=h():r.splice(d,1),s.widgetObjList=[...n],b("widget-remove",{widget:t},e),b("remove-widget",{widget:t},e))}};let O=()=>{var{formRender:e,showPc:t,showMobile:i}=l,t=(0,_defaultSettingData.getDefaultSettingFormData)({pcVisible:t,mobileVisible:i});let r={};return e&&(e=(i=renderer.get(e.name))?i.createFormDesignSettingFormConfig:null,r=(e?e({}):{})||{}),Object.assign({},t,r)},S=()=>{s.formData=O()},U=()=>{D()};Object.assign(v,t,e);return v.renderVN=()=>{var{height:e,showHeader:t}=l,i=u.value,r=o.header,n=o.footer;return(0,_vue.h)("div",{ref:g,class:["vxe-form-design",{["size--"+i]:i}],style:e?{height:(0,_dom.toCssUnit)(e)}:null},[t||r?(0,_vue.h)("div",{class:"vxe-form-design--header"},r?r({}):(i=o.title,e=o.titlePrefix||o["title-prefix"],t=o.titleSuffix||o["title-suffix"]||o.extra,(0,_vue.h)("div",{class:"vxe-form-design--header-wrapper"},[(0,_vue.h)("div",{class:"vxe-form-design--header-left"},e?e({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-middle"},i?i({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-right"},[t?(0,_vue.h)("div",{class:"vxe-form-design--header-extra"},t({})):renderEmptyElement(v),(0,_vue.h)("div",{class:"vxe-form-design--header-setting"},[(0,_vue.h)(d,{mode:"text",status:"primary",icon:getIcon().FORM_DESIGN_STYLE_SETTING,content:getI18n("vxe.formDesign.styleSetting.btn"),onClick:U})])])]))):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-form-design--body"},[(0,_vue.h)(_layoutWidget.default),(0,_vue.h)(_layoutPreview.default),(0,_vue.h)(_layoutSetting.default),(0,_vue.h)(_layoutStyle.default,{ref:a})]),n?(0,_vue.h)("div",{class:"vxe-form-design--footer"},n?n({}):[]):(0,_vue.createCommentVNode)()])},(0,_vue.watch)(()=>l.widgets,()=>{W()}),(0,_vue.watch)(()=>l.widgets,()=>{W()}),(0,_vue.watch)(()=>l.config,e=>{p(e||{})}),S(),W(),l.config&&p(l.config),(0,_vue.provide)("$xeFormDesign",v),v},render(){return this.renderVN()}});
@@ -60,7 +60,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
60
60
  if (renderSettingView) {
61
61
  return (0, _vue.h)('div', {
62
62
  class: 'vxe-form-design--custom-setting-form-view'
63
- }, (0, _vn.getSlotVNs)(renderSettingView({}, {
63
+ }, (0, _vn.getSlotVNs)(renderSettingView(formRender, {
64
+ formConfig: formData,
64
65
  $formDesign: $xeFormDesign
65
66
  })));
66
67
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_vn=require("../../ui/src/vn"),_defaultSettingForm=require("./default-setting-form"),_default=exports.default=(0,_comp.defineVxeComponent)({name:"FormDesignLayoutSetting",props:{},emits:[],setup(){let e=_core.VxeUI.getComponent("vxe-tabs"),t=_core.VxeUI.getComponent("vxe-tab-pane"),r=(0,_vue.inject)("$xeFormDesign",null);if(!r)return()=>[];let{props:i,reactData:n}=r,o=(0,_vue.ref)(1);return(0,_vue.watch)(()=>n.activeWidget,()=>{o.value=1}),()=>(0,_vue.h)("div",{class:"vxe-form-design--setting"},[(0,_vue.h)("div",{class:"vxe-form-design--setting-form"},[(0,_vue.h)(e,{modelValue:o.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-form-design--setting-form-tabs","onUpdate:modelValue"(e){o.value=e}},{default(){return[(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetPropTab"),name:1},{default(){return(()=>{var e=n.activeWidget;if(e){var t=_core.renderer.get(e.name),t=t?t.renderFormDesignWidgetFormView:null;if(t)return(0,_vue.h)("div",{class:"vxe-form-design--custom-widget-form-view"},(0,_vn.getSlotVNs)(t(e,{isEditMode:!0,isViewMode:!1,widget:e,$formDesign:r,$formView:null})))}return(0,_vue.createCommentVNode)()})()}}),(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetFormTab"),name:2},{default(){return(()=>{var e=i.formRender,t=n.formData;if(e){e=_core.renderer.get(e.name),e=e?e.renderFormDesignSettingFormView:null;if(e)return(0,_vue.h)("div",{class:"vxe-form-design--custom-setting-form-view"},(0,_vn.getSlotVNs)(e({},{$formDesign:r})))}return(0,_vue.h)(_defaultSettingForm.DefaultSettingFormComponent,{formData:t})})()}})]}})])])}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_vn=require("../../ui/src/vn"),_defaultSettingForm=require("./default-setting-form"),_default=exports.default=(0,_comp.defineVxeComponent)({name:"FormDesignLayoutSetting",props:{},emits:[],setup(){let e=_core.VxeUI.getComponent("vxe-tabs"),t=_core.VxeUI.getComponent("vxe-tab-pane"),i=(0,_vue.inject)("$xeFormDesign",null);if(!i)return()=>[];let{props:n,reactData:o}=i,r=(0,_vue.ref)(1);return(0,_vue.watch)(()=>o.activeWidget,()=>{r.value=1}),()=>(0,_vue.h)("div",{class:"vxe-form-design--setting"},[(0,_vue.h)("div",{class:"vxe-form-design--setting-form"},[(0,_vue.h)(e,{modelValue:r.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-form-design--setting-form-tabs","onUpdate:modelValue"(e){r.value=e}},{default(){return[(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetPropTab"),name:1},{default(){return(()=>{var e=o.activeWidget;if(e){var t=_core.renderer.get(e.name),t=t?t.renderFormDesignWidgetFormView:null;if(t)return(0,_vue.h)("div",{class:"vxe-form-design--custom-widget-form-view"},(0,_vn.getSlotVNs)(t(e,{isEditMode:!0,isViewMode:!1,widget:e,$formDesign:i,$formView:null})))}return(0,_vue.createCommentVNode)()})()}}),(0,_vue.h)(t,{title:(0,_core.getI18n)("vxe.formDesign.widgetFormTab"),name:2},{default(){return(()=>{var e=n.formRender,t=o.formData;if(e){var r=_core.renderer.get(e.name),r=r?r.renderFormDesignSettingFormView:null;if(r)return(0,_vue.h)("div",{class:"vxe-form-design--custom-setting-form-view"},(0,_vn.getSlotVNs)(r(e,{formConfig:t,$formDesign:i})))}return(0,_vue.h)(_defaultSettingForm.DefaultSettingFormComponent,{formData:t})})()}})]}})])])}});
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFormView = useFormView;
7
+ function useFormView(props) {
8
+ return props.renderParams;
9
+ }
@@ -0,0 +1 @@
1
+ function useFormView(e){return e.renderParams}Object.defineProperty(exports,"__esModule",{value:!0}),exports.useFormView=useFormView;
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _formView = require("./form-view");
7
+ Object.keys(_formView).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _formView[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _formView[key];
14
+ }
15
+ });
16
+ });
6
17
  var _widgetName = require("./widget-name");
7
18
  Object.keys(_widgetName).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});var _widgetName=require("./widget-name"),_widgetView=(Object.keys(_widgetName).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetName[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetName[e]}})}),require("./widget-view")),_widgetSubtableView=(Object.keys(_widgetView).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetView[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetView[e]}})}),require("./widget-subtable-view")),_widgetPropDataSource=(Object.keys(_widgetSubtableView).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetSubtableView[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetSubtableView[e]}})}),require("./widget-prop-data-source")),_widgetPropDefaultValue=(Object.keys(_widgetPropDataSource).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetPropDataSource[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetPropDataSource[e]}})}),require("./widget-prop-default-value"));Object.keys(_widgetPropDefaultValue).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetPropDefaultValue[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetPropDefaultValue[e]}})});
1
+ Object.defineProperty(exports,"__esModule",{value:!0});var _formView=require("./form-view"),_widgetName=(Object.keys(_formView).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_formView[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _formView[e]}})}),require("./widget-name")),_widgetView=(Object.keys(_widgetName).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetName[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetName[e]}})}),require("./widget-view")),_widgetSubtableView=(Object.keys(_widgetView).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetView[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetView[e]}})}),require("./widget-subtable-view")),_widgetPropDataSource=(Object.keys(_widgetSubtableView).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetSubtableView[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetSubtableView[e]}})}),require("./widget-prop-data-source")),_widgetPropDefaultValue=(Object.keys(_widgetPropDataSource).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetPropDataSource[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetPropDataSource[e]}})}),require("./widget-prop-default-value"));Object.keys(_widgetPropDefaultValue).forEach(function(e){"default"===e||"__esModule"===e||e in exports&&exports[e]===_widgetPropDefaultValue[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _widgetPropDefaultValue[e]}})});
package/lib/index.umd.js CHANGED
@@ -2872,7 +2872,7 @@ const {
2872
2872
  setConfig,
2873
2873
  setIcon
2874
2874
  } = core_.VxeUI;
2875
- core_.VxeUI.designVersion = "4.0.8";
2875
+ core_.VxeUI.designVersion = "4.0.9";
2876
2876
  setConfig({
2877
2877
  formDesign: {
2878
2878
  height: 400,
@@ -2914,7 +2914,7 @@ setIcon({
2914
2914
  const {
2915
2915
  log
2916
2916
  } = core_.VxeUI;
2917
- const version = `design v${"4.0.8"}`;
2917
+ const version = `design v${"4.0.9"}`;
2918
2918
  const warnLog = log.create('warn', version);
2919
2919
  const errLog = log.create('error', version);
2920
2920
  ;// ./packages/ui/src/depend.ts
@@ -4393,7 +4393,8 @@ const DefaultSettingFormComponent = defineVxeComponent({
4393
4393
  if (renderSettingView) {
4394
4394
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
4395
4395
  class: 'vxe-form-design--custom-setting-form-view'
4396
- }, getSlotVNs(renderSettingView({}, {
4396
+ }, getSlotVNs(renderSettingView(formRender, {
4397
+ formConfig: formData,
4397
4398
  $formDesign: $xeFormDesign
4398
4399
  })));
4399
4400
  }
@@ -5938,17 +5939,18 @@ const {
5938
5939
  showPc,
5939
5940
  showMobile
5940
5941
  } = props;
5941
- let conf = getDefaultSettingFormData({
5942
+ const defConf = getDefaultSettingFormData({
5942
5943
  pcVisible: showPc,
5943
5944
  mobileVisible: showMobile
5944
5945
  });
5946
+ let customConf = {};
5945
5947
  // 如果为自定义渲染
5946
5948
  if (formRender) {
5947
5949
  const compConf = renderer.get(formRender.name);
5948
5950
  const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
5949
- conf = (createFormConfig ? createFormConfig({}) : {}) || {};
5951
+ customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
5950
5952
  }
5951
- return conf;
5953
+ return Object.assign({}, defConf, customConf);
5952
5954
  };
5953
5955
  const initSettingForm = () => {
5954
5956
  reactData.formData = createSettingForm();
@@ -6029,6 +6031,10 @@ const {
6029
6031
  return this.renderVN();
6030
6032
  }
6031
6033
  }));
6034
+ ;// ./packages/form-design/src/use/form-view.ts
6035
+ function useFormView(props) {
6036
+ return props.renderParams;
6037
+ }
6032
6038
  ;// ./packages/form-design/src/use/widget-name.ts
6033
6039
 
6034
6040
 
@@ -6485,6 +6491,7 @@ function useWidgetPropDefaultValue(props) {
6485
6491
 
6486
6492
 
6487
6493
 
6494
+
6488
6495
  ;// ./packages/form-design/render/util.ts
6489
6496
 
6490
6497
  const {
@@ -11028,6 +11035,7 @@ const VxeFormDesign = Object.assign({}, form_design, {
11028
11035
  }
11029
11036
  });
11030
11037
  const formDesignHandle = {
11038
+ useFormView: useFormView,
11031
11039
  useWidgetName: useWidgetName,
11032
11040
  useWidgetView: useWidgetView,
11033
11041
  useSubtableView: useSubtableView,