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

📄 report_additionals.js

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 JS
📖 第 1 页 / 共 5 页
字号:
	document.EditView['report_offset'].value=offset;	document.EditView.to_pdf.value='';	document.EditView.to_csv.value='';	if ( fill_form() == true) {		document.EditView.submit();	}	}function load_page() {	reload_joins();    current_module = document.EditView.self.options[document.EditView.self.options.selectedIndex].value;    reload_join_rows('regular');    all_fields = getAllFieldsMapped(current_module);    if(form_submit != "true")    {        remakeGroups();        reload_groups();        reload_filters();    }    reload_columns('regular');}function reload_joins() {	for ( var index in report_def.full_table_list ) {		var curr_table = report_def.full_table_list[index];		if ( index != "self" ) {			add_related(curr_table.parent,index);			option_selectbox = document.getElementById('outer_' + index);			if ( option_selectbox != null ) {				if ( curr_table.optional != null && curr_table.optional == true ) {					option_selectbox.checked = true;				}				else {					option_selectbox.checked = false;				}			}			else {				//alert("option_selectbox is null (outer_" + index + ")");			}		}		var curr_select = document.getElementById(index);		curr_select.value = curr_table.value;		full_table_list[index] = curr_table;	}}function getFieldKey(field_def) {	var func_name = '';	if (typeof(field_def.group_function) != 'undefined') {		func_name = field_def.group_function;	} 	else if (typeof(field_def.column_function) != 'undefined') {		func_name = field_def.column_function;	}	if ( field_def.group_function == 'count') {               return 'count';	}	else if (! (func_name == 'weighted_amount' || func_name == 'weighted_sum') && func_name != '' ) {		return field_def.table_key+":"+field_def.name+":"+func_name;	}		return field_def.table_key+":"+field_def.name;}function reload_filters() {	for(index in report_def.filters_def) {		report_def.filters_def[index].column_name = getFieldKey(report_def.filters_def[index]);		addFilter(report_def.filters_def[index]);	}	}function reload_groups() {	for(index in report_def.group_defs) {		addGroupBy(report_def.group_defs[index]);	}}function get_rel_type(linked_field,relationship) {	if ( typeof(linked_field['link_type']) != 'undefined') {		return linked_field['link_type'];	}	// code should never get this far.. link_type is already defined 		if ( relationship.relationship_type == 'one-to-many') {		if (linked_field.bean_is_lhs == true) {			if ( relationship['lhs_module'] == linked_field['module']) {				return 'one';			} 			else {				return 'many';			}		}		else {			if ( relationship['rhs_module'] == linked_field['module']) {				return 'one';			}			else {				return 'many';			}		}	} 		return 'many';}function joinChecked(obj) {	reload_columns('add');	reload_join_rows('add');	var objName = obj.id;		// loop thru all filters, refresh module select, and reset if 	// was selecting a module that doesnt exist in the current links	for( var index in filters_arr) {		current_filter_id = index;		var filter_row = filters_arr[filters_count_map[index]];				// Bug 13073////		var filter_module = filter_row.module_select[filter_row.module_select.selectedIndex].value;		if ( objName.indexOf("_div") > -1)			filter_module = filter_module.substr(0, objName.indexOf("_div"));				// If the filter and the object refer to the same module and we aren't just adding more relations...		// When we add more relations, the object is not a div		if ( objName.indexOf("_div") > -1 && objName.substr(0, objName.indexOf("_div")) == filter_module) {			deleteFilter(index);		}		else {			// Bug 13124////			var filter = {column_name:filter_row.module_select[filter_row.module_select.selectedIndex].value,				qualifier_name:'',input_name0:'',input_name1:''};			// Bug 13124////			refreshFilterModule(filter_row.module_select,filter,index);				}		}	for( var index in groups_arr) {		current_group_id = index;		var group_row = groups_arr[groups_count_map[index]];		// Bug 13073////		var group_module = group_row.module_select[group_row.module_select.selectedIndex].value;		if ( objName.indexOf("_div") > -1)			group_module = group_module.substr(0, objName.indexOf("_div"));		// If the group and the object refer to the same module and we aren't just adding more relations...		// When we add more relations, the object is not a div		if ( objName.indexOf("_div") > -1 && objName.substr(0, objName.indexOf("_div")) == group_module) {			deleteGroup(index);		}		else {			// Bug 13124////			var group = {column_name:group_row.module_select[group_row.module_select.selectedIndex].value};			// Bug 13124////			refreshGroupModule(group_row.module_select,group,index);			refreshGroupColumn(group_row.column_select,group,index);			refreshGroupQualify(group_row.qualify_select,group,index);		}		}}function delete_this_join( this_id ) {	// Get rid of my children	delete_join_rows(this_id);	this_obj = document.getElementById(this_id + "_div");	this_obj.parentNode.removeChild(this_obj);	parent_id = full_table_list[this_id].parent;	if ( full_table_list[parent_id] != null ) {		delete full_table_list[parent_id].children[this_id];	}	delete full_table_list[this_id];	joinChecked(this_obj);}function delete_join_rows( parent_id ) {	// Reset the selected fields	all_fields = new Array();		if ( full_table_list[parent_id] != null && full_table_list[parent_id].children != null ) {		// This guy has some children		// Make a copy of the list, javascript doesn't like iterating through a list you are modifying.		var children_list = full_table_list[parent_id].children;		for ( var child in children_list ) {			// Delete the grand-children first			delete_join_rows(child);			// Then delete the child			delete full_table_list[child];			delete full_table_list[parent_id].children[child];		}	}	// Clear out the HTML div that contains the children	var children_div = document.getElementById(parent_id + "_children");	if ( children_div != null ) {		children_div.innerHTML = '';		children_div.style.display = 'none';	}}function add_related( parent_id, my_id ) {	var options = new Array();	var option_info = new Object();	option_info['value'] = '';	option_info['text'] = lbl_none;	option_info['selected'] = true;	options[options.length] = option_info;	// Get the parent module name	var mod_name = full_table_list[parent_id].module;	if ( mod_name == null ) {		alert(lbl_alert_cant_add);		return(false);	}				if ( module_defs[mod_name] == null ) {		return(false);	}	// Grab the parent's link list	var link_defs = getLinksByRelType( module_defs[mod_name].link_defs);	var selected_linked_field;	for (linked_field_name in link_defs) {		var linked_field =  link_defs[linked_field_name];		var selected = false;		var option_info = new Object();		option_info['text'] = linked_field['label'];		option_info['value'] = linked_field_name;		option_info['selected'] = false;		options[options.length] = option_info;	}	var select_html_info = new Object();	var select_info = new Object();	// Find a free ID	if ( my_id == null ) {		var id_num = 0;		while ( document.getElementById(parent_id + '_link_' + id_num ) != null ) {			id_num++;		}		select_info['name'] = parent_id + '_link_' + id_num;	}	else {		// Use the ID that someone gave me.		select_info['name'] = my_id;	}	select_info['id'] = select_info['name'];	select_info['onchange'] = 'table_changed(this);';	select_html_info['select'] = select_info;	select_html_info['options'] = options;	// Setup the entry in the full table list	full_table_list[select_info['id']] = new Object();	full_table_list[select_info['id']].parent = parent_id;	full_table_list[select_info['id']].children = new Object();	// Add some bookkeeping so that we can properly prune the children	full_table_list[parent_id].children[select_info['id']] = select_info['id'];	children_div = document.getElementById(parent_id + "_children");	if ( children_div.style.display == 'none' ) {		// We want to add children, we should make the display visible		children_div.style.display = '';	}		new_child_div = document.createElement('div');	new_child_div.style.marginLeft = '10px';	new_child_div.style.marginTop = '5px';	new_child_div.style.marginBottom = '5px';		new_child_div.innerHTML = "<b>" + LBL_RELATED + "</b>" + buildSelectHTML(select_html_info) + 		' <a href="" class="button" style="padding: 2px; text-decoration: none;" onClick="add_related(\'' + select_info['name'] + '\'); return(false);">' + lbl_add_related + 		'</a> <a href="" class="button" style="padding: 2px; text-decoration: none;" onClick="delete_this_join(\'' + select_info['name'] + '\'); return(false);">' + lbl_del_this + '</a> ' + 		buildOuterJoinHTML(select_html_info) + 		'<div style="display: none; border-left: 2px dotted #000000; padding-left: 5px;" id="' + select_info['name'] + '_children"></div>';	new_child_div.id = select_info['name'] + '_div';	children_div.appendChild(new_child_div);}function reload_join_rows( type ) {	// This function is now blank, in case someone wants to fill it in.}//FIXME: Delete, this is now unusedfunction build_join_rows(module,joins_table,level) {	join_refs = new Array();	if ( typeof (level) == 'undefined') {		level = 0;	}	level++;	var link_defs = getLinksByRelType( module_defs[module].link_defs,'one');	if ( level == 1) {	}	if ( level < 5 ) {		var tr = joins_table.insertRow(joins_table.rows.length);		var td = tr.insertCell(tr.cells.length);		var hidden_input = '';		join_index = 0;		for (linked_field_name in  link_defs) {			var linked_field = link_defs[linked_field_name];			var input_elem =  document.createElement('input');			input_elem.type='hidden';			input_elem.name='link_'+linked_field['name'];			input_elem.id='link_'+linked_field['name'];			input_elem.value=linked_field['name'];				join_index++;				join_refs.push(input_elem);			td.appendChild(input_elem);		}	}		if ( level == 1 ) {		var options = new Array();		var option_info = new Object();		option_info['value'] = '';		option_info['text'] = lbl_none;		option_info['selected'] = selected;		options[options.length] = option_info;		var link_defs = getLinksByRelType( module_defs[module].link_defs,'many');		var selected_linked_field;		var first = true;		for (linked_field_name in  link_defs) {			if (first) {				selected_linked_field = link_defs[linked_field_name];				first = false;			}			var linked_field =  link_defs[linked_field_name];			var selected = false;			var option_info = new Object();			option_info['value'] = linked_field['name'];			option_info['text'] = linked_field_name.substring(0,1).toUpperCase() + linked_field_name.substring(1,linked_field_name.length); 			option_info['selected'] = selected;			options[options.length] = option_info;		}		var select_html_info = new Object();		var select_info = new Object();		select_info['name'] = 'joined';		select_info['id'] = 'multijoin';		select_info['onchange'] = 'joinChecked(this);';		select_html_info['select'] = select_info;		var tr = joins_table.insertRow(joins_table.rows.length);		var td = tr.insertCell(tr.cells.length);		select_html_info['options'] = options;	}}function getSelectedLinkJoins( link_array ) {	var link_join_array = new Object();	var outer_check = document.getElementById("outer_joined");	if ( outer_check != null ) {		link_name = document.forms.EditView.joined;		if ( outer_check.checked ) {			link_join_array[link_name.value] = 1;		}		else {			link_join_array[link_name.value] = 0;		}	}	return link_join_array;}function getSelectedLinks() {	var joins_array = new Array();	for (var index in full_table_list) {		if ( index == 'self' ) {			// This is the primary module, we don't want to include it			continue;		}				if ( full_table_list[index] != null && full_table_list[index].value != '' ) {			joins_array.push(index);		}	}	return joins_array;}function getRelatedModule(link_def) {	if(typeof link_def == 'undefined') {		return;	}	var rel_name = link_def.relationship_name;	var rel_def = rel_defs[rel_name];	if(typeof(rel_def) == 'undefined') {		return '';	}	if ( link_def.bean_is_lhs ) {	

⌨️ 快捷键说明

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