Files
luos/workflow/engine/templates/cases/casesStartPage.js

292 lines
7.6 KiB
JavaScript

//Ext.BLANK_IMAGE_URL = 'resources/s.gif';
Ext.chart.Chart.CHART_URL = '/images/charts.swf';
Ext.FlashComponent.EXPRESS_INSTALL_URL = '/images/expressinstall.swf';
// The Quicktips are used for the toolbar and Tree mouseover tooltips!
Ext.QuickTips.init();
var conn = new Ext.data.Connection();
function getOtherDashboards(dashboardTabPanels) {
conn.request({
url : 'casesStartPage_Ajax.php',
method : 'POST',
params : {
"action" : 'getRegisteredDashboards'
},
success : function(responseObject) {
var response = Ext.util.JSON.decode(responseObject.responseText);
for ( var i = 0; i < response.length; i++) {
tabInfo = response[i];
if (tabInfo.sName) {
dashboardTabPanels.add({
title : tabInfo.sName,
id : tabInfo.sNamespace + "-" + tabInfo.sName,
iconCls : tabInfo.sIcon,// 'ICON_CASES_START_PAGE',
autoLoad : {
url : tabInfo.sPage,
scripts : true
}
// disabled:true,
});
}
}
getDefaultDashboard(dashboardTabPanels);
},
failure : function() {
// grid.getGridEl().unmask(true);
getDefaultDashboard(dashboardTabPanels);
Ext.Msg.alert('Status', 'Unable to get Dashboards');
}
});
}
function getDefaultDashboard(dashboardTabPanels) {
defaultDashboard = "mainDashboard";
dashboardTabPanels.setActiveTab(defaultDashboard);
Ext.getCmp("dashboardTabPanels").getEl()
.mask("Please wait, retrieving data...",
"ext-el-mask-msg x-mask-loading");
var parameters = {
action : 'getDefaultDashboard'
};
conn.request({
url : 'casesStartPage_Ajax.php',
method : 'POST',
params : {
"action" : 'getDefaultDashboard'
},
success : function(responseObject) {
// showHistoryDialog(responseObject.responseText);
// grid.getGridEl().unmask(true);
// Ext.Msg.alert('Status', responseObject.responseText);
var responseData = Ext.decode(responseObject.responseText);
// console.log(responseData);
// console.log(responseData.defaultTab);
if (responseData.defaultTab) {
defaultDashboard = responseData.defaultTab;
}
if (dashboardTabPanels.getItem(defaultDashboard)) {
dashboardTabPanels.setActiveTab(defaultDashboard);
}
Ext.getCmp("dashboardTabPanels").getEl().unmask();
},
failure : function() {
Ext.getCmp("dashboardTabPanels").getEl().unmask();
// grid.getGridEl().unmask(true);
// Ext.Msg.alert('Status', 'Unable to get list of Process');
}
});
// Get User Dashbaord Default if allowed
return defaultDashboard;
}
Docs = {};
var MainPanel = function() {
MainPanel.superclass.constructor.call(this, {
id : 'doc-body',
region : 'center',
resizeTabs : true,
minTabWidth : 135,
tabWidth : 135,
plugins : new Ext.ux.TabCloseMenu(),
enableTabScroll : true,
activeTab : 0,
items : []
});
};
// console.info("Main Panel - End");
Ext
.extend(
MainPanel,
Ext.TabPanel,
{
initEvents : function() {
MainPanel.superclass.initEvents.call(this);
this.body.on('click', this.onClick, this);
},
onClick : function(e, target, elementselected) {
return;
if (target = e.getTarget('a:not(.exi)', 3)) {
var cls = Ext.fly(target).getAttributeNS('ext',
'cls');
e.stopEvent();
if (cls) {
var member = Ext.fly(target).getAttributeNS(
'ext', 'member');
this.loadClass(target.href, cls, member);
} else if (target.className == 'inner-link') {
this.getActiveTab().scrollToSection(
target.href.split('#')[1]);
} else {
window.open(target.href);
}
} else if (target = e.getTarget('.micon', 2)) {
e.stopEvent();
var tr = Ext.fly(target.parentNode);
if (tr.hasClass('expandable')) {
tr.toggleClass('expanded');
}
}
},
/*
* startNewCase:function(){ alert("asdasdasd"); },
*/
loadOtherDashboards : function() {
// console.info("Getting other Dashboards");
dashboardTabPanels = this;
// console.log(dashboardTabPanels);
conn.request({
url : 'casesStartPage_Ajax.php',
method : 'POST',
params : {
"action" : 'getRegisteredDashboards'
},
success : function(responseObject) {
var response = Ext.util.JSON
.decode(responseObject.responseText);
for (var i in response) {
tabInfo = response[i];
if (tabInfo.sName) {
dashboardTabPanels.add({
title : tabInfo.sName,
id : tabInfo.sNamespace + "-"
+ tabInfo.sName,
iconCls : tabInfo.sIcon,// 'ICON_CASES_START_PAGE',
autoLoad : {
url : tabInfo.sPage,
scripts : true
}
// disabled:true,
});
}
}
// getDefaultDashboard(dashboardTabPanels);
dashboardTabPanels.activateDefaultTab();
},
failure : function() {
// grid.getGridEl().unmask(true);
// getDefaultDashboard(dashboardTabPanels);
dashboardTabPanels.activateDefaultTab();
Ext.Msg.alert('Status',
'Unable to get Dashboards');
}
});
},
activateDefaultTab : function() {
// api.expandPath('/root/apidocs');
// allow for link in
var page = window.location.href.split('?')[1];
// console.info("page : "+page);
if (page) {
var ps = Ext.urlDecode(page);
// console.log(ps.action);
if (ps.action) {
defaultDashboard = ps.action;
if (this.getItem(defaultDashboard)) {
// console.info("Setting the new default
// dashboard:
// "+defaultDashboard);
this.setActiveTab(defaultDashboard);
}
}
// var cls = ps['class'];
// mainPanel.loadClass('output/' + cls + '.html',
// cls, ps.member);
}
}
});
var mainPanel = new MainPanel();
Ext.onReady(function() {
var Cookies = {};
Cookies.set = function(name, value) {
var argv = arguments;
var argc = arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : '/';
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name
+ "="
+ escape(value)
+ ((expires == null) ? "" : ("; expires=" + expires
.toGMTString()))
+ ((path == null) ? "" : ("; path=" + path))
+ ((domain == null) ? "" : ("; domain=" + domain))
+ ((secure == true) ? "; secure" : "");
};
Cookies.get = function(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
var j = 0;
while (i < clen) {
j = i + alen;
if (document.cookie.substring(i, j) == arg)
return Cookies.getCookieVal(j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
break;
}
return null;
};
Cookies.clear = function(name) {
if (Cookies.get(name)) {
document.cookie = name + "="
+ "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
};
Cookies.getCookieVal = function(offset) {
var endstr = document.cookie.indexOf(";", offset);
if (endstr == -1) {
endstr = document.cookie.length;
}
return unescape(document.cookie.substring(offset, endstr));
};
mainPanel.on('tabchange', function(tp, tab) {
if (tab.getUpdater) {
var thisObj = tab.getUpdater();
if (thisObj) {
thisObj.refresh();
}
}
});
var viewport = new Ext.Viewport({
layout : 'border',
items : [
mainPanel ]
});
mainPanel.loadOtherDashboards();
// console.info("viewport -end");
viewport.doLayout();
// routine to hide the debug panel if it is open
if (parent.PANEL_EAST_OPEN) {
parent.PANEL_EAST_OPEN = false;
var debugPanel = parent.Ext.getCmp('debugPanel');
debugPanel.hide();
debugPanel.ownerCt.doLayout();
}
});