[IMP] Calendar Reservation Set Style

This commit is contained in:
Alexandre Díaz
2019-01-11 18:59:50 +01:00
parent ae696425b5
commit efeacf4abf

View File

@@ -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);
} }
}, },