mirror of
https://github.com/barsdeveloper/ueblueprint.git
synced 2026-02-27 18:54:44 +08:00
Move zoom to model file
This commit is contained in:
@@ -19,26 +19,9 @@ export default class UEBlueprintDragScroll extends UEBlueprintDrag {
|
||||
self.mousePosition = mousePosition
|
||||
};
|
||||
this.mouseWheelHandler = function (e) {
|
||||
let blueprintRoot = self.scrolledDOMElement.parentElement.parentElement
|
||||
let zoomLevel = 0
|
||||
let zoomLevelClass = "ueb-zoom-0"
|
||||
let classes = blueprintRoot.classList.values()
|
||||
for (let className of classes) {
|
||||
let v = className.match(/ueb\-zoom\-(\-?\d+)/)
|
||||
if (v) {
|
||||
zoomLevelClass = v[0]
|
||||
zoomLevel = parseInt(v[1])
|
||||
break
|
||||
}
|
||||
}
|
||||
let zoomLevel = self.blueprintNode.getZoom()
|
||||
zoomLevel -= Math.round(e.deltaY / 50)
|
||||
zoomLevel = self.clamp(zoomLevel, -12, 0)
|
||||
blueprintRoot.classList.remove(zoomLevelClass)
|
||||
blueprintRoot.classList.add("ueb-zoom-" + zoomLevel)
|
||||
let scale = self.blueprintNode.getScale()
|
||||
let additionalX = Math.ceil(self.scrolledDOMElement.clientWidth * (1 - 1 / scale))
|
||||
let additionalY = Math.ceil(self.scrolledDOMElement.clientHeight * (1 - 1 / scale))
|
||||
self.blueprintNode.expand(additionalX, additionalY)
|
||||
self.blueprintNode.setZoom(zoomLevel)
|
||||
|
||||
}
|
||||
this.blueprintNode.getGridDOMElement().addEventListener('wheel', this.mouseWheelHandler)
|
||||
@@ -51,8 +34,4 @@ export default class UEBlueprintDragScroll extends UEBlueprintDrag {
|
||||
this.blueprintNode.translate(-x, -y)
|
||||
}
|
||||
|
||||
clamp(val, min, max) {
|
||||
return Math.min(Math.max(val, min), max);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user