From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js b/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js
new file mode 100644
index 0000000..bb71d44
--- /dev/null
+++ b/src/components/bpmnProcessDesigner/src/utils/directive/clickOutSide.js
@@ -0,0 +1,39 @@
+//outside.js
+
+const ctx = '@@clickoutsideContext'
+
+export default {
+  bind(el, binding, vnode) {
+    const ele = el
+    const documentHandler = (e) => {
+      if (!vnode.context || ele.contains(e.target)) {
+        return false
+      }
+      // 璋冪敤鎸囦护鍥炶皟
+      if (binding.expression) {
+        vnode.context[el[ctx].methodName](e)
+      } else {
+        el[ctx].bindingFn(e)
+      }
+    }
+    // 灏嗘柟娉曟坊鍔犲埌ele
+    ele[ctx] = {
+      documentHandler,
+      methodName: binding.expression,
+      bindingFn: binding.value
+    }
+
+    setTimeout(() => {
+      document.addEventListener('touchstart', documentHandler) // 涓篸ocument缁戝畾浜嬩欢
+    })
+  },
+  update(el, binding) {
+    const ele = el
+    ele[ctx].methodName = binding.expression
+    ele[ctx].bindingFn = binding.value
+  },
+  unbind(el) {
+    document.removeEventListener('touchstart', el[ctx].documentHandler) // 瑙g粦
+    delete el[ctx]
+  }
+}

--
Gitblit v1.8.0