@jdlinker/ui
Version:
jdLinker UI库,基于ant-design-vue封装
100 lines (82 loc) • 2.61 kB
JavaScript
export default {
inject: ['getFormConfig', 'getGlobalDsv'],
computed: {
formConfig() {
return this.getFormConfig();
}
},
methods: {
appendTableRow(widget) {
this.designer.appendTableRow(widget);
},
appendTableCol(widget) {
this.designer.appendTableCol(widget);
},
onContainerDragAdd(evt, subList) {
const newIndex = evt.newIndex;
if (!!subList[newIndex]) {
this.designer.setSelected(subList[newIndex]);
}
this.designer.emitHistoryChange();
},
onContainerDragUpdate() {
this.designer.emitHistoryChange();
},
checkContainerMove(evt) {
return this.designer.checkWidgetMove(evt);
},
selectWidget(widget) {
this.designer.setSelected(widget);
},
selectParentWidget() {
if (this.parentWidget) {
this.designer.setSelected(this.parentWidget);
} else {
this.designer.clearSelected();
}
},
moveUpWidget() {
this.designer.moveUpWidget(this.parentList, this.indexOfParentList);
this.designer.emitHistoryChange();
},
moveDownWidget() {
this.designer.moveDownWidget(this.parentList, this.indexOfParentList);
this.designer.emitHistoryChange();
},
cloneContainer(widget) {
if (!!this.parentList) {
let newCon = this.designer.cloneContainer(widget);
this.parentList.splice(this.indexOfParentList + 1, 0, newCon);
this.designer.setSelected(newCon);
this.designer.emitHistoryChange();
}
},
removeWidget() {
if (!!this.parentList) {
const widgetRefName = this.designer.selectedWidgetName;
let nextSelected = null;
if (this.parentList.length === 1) {
if (!!this.parentWidget) {
nextSelected = this.parentWidget;
}
} else if (this.parentList.length === 1 + this.indexOfParentList) {
nextSelected = this.parentList[this.indexOfParentList - 1];
} else {
nextSelected = this.parentList[this.indexOfParentList + 1];
}
this.$nextTick(() => {
this.parentList.splice(this.indexOfParentList, 1);
this.designer.setSelected(nextSelected);
this.designer.formWidget.deleteWidgetRef(widgetRefName); //删除组件ref!!!
this.designer.emitHistoryChange();
});
}
},
setWidgetOption(optionName, optionValue) {
//通用组件选项修改API
if (this.widget.options.hasOwnProperty(optionName)) {
this.widget.options[optionName] = optionValue;
}
}
}
};