mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-24 07:19:46 +08:00
Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
Conflicts: ruoyi-ui/bin/package.bat ruoyi-ui/package.json ruoyi-ui/src/assets/styles/element-ui.scss ruoyi-ui/src/layout/components/Navbar.vue ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue ruoyi-ui/src/layout/components/TagsView/index.vue ruoyi-ui/src/router/index.js ruoyi-ui/src/views/components/icons/element-icons.js ruoyi-ui/src/views/dashboard/mixins/resize.js ruoyi-ui/src/views/system/menu/index.vue ruoyi/src/main/java/com/ruoyi/common/filter/XssFilter.java ruoyi/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java ruoyi/src/main/java/com/ruoyi/common/utils/text/CharsetKit.java ruoyi/src/main/java/com/ruoyi/common/utils/text/Convert.java ruoyi/src/main/java/com/ruoyi/common/utils/text/StrFormatter.java ruoyi/src/main/java/com/ruoyi/framework/config/FilterConfig.java ruoyi/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysNoticeMapper.java ruoyi/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableColumnServiceImpl.java ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
This commit is contained in:
@ -3,50 +3,54 @@ import { debounce } from '@/utils'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
$_sidebarElm: null
|
||||
$_sidebarElm: null,
|
||||
$_resizeHandler: null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$_initResizeEvent()
|
||||
this.$_initSidebarResizeEvent()
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$_destroyResizeEvent()
|
||||
this.$_destroySidebarResizeEvent()
|
||||
this.initListener()
|
||||
},
|
||||
activated() {
|
||||
this.$_initResizeEvent()
|
||||
this.$_initSidebarResizeEvent()
|
||||
if (!this.$_resizeHandler) {
|
||||
// avoid duplication init
|
||||
this.initListener()
|
||||
}
|
||||
|
||||
// when keep-alive chart activated, auto resize
|
||||
this.resize()
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.destroyListener()
|
||||
},
|
||||
deactivated() {
|
||||
this.$_destroyResizeEvent()
|
||||
this.$_destroySidebarResizeEvent()
|
||||
this.destroyListener()
|
||||
},
|
||||
methods: {
|
||||
$_resizeHandler() {
|
||||
return debounce(() => {
|
||||
if (this.chart) {
|
||||
this.chart.resize()
|
||||
}
|
||||
}, 100)()
|
||||
},
|
||||
$_initResizeEvent() {
|
||||
window.addEventListener('resize', this.$_resizeHandler)
|
||||
},
|
||||
$_destroyResizeEvent() {
|
||||
window.removeEventListener('resize', this.$_resizeHandler)
|
||||
},
|
||||
// use $_ for mixins properties
|
||||
// https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
|
||||
$_sidebarResizeHandler(e) {
|
||||
if (e.propertyName === 'width') {
|
||||
this.$_resizeHandler()
|
||||
}
|
||||
},
|
||||
$_initSidebarResizeEvent() {
|
||||
initListener() {
|
||||
this.$_resizeHandler = debounce(() => {
|
||||
this.resize()
|
||||
}, 100)
|
||||
window.addEventListener('resize', this.$_resizeHandler)
|
||||
|
||||
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
||||
this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
|
||||
},
|
||||
$_destroySidebarResizeEvent() {
|
||||
destroyListener() {
|
||||
window.removeEventListener('resize', this.$_resizeHandler)
|
||||
this.$_resizeHandler = null
|
||||
|
||||
this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
|
||||
},
|
||||
resize() {
|
||||
const { chart } = this
|
||||
chart && chart.resize()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user