odoo/addons/web_calendar/static/lib/dhtmlxScheduler/sources/ext/dhtmlxscheduler_expand.js

75 lines
2.4 KiB
JavaScript

/*
This software is allowed to use under GPL or you need to obtain Commercial or Enterise License
to use it in non-GPL project. Please contact sales@dhtmlx.com for details
*/
scheduler.expand = function(){
var t = scheduler._obj;
do {
t._position = t.style.position||"";
t.style.position = "static";
} while ((t = t.parentNode) && t.style );
t = scheduler._obj;
t.style.position="absolute";
t._width = t.style.width;
t._height = t.style.height;
t.style.width = t.style.height = "100%";
t.style.top = t.style.left = "0px";
var top = document.body;
top.scrollTop = 0;
top = top.parentNode;
if (top)
top.scrollTop = 0;
document.body._overflow=document.body.style.overflow||"";
document.body.style.overflow = "hidden";
scheduler._maximize();
};
scheduler.collapse = function(){
var t = scheduler._obj;
do {
t.style.position = t._position;
} while ((t = t.parentNode) && t.style );
t = scheduler._obj;
t.style.width = t._width;
t.style.height = t._height;
document.body.style.overflow=document.body._overflow;
scheduler._maximize();
};
scheduler.attachEvent("onTemplatesReady",function(){
var t = document.createElement("DIV");
t.className="dhx_expand_icon";
scheduler.toggleIcon = t;
scheduler._obj.appendChild(t);
t.onclick = function(){
if (!scheduler.expanded)
scheduler.expand();
else
scheduler.collapse();
}
});
scheduler._maximize = function(){
this.expanded = !this.expanded;
this.toggleIcon.style.backgroundPosition="0px "+(this.expanded?"0":"18")+"px";
var directions = ['left', 'top'];
for(var i=0; i<directions.length; i++) {
var margin = scheduler.xy['margin_'+directions[i]];
var prev_margin = scheduler['_prev_margin_'+directions[i]];
if(scheduler.xy['margin_'+directions[i]]){
scheduler['_prev_margin_'+directions[i]] = scheduler.xy['margin_'+directions[i]];
scheduler.xy['margin_'+directions[i]] = 0;
}
else {
if(prev_margin){
scheduler.xy['margin_'+directions[i]] = scheduler['_prev_margin_'+directions[i]];
delete scheduler['_prev_margin_'+directions[i]];
}
}
}
if (scheduler.callEvent("onSchedulerResize",[]))
scheduler.update_view();
};