seat numbering algorithm progress

This commit is contained in:
janis
2023-09-19 11:10:11 +02:00
parent 8097ec6368
commit 7eaa81ba14
2 changed files with 13 additions and 4 deletions

View File

@@ -74,16 +74,23 @@ export default {
calculateChairs () { calculateChairs () {
// Size of seat at scale 1 is 32px // Size of seat at scale 1 is 32px
// w & h are normalised // w & h are normalised
// TODO: numbering and numbering direction let offsets = {};
// TODO: get component number and numbering direction as well if ( this.data.seatInfo ) {
console.log( this.data ); for ( let element in this.data.seatInfo.data ) {
if ( this.data.seatInfo.data[ element ] > this.data.seatNumbering ) {
for ( let row in this.data.seatInfo.data[ element ] ) {
offsets[ row ] += this.data.seatInfo.data[ element ][ row ];
}
}
}
}
let w = Math.floor( this.w / this.scaleFactor ); let w = Math.floor( this.w / this.scaleFactor );
let h = Math.floor( this.h / this.scaleFactor ); let h = Math.floor( this.h / this.scaleFactor );
const size = 33; const size = 33;
this.seats = {}; this.seats = {};
for ( let row = 0; row < Math.floor( h / size ); row++ ) { for ( let row = 0; row < Math.floor( h / size ); row++ ) {
this.seats[ row ] = {}; this.seats[ row ] = {};
for ( let n = 0; n < Math.floor( w / size ); n++ ) { for ( let n = ( offsets[ row ] ?? 0 ); n < ( Math.floor( w / size ) + ( offsets[ row ] ?? 0 ) ); n++ ) {
this.seats[ row ][ n ] = { 'style': '', 'id': 'sec' + this.data.sector + 'r' + row + 's' + n, 'displayName': ( this.data.sectorCount > 1 ? 'Sector ' + this.data.sector + ', ' : '' ) + 'Row ' + ( row + 1 ) + ', Seat ' + ( n + 1 ), 'status': 'av', 'row': row, 'seat': n }; this.seats[ row ][ n ] = { 'style': '', 'id': 'sec' + this.data.sector + 'r' + row + 's' + n, 'displayName': ( this.data.sectorCount > 1 ? 'Sector ' + this.data.sector + ', ' : '' ) + 'Row ' + ( row + 1 ) + ', Seat ' + ( n + 1 ), 'status': 'av', 'row': row, 'seat': n };
if ( this.origin === 1 ) { if ( this.origin === 1 ) {
this.seats[ row ][ n ][ 'style' ] = `bottom: ${ row * size * this.scaleFactor }px; left: ${ n * size * this.scaleFactor }px; rotate: ${ this.origin / 4 - 0.25 }turn;`; this.seats[ row ][ n ][ 'style' ] = `bottom: ${ row * size * this.scaleFactor }px; left: ${ n * size * this.scaleFactor }px; rotate: ${ this.origin / 4 - 0.25 }turn;`;

View File

@@ -165,6 +165,8 @@
'color': this.event.categories[ this.draggables[ element ][ 'category' ] ][ 'fg' ] 'color': this.event.categories[ this.draggables[ element ][ 'category' ] ][ 'fg' ]
}, },
'seatInfo': seatInfo, 'seatInfo': seatInfo,
'seatNumbering': this.draggables[ element ].seatNumberingPosition,
'numberingDirection': this.draggables[ element ].numberingDirection,
}; };
} }