Merge remote-tracking branch 'origin/release_20260831' into release_20260831
This commit is contained in:
+35
-4
@@ -627,7 +627,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
.seat-matrix-row {
|
.seat-matrix-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: max-content;
|
width: max-content;
|
||||||
min-width: 100%;
|
min-width: 0;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -852,7 +852,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
--aisle-gap: 13px;
|
--aisle-gap: 13px;
|
||||||
--seat-row-height: 39px;
|
--seat-row-height: 39px;
|
||||||
width: max-content;
|
width: max-content;
|
||||||
min-width: calc(100% - 30px);
|
min-width: 0;
|
||||||
margin: 15px;
|
margin: 15px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
@@ -1545,10 +1545,13 @@ layout("/layouts/platform_h5.html"){
|
|||||||
const matrix = this.$refs.seatMatrix
|
const matrix = this.$refs.seatMatrix
|
||||||
if (!viewport || !matrix || typeof Panzoom !== 'function') return
|
if (!viewport || !matrix || typeof Panzoom !== 'function') return
|
||||||
|
|
||||||
|
const initialView = this.getSeatInitialView(viewport, matrix)
|
||||||
const instance = Panzoom(matrix, {
|
const instance = Panzoom(matrix, {
|
||||||
minScale: 0.7,
|
minScale: 0.7,
|
||||||
maxScale: 2,
|
maxScale: 2,
|
||||||
startScale: 1,
|
startScale: initialView.scale,
|
||||||
|
startX: initialView.x,
|
||||||
|
startY: initialView.y,
|
||||||
canvas: true,
|
canvas: true,
|
||||||
origin: '0 0'
|
origin: '0 0'
|
||||||
})
|
})
|
||||||
@@ -1557,13 +1560,41 @@ layout("/layouts/platform_h5.html"){
|
|||||||
matrix.addEventListener('panzoompan', this.handlePanzoomMove)
|
matrix.addEventListener('panzoompan', this.handlePanzoomMove)
|
||||||
matrix.addEventListener('panzoomzoom', this.handlePanzoomMove)
|
matrix.addEventListener('panzoomzoom', this.handlePanzoomMove)
|
||||||
matrix.addEventListener('panzoomend', this.handlePanzoomEnd)
|
matrix.addEventListener('panzoomend', this.handlePanzoomEnd)
|
||||||
this.syncSeatRowGuide({x: 0, y: 0, scale: 1})
|
this.syncSeatRowGuide(initialView)
|
||||||
this._seatPanzoom = instance
|
this._seatPanzoom = instance
|
||||||
this._seatPanzoomViewport = viewport
|
this._seatPanzoomViewport = viewport
|
||||||
this._seatPanzoomMatrix = matrix
|
this._seatPanzoomMatrix = matrix
|
||||||
this._seatPanzoomWheelHandler = wheelHandler
|
this._seatPanzoomWheelHandler = wheelHandler
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getSeatInitialView(viewport, matrix) {
|
||||||
|
const rowCount = Number(this.seatConfig.rows) || 0
|
||||||
|
const colCount = Number(this.seatConfig.cols) || 0
|
||||||
|
const maxSize = Math.max(rowCount, colCount)
|
||||||
|
let scale = 1
|
||||||
|
|
||||||
|
if (maxSize <= 4) {
|
||||||
|
scale = 1.45
|
||||||
|
} else if (maxSize <= 6) {
|
||||||
|
scale = 1.25
|
||||||
|
} else if (maxSize <= 8) {
|
||||||
|
scale = 1.1
|
||||||
|
} else if (maxSize >= 18) {
|
||||||
|
scale = 0.98
|
||||||
|
} else if (maxSize >= 14) {
|
||||||
|
scale = 1.05
|
||||||
|
}
|
||||||
|
|
||||||
|
const viewportWidth = viewport.clientWidth
|
||||||
|
const viewportHeight = viewport.clientHeight
|
||||||
|
const matrixWidth = matrix.offsetWidth
|
||||||
|
const matrixHeight = matrix.offsetHeight
|
||||||
|
const x = ((viewportWidth - matrixWidth * scale) / 2 - matrix.offsetLeft + 14) / scale
|
||||||
|
const y = ((viewportHeight - matrixHeight * scale) / 2 - matrix.offsetTop) / scale
|
||||||
|
|
||||||
|
return {x: x, y: y, scale: scale}
|
||||||
|
},
|
||||||
|
|
||||||
destroySeatPanzoom() {
|
destroySeatPanzoom() {
|
||||||
if (this._seatPanzoomViewport && this._seatPanzoomWheelHandler) {
|
if (this._seatPanzoomViewport && this._seatPanzoomWheelHandler) {
|
||||||
this._seatPanzoomViewport.removeEventListener('wheel', this._seatPanzoomWheelHandler)
|
this._seatPanzoomViewport.removeEventListener('wheel', this._seatPanzoomWheelHandler)
|
||||||
|
|||||||
Reference in New Issue
Block a user