Browse Source

属性面板

master
修宁 7 months ago
parent
commit
57e8749002
  1. 40
      src/editor/widgets/property/PropertyView.vue

40
src/editor/widgets/property/PropertyView.vue

@ -1,6 +1,7 @@
<template> <template>
<div class="title"> <div class="title">
属性面板 <template v-if="!!t">
属性 <el-tag type="primary">{{ t }}</el-tag>
<el-input v-model="searchKeyword" size="small" style="width: 240px" placeholder="Search"> <el-input v-model="searchKeyword" size="small" style="width: 240px" placeholder="Search">
<template #prefix> <template #prefix>
<component :is="renderIcon('element Search')"></component> <component :is="renderIcon('element Search')"></component>
@ -9,15 +10,17 @@
<span class="close" @click="closeMe()"> <span class="close" @click="closeMe()">
<component :is="renderIcon('element Close')" /> <component :is="renderIcon('element Close')" />
</span> </span>
</template>
</div> </div>
<div class="calc-right-panel"> <div class="calc-right-panel">
<el-form <el-empty v-if="!t" description="未选中">
</el-empty>
<el-form v-else
label-position="right" label-position="right"
label-width="60" label-width="60"
class="property-panel-form" class="property-panel-form"
size="default" size="default"
@submit.native.prevent @submit.native.prevent>
>
<template v-for="(itemMeta, idx) in selectedObjectMeta"> <template v-for="(itemMeta, idx) in selectedObjectMeta">
<el-divider v-if="itemMeta.editor === '-'" /> <el-divider v-if="itemMeta.editor === '-'" />
@ -49,7 +52,7 @@
:viewport="viewport" :viewport="viewport"
/> />
<template v-else> 未知编辑器: {{ itemMeta.editor }} </template> <template v-else> 未知编辑器: {{ itemMeta.editor }}</template>
</template> </template>
</el-form> </el-form>
</div> </div>
@ -75,13 +78,18 @@ export default {
}, },
mixins: [IWidgets], mixins: [IWidgets],
data() { data() {
return { return {
itemTypeMeta: null, itemTypeMeta: null,
searchKeyword: '' searchKeyword: ''
} }
}, },
computed: { computed: {
t() {
return this.selectedItem ? ('(' + this.selectedItem.t + ')') : ''
},
selectedItem() {
return this.state?.selectedItem
},
selectedObject() { selectedObject() {
return this.state?.selectedObject return this.state?.selectedObject
}, },
@ -91,24 +99,24 @@ export default {
}, },
methods: { methods: {
selectedObjectChanged(state) { selectedObjectChanged(state) {
const data = state.selectedItem; const data = state.selectedItem
console.log("selectedObjectChanged data", data) console.log('selectedObjectChanged data', data)
if(data) { if (data) {
this.viewport.stateManager.beginStateUpdate() this.viewport.stateManager.beginStateUpdate()
const item = _.find(this.viewport.stateManager.vdata.items, item => item.id === data.id) const item = _.find(this.viewport.stateManager.vdata.items, item => item.id === data.id)
// item.tf[0][0] = item.tf[0][0] / 2; // item.tf[0][0] = item.tf[0][0] / 2;
console.log("selectedObjectChanged item", item) console.log('selectedObjectChanged item', item)
// _.extend(item, data) // _.extend(item, data)
this.viewport.stateManager.endStateUpdate() this.viewport.stateManager.endStateUpdate()
} }
}, }
}, },
mounted() { mounted() {
EventBus.on("selectedObjectChanged", this.selectedObjectChanged); EventBus.on('selectedObjectChanged', this.selectedObjectChanged)
}, },
unmounted() { unmounted() {
EventBus.off("selectedObjectChanged", this.selectedObjectChanged); EventBus.off('selectedObjectChanged', this.selectedObjectChanged)
}, }
} }
</script> </script>
<style lang="less"> <style lang="less">
@ -116,13 +124,16 @@ export default {
margin: 0; margin: 0;
font-size: 14px; font-size: 14px;
color: #606266; color: #606266;
.el-form-item--default { .el-form-item--default {
margin: 5px 3px 0 0; margin: 5px 3px 0 0;
.el-form-item__label { .el-form-item__label {
height: 20px; height: 20px;
line-height: 22px; line-height: 22px;
} }
} }
.gui-toolbar { .gui-toolbar {
color: #333; color: #333;
background: #ffffff; background: #ffffff;
@ -168,6 +179,7 @@ export default {
} }
} }
} }
.el-divider { .el-divider {
margin: 5px 0; margin: 5px 0;
} }

Loading…
Cancel
Save