vxe-design 4.0.8 → 4.1.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/es/form-design/index.js +2 -1
- package/es/form-design/src/form-design.js +22 -14
- package/es/form-design/src/layout-setting.js +1 -1
- package/es/form-design/src/use/form-view.js +3 -0
- package/es/form-design/src/use/index.js +1 -0
- package/es/ui/index.js +3 -2
- package/es/ui/src/log.js +1 -1
- package/lib/form-design/index.js +1 -0
- package/lib/form-design/index.min.js +1 -1
- package/lib/form-design/src/form-design.js +13 -5
- package/lib/form-design/src/form-design.min.js +1 -1
- package/lib/form-design/src/layout-setting.js +2 -1
- package/lib/form-design/src/layout-setting.min.js +1 -1
- package/lib/form-design/src/use/form-view.js +9 -0
- package/lib/form-design/src/use/form-view.min.js +1 -0
- package/lib/form-design/src/use/index.js +11 -0
- package/lib/form-design/src/use/index.min.js +1 -1
- package/lib/index.umd.js +25 -9
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/form-design/index.ts +2 -1
- package/packages/form-design/src/form-design.ts +22 -14
- package/packages/form-design/src/layout-setting.ts +1 -1
- package/packages/form-design/src/use/form-view.ts +9 -0
- package/packages/form-design/src/use/index.ts +1 -0
- package/packages/ui/index.ts +2 -1
package/es/form-design/index.js
CHANGED
|
@@ -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,
|
|
@@ -40,6 +40,10 @@ export default defineVxeComponent({
|
|
|
40
40
|
type: Boolean,
|
|
41
41
|
default: () => getConfig().formDesign.showMobile
|
|
42
42
|
},
|
|
43
|
+
showStyleSetting: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: () => getConfig().formDesign.showStyleSetting
|
|
46
|
+
},
|
|
43
47
|
formRender: Object,
|
|
44
48
|
menuConfig: Object
|
|
45
49
|
},
|
|
@@ -406,17 +410,18 @@ export default defineVxeComponent({
|
|
|
406
410
|
};
|
|
407
411
|
const createSettingForm = () => {
|
|
408
412
|
const { formRender, showPc, showMobile } = props;
|
|
409
|
-
|
|
413
|
+
const defConf = getDefaultSettingFormData({
|
|
410
414
|
pcVisible: showPc,
|
|
411
415
|
mobileVisible: showMobile
|
|
412
416
|
});
|
|
417
|
+
let customConf = {};
|
|
413
418
|
// 如果为自定义渲染
|
|
414
419
|
if (formRender) {
|
|
415
420
|
const compConf = renderer.get(formRender.name);
|
|
416
421
|
const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
|
|
417
|
-
|
|
422
|
+
customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
|
|
418
423
|
}
|
|
419
|
-
return
|
|
424
|
+
return Object.assign({}, defConf, customConf);
|
|
420
425
|
};
|
|
421
426
|
const initSettingForm = () => {
|
|
422
427
|
reactData.formData = createSettingForm();
|
|
@@ -426,6 +431,7 @@ export default defineVxeComponent({
|
|
|
426
431
|
};
|
|
427
432
|
Object.assign($xeFormDesign, formDesignMethods, formDesignPrivateMethods);
|
|
428
433
|
const renderLayoutHeader = () => {
|
|
434
|
+
const { showStyleSetting } = props;
|
|
429
435
|
const titleSlot = slots.title;
|
|
430
436
|
const titlePrefixSlot = slots.titlePrefix || slots['title-prefix'];
|
|
431
437
|
const titleSuffixSlot = slots.titleSuffix || slots['title-suffix'] || slots.extra;
|
|
@@ -446,17 +452,19 @@ export default defineVxeComponent({
|
|
|
446
452
|
class: 'vxe-form-design--header-extra'
|
|
447
453
|
}, titleSuffixSlot({}))
|
|
448
454
|
: renderEmptyElement($xeFormDesign),
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
455
|
+
showStyleSetting
|
|
456
|
+
? h('div', {
|
|
457
|
+
class: 'vxe-form-design--header-setting'
|
|
458
|
+
}, [
|
|
459
|
+
h(VxeUIButtonComponent, {
|
|
460
|
+
mode: 'text',
|
|
461
|
+
status: 'primary',
|
|
462
|
+
icon: getIcon().FORM_DESIGN_STYLE_SETTING,
|
|
463
|
+
content: getI18n('vxe.formDesign.styleSetting.btn'),
|
|
464
|
+
onClick: openStylePreviewEvent
|
|
465
|
+
})
|
|
466
|
+
])
|
|
467
|
+
: renderEmptyElement($xeFormDesign)
|
|
460
468
|
])
|
|
461
469
|
]);
|
|
462
470
|
};
|
|
@@ -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(
|
|
42
|
+
}, getSlotVNs(renderSettingView(formRender, { formConfig: formData, $formDesign: $xeFormDesign })));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
return h(DefaultSettingFormComponent, {
|
package/es/ui/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
const { setConfig, setIcon } = VxeUI;
|
|
3
|
-
VxeUI.designVersion = "4.0
|
|
3
|
+
VxeUI.designVersion = "4.1.0";
|
|
4
4
|
setConfig({
|
|
5
5
|
formDesign: {
|
|
6
6
|
height: 400,
|
|
7
7
|
showHeader: true,
|
|
8
|
-
showPc: true
|
|
8
|
+
showPc: true,
|
|
9
|
+
showStyleSetting: false
|
|
9
10
|
},
|
|
10
11
|
formView: {},
|
|
11
12
|
listDesign: {
|
package/es/ui/src/log.js
CHANGED
package/lib/form-design/index.js
CHANGED
|
@@ -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;
|
|
@@ -58,6 +58,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
58
58
|
type: Boolean,
|
|
59
59
|
default: () => getConfig().formDesign.showMobile
|
|
60
60
|
},
|
|
61
|
+
showStyleSetting: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: () => getConfig().formDesign.showStyleSetting
|
|
64
|
+
},
|
|
61
65
|
formRender: Object,
|
|
62
66
|
menuConfig: Object
|
|
63
67
|
},
|
|
@@ -484,17 +488,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
484
488
|
showPc,
|
|
485
489
|
showMobile
|
|
486
490
|
} = props;
|
|
487
|
-
|
|
491
|
+
const defConf = (0, _defaultSettingData.getDefaultSettingFormData)({
|
|
488
492
|
pcVisible: showPc,
|
|
489
493
|
mobileVisible: showMobile
|
|
490
494
|
});
|
|
495
|
+
let customConf = {};
|
|
491
496
|
// 如果为自定义渲染
|
|
492
497
|
if (formRender) {
|
|
493
498
|
const compConf = renderer.get(formRender.name);
|
|
494
499
|
const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
|
|
495
|
-
|
|
500
|
+
customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
|
|
496
501
|
}
|
|
497
|
-
return
|
|
502
|
+
return Object.assign({}, defConf, customConf);
|
|
498
503
|
};
|
|
499
504
|
const initSettingForm = () => {
|
|
500
505
|
reactData.formData = createSettingForm();
|
|
@@ -504,6 +509,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
504
509
|
};
|
|
505
510
|
Object.assign($xeFormDesign, formDesignMethods, formDesignPrivateMethods);
|
|
506
511
|
const renderLayoutHeader = () => {
|
|
512
|
+
const {
|
|
513
|
+
showStyleSetting
|
|
514
|
+
} = props;
|
|
507
515
|
const titleSlot = slots.title;
|
|
508
516
|
const titlePrefixSlot = slots.titlePrefix || slots['title-prefix'];
|
|
509
517
|
const titleSuffixSlot = slots.titleSuffix || slots['title-suffix'] || slots.extra;
|
|
@@ -517,7 +525,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
517
525
|
class: 'vxe-form-design--header-right'
|
|
518
526
|
}, [titleSuffixSlot ? (0, _vue.h)('div', {
|
|
519
527
|
class: 'vxe-form-design--header-extra'
|
|
520
|
-
}, titleSuffixSlot({})) : renderEmptyElement($xeFormDesign), (0, _vue.h)('div', {
|
|
528
|
+
}, titleSuffixSlot({})) : renderEmptyElement($xeFormDesign), showStyleSetting ? (0, _vue.h)('div', {
|
|
521
529
|
class: 'vxe-form-design--header-setting'
|
|
522
530
|
}, [(0, _vue.h)(VxeUIButtonComponent, {
|
|
523
531
|
mode: 'text',
|
|
@@ -525,7 +533,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
525
533
|
icon: getIcon().FORM_DESIGN_STYLE_SETTING,
|
|
526
534
|
content: getI18n('vxe.formDesign.styleSetting.btn'),
|
|
527
535
|
onClick: openStylePreviewEvent
|
|
528
|
-
})])])]);
|
|
536
|
+
})]) : renderEmptyElement($xeFormDesign)])]);
|
|
529
537
|
};
|
|
530
538
|
const renderVN = () => {
|
|
531
539
|
const {
|
|
@@ -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
|
|
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},showStyleSetting:{type:Boolean,default:()=>getConfig().formDesign.showStyleSetting},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 o=_core.VxeUI.getComponent("vxe-button"),{emit:r,slots:d}=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({},I(),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=[],O(),(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=[],o=[],d=[],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":o.push(r);break;case"advanced":d.push(r);break;default:["title"].includes(r.name)||n.push(r)}}}),n.length&&t.push({group:"base",children:n}),o.length&&t.push({group:"layout",children:o}),d.length&&t.push({group:"advanced",children:d}),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},S=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:S,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(),S(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,o=_xeUtils.default.findTree(n,e=>e.id===t.id,{children:"children"});o&&({index:o,parent:i,items:r}=o,e.stopPropagation(),o>=r.length-1?s.activeWidget=r[o-1]:s.activeWidget=r[o+1]||null,i&&"row"===i.name?r[o]=h():r.splice(o,1),s.widgetObjList=[...n],b("widget-remove",{widget:t},e),b("remove-widget",{widget:t},e))}};let I=()=>{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)},O=()=>{s.formData=I()},U=()=>{D()};Object.assign(v,t,e);return v.renderVN=()=>{var{height:e,showHeader:t}=l,i=u.value,r=d.header,n=d.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=l.showStyleSetting,e=d.title,t=d.titlePrefix||d["title-prefix"],r=d.titleSuffix||d["title-suffix"]||d.extra,(0,_vue.h)("div",{class:"vxe-form-design--header-wrapper"},[(0,_vue.h)("div",{class:"vxe-form-design--header-left"},t?t({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-middle"},e?e({}):[]),(0,_vue.h)("div",{class:"vxe-form-design--header-right"},[r?(0,_vue.h)("div",{class:"vxe-form-design--header-extra"},r({})):renderEmptyElement(v),i?(0,_vue.h)("div",{class:"vxe-form-design--header-setting"},[(0,_vue.h)(o,{mode:"text",status:"primary",icon:getIcon().FORM_DESIGN_STYLE_SETTING,content:getI18n("vxe.formDesign.styleSetting.btn"),onClick:U})]):renderEmptyElement(v)])]))):(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||{})}),O(),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"),
|
|
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 @@
|
|
|
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,12 +2872,13 @@ const {
|
|
|
2872
2872
|
setConfig,
|
|
2873
2873
|
setIcon
|
|
2874
2874
|
} = core_.VxeUI;
|
|
2875
|
-
core_.VxeUI.designVersion = "4.0
|
|
2875
|
+
core_.VxeUI.designVersion = "4.1.0";
|
|
2876
2876
|
setConfig({
|
|
2877
2877
|
formDesign: {
|
|
2878
2878
|
height: 400,
|
|
2879
2879
|
showHeader: true,
|
|
2880
|
-
showPc: true
|
|
2880
|
+
showPc: true,
|
|
2881
|
+
showStyleSetting: false
|
|
2881
2882
|
},
|
|
2882
2883
|
formView: {},
|
|
2883
2884
|
listDesign: {
|
|
@@ -2914,7 +2915,7 @@ setIcon({
|
|
|
2914
2915
|
const {
|
|
2915
2916
|
log
|
|
2916
2917
|
} = core_.VxeUI;
|
|
2917
|
-
const version = `design v${"4.0
|
|
2918
|
+
const version = `design v${"4.1.0"}`;
|
|
2918
2919
|
const warnLog = log.create('warn', version);
|
|
2919
2920
|
const errLog = log.create('error', version);
|
|
2920
2921
|
;// ./packages/ui/src/depend.ts
|
|
@@ -4393,7 +4394,8 @@ const DefaultSettingFormComponent = defineVxeComponent({
|
|
|
4393
4394
|
if (renderSettingView) {
|
|
4394
4395
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
4395
4396
|
class: 'vxe-form-design--custom-setting-form-view'
|
|
4396
|
-
}, getSlotVNs(renderSettingView(
|
|
4397
|
+
}, getSlotVNs(renderSettingView(formRender, {
|
|
4398
|
+
formConfig: formData,
|
|
4397
4399
|
$formDesign: $xeFormDesign
|
|
4398
4400
|
})));
|
|
4399
4401
|
}
|
|
@@ -5512,6 +5514,10 @@ const {
|
|
|
5512
5514
|
type: Boolean,
|
|
5513
5515
|
default: () => form_design_getConfig().formDesign.showMobile
|
|
5514
5516
|
},
|
|
5517
|
+
showStyleSetting: {
|
|
5518
|
+
type: Boolean,
|
|
5519
|
+
default: () => form_design_getConfig().formDesign.showStyleSetting
|
|
5520
|
+
},
|
|
5515
5521
|
formRender: Object,
|
|
5516
5522
|
menuConfig: Object
|
|
5517
5523
|
},
|
|
@@ -5938,17 +5944,18 @@ const {
|
|
|
5938
5944
|
showPc,
|
|
5939
5945
|
showMobile
|
|
5940
5946
|
} = props;
|
|
5941
|
-
|
|
5947
|
+
const defConf = getDefaultSettingFormData({
|
|
5942
5948
|
pcVisible: showPc,
|
|
5943
5949
|
mobileVisible: showMobile
|
|
5944
5950
|
});
|
|
5951
|
+
let customConf = {};
|
|
5945
5952
|
// 如果为自定义渲染
|
|
5946
5953
|
if (formRender) {
|
|
5947
5954
|
const compConf = renderer.get(formRender.name);
|
|
5948
5955
|
const createFormConfig = compConf ? compConf.createFormDesignSettingFormConfig : null;
|
|
5949
|
-
|
|
5956
|
+
customConf = (createFormConfig ? createFormConfig({}) : {}) || {};
|
|
5950
5957
|
}
|
|
5951
|
-
return
|
|
5958
|
+
return Object.assign({}, defConf, customConf);
|
|
5952
5959
|
};
|
|
5953
5960
|
const initSettingForm = () => {
|
|
5954
5961
|
reactData.formData = createSettingForm();
|
|
@@ -5958,6 +5965,9 @@ const {
|
|
|
5958
5965
|
};
|
|
5959
5966
|
Object.assign($xeFormDesign, formDesignMethods, formDesignPrivateMethods);
|
|
5960
5967
|
const renderLayoutHeader = () => {
|
|
5968
|
+
const {
|
|
5969
|
+
showStyleSetting
|
|
5970
|
+
} = props;
|
|
5961
5971
|
const titleSlot = slots.title;
|
|
5962
5972
|
const titlePrefixSlot = slots.titlePrefix || slots['title-prefix'];
|
|
5963
5973
|
const titleSuffixSlot = slots.titleSuffix || slots['title-suffix'] || slots.extra;
|
|
@@ -5971,7 +5981,7 @@ const {
|
|
|
5971
5981
|
class: 'vxe-form-design--header-right'
|
|
5972
5982
|
}, [titleSuffixSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
5973
5983
|
class: 'vxe-form-design--header-extra'
|
|
5974
|
-
}, titleSuffixSlot({})) : renderEmptyElement($xeFormDesign), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
5984
|
+
}, titleSuffixSlot({})) : renderEmptyElement($xeFormDesign), showStyleSetting ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
5975
5985
|
class: 'vxe-form-design--header-setting'
|
|
5976
5986
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUIButtonComponent, {
|
|
5977
5987
|
mode: 'text',
|
|
@@ -5979,7 +5989,7 @@ const {
|
|
|
5979
5989
|
icon: form_design_getIcon().FORM_DESIGN_STYLE_SETTING,
|
|
5980
5990
|
content: form_design_getI18n('vxe.formDesign.styleSetting.btn'),
|
|
5981
5991
|
onClick: openStylePreviewEvent
|
|
5982
|
-
})])])]);
|
|
5992
|
+
})]) : renderEmptyElement($xeFormDesign)])]);
|
|
5983
5993
|
};
|
|
5984
5994
|
const renderVN = () => {
|
|
5985
5995
|
const {
|
|
@@ -6029,6 +6039,10 @@ const {
|
|
|
6029
6039
|
return this.renderVN();
|
|
6030
6040
|
}
|
|
6031
6041
|
}));
|
|
6042
|
+
;// ./packages/form-design/src/use/form-view.ts
|
|
6043
|
+
function useFormView(props) {
|
|
6044
|
+
return props.renderParams;
|
|
6045
|
+
}
|
|
6032
6046
|
;// ./packages/form-design/src/use/widget-name.ts
|
|
6033
6047
|
|
|
6034
6048
|
|
|
@@ -6485,6 +6499,7 @@ function useWidgetPropDefaultValue(props) {
|
|
|
6485
6499
|
|
|
6486
6500
|
|
|
6487
6501
|
|
|
6502
|
+
|
|
6488
6503
|
;// ./packages/form-design/render/util.ts
|
|
6489
6504
|
|
|
6490
6505
|
const {
|
|
@@ -11028,6 +11043,7 @@ const VxeFormDesign = Object.assign({}, form_design, {
|
|
|
11028
11043
|
}
|
|
11029
11044
|
});
|
|
11030
11045
|
const formDesignHandle = {
|
|
11046
|
+
useFormView: useFormView,
|
|
11031
11047
|
useWidgetName: useWidgetName,
|
|
11032
11048
|
useWidgetView: useWidgetView,
|
|
11033
11049
|
useSubtableView: useSubtableView,
|