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

📄 menus.html.svn-base

📁 asterisk-gui asterisk网关接口编程 控制asterisk的接口
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
	var new_step1 = tmp1[0] + ","+ tmp1[1] + "," + step2_action;	var new_step2 = tmp2[0] + ","+ tmp2[1] + "," + step1_action;	var uri = "";	uri += build_action('update', 0, _vms_v ,"exten","BUFFERBUFFERBUFFER", _steps.options[a].value);	uri += build_action('update', 1, _vms_v ,"exten",new_step2, _steps.options[b].value);	uri += build_action('update', 2, _vms_v ,"exten",new_step1, "BUFFERBUFFERBUFFER");	// we need a buffer update other wise you end up updating the just updated value 	// note that rawman actions are executed sequentially.	makerequest('u','extensions.conf', uri,		function(t){			// update voicemenusdata			for(var p=0; p< voicemenusdata[_vms_v].extensions['s'].length; p++){				if( voicemenusdata[_vms_v].extensions['s'][p] == _steps.options[a].value ){					voicemenusdata[_vms_v].extensions['s'][p] = new_step1;				}else if (voicemenusdata[_vms_v].extensions['s'][p] == _steps.options[b].value  ){ 					voicemenusdata[_vms_v].extensions['s'][p] = new_step2;				}			}			// swap select values of a to b			_steps.options[a].value = new_step1;			_steps.options[b].value = new_step2;			var buffer = _steps.options[a].text;			_steps.options[a].text = _steps.options[b].text;			_steps.options[b].text = buffer;			_steps.selectedIndex = b;			gui_feedback('Step Priority Updated!','blue');			update_updown();		}	);}function delete_step(){	// delete the selected step and update voicemenusdata and update 'select' object - steps	_$('status_message').style.display="";	var _vmenus = _$('vmenus');	var _steps = _$('steps');	var uri = "";	uri += build_action('delete', 0, _vmenus.value,"exten", "", _steps.value); 		var v = _steps.selectedIndex;	if(v==0 && _steps.options[1] ){ // if deleting the first step, then make priority of 2nd step to '1'		var tmp2 = _steps.options[1].value.split(",") ;		var step2_action = tmp2.slice(2).join(",");		var new_step1 = tmp2[0] + ",1," + step2_action;		uri += build_action('update',1,_vmenus.value,"exten",new_step1,_steps.options[1].value);	}	makerequest('u','extensions.conf', uri,		function(t){			setTimeout(function(){ _$('status_message').style.display='none';} ,sc_displaytime);			// Update voicemenusdata			for(var p=0; p< voicemenusdata[_vmenus.value].extensions['s'].length; p++){				if( voicemenusdata[_vmenus.value].extensions['s'][p] == _steps.value ){ 					if(new_step1){						voicemenusdata[_vmenus.value].extensions['s'].splice(p,2, new_step1);					}else{						voicemenusdata[_vmenus.value].extensions['s'].splice(p,1);					}				}			}			//update_stepsbelow			_steps.remove( _steps.selectedIndex);			if(new_step1){ _steps.options[0].value = new_step1; }			gui_feedback('Step Deleted !','default');			_$('deletestep').disabled = true;		}	);}function update_newstep_var(){	var _nsv = _$('newstep_var') ;	var _nsa = _$('newstep_action');	var _ane = _$('add_newstep_extensions') ;	var _anm = _$('add_newstep_menus') ;	var _nss = _$('newstep_sounds');	_nsv.value = "";	_nsv.style.display = "none";	_$('newstep_var_digit').style.display= "none" ;	_ane.style.display = "none";	_anm.style.display = "none";	//_$('tbr').style.display = "none";	_$('rgrp').style.display = "none";	_nss.style.display = "none";	_nss.value = "";        if( _nsa.value== "" || _nsa.value== "Answer"  || _nsa.value== "Hangup" || _nsa.value== "GotoDirecotry" || _nsa.value== "Busy" || _nsa.value== "Congestion" ){        }else if( _nsa.value== "Background"  || _nsa.value== "Playback" ){                _nss.style.display = "";        }else if( _nsa.value== "Authenticate"  || _nsa.value== "DigitTimeout"  || _nsa.value== "ResponseTimeout" ||  _nsa.value== "Wait"  ||  _nsa.value== "WaitExten"  || _nsa.value== "DISA"){                _$('newstep_var_digit').style.display= "" ;        }else if(_nsa.value== "GotoMenu"  ){		_nsv.value = _anm.value;		_anm.style.display = "";        }else if(_nsa.value== "GotoExtension"  ){		_nsv.value = _ane.value;		_ane.style.display = "";        }else if(_nsa.value== "GotoTimeBasedRule"  ){		//_$('tbr').selectedIndex = -1;		//_$('tbr').style.display = "";        }else if(_nsa.value== "DialRingGroup"  ){		_$('rgrp').selectedIndex = -1;		_$('rgrp').style.display = "";        }}function select_vmenu(){	// show all the //s, lines in the select box -	if(_$('vmenus').selectedIndex ==-1){ return true;}	var _steps = _$('steps');	current_context = _$('vmenus').value;	var x, y, tmp;	var priority_1, priority_2, buffer;		_$('allowexten').checked = (voicemenusdata[current_context].include == "default") ? true : false ; 	//$('keypressoptions').innerHTML = "";	_steps.options.length =0;	_$('comment').value = voicemenusdata[current_context].comment;	_$('alias_exten').disabled = false; 	_$('alias_exten').value = ( voicemenusdata[current_context].alias_exten  ) ? voicemenusdata[current_context].alias_exten : "" ;	if(voicemenusdata[current_context].extensions['s']){		for (var x=0;x<voicemenusdata[current_context].extensions['s'].length ; x++ ){			var newoption = document.createElement("option");			newoption.text = format_step(voicemenusdata[current_context].extensions['s'][x]);			newoption.value = voicemenusdata[current_context].extensions['s'][x];			_steps.options.add ( newoption );		}	}	// To be done: replace the following bubble sort with js native sort method	for (var x = (_steps.length - 1); x >= 0; x--){		for (var y = 1; y <= x; y++){			tmp = _steps.options[y].value.split(",") ;			priority_1 = tmp[1];			tmp = _steps.options[y-1].value.split(",") ;			priority_2 = tmp[1];			if (priority_2 - priority_1 > 0){				buffer = _steps.options[y-1].value;				_steps.options[y-1].value = _steps.options[y].value;				_steps.options[y].value = buffer;				buffer = _steps.options[y-1].text;				_steps.options[y-1].text = _steps.options[y].text;				_steps.options[y].text = buffer;			}		}	}	_steps.disabled = false;	_$('b_ShowAddStep').disabled = false;	_$('addstep').disabled = false;	_$('allowexten').disabled = false;	_$('comment').disabled = false;	_$('deletestep').disabled = true;	_$('delete').disabled = false;	_$('newstep_action').disabled = false;	_$('newstep_sounds').disabled = false;	_$('newstep_var').disabled = false;	_$('keypressoptions').style.display = "";	_$('stepDown').disabled = true;	_$('stepUp').disabled = true;	_$('savevmenu').disabled = true;	for (y=0; y<keys.length ; y++ ){		current_key_action='keypress_'+ keys[y] + '_action';		current_key_text='keypress_'+ keys[y] + '_text';		current_key_exts='keypress_'+ keys[y] + '_exts';		current_key_menus='keypress_'+ keys[y] + '_menus';		_$(current_key_action).options.selectedIndex = 0;		_$(current_key_menus).style.display = "none";		_$(current_key_text).style.display = "none";		_$(current_key_exts).style.display = "none";		if(voicemenusdata[current_context].extensions[keys[y]]){			// Load the appropriate Key menu according to the voicemenusdata[current_context].extensions[y][x]			// actually we are assuming that there is only voicemenusdata[current_context].extensions[y][0]			tmp = voicemenusdata[current_context].extensions[keys[y]][0].split(',');			if( tmp[2].match("Goto") && tmp[2].match("voicemenu-") ){ //  if "is a voicemenu"				_$(current_key_action).options[1].selected = true;				_$(current_key_menus).style.display = "";				select_menu (current_key_menus, tmp[2],"ismenu");			}else  if( tmp[2].match("Goto") && !tmp[2].match("voicemenu-") ){ // //  if "goto an extension " (no 'voicemenu-')				_$(current_key_action).options[2].selected = true;				_$(current_key_exts).style.display = "";				select_menu(current_key_exts, tmp[2],"isext"); // select_menu common for exts and menus			}else if(tmp[2].match("Hangup") ){ // if HangUp				ASTGUI.selectbox.selectOption(_$(current_key_action), 'Hangup'); //			}else if( tmp[2].match('Playback') &&  tmp[2].match( "(invalid)" ) ){				ASTGUI.selectbox.selectOption(_$(current_key_action), 'PlayInvalid');			}else{ // if custom (no 'goto')				_$(current_key_action).options[3].selected = true;				_$(current_key_text).style.display = "";				_$(current_key_text).value = tmp[2];			}		}else{	// Key_action is disabled => hide the text & options (which already are)		}	}}menuscallbacks.postselect = function() {	select_vmenu();}menuscallbacks.format = function(t, x) {	var tmp = t.name.split('general');	var exten_fields;	if(tmp.length > 1 ){		return false;	}else if ( t.name.substr(0,10) == 'voicemenu-' && x==undefined ){	// if is a category		current_context = t.name;		voicemenusdata[current_context] = new Object();		return t.name ;	}else if(t.name.substr(0,10) == 'voicemenu-' ) { 	// if is a subcategory		switch( t.names[x] ){			case 'comment':				voicemenusdata[current_context].comment =  t.fields[x];				voicemenusdata[current_context].extensions = new Object();				return false;			case 'alias_exten':				voicemenusdata[current_context].alias_exten =  t.fields[x];				return false;			case 'include':				voicemenusdata[current_context].include=  t.fields[x];				return false;			case 'exten':				exten_fields = t.fields[x].split (',');				if(!voicemenusdata[current_context].extensions[exten_fields[0]]){					voicemenusdata[current_context].extensions[exten_fields[0]] = new Array();				}				voicemenusdata[current_context].extensions[exten_fields[0]].push( t.fields[x] ) ;				return false;			default :				return false;		}		return false;	}else{		return false;	}}menuscallbacks.loaded = function(){	var _vmenus = _$('vmenus') ;	for (var x=0; x< _vmenus.options.length ; x++ ){		_vmenus.options[x].text = "VoiceMenu - " + voicemenusdata[_vmenus.options[x].value].comment;	}	// Load the menus and extensions into corresponding fields	for (var y=0;y < keys.length; y++){		current_key_exts='keypress_'+ keys[y] + '_exts';		current_key_menus='keypress_'+ keys[y] + '_menus';		load_extensions(current_key_exts);		load_menus(current_key_menus);	}	load_extensions('add_newstep_extensions');	load_menus('add_newstep_menus');	parent.loadscreen(this);}menuscallbacks.identifier = "extension";menuscallbacks.eachline = true;menuscallbacks.includecats = true;menuscallbacks.cancelnewcategory =function(){	_$('comment').disabled = true;	_$('keypressoptions').style.display = "none";}menuscallbacks.oncategorydelete =function(){	delete_vmenu_fromlistofmenus();	_$('comment').disabled = true;	_$('keypressoptions').style.display = "none";	_$('savevmenu').disabled = true;	_$('steps').options.length =0;	_$('newstep_action').disabled = true;	_$('newstep_var').disabled = true;	_$('newstep_sounds').disabled = true;	_$('addstep').disabled = true;	_$('b_ShowAddStep').disabled = true;	_$('steps').disabled = true;	_$('stepUp').disabled = true;	_$('stepDown').disabled = true;	_$('alias_exten').value = "";	_$('alias_exten').disabled = true;}menuscallbacks.cancelchanges =function(){	_$('savevmenu').disabled = true;}menuscallbacks.newcategory = function(t) {	// 1. Reset all Keyoptions	// Load the menus and extensions into corresponding fields	for (var y=0;y<keys.length; y++){		current_key_exts='keypress_'+ keys[y] + '_exts';		current_key_menus='keypress_'+ keys[y] + '_menus';		current_key_text = 'keypress_'+ keys[y] + '_text' ;		current_key_action='keypress_'+ keys[y] + '_action';			load_extensions(current_key_exts);		load_menus(current_key_menus);		_$(current_key_action).selectedIndex = 0;		_$(current_key_exts).style.display = "none";		_$(current_key_menus).style.display = "none";		_$(current_key_text).style.display = "none";	}	// 2. Reset Steps - only 1 step -> Answer	var _steps = _$('steps') ;	var _comment = _$('comment'); 	var _allowexten = _$('allowexten') ;	var _alias_exten = _$('alias_exten') ;	_steps.options.length =0;	var newoption = document.createElement("option");	newoption.text = format_step(answer_call_string);	newoption.value = answer_call_string;	_steps.options.add ( newoption );	// 3. Disable Steps - Add Step , Up , Down Arrows	_$('stepUp').disabled = true;	_$('stepDown').disabled = true;	_allowexten.checked = false;	_allowexten.disabled = false;	_$('newstep_action').disabled = true;	_$('newstep_var').disabled = true;	_$('newstep_sounds').disabled = true;	_$('addstep').disabled = true;	_$('b_ShowAddStep').disabled = true;	_steps.disabled = true;	//  4. Reset Comment	_$('keypressoptions').style.display = "";

⌨️ 快捷键说明

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