!155 fix: 处理 window.bpmnInstances 有时候为 undefined 问题

Merge pull request !155 from OlyLis/master
This commit is contained in:
芋道源码 2023-07-02 15:23:12 +00:00 committed by Gitee
commit 13e0ede788
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -113,18 +113,18 @@ const timer = ref()
provide('prefix', props.prefix)
provide('width', props.width)
const bpmnInstances = () => (window as any)?.bpmnInstances
const initModels = () => {
// console.log(props, 'props')
// console.log(props.bpmnModeler, 'sakdjjaskdsajdkasdjkadsjk')
// modeler moddle
// nextTick(() => {
if (!props.bpmnModeler) {
// props.bpmnModeler initModels
const unwatchBpmn = watch(
() => props.bpmnModeler,
() => {
//
timer.value = setTimeout(() => initModels(), 10)
return
}
if (timer.value) {
clearTimeout(timer.value)
if (!props.bpmnModeler) {
console.log('缺少props.bpmnModeler')
return
}
console.log('props.bpmnModeler 有值了!!!')
const w = window as any
w.bpmnInstances = {
modeler: props.bpmnModeler,
@ -137,12 +137,16 @@ const initModels = () => {
replace: props.bpmnModeler.get('replace'),
selection: props.bpmnModeler.get('selection')
}
}
console.log(bpmnInstances(), 'window.bpmnInstances')
getActiveElement()
// })
}
console.log(bpmnInstances(), 'window.bpmnInstances')
getActiveElement()
unwatchBpmn()
},
{
immediate: true
}
)
const getActiveElement = () => {
// bpmn:Process
initFormOnChanged(null)
@ -190,11 +194,7 @@ const initFormOnChanged = (element) => {
)
formVisible.value = elementType.value === 'UserTask' || elementType.value === 'StartEvent'
}
onMounted(() => {
setTimeout(() => {
initModels()
}, 100)
})
onBeforeUnmount(() => {
const w = window as any
w.bpmnInstances = null