mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[IMP] Calendar Reservation Set Style
This commit is contained in:
@@ -1733,45 +1733,49 @@ HotelCalendar.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!noRefresh) {
|
if (!noRefresh) {
|
||||||
//reserv._html.removeAttribute('style');
|
|
||||||
|
|
||||||
var boundsInit = reserv._limits.left.getBoundingClientRect();
|
var boundsInit = reserv._limits.left.getBoundingClientRect();
|
||||||
var boundsEnd = reserv._limits.right.getBoundingClientRect();
|
var boundsEnd = reserv._limits.right.getBoundingClientRect();
|
||||||
var etableOffset = this.etable.getBoundingClientRect();
|
var etableOffset = this.etable.getBoundingClientRect();
|
||||||
var divHeight = (boundsEnd.bottom-etableOffset.top-4)-(boundsInit.top-etableOffset.top);
|
var divHeight = (boundsEnd.bottom-etableOffset.top-4)-(boundsInit.top-etableOffset.top);
|
||||||
var fontHeight = 12;
|
|
||||||
var has_changed = false;
|
var has_changed = false;
|
||||||
|
|
||||||
reserv._html.style.backgroundColor = reserv.color;
|
var reservStyles = {
|
||||||
reserv._html.style.color = reserv.colorText;
|
backgroundColor: reserv.color,
|
||||||
reserv._html.style.height = `${divHeight}px`;
|
color: reserv.colorText,
|
||||||
reserv._html.style.lineHeight = `${divHeight}px`;
|
lineHeight: `${divHeight}px`,
|
||||||
reserv._html.style.fontSize = `${fontHeight}px`;
|
fontSize: '12px',
|
||||||
reserv._html.style.top = `${boundsInit.top-etableOffset.top+2}px`;
|
top: `${boundsInit.top-etableOffset.top+2}px`,
|
||||||
reserv._html.style.left = `${boundsInit.left-etableOffset.left+2}px`;
|
left: `${boundsInit.left-etableOffset.left+2}px`,
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-4}px`;
|
width: `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-4}px`,
|
||||||
|
height: `${divHeight}px`,
|
||||||
|
borderLeftWidth: '',
|
||||||
|
borderLeftStyle: '',
|
||||||
|
borderRightWidth: '',
|
||||||
|
borderRightStyle: '',
|
||||||
|
};
|
||||||
|
|
||||||
if (reserv._drawModes[0] === 'soft-start') {
|
if (reserv._drawModes[0] === 'soft-start') {
|
||||||
has_changed = true;
|
has_changed = true;
|
||||||
reserv._html.style.borderLeftWidth = '3px';
|
reservStyles.borderLeftWidth = '3px';
|
||||||
reserv._html.style.borderLeftStyle = 'double';
|
reservStyles.borderLeftStyle = 'double';
|
||||||
reserv._html.style.left = `${boundsInit.left-etableOffset.left}px`;
|
reservStyles.left = `${boundsInit.left-etableOffset.left}px`;
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
reservStyles.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
||||||
} else if (reserv.splitted && reserv.startDate.isSame(reserv.getUserData('realDates')[0], 'day')) {
|
} else if (reserv.splitted && reserv.startDate.isSame(reserv.getUserData('realDates')[0], 'day')) {
|
||||||
has_changed = true;
|
has_changed = true;
|
||||||
reserv._html.style.borderLeftWidth = '0';
|
reservStyles.borderLeftWidth = '0';
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
reservStyles.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reserv._drawModes[1] === 'soft-end') {
|
if (reserv._drawModes[1] === 'soft-end') {
|
||||||
has_changed = true;
|
has_changed = true;
|
||||||
reserv._html.style.borderRightWidth = '3px';
|
reservStyles.borderRightWidth = '3px';
|
||||||
reserv._html.style.borderRightStyle = 'double';
|
reservStyles.borderRightStyle = 'double';
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
reservStyles.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-2}px`;
|
||||||
} else if (reserv.splitted && reserv.endDate.isSame(reserv.getUserData('realDates')[1], 'day')) {
|
} else if (reserv.splitted && reserv.endDate.isSame(reserv.getUserData('realDates')[1], 'day')) {
|
||||||
has_changed = true;
|
has_changed = true;
|
||||||
reserv._html.style.borderRightWidth = '0';
|
reservStyles.borderRightWidth = '0';
|
||||||
reserv._html.style.left = `${boundsInit.left-etableOffset.left-1}px`;
|
reservStyles.left = `${boundsInit.left-etableOffset.left-1}px`;
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-1}px`;
|
reservStyles.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width-1}px`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reserv.splitted) {
|
if (reserv.splitted) {
|
||||||
@@ -1784,15 +1788,17 @@ HotelCalendar.prototype = {
|
|||||||
// TODO: Improve pseudo-random number generator
|
// TODO: Improve pseudo-random number generator
|
||||||
var magicNumber = ~~(Math.abs(Math.sin((reserv.getUserData('parent_reservation') || reserv.id))) * 100000);
|
var magicNumber = ~~(Math.abs(Math.sin((reserv.getUserData('parent_reservation') || reserv.id))) * 100000);
|
||||||
var bbColor = this._intToRgb(magicNumber);
|
var bbColor = this._intToRgb(magicNumber);
|
||||||
reserv._html.style.borderColor = `rgb(${bbColor[0]},${bbColor[1]},${bbColor[2]})`;
|
reservStyles.borderColor = `rgb(${bbColor[0]},${bbColor[1]},${bbColor[2]})`;
|
||||||
|
|
||||||
if (!has_changed) {
|
if (!has_changed) {
|
||||||
reserv._html.style.left = `${boundsInit.left-etableOffset.left-1}px`;
|
reservStyles.left = `${boundsInit.left-etableOffset.left-1}px`;
|
||||||
reserv._html.style.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width+2}px`;
|
reservStyles.width = `${(boundsEnd.left-boundsInit.left)+boundsEnd.width+2}px`;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
reserv._html.classList.remove('hcal-reservation-splitted');
|
reserv._html.classList.remove('hcal-reservation-splitted');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Object.assign(reserv._html.style, reservStyles);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user