mirror of
https://github.com/salesagility/SuiteCRM.git
synced 2024-11-24 08:36:48 +00:00
730 lines
28 KiB
JavaScript
Executable File
730 lines
28 KiB
JavaScript
Executable File
/**
|
|
*
|
|
* SugarCRM Community Edition is a customer relationship management program developed by
|
|
* SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
|
|
*
|
|
* SuiteCRM is an extension to SugarCRM Community Edition developed by SalesAgility Ltd.
|
|
* Copyright (C) 2011 - 2018 SalesAgility Ltd.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it under
|
|
* the terms of the GNU Affero General Public License version 3 as published by the
|
|
* Free Software Foundation with the addition of the following permission added
|
|
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
|
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
|
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License along with
|
|
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
|
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
* 02110-1301 USA.
|
|
*
|
|
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
|
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
|
*
|
|
* The interactive user interfaces in modified source and object code versions
|
|
* of this program must display Appropriate Legal Notices, as required under
|
|
* Section 5 of the GNU Affero General Public License version 3.
|
|
*
|
|
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
|
|
* these Appropriate Legal Notices must retain the display of the "Powered by
|
|
* SugarCRM" logo and "Supercharged by SuiteCRM" logo. If the display of the logos is not
|
|
* reasonably feasible for technical reasons, the Appropriate Legal Notices must
|
|
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
|
|
*/
|
|
|
|
|
|
|
|
initMySugar = function () {
|
|
SUGAR.mySugar = function () {
|
|
var originalLayout = null;
|
|
var configureDashletId = null;
|
|
var currentDashlet = null;
|
|
var leftColumnInnerHTML = null;
|
|
var leftColObj = null;
|
|
var maxCount;
|
|
var warningLang;
|
|
|
|
var closeDashletsDialogTimer = null;
|
|
|
|
var activeTab = activePage;
|
|
var current_user = current_user_id;
|
|
|
|
var module = moduleName;
|
|
|
|
var charts = {};
|
|
|
|
if (module == 'Dashboard') {
|
|
cookiePageIndex = current_user + "_activeDashboardPage";
|
|
}
|
|
else {
|
|
cookiePageIndex = current_user + "_activePage";
|
|
}
|
|
|
|
var homepage_dd;
|
|
|
|
return {
|
|
|
|
// get the current dashlet layout
|
|
getLayout: function (asString) {
|
|
columns = [];
|
|
for (je = 0; je < 3; je++) {
|
|
dashlets = document.getElementById('col_' + activeTab + '_' + je);
|
|
|
|
if (dashlets != null) {
|
|
dashletIds = [];
|
|
for (wp = 0; wp < dashlets.childNodes.length; wp++) {
|
|
if (typeof dashlets.childNodes[wp].id != 'undefined' && dashlets.childNodes[wp].id.match(/dashlet_[\w-]*/)) {
|
|
dashletIds.push(dashlets.childNodes[wp].id.replace(/dashlet_/, ''));
|
|
}
|
|
}
|
|
if (asString)
|
|
columns[je] = dashletIds.join(',');
|
|
else
|
|
columns[je] = dashletIds;
|
|
}
|
|
}
|
|
|
|
if (asString) return columns.join('|');
|
|
else return columns;
|
|
},
|
|
|
|
// called when dashlet is picked up
|
|
onDrag: function (e, id) {
|
|
originalLayout = SUGAR.mySugar.getLayout(true);
|
|
},
|
|
|
|
// called when dashlet is dropped
|
|
onDrop: function (e, id) {
|
|
newLayout = SUGAR.mySugar.getLayout(true);
|
|
if (originalLayout != newLayout) { // only save if the layout has changed
|
|
SUGAR.mySugar.saveLayout(newLayout);
|
|
// TODO: Investigate JS error from this
|
|
SUGAR.mySugar.sugarCharts.loadSugarCharts(); // called safely because there is a check to be sure the array exists
|
|
}
|
|
// Show new dashlet position
|
|
$('.dashletcontainer').find('.dashletPanel').css('display', 'block');
|
|
// hide placeholder
|
|
$('.dashletcontainer').find('div').each(function (e, v) {
|
|
|
|
if ($(v).html() == '' && typeof $(v).attr('id') === 'undefined' && typeof $(v).attr('class') === 'undefined') {
|
|
$(this).css('display', 'none');
|
|
}
|
|
});
|
|
},
|
|
|
|
// save the layout of the dashlet
|
|
saveLayout: function (order) {
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_SAVING_LAYOUT'));
|
|
var success = function (data) {
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_SAVED_LAYOUT'));
|
|
window.setTimeout('ajaxStatus.hideStatus()', 2000);
|
|
};
|
|
|
|
YAHOO.util.Connect.asyncRequest('POST', 'index.php?' + SUGAR.util.paramsToUrl({
|
|
'module': module,
|
|
'action': 'DynamicAction',
|
|
'DynamicAction': 'saveLayout',
|
|
'selectedPage': activeTab,
|
|
'to_pdf': 1
|
|
}), {
|
|
success: success,
|
|
failure: success
|
|
}, SUGAR.util.paramsToUrl({
|
|
'layout': order
|
|
}));
|
|
},
|
|
|
|
|
|
uncoverPage: function (id) {
|
|
if (!SUGAR.isIE) {
|
|
document.getElementById('dlg_c').style.display = 'none';
|
|
}
|
|
configureDlg.hide();
|
|
if (document.getElementById('dashletType') == null) {
|
|
dashletType = '';
|
|
} else {
|
|
dashletType = document.getElementById('dashletType').value;
|
|
}
|
|
SUGAR.mySugar.retrieveDashlet(SUGAR.mySugar.configureDashletId, dashletType);
|
|
},
|
|
|
|
// call to configure a Dashlet
|
|
configureDashlet: function (id) {
|
|
var dashletId = id;
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_LOADING'));
|
|
configureDlg = new YAHOO.widget.SimpleDialog("dlg", {
|
|
visible: false,
|
|
effect: [{effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.5}],
|
|
fixedcenter: false,
|
|
modal: true,
|
|
draggable: false,
|
|
x: 0,
|
|
zIndex: 11
|
|
});
|
|
|
|
|
|
configureDlg.hideEvent.subscribe(function () {
|
|
$('#dlg').removeClass('SuiteP-configureDashlet');
|
|
});
|
|
|
|
fillInConfigureDiv = function (data) {
|
|
ajaxStatus.hideStatus();
|
|
try {
|
|
SUGAR.util.globalEval(data.responseText);
|
|
}
|
|
catch (e) {
|
|
result = [];
|
|
result['header'] = 'error';
|
|
result['body'] = 'There was an error handling this request.';
|
|
}
|
|
configureDlg.setHeader(result['header']);
|
|
configureDlg.setBody(result['body']);
|
|
var listeners = new YAHOO.util.KeyListener(document, {keys: 27}, {
|
|
fn: function () {
|
|
this.hide();
|
|
}, scope: configureDlg, correctScope: true
|
|
});
|
|
configureDlg.cfg.queueProperty("keylisteners", listeners);
|
|
|
|
configureDlg.render(document.body);
|
|
configureDlg.show();
|
|
$('#dlg').addClass('SuiteP-configureDashlet');
|
|
configureDlg.configFixedCenter(null, false);
|
|
SUGAR.util.evalScript(result['body']);
|
|
|
|
|
|
// animate to position
|
|
$('html, body').animate({
|
|
scrollTop: newTop
|
|
});
|
|
$('#dlg').animate({
|
|
top: (newTop) + 'px'
|
|
});
|
|
|
|
};
|
|
|
|
SUGAR.mySugar.configureDashletId = id; // save the id of the dashlet being configured
|
|
var cObj = YAHOO.util.Connect.asyncRequest('GET', 'index.php?to_pdf=1&module=' + module + '&action=DynamicAction&DynamicAction=configureDashlet&id=' + id,
|
|
{success: fillInConfigureDiv, failure: fillInConfigureDiv}, null);
|
|
|
|
|
|
},
|
|
|
|
|
|
/** returns dashlets contents
|
|
* if url is defined, dashlet will be retrieve with it, otherwise use default url
|
|
*
|
|
* @param string id id of the dashlet to refresh
|
|
* @param string url url to be used
|
|
* @param function callback callback function after refresh
|
|
* @param bool dynamic does the script load dynamic javascript, set to true if you user needs to refresh the dashlet after load
|
|
*/
|
|
retrieveDashlet: function (id, url, callback, dynamic, pageReload, pageTabElement) {
|
|
var _pageReload = typeof pageReload == 'undefined' ? false : pageReload;
|
|
var _pageTabElement = typeof pageTabElement == 'undefined' || pageTabElement.length == 0 ? false : pageTabElement;
|
|
if (!_pageTabElement && SUGAR.mySugar.currentDashlet && $('#' + SUGAR.mySugar.currentDashlet.id).closest('.tab-pane').length > 0) {
|
|
_pageTabElement = $('#' + SUGAR.mySugar.currentDashlet.id).closest('.tab-pane');
|
|
}
|
|
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_LOADING'));
|
|
|
|
if (!url) {
|
|
url = 'index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module=' + module + '&to_pdf=1&id=' + id;
|
|
is_chart_dashlet = false;
|
|
}
|
|
else if (url == 'predefined_chart') {
|
|
url = 'index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module=' + module + '&to_pdf=1&id=' + id;
|
|
scriptUrl = 'index.php?action=DynamicAction&DynamicAction=getPredefinedChartScript&session_commit=1&module=' + module + '&to_pdf=1&id=' + id;
|
|
is_chart_dashlet = true;
|
|
}
|
|
|
|
|
|
if (dynamic) {
|
|
url += '&dynamic=true';
|
|
}
|
|
SUGAR.mySugar.currentDashlet = document.getElementById('dashlet_entire_' + id);
|
|
$.ajax({"method": "GET", "url": url}).done(function (data, textStatus, jqXHR) {
|
|
var updateDashlet = null;
|
|
if ($(data).find('#dashlet_entire_' + id).length == 0) {
|
|
// Suite7 & SuiteR
|
|
updateDashlet = $(data).find('.bd-center').html();
|
|
} else {
|
|
// SuiteP
|
|
updateDashlet = $(data).find('#dashlet_entire_' + id + ' .bd-center').html();
|
|
}
|
|
|
|
|
|
$('#dashlet_entire_' + id)
|
|
.find('.bd-center')
|
|
.html(updateDashlet);
|
|
|
|
ajaxStatus.hideStatus();
|
|
});
|
|
|
|
$('#dashlet_header_' + SUGAR.mySugar.configureDashletId).load(url + ' #dashlet_header_' + SUGAR.mySugar.configureDashletId);
|
|
|
|
return false;
|
|
},
|
|
|
|
// for the display columns widget
|
|
setChooser: function () {
|
|
var displayColumnsDef = [];
|
|
var hideTabsDef = [];
|
|
|
|
var left_td = document.getElementById('display_tabs_td');
|
|
var right_td = document.getElementById('hide_tabs_td');
|
|
|
|
var displayTabs = left_td.getElementsByTagName('select')[0];
|
|
var hideTabs = right_td.getElementsByTagName('select')[0];
|
|
|
|
for (i = 0; i < displayTabs.options.length; i++) {
|
|
displayColumnsDef.push(displayTabs.options[i].value);
|
|
}
|
|
|
|
if (typeof hideTabs != 'undefined') {
|
|
for (i = 0; i < hideTabs.options.length; i++) {
|
|
hideTabsDef.push(hideTabs.options[i].value);
|
|
}
|
|
}
|
|
|
|
document.getElementById('displayColumnsDef').value = displayColumnsDef.join('|');
|
|
document.getElementById('hideTabsDef').value = hideTabsDef.join('|');
|
|
},
|
|
|
|
deleteDashlet: function (id) {
|
|
if (confirm(SUGAR.language.get('app_strings', 'LBL_REMOVE_DASHLET_CONFIRM'))) {
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_REMOVING_DASHLET'));
|
|
|
|
del = function () {
|
|
var success = function (data) {
|
|
dashlet = document.getElementById('dashlet_' + id);
|
|
dashlet.parentNode.removeChild(dashlet);
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_REMOVED_DASHLET'));
|
|
window.setTimeout('ajaxStatus.hideStatus()', 2000);
|
|
};
|
|
|
|
|
|
var cObj = YAHOO.util.Connect.asyncRequest('GET', 'index.php?to_pdf=1&module=' + module + '&action=DynamicAction&DynamicAction=deleteDashlet&activePage=' + activeTab + '&id=' + id,
|
|
{success: success, failure: success}, null);
|
|
};
|
|
|
|
var anim = new YAHOO.util.Anim('dashlet_entire_' + id, {height: {to: 1}}, .5);
|
|
anim.onComplete.subscribe(del);
|
|
document.getElementById('dashlet_entire_' + id).style.overflow = 'hidden';
|
|
anim.animate();
|
|
|
|
return false;
|
|
}
|
|
return false;
|
|
},
|
|
|
|
|
|
addDashlet: function (id, type, type_module, pageNum, pageTabElement) {
|
|
|
|
var _pageNum = typeof pageNum == 'undefined' ? false : pageNum;
|
|
var _pageTabElement = typeof pageTabElement == 'undefined' ? false : pageTabElement;
|
|
|
|
ajaxStatus.hideStatus();
|
|
columns = SUGAR.mySugar.getLayout();
|
|
|
|
var num_dashlets = columns[0].length;
|
|
if (typeof columns[1] == undefined) {
|
|
num_dashlets = num_dashlets + columns[1].length;
|
|
}
|
|
|
|
if ((num_dashlets) >= SUGAR.mySugar.maxCount) {
|
|
alert(SUGAR.language.get('app_strings', 'LBL_MAX_DASHLETS_REACHED'));
|
|
return;
|
|
}
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_ADDING_DASHLET'));
|
|
|
|
$.ajax({
|
|
"method": "POST",
|
|
"url": "index.php?module=" + module + "&action=DynamicAction&DynamicAction=addDashlet&activeTab=" + activeTab + "&id=" + id + "&to_pdf=1",
|
|
"data": {
|
|
'type': type,
|
|
'type_module': type_module
|
|
}
|
|
}).done(function (dashlet_id) {
|
|
colZero = document.getElementById('col_' + activeTab + '_0');
|
|
newDashlet = document.createElement('li'); // build the list item
|
|
newDashlet.id = 'dashlet_' + dashlet_id;
|
|
newDashlet.className = 'noBullet active';
|
|
// hide it first, but append to getRegion
|
|
newDashlet.innerHTML = '<div style="position: absolute; top: -1000px; overflow: hidden;" id="dashlet_entire_' + dashlet_id + '"></div>';
|
|
|
|
colZero.insertBefore(newDashlet, colZero.firstChild); // insert it into the first column
|
|
|
|
var url = null;
|
|
if (type == 'module' || type == 'web') {
|
|
url = null;
|
|
type = 'module';
|
|
}
|
|
else if (type == 'predefined_chart') {
|
|
url = 'predefined_chart';
|
|
type = 'predefined_chart';
|
|
}
|
|
else if (type == 'chart') {
|
|
url = 'chart';
|
|
type = 'chart';
|
|
}
|
|
|
|
var _pageReload = typeof pageReload == 'undefined' ? false : pageReload;
|
|
var _pageTabElement = typeof pageTabElement == 'undefined' || pageTabElement.length == 0 ? false : pageTabElement;
|
|
if (!_pageTabElement && SUGAR.mySugar.currentDashlet && $('#' + SUGAR.mySugar.currentDashlet.id).closest('.tab-pane').length > 0) {
|
|
_pageTabElement = $('#' + SUGAR.mySugar.currentDashlet.id).closest('.tab-pane');
|
|
}
|
|
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_LOADING'));
|
|
|
|
if (url == null) {
|
|
url = 'index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module=' + module + '&to_pdf=1&id=' + dashlet_id;
|
|
is_chart_dashlet = false;
|
|
}
|
|
else if (url == 'predefined_chart') {
|
|
url = 'index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module=' + module + '&to_pdf=1&id=' + dashlet_id;
|
|
scriptUrl = 'index.php?action=DynamicAction&DynamicAction=getPredefinedChartScript&session_commit=1&module=' + module + '&to_pdf=1&id=' + dashlet_id;
|
|
is_chart_dashlet = true;
|
|
}
|
|
|
|
|
|
if (typeof dynamic !== "undefined") {
|
|
url += '&dynamic=true';
|
|
}
|
|
|
|
SUGAR.mySugar.currentDashlet = document.getElementById('dashlet_entire_' + dashlet_id);
|
|
|
|
$.when($.ajax({"method": "GET", "url": url})).then(function (data, textStatus, jqXHR) {
|
|
ajaxStatus.hideStatus();
|
|
dashletEntire = document.getElementById('dashlet_entire_' + dashlet_id);
|
|
dd = new ygDDList('dashlet_' + dashlet_id); // make it draggable
|
|
dd.setHandleElId('dashlet_header_' + dashlet_id);
|
|
// Bug #47097 : Dashlets not displayed after moving them
|
|
// add new property to save real id of dashlet, it needs to have ability reload dashlet by id
|
|
dd.dashletID = dashlet_id;
|
|
// dd.onMouseDown = SUGAR.mySugar.onDrag;
|
|
// dd.onDragDrop = SUGAR.mySugar.onDrop;
|
|
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_ADDED_DASHLET'));
|
|
dashletRegion = YAHOO.util.Dom.getRegion(dashletEntire);
|
|
dashletEntire.style.position = 'relative';
|
|
dashletEntire.style.height = '1px';
|
|
dashletEntire.style.top = '0px';
|
|
dashletEntire.className = 'dashletPanel';
|
|
|
|
|
|
var anim = new YAHOO.util.Anim('dashlet_entire_' + dashlet_id, {height: {to: dashletRegion.bottom - dashletRegion.top}}, .5);
|
|
anim.onComplete.subscribe(function () {
|
|
document.getElementById('dashlet_entire_' + dashlet_id).style.height = '100%';
|
|
});
|
|
anim.animate();
|
|
|
|
newLayout = SUGAR.mySugar.getLayout(true);
|
|
SUGAR.mySugar.saveLayout(newLayout);
|
|
retrievePage(activePage);
|
|
});
|
|
});
|
|
|
|
return false;
|
|
},
|
|
|
|
retrieveCurrentPage: function (pageNum) {
|
|
if (typeof pageNum == 'undefined' && $('ul.nav.nav-tabs.nav-dashboard li.active a').length > 0) {
|
|
var pageNum = parseInt($('ul.nav.nav-tabs.nav-dashboard li.active a').first().attr('id').substring(3));
|
|
}
|
|
else {
|
|
pageNum = 0;
|
|
}
|
|
retrievePage(pageNum);
|
|
},
|
|
|
|
showDashletsDialog: function () {
|
|
columns = SUGAR.mySugar.getLayout();
|
|
|
|
if (this.closeDashletsDialogTimer != null) {
|
|
window.clearTimeout(this.closeDashletsDialogTimer);
|
|
}
|
|
|
|
var num_dashlets = 0;
|
|
var i = 0;
|
|
for (i = 0; i < 3; i++) {
|
|
if (typeof columns[i] != "undefined") {
|
|
num_dashlets = num_dashlets + columns[i].length;
|
|
}
|
|
}
|
|
|
|
if ((num_dashlets) >= SUGAR.mySugar.maxCount) {
|
|
alert(SUGAR.language.get('app_strings', 'LBL_MAX_DASHLETS_REACHED'));
|
|
return;
|
|
}
|
|
ajaxStatus.showStatus(SUGAR.language.get('app_strings', 'LBL_LOADING'));
|
|
|
|
var success = function (data) {
|
|
SUGAR.util.globalEval(data.responseText);
|
|
|
|
if ($('*[id=dashletsList]').length > 1) {
|
|
dashletsListDiv = $('*[id=dashletsList].modal-body');
|
|
}
|
|
else {
|
|
dashletsListDiv = $('#dashletsList');
|
|
}
|
|
|
|
dashletsListDiv.html(response['html']);
|
|
|
|
$('#dashletsList').html(response['html']);
|
|
|
|
|
|
document.getElementById('dashletsDialog_c').style.display = '';
|
|
SUGAR.mySugar.dashletsDialog.show();
|
|
|
|
SUGAR.util.globalEval(response['script']);
|
|
ajaxStatus.hideStatus();
|
|
};
|
|
|
|
var cObj = YAHOO.util.Connect.asyncRequest('GET', 'index.php?to_pdf=true&module=' + module + '&action=DynamicAction&DynamicAction=dashletsDialog', {
|
|
success: success,
|
|
failure: success
|
|
});
|
|
return false;
|
|
},
|
|
|
|
closeDashletsDialog: function () {
|
|
SUGAR.mySugar.dashletsDialog.hide();
|
|
if (this.closeDashletsDialogTimer != null) {
|
|
window.clearTimeout(this.closeDashletsDialogTimer);
|
|
}
|
|
this.closeDashletsDialogTimer = window.setTimeout("document.getElementById('dashletsDialog_c').style.display = 'none';", 2000);
|
|
},
|
|
|
|
toggleDashletCategories: function (category) {
|
|
document.getElementById('search_string').value = '';
|
|
document.getElementById('searchResults').innerHTML = '';
|
|
|
|
var moduleTab = document.getElementById('moduleCategory');
|
|
var moduleTabAnchor = document.getElementById('moduleCategoryAnchor');
|
|
var moduleListDiv = document.getElementById('moduleDashlets');
|
|
|
|
var chartTab = document.getElementById('chartCategory');
|
|
var chartTabAnchor = document.getElementById('chartCategoryAnchor');
|
|
var chartListDiv = document.getElementById('chartDashlets');
|
|
|
|
var toolsTab = document.getElementById('toolsCategory');
|
|
var toolsTabAnchor = document.getElementById('toolsCategoryAnchor');
|
|
var toolsListDiv = document.getElementById('toolsDashlets');
|
|
|
|
var webTab = document.getElementById('webCategory');
|
|
var webTabAnchor = document.getElementById('webCategoryAnchor');
|
|
var webListDiv = document.getElementById('webDashlets');
|
|
|
|
switch (category) {
|
|
case 'module':
|
|
moduleTab.className = 'active';
|
|
moduleTabAnchor.className = 'current';
|
|
moduleListDiv.style.display = '';
|
|
|
|
chartTab.className = '';
|
|
chartTabAnchor.className = '';
|
|
chartListDiv.style.display = 'none';
|
|
|
|
toolsTab.className = '';
|
|
toolsTabAnchor.className = '';
|
|
toolsListDiv.style.display = 'none';
|
|
|
|
webTab.className = '';
|
|
webTabAnchor.className = '';
|
|
webListDiv.style.display = 'none';
|
|
|
|
break;
|
|
case 'chart':
|
|
moduleTab.className = '';
|
|
moduleTabAnchor.className = '';
|
|
moduleListDiv.style.display = 'none';
|
|
|
|
chartTab.className = 'active';
|
|
chartTabAnchor.className = 'current';
|
|
chartListDiv.style.display = '';
|
|
|
|
toolsTab.className = '';
|
|
toolsTabAnchor.className = '';
|
|
toolsListDiv.style.display = 'none';
|
|
|
|
webTab.className = '';
|
|
webTabAnchor.className = '';
|
|
webListDiv.style.display = 'none';
|
|
|
|
break;
|
|
case 'tools':
|
|
moduleTab.className = '';
|
|
moduleTabAnchor.className = '';
|
|
moduleListDiv.style.display = 'none';
|
|
|
|
chartTab.className = '';
|
|
chartTabAnchor.className = '';
|
|
chartListDiv.style.display = 'none';
|
|
|
|
toolsTab.className = 'active';
|
|
toolsTabAnchor.className = 'current';
|
|
toolsListDiv.style.display = '';
|
|
|
|
webTab.className = '';
|
|
webTabAnchor.className = '';
|
|
webListDiv.style.display = 'none';
|
|
|
|
break;
|
|
case 'web':
|
|
moduleTab.className = '';
|
|
moduleTabAnchor.className = '';
|
|
moduleListDiv.style.display = 'none';
|
|
|
|
chartTab.className = '';
|
|
chartTabAnchor.className = '';
|
|
chartListDiv.style.display = 'none';
|
|
|
|
toolsTab.className = '';
|
|
toolsTabAnchor.className = '';
|
|
toolsListDiv.style.display = 'none';
|
|
|
|
webTab.className = 'active';
|
|
webTabAnchor.className = 'current';
|
|
webListDiv.style.display = '';
|
|
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
document.getElementById('search_category').value = category;
|
|
},
|
|
|
|
|
|
searchDashlets: function (searchStr, searchCategory) {
|
|
var moduleTab = document.getElementById('moduleCategory');
|
|
var moduleTabAnchor = document.getElementById('moduleCategoryAnchor');
|
|
var moduleListDiv = document.getElementById('moduleDashlets');
|
|
|
|
var chartTab = document.getElementById('chartCategory');
|
|
var chartTabAnchor = document.getElementById('chartCategoryAnchor');
|
|
var chartListDiv = document.getElementById('chartDashlets');
|
|
|
|
var toolsTab = document.getElementById('toolsCategory');
|
|
var toolsTabAnchor = document.getElementById('toolsCategoryAnchor');
|
|
var toolsListDiv = document.getElementById('toolsDashlets');
|
|
|
|
if (moduleTab != null && chartTab != null && toolsTab != null) {
|
|
moduleListDiv.style.display = 'none';
|
|
chartListDiv.style.display = 'none';
|
|
toolsListDiv.style.display = 'none';
|
|
|
|
}
|
|
// dashboards case, where there are no tabs
|
|
else {
|
|
chartListDiv.style.display = 'none';
|
|
}
|
|
|
|
var searchResultsDiv = document.getElementById('searchResults');
|
|
searchResultsDiv.style.display = '';
|
|
|
|
var success = function (data) {
|
|
SUGAR.util.globalEval(data.responseText);
|
|
|
|
searchResultsDiv.innerHTML = response['html'];
|
|
};
|
|
|
|
var cObj = YAHOO.util.Connect.asyncRequest('GET', 'index.php?to_pdf=true&module=' + module + '&action=DynamicAction&DynamicAction=searchDashlets&search=' + searchStr + '&category=' + searchCategory, {
|
|
success: success,
|
|
failure: success
|
|
});
|
|
return false;
|
|
},
|
|
|
|
collapseList: function (chartList) {
|
|
document.getElementById(chartList + 'List').style.display = 'none';
|
|
document.getElementById(chartList + 'ExpCol').innerHTML = '<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.expandList(\'' + chartList + '\');"><img border="0" src="' + SUGAR.themes.image_server + 'index.php?entryPoint=getImage&themeName=' + SUGAR.themes.theme_name + '&imageName=advanced_search.gif" align="absmiddle" />';
|
|
},
|
|
|
|
expandList: function (chartList) {
|
|
document.getElementById(chartList + 'List').style.display = '';
|
|
document.getElementById(chartList + 'ExpCol').innerHTML = '<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.collapseList(\'' + chartList + '\');"><img border="0" src="' + SUGAR.themes.image_server + 'index.php?entryPoint=getImage&themeName=' + SUGAR.themes.theme_name + '&imageName=basic_search.gif" align="absmiddle" />';
|
|
},
|
|
|
|
collapseReportList: function (reportChartList) {
|
|
document.getElementById(reportChartList + 'ReportsChartDashletsList').style.display = 'none';
|
|
document.getElementById(reportChartList + 'ExpCol').innerHTML = '<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.expandReportList(\'' + reportChartList + '\');"><img border="0" src="' + SUGAR.themes.image_server + 'index.php?entryPoint=getImage&themeName=' + SUGAR.themes.theme_name + '&imageName=ProjectPlus.gif" align="absmiddle" />';
|
|
},
|
|
|
|
expandReportList: function (reportChartList) {
|
|
document.getElementById(reportChartList + 'ReportsChartDashletsList').style.display = '';
|
|
document.getElementById(reportChartList + 'ExpCol').innerHTML = '<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.collapseReportList(\'' + reportChartList + '\');"><img border="0" src="' + SUGAR.themes.image_server + 'index.php?entryPoint=getImage&themeName=' + SUGAR.themes.theme_name + '&imageName=ProjectMinus.gif" align="absmiddle" />';
|
|
},
|
|
|
|
clearSearch: function () {
|
|
document.getElementById('search_string').value = '';
|
|
|
|
var moduleTab = document.getElementById('moduleCategory');
|
|
var moduleTabAnchor = document.getElementById('moduleCategoryAnchor');
|
|
var moduleListDiv = document.getElementById('moduleDashlets');
|
|
|
|
document.getElementById('searchResults').innerHTML = '';
|
|
if (moduleTab != null) {
|
|
SUGAR.mySugar.toggleDashletCategories('module');
|
|
}
|
|
else {
|
|
document.getElementById('searchResults').style.display = 'none';
|
|
document.getElementById('chartDashlets').style.display = '';
|
|
}
|
|
},
|
|
|
|
doneAddDashlets: function () {
|
|
SUGAR.mySugar.dashletsDialog.hide();
|
|
return false;
|
|
},
|
|
|
|
|
|
refreshPageForAnalytics: function () {
|
|
window.location.reload();
|
|
return false;
|
|
},
|
|
|
|
|
|
renderDashletsDialog: function () {
|
|
var minHeight = 120;
|
|
var maxHeight = 520;
|
|
var minMargin = 16;
|
|
|
|
// adjust dialog height according to current page height
|
|
var pageHeight = document.documentElement.clientHeight;
|
|
var height = Math.min(maxHeight, pageHeight - minMargin * 2);
|
|
height = Math.max(height, minHeight);
|
|
|
|
SUGAR.mySugar.dashletsDialog = new YAHOO.widget.Dialog("dashletsDialog",
|
|
{
|
|
width: "480px",
|
|
height: height + "px",
|
|
fixedcenter: true,
|
|
draggable: false,
|
|
visible: false,
|
|
// effect:[{effect:YAHOO.widget.ContainerEffect.SLIDETOP, duration:0.5},{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5}],
|
|
modal: true,
|
|
close: false
|
|
});
|
|
|
|
var listeners = new YAHOO.util.KeyListener(document, {keys: 27}, {
|
|
fn: function () {
|
|
SUGAR.mySugar.closeDashletsDialog();
|
|
}
|
|
});
|
|
SUGAR.mySugar.dashletsDialog.cfg.queueProperty("keylisteners", listeners);
|
|
|
|
document.getElementById('dashletsDialog').style.display = '';
|
|
SUGAR.mySugar.dashletsDialog.render();
|
|
document.getElementById('dashletsDialog_c').style.display = 'none';
|
|
}
|
|
};
|
|
}();
|
|
};
|