[Advanced search] Polished things up a bit by using alert and dialog to convey messages.
这个提交包含在:
		
							父节点
							
								
									17170433e0
								
							
						
					
					
						当前提交
						97b5b1b2c8
					
				
					共有  2 个文件被更改,包括 56 次插入 和 26 次删除
				
			
		|  | @ -113,26 +113,26 @@ function export_search_result(){ | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function export_stored_query(id){ | function export_stored_query(id){ | ||||||
| 		xhttp = new XMLHttpRequest(); | 	xhttp = new XMLHttpRequest(); | ||||||
| 		xhttp.onreadystatechange = function() { | 	xhttp.onreadystatechange = function() { | ||||||
| 			var a; | 		var a; | ||||||
| 			if (xhttp.readyState === 4 && xhttp.status === 200) { | 		if (xhttp.readyState === 4 && xhttp.status === 200) { | ||||||
| 				// Trick for making downloadable link
 | 			// Trick for making downloadable link
 | ||||||
| 				a = document.createElement('a'); | 			a = document.createElement('a'); | ||||||
| 				a.href = window.URL.createObjectURL(xhttp.response); | 			a.href = window.URL.createObjectURL(xhttp.response); | ||||||
| 				// Give filename you wish to download
 | 			// Give filename you wish to download
 | ||||||
| 				a.download = "advanced_search_export.adi"; | 			a.download = "advanced_search_export.adi"; | ||||||
| 				a.style.display = 'none'; | 			a.style.display = 'none'; | ||||||
| 				document.body.appendChild(a); | 			document.body.appendChild(a); | ||||||
| 				a.click(); | 			a.click(); | ||||||
| 			} | 		} | ||||||
| 		}; | 	}; | ||||||
| 		// Post data to URL which handles post request
 | 	// Post data to URL which handles post request
 | ||||||
| 		xhttp.open("POST", "<?php echo site_url('search/export_stored_query_to_adif');?>", true); | 	xhttp.open("POST", "<?php echo site_url('search/export_stored_query_to_adif');?>", true); | ||||||
| 		xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | 	xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); | ||||||
| 		// You should set responseType as blob for binary responses
 | 	// You should set responseType as blob for binary responses
 | ||||||
| 		xhttp.responseType = 'blob'; | 	xhttp.responseType = 'blob'; | ||||||
| 		xhttp.send("id=" + id); | 	xhttp.send("id=" + id); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| $('#btn-save').on('click', function() { | $('#btn-save').on('click', function() { | ||||||
|  | @ -153,7 +153,8 @@ $('#btn-save').on('click', function() { | ||||||
| 				if(result) { | 				if(result) { | ||||||
| 					$.post( "<?php echo site_url('search/save_query');?>", { search: JSON.stringify(resultquery, null, 2), description: $(".getqueryname").val() }) | 					$.post( "<?php echo site_url('search/save_query');?>", { search: JSON.stringify(resultquery, null, 2), description: $(".getqueryname").val() }) | ||||||
| 						.done(function( data ) { | 						.done(function( data ) { | ||||||
| 							alert('Query saved!'); | 							$(".alert").remove(); | ||||||
|  | 							$(".card-body.main").append('<div class="alert alert-success"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>Your query has been saved!</div>'); | ||||||
| 							$('#querydropdown').append( new Option(data.description, data.id) ); // We add the saved query to the dropdown
 | 							$('#querydropdown').append( new Option(data.description, data.id) ); // We add the saved query to the dropdown
 | ||||||
| 						}); | 						}); | ||||||
| 				} | 				} | ||||||
|  | @ -162,11 +163,25 @@ $('#btn-save').on('click', function() { | ||||||
| 
 | 
 | ||||||
| 	} | 	} | ||||||
| 	else{ | 	else{ | ||||||
| 		alert('Make a query first'); | 		BootstrapDialog.show({ | ||||||
|  | 			title: 'Stored Queries', | ||||||
|  | 			type: BootstrapDialog.TYPE_WARNING, | ||||||
|  | 			size: BootstrapDialog.SIZE_NORMAL, | ||||||
|  | 			cssClass: 'queries-dialog', | ||||||
|  | 			nl2br: false, | ||||||
|  | 			message: 'You need to make a query before you search!', | ||||||
|  | 			buttons: [{ | ||||||
|  | 				label: 'Close', | ||||||
|  | 				action: function (dialogItself) { | ||||||
|  | 					dialogItself.close(); | ||||||
|  | 				} | ||||||
|  | 			}] | ||||||
|  | 		}); | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| function run_query() { | function run_query() { | ||||||
|  | 	$(".alert").remove(); | ||||||
| 	$(".runbutton").addClass('running'); | 	$(".runbutton").addClass('running'); | ||||||
| 	$(".runbutton").prop('disabled', true); | 	$(".runbutton").prop('disabled', true); | ||||||
| 	let id = $('#querydropdown').val(); | 	let id = $('#querydropdown').val(); | ||||||
|  | @ -231,6 +246,7 @@ function edit_stored_query(id) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| $('#btn-edit').on('click', function() { | $('#btn-edit').on('click', function() { | ||||||
|  | 	$(".alert").remove(); | ||||||
| 	$.ajax({ | 	$.ajax({ | ||||||
| 		url: base_url + 'index.php/search/get_stored_queries', | 		url: base_url + 'index.php/search/get_stored_queries', | ||||||
| 		type: 'post', | 		type: 'post', | ||||||
|  | @ -253,6 +269,7 @@ $('#btn-edit').on('click', function() { | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| $('#btn-get').on('click', function() { | $('#btn-get').on('click', function() { | ||||||
|  | 	$(".alert").remove(); | ||||||
| 	var result = $('#builder').queryBuilder('getRules'); | 	var result = $('#builder').queryBuilder('getRules'); | ||||||
| 	if (!$.isEmptyObject(result)) { | 	if (!$.isEmptyObject(result)) { | ||||||
| 		$(".searchbutton").addClass('running'); | 		$(".searchbutton").addClass('running'); | ||||||
|  | @ -289,7 +306,20 @@ $('#btn-get').on('click', function() { | ||||||
| 			}); | 			}); | ||||||
| 	} | 	} | ||||||
| 	else{ | 	else{ | ||||||
| 		alert('Make a query first'); | 		BootstrapDialog.show({ | ||||||
|  | 			title: 'Stored Queries', | ||||||
|  | 			type: BootstrapDialog.TYPE_WARNING, | ||||||
|  | 			size: BootstrapDialog.SIZE_NORMAL, | ||||||
|  | 			cssClass: 'queries-dialog', | ||||||
|  | 			nl2br: false, | ||||||
|  | 			message: 'You need to make a query before you search!', | ||||||
|  | 			buttons: [{ | ||||||
|  | 				label: 'Close', | ||||||
|  | 				action: function (dialogItself) { | ||||||
|  | 					dialogItself.close(); | ||||||
|  | 				} | ||||||
|  | 			}] | ||||||
|  | 		}); | ||||||
| 	} | 	} | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -24,7 +24,7 @@ | ||||||
| 	      </li> | 	      </li> | ||||||
| 	    </ul> | 	    </ul> | ||||||
| 	  </div> | 	  </div> | ||||||
| 	  <div class="card-body"> | 	  <div class="card-body main"> | ||||||
| 
 | 
 | ||||||
| 		<div class="card-text" id="builder"></div> | 		<div class="card-text" id="builder"></div> | ||||||
| 
 | 
 | ||||||
|  | @ -41,8 +41,8 @@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 		  <div class="form-group row"> | 		  <div class="form-group row"> | ||||||
| 			  <label class="col-md-1 control-label" for="querydropdown">  Stored queries:</label> | 			  <label class="col-md-2 control-label" for="querydropdown">  Stored queries:</label> | ||||||
| 			  <div class="col-md-2"> | 			  <div class="col-md-3"> | ||||||
| 				  <select id="querydropdown" name="querydropdown" class="form-control custom-select-sm"> | 				  <select id="querydropdown" name="querydropdown" class="form-control custom-select-sm"> | ||||||
| 					  <?php | 					  <?php | ||||||
| 					  foreach($stored_queries as $q){ | 					  foreach($stored_queries as $q){ | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用