⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 report_additionals.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
📖 第 1 页 / 共 5 页
字号:
/** * SugarCRM is a customer relationship management program developed by * SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc. *  * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU 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 General Public License for more * details. *  * You should have received a copy of the GNU 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 General Public License version 3. *  * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". */var groups_arr=new Array();var chartTypesHolder = []; // storage for removed chart itemsvar groups_count=-1;var filters_arr=new Array();var filters_count_map=new Object();var filters_count = -1;var current_filter_id = -1;var groups_count_map=new Object();var current_group_id = -1;var join_refs = new Array();var group_field = null;var has_group = null;var global_report_def = null;var goto_anchor = '';// holds all the fields from current and joined tablesvar all_fields = new Object();var full_table_list = new Object();full_table_list.self = new Object();full_table_list.self.parent = '';full_table_list.self.value = document.EditView.self.options[document.EditView.self.options.selectedIndex].value;full_table_list.self.module = document.EditView.self.options[document.EditView.self.options.selectedIndex].value;full_table_list.self.label = document.EditView.self.options[document.EditView.self.options.selectedIndex].text;full_table_list.self.children = new Object();function hideCheckGroups() {	document.getElementById('checkGroups').style.display = 'none';}function table_changed(obj) {	if(document.EditView.report_type[1].checked) {		if(typeof hideCheckGroupsTimeout != 'undefined') clearTimeout(hideCheckGroupsTimeout);		document.getElementById('checkGroups').style.display = '';		hideCheckGroupsTimeout = window.setTimeout('hideCheckGroups()', 6000);	}		current_module = document.EditView.self.options[document.EditView.self.options.selectedIndex].value;	if(obj.options[obj.selectedIndex].value == '') { // None was selected, delete the link		delete_this_join(obj.id);		return;	}		// Set the master table list to the current value	full_table_list[obj.id].value = obj.value;	full_table_list[obj.id].label = obj.options[obj.options.selectedIndex].text;		if ( obj.id != 'self' )	{		// Get the link definitions, and store them		var parent_id = full_table_list[obj.id].parent;		var parent_module = full_table_list[parent_id].module;		var parent_link_defs = getLinksByRelType(module_defs[parent_module].link_defs);				full_table_list[obj.id].link_def = parent_link_defs[full_table_list[obj.id].value];		//full_table_list[obj.id].rel_def = rel_defs[full_table_list[obj.id].link_def.relationship_name];		//full_table_list[obj.id].module = full_table_list[obj.id].label;		full_table_list[obj.id].module = getRelatedModule(full_table_list[obj.id].link_def);		full_table_list[obj.id].link_def.table_key = obj.id;	}	else {		full_table_list[obj.id].module = obj.value;	}	if ( document.getElementById('report_results') != null ) {		document.getElementById('report_results').style.display='none';	}	delete_join_rows(obj.id);	//alert("I'm done deleting the join rows");	if ( obj.id == 'self' ) {		// We are deleting the main entry, nuke everything		reload_join_rows();		deleteAllFilters();		deleteAllGroups(0);		reload_columns();	}	else {		joinChecked(obj);	}	remakeGroups();	document.EditView.sort_by.value = '';	document.EditView.sort_dir.value = '';	document.EditView.summary_sort_by.value = '';	document.EditView.summary_sort_dir.value = '';}function showDetailsClicked(obj) {	if (obj.checked) {		document.getElementById('columns_table').style.display='';		document.getElementById('columns_more_div').style.display=''; 	} 	else {		document.getElementById('columns_table').style.display='none';		document.getElementById('columns_more_div').style.display='none';	}}function deleteFilter(index) {	var this_row = filters_arr[filters_count_map[index]].row;	this_row.parentNode.removeChild(this_row);	filters_arr.splice(filters_count_map[index],1);	for ( id in filters_count_map) {		if (filters_count_map[id] > filters_count_map[index]) {			filters_count_map[id]--;		}	}}function deleteGroup(index) {	if(typeof(groups_count_map[index]) == 'undefined' || typeof(groups_arr[groups_count_map[index]]) == 'undefined') {		return;	}	var this_row = groups_arr[groups_count_map[index]].row;	this_row.parentNode.removeChild(this_row);	groups_arr.splice(groups_count_map[index],1);	for ( id in groups_count_map) {		if (groups_count_map[id] > groups_count_map[index]) {			groups_count_map[id]--;		}	}		var group_by_button = document.getElementById('group_by_button');	group_by_button.style.display = 'inline';			// add back line charts	if(groups_arr.length == 1 && document.EditView.chart_type.options.length > 5) {		chartTypesHolder.push(document.EditView.chart_type.options[5]);		document.EditView.chart_type.options[5] = null;	}	reload_columns('add');}function getReportType() {	for (i=0;i < document.EditView.report_type.length;i++) {		if ( document.EditView.report_type[i].checked == true) {			return document.EditView.report_type[i].value;		}	}}function reportTypeChanged() {	var report_type = getReportType();	var columns_table = document.getElementById('columns_table');	var summary_table = document.getElementById('summary_table');	if ( report_type == 'summary') {		document.getElementById('tab_li_chart_options_tab').style.display='';		document.getElementById('tab_link_chart_options_tab').style.display='';		document.getElementById('tab_li_group_by_tab').style.display='';		document.getElementById('tab_link_group_by_tab').style.display='';		document.getElementById('tab_link_columns_tab').innerHTML = SUGAR.language.get('Reports', 'LBL_4_CHOOSE') ;		document.getElementById('summary_table').style.display='';		document.getElementById('summary_more_div').style.display='';		document.getElementById('columns_table').style.display='none';		document.getElementById('columns_more_div').style.display='none';		document.getElementById('group_by_div').style.display='';		if (document.EditView.show_details.checked)  {			document.getElementById('columns_table').style.display='';			document.getElementById('columns_more_div').style.display='';		}		else {			document.getElementById('columns_table').style.display='none';			document.getElementById('columns_more_div').style.display='none';		}	}	else if ( report_type == 'tabular' ) {		document.getElementById('tab_li_chart_options_tab').style.display='none';		document.getElementById('tab_link_chart_options_tab').style.display='none';		document.getElementById('tab_li_group_by_tab').style.display='none';		document.getElementById('tab_link_group_by_tab').style.display='none';		document.getElementById('tab_link_columns_tab').innerHTML = SUGAR.language.get('Reports', 'LBL_3_CHOOSE') ;		document.getElementById('columns_table').style.display='';		document.getElementById('columns_more_div').style.display='';		document.getElementById('summary_table').style.display='none';		document.getElementById('summary_more_div').style.display='none';		document.getElementById('group_by_div').style.display='none';	}	document.getElementById('report_results').style.display='none';	refresh_chart_tab();}function manyColumnSelectChanged(index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	refreshFilterColumn(filter_row.column_select,default_filter,index);	refreshFilterQualify(filter_row.column_select,default_filter,index);	refreshFilterInput(default_filter,index);}function moduleSelectChanged(index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	refreshFilterColumn(filter_row.column_select,default_filter,index);	refreshFilterQualify(filter_row.column_select,default_filter,index);	refreshFilterInput(default_filter,index);}function moduleSelectChangedGroup(index) {	current_group_id = index;	var group_row = groups_arr[groups_count_map[index]];	refreshGroupColumn(group_row.column_select,default_group,index);	refreshGroupQualify(group_row.column_select,default_group,index);	reload_columns('add');}function columnSelectChanged(index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	refreshFilterQualify(filter_row.column_select,default_filter,index);	refreshFilterInput(default_filter,index);}function columnSelectGroupChanged(index) {	current_group_id = index;	var group_row = groups_arr[groups_count_map[index]];	refreshGroupQualify(group_row.column_select,default_group,index);	reload_columns('add');}function refreshGroupQualify(obj,group,index) {	current_group_id = index;	var group_row = groups_arr[groups_count_map[index]];	group_row.qualify_cell.removeChild(group_row.qualify_select);	addGroupQualify(group_row.qualify_cell,group);}function refreshFilterQualify(obj,filter,index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	filter_row.qualify_cell.removeChild(filter_row.qualify_select);	addFilterQualify(filter_row.qualify_cell,filter);}function refreshFilterColumn(obj,filter,index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	filter_row.column_cell.removeChild(filter_row.column_select);	addColumnSelectFilter(filter_row.column_cell,filter);}function refreshGroupColumn(obj,group,index) {	current_group_id = index;	var group_row = groups_arr[groups_count_map[index]];	group_row.column_cell.removeChild(group_row.column_select);	addColumnSelectGroup(group_row.column_cell,group);}function refreshFilterModule(obj,filter,index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	filter_row.module_cell.removeChild(filter_row.module_select);	addModuleSelectFilter(filter_row.module_cell,filter);}function refreshGroupModule(obj,group,index) {	current_group_id = index;	var group_row = groups_arr[groups_count_map[index]];	group_row.module_cell.removeChild(group_row.module_select);	addModuleSelectGroup(group_row.module_cell,group);}function filterTypeChanged(index) {	var filter = {input_name0:''};	refreshFilterInput(filter,index);}function refreshFilterInput(filter,index) {	current_filter_id = index;	var filter_row = filters_arr[filters_count_map[index]];	if (typeof (filter_row.input_field0) != 'undefined' && typeof (filter_row.input_field0.value) != 'undefined') {		type = "input";	}	filter_row.input_cell.removeChild(filter_row.input_cell.firstChild);	addFilterInput(filter_row.input_cell,filter);}function addColumnSelectGroup(cell,group) {	var select_html_info = new Object();	var options = new Array();	var select_info = new Object();	select_info['name'] = 'group';	select_info['onchange'] = 'columnSelectGroupChanged('+current_group_id+');';	select_html_info['select'] = select_info;	var module_select = groups_arr[groups_count_map[current_group_id]].module_select;	var table_key = module_select.options[module_select.selectedIndex].value;	if (table_key == 'self') {		selected_module = current_module;		field_defs = module_defs[selected_module].group_by_field_defs;	}	else {		selected_module = table_key;		var field_defs = module_defs[full_table_list[table_key].module].group_by_field_defs; 	}	var field_defs_arr = getOrderedFieldDefArray(field_defs,true);	var selected = false;	var got_selected = 0;	for(var index in field_defs_arr) {	    var field = field_defs_arr[index];		if ( field.type == 'text' || ( current_db_type == 'oci8' && field.type == 'name' && typeof (field.fields) != 'undefined' )) {			continue;		}    var key = table_key+":"+field.name;    if ( typeof(all_fields[key]) == 'undefined') {		continue;    }    if ( group.column_name == key) {    	got_selected = 1;		selected = true;    }     else {		selected = false;    }		var option_info = new Object();		option_info['value'] = key;		option_info['text'] = field.vname;		option_info['selected'] = selected;		options[options.length] = option_info;	}	if ( got_selected == 0) {		options[0]['selected'] = true;	}	select_html_info['options'] = options;	cell.innerHTML=buildSelectHTML(select_html_info);	groups_arr[groups_count_map[current_group_id]].column_select = cell.getElementsByTagName('select')[0];}function addModuleSelectFilter(cell,filter) {	var select_html_info = new Object();	var options = new Array();	var select_info = new Object();	select_info['name'] = 'filter';	select_info['onchange'] = 'moduleSelectChanged('+current_filter_id+');';	select_html_info['select'] = select_info;	var link_defs = getSelectedLinkDefs();	var option_info = new Object();	option_info['value'] = 'self';	option_info['text'] = module_defs[current_module].label;	option_info['selected'] = selected;	options[options.length] = option_info;	var parts = filter.column_name.split(':');	var selected_link_name = parts[0];	for(var i in link_defs) {		var linked_field = link_defs[i];		var selected = false;		if ( i == selected_link_name) {				selected=true;		} 		else {				selected=false;		}		// re-selected the remembered select (if there was one)		var option_info = new Object();		option_info['value'] = i;		var label = linked_field['label'];		if ( i != 'self' ) {			label = full_table_list[full_table_list[i].parent].label + ' &gt; '+ label;		}		option_info['text'] = label;		option_info['selected'] = selected;		options[options.length] = option_info;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -