mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
Api - some basic support for printing popups
This commit is contained in:
parent
e7b06de719
commit
c6f2f7f85e
@ -21,7 +21,7 @@
|
||||
*
|
||||
* @augments et2_valueWidget
|
||||
*/
|
||||
var et2_tabbox = (function(){ "use strict"; return et2_valueWidget.extend([et2_IInput,et2_IResizeable],
|
||||
var et2_tabbox = (function(){ "use strict"; return et2_valueWidget.extend([et2_IInput,et2_IResizeable,et2_IPrint],
|
||||
{
|
||||
attributes: {
|
||||
'tabs': {
|
||||
@ -451,7 +451,7 @@ var et2_tabbox = (function(){ "use strict"; return et2_valueWidget.extend([et2_I
|
||||
},
|
||||
|
||||
getDOMNode: function(_sender) {
|
||||
if (_sender == this)
|
||||
if (_sender === this || typeof _sender === 'undefined')
|
||||
{
|
||||
return this.container[0];
|
||||
}
|
||||
@ -518,6 +518,43 @@ var et2_tabbox = (function(){ "use strict"; return et2_valueWidget.extend([et2_I
|
||||
{
|
||||
this.set_height(this.tabContainer.height());
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Set up for printing
|
||||
*
|
||||
* @return {undefined|Deferred} Return a jQuery Deferred object if not done setting up
|
||||
* (waiting for data)
|
||||
*/
|
||||
beforePrint: function()
|
||||
{
|
||||
// Remove the "active" flag from all tabs-flags
|
||||
jQuery(".et2_tabflag", this.flagContainer).removeClass("active");
|
||||
|
||||
// Remove height limit
|
||||
this.tabContainer.css("height", '');
|
||||
|
||||
// Show all enabled tabs
|
||||
for (var i = 0; i < this.tabData.length; i++)
|
||||
{
|
||||
var entry = this.tabData[i];
|
||||
if(entry.hidden) continue;
|
||||
entry.flagDiv.insertBefore(entry.contentDiv);
|
||||
entry.contentDiv.show();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Reset after printing
|
||||
*/
|
||||
afterPrint: function()
|
||||
{
|
||||
for (var i = 0; i < this.tabData.length; i++)
|
||||
{
|
||||
var entry = this.tabData[i];
|
||||
entry.flagDiv.appendTo(this.flagContainer);
|
||||
}
|
||||
this.setActiveTab(this.get_active_tab());
|
||||
}
|
||||
});}).call(this);
|
||||
et2_register_widget(et2_tabbox, ["tabbox"]);
|
||||
|
@ -1090,13 +1090,15 @@ var fw_base = (function(){ "use strict"; return Class.extend(
|
||||
},
|
||||
|
||||
/**
|
||||
* Print function prints the active window
|
||||
* Print function prints the active window, or the provided window
|
||||
*/
|
||||
print: function()
|
||||
print: function(_window)
|
||||
{
|
||||
if (this.activeApp && this.activeApp.appName != 'manual')
|
||||
if (_window || this.activeApp && this.activeApp.appName != 'manual')
|
||||
{
|
||||
var appWindow = this.egw_appWindow(this.activeApp.appName);
|
||||
var appWindow = _window || this.egw_appWindow(this.activeApp.appName);
|
||||
var content = (_window && appWindow === _window) ?
|
||||
_window.document : this.activeApp.tab.contentDiv;
|
||||
if (appWindow)
|
||||
{
|
||||
appWindow.focus();
|
||||
@ -1104,8 +1106,8 @@ var fw_base = (function(){ "use strict"; return Class.extend(
|
||||
// et2 available, let its widgets prepare
|
||||
var deferred = [];
|
||||
var et2_list = [];
|
||||
jQuery('.et2_container',this.activeApp.tab.contentDiv).each(function() {
|
||||
var et2 = etemplate2.getById(this.id);
|
||||
jQuery('.et2_container',content).each(function() {
|
||||
var et2 = appWindow.etemplate2.getById(this.id);
|
||||
if(et2 && jQuery(et2.DOMContainer).filter(':visible').length)
|
||||
{
|
||||
deferred = deferred.concat(et2.print());
|
||||
@ -1124,12 +1126,12 @@ var fw_base = (function(){ "use strict"; return Class.extend(
|
||||
egw.loading_prompt(app.appName,true,egw.lang('please wait...'),app.browser.baseDiv, egwIsMobile()?'horizental':'spinner');
|
||||
|
||||
// Give framework a chance to deal, then reset the etemplates
|
||||
window.setTimeout(function() {
|
||||
appWindow.setTimeout(function() {
|
||||
for(var i = 0; i < et2_list.length; i++)
|
||||
{
|
||||
et2_list[i].widgetContainer.iterateOver(function(_widget) {
|
||||
_widget.afterPrint();
|
||||
},et2_list[i],et2_IPrint);
|
||||
},et2_list[i],appWindow.et2_IPrint);
|
||||
}
|
||||
egw.loading_prompt(app.appName,false);
|
||||
},100);
|
||||
|
@ -1833,6 +1833,15 @@ ul[id$='favorites_popup_state'] span.filter_value {
|
||||
height: auto !important;
|
||||
width: auto !important;
|
||||
}
|
||||
/** Show tab labels full width, with a little extra space */
|
||||
.et2_tabbox .et2_tabflag {
|
||||
width: 100%;
|
||||
padding-top: 1em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.et2_tabs {
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Grid / nextmatch Hierarchy
|
||||
|
Loading…
Reference in New Issue
Block a user