2023-01-28 17:42:19 +08:00

70 lines
2.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="panel-tab__content">
<div class="element-property input-property">
<div class="element-property__label">元素文档</div>
<div class="element-property__value">
<el-input
type="textarea"
v-model="documentation"
resize="vertical"
:autosize="{ minRows: 2, maxRows: 4 }"
@input="updateDocumentation"
@blur="updateDocumentation"
/>
</div>
</div>
</div>
</template>
<script setup lang="ts" name="ElementOtherConfig">
import { ref, watch, nextTick, onBeforeUnmount, toRaw } from 'vue'
import { ElInput } from 'element-plus'
const props = defineProps({
id: String
})
const documentation = ref('')
const bpmnElement = ref()
const updateDocumentation = () => {
console.log(props, 'props')
console.log(window, 'window')
console.log(
window.bpmnInstances.elementRegistry.get(props.id),
'window.bpmnInstances.elementRegistry.get(props.id)'
)
console.log(bpmnElement.value, 'bpmnElement.value ')
if (bpmnElement.value && bpmnElement.value.id === props.id) {
bpmnElement.value = window?.bpmnInstances.elementRegistry.get(props.id)
}
console.log(
bpmnElement.value,
'bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value bpmnElement.value '
)
// (bpmnElement.value && bpmnElement.value.id === props.id) ||
// (bpmnElement.value = window.bpmnInstances.elementRegistry.get(props.id))
const documentations = window.bpmnInstances.bpmnFactory.create('bpmn:Documentation', {
text: documentation.value
})
window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), {
documentation: [documentations]
})
}
onBeforeUnmount(() => {
bpmnElement.value = null
})
watch(
() => props.id,
(id) => {
if (id && id.length) {
nextTick(() => {
const documentations = window.bpmnInstances.bpmnElement.businessObject?.documentation
documentation.value = documentations && documentations.length ? documentations[0].text : ''
})
} else {
documentation.value = ''
}
},
{ immediate: true }
)
</script>