diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue index ebe55d057..d0895c0bf 100755 --- a/resources/assets/js/App.vue +++ b/resources/assets/js/App.vue @@ -353,7 +353,10 @@ export default { // 教育和企业 'classroomscreen.com', - 'bigbluebutton.org' + 'bigbluebutton.org', + + // 其他 + 'matrix.to' ]; const lowerUrl = `${url}`.toLowerCase() return meetingDomains.some(domain => lowerUrl.indexOf(domain) !== -1); diff --git a/resources/assets/js/functions/common.js b/resources/assets/js/functions/common.js index 185df70c2..e794e267d 100755 --- a/resources/assets/js/functions/common.js +++ b/resources/assets/js/functions/common.js @@ -1064,6 +1064,36 @@ const timezone = require("dayjs/plugin/timezone"); } }, + /** + * 给元素添加一个class,过指定时间之后再去除这个class + * @param element + * @param className + * @param duration + */ + addClassWithTimeout(element, className, duration) { + if (!element || !className || !duration) return; + element.classList.add(className); + setTimeout(() => { + if (!element) return; + element.classList.remove(className); + }, duration); + }, + + /** + * 滚动到元素并抖动 + * @param element + */ + scrollIntoAndShake(element) { + if (!element) return; + const elements = Array.isArray(element) ? element : [element]; + elements.forEach(el => { + if (el) { + $A.scrollIntoViewIfNeeded(el); + $A.addClassWithTimeout(el, "common-shake", 800); + } + }); + }, + /** * 等比缩放尺寸 * @param width diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index fb9716948..2c6a19a56 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1468,11 +1468,7 @@ export default { if (val > 0) { this.msgActiveId = 0 const element = this.$refs.scroller.$el.querySelector(`[data-id="${val}"]`)?.querySelector(".dialog-head") - if (element) { - $A.scrollIntoViewIfNeeded(element) - element.classList.add("common-shake") - setTimeout(_ => element.classList.remove("common-shake"), 800) - } + $A.scrollIntoAndShake(element) } }, diff --git a/resources/assets/js/pages/manage/components/ProjectLog.vue b/resources/assets/js/pages/manage/components/ProjectLog.vue index f43ca6b79..eb356f157 100644 --- a/resources/assets/js/pages/manage/components/ProjectLog.vue +++ b/resources/assets/js/pages/manage/components/ProjectLog.vue @@ -327,13 +327,7 @@ export default { if ($e.classList.contains("common-shake")) { return } - $A.scrollIntoViewIfNeeded($e) - requestAnimationFrame(_ => { - $e.classList.add("common-shake") - setTimeout(_ => { - $e.classList.remove("common-shake") - }, 600) - }) + $A.scrollIntoAndShake($e) } else { if (subtask.parent_id == this.taskId) { return diff --git a/resources/assets/js/pages/manage/components/TaskRow.vue b/resources/assets/js/pages/manage/components/TaskRow.vue index 28063e8a7..dfd204280 100644 --- a/resources/assets/js/pages/manage/components/TaskRow.vue +++ b/resources/assets/js/pages/manage/components/TaskRow.vue @@ -1,6 +1,6 @@