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

📄 jitk_query_builder.js

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JS
字号:
function QueryBuilderTask() {
}

var mvsQueryBuilderTask = null;
function jitkInitQueryBuilderTask() {
	if (mvsQueryBuilderTask == null) {
		mvsQueryBuilderTask = new QueryBuilderTask();
	}
	
	var task = EsriControls.tasks["queryBuilderTask"];
	
	if (task) {
		task.addUpdateListener("qbTaskUpdateListener", qbTaskUpdateListenerHandler);
	}
}

function QBconfirmQueryDelete() {
	return confirm("Are you sure you want to delete this Query?");
}

function QBsaveOnClick() {

		var methodRepoRB = document.getElementById("qb_saveQueryMethodRepository");
		var methodLocalRB = document.getElementById("qb_saveQueryMethodLocal");
		var exportBtn = document.getElementById("button_queryBuilderTask_action_exportQuery");
		var queries = document.getElementById("queryBuilderTask_param_availableQueries");
		var saveQueryNameField = document.getElementById("queryBuilderTask_param_saveQueryName");
		
		if (methodRepoRB.checked == true) {
			for (var i = 0; i < queries.length; i++) {
				if (queries.options[i].innerHTML.trim() == saveQueryNameField.value.trim()) {
					var confirmSave = confirm("You are about to overwrite a previously saved query. If " + 
					"this is\r not desired, please provide a different name.\r\rWould you like to continue?");
					
					if (confirmSave == false) {
						return false;
					}
				}
			}
			
			return true;
		} else if (methodLocalRB.checked == true) {
			//exportBtn.click();
			EventManager.fireEvent(exportBtn, "click");
			JitkSetSelectedTab('queryBuilderTask', 0);
			return false;
		}
	}
	
function processQbUpload(filename, id) {

		JitkImportQBUtil.closeWindow();
		
		var importBtn = document.getElementById("button_queryBuilderTask_action_importQuery");
		var filenameInput = document.getElementById("queryBuilderTask_param_uploadFilename");
		var uploadIdInput = document.getElementById("queryBuilderTask_param_uploadId");
		
		filenameInput.value = filename;
		uploadIdInput.value = id;

		//importBtn.click();
		EventManager.fireEvent(importBtn, "click");
		
		JitkSetSelectedTab('queryBuilderTask', 0);
		
	}
	
/*function fireEvent(obj,evt){
	
	var fireOnThis = obj;
	
	if( document.createEvent ) {
		var evObj = document.createEvent('MouseEvents');
		evObj.initEvent( evt, true, false );
		fireOnThis.dispatchEvent(evObj);
	} else if( document.createEventObject ) {
	  	fireOnThis.fireEvent('on' + evt);
	}
}*/
	
function qbTaskUpdateListenerHandler() {
		var saveQbQueryLink = document.getElementById("exportQbQueryLink");
		var exportQueryFlag = document.getElementById("queryBuilderTask_param_exportingSavedQueryFlag");
	
		if (exportQueryFlag.checked) {
			EventManager.fireEvent(saveQbQueryLink, "click");
		
			exportQueryFlag.checked = false;
		}
		
	}
	


function swap(div1, div2) {
	var div1 = document.getElementById(div1);
	var div2 = document.getElementById(div2);
	div1.style.display = "inline";
	div2.style.display = "none";
}

      function jitkQueryBuilderAppendSQLClause(){
        var oper = document.getElementById('queryBuilderTask_param_operation').value;
        var attrName = document.getElementById('queryBuilderTask_param_attribute').value;
        var attrVal = document.getElementById('queryBuilderTask_param_textValue').value;
        if (document.getElementById('queryBuilderTask_param_attributeSelection_domainValue').checked)
          attrVal = document.getElementById('queryBuilderTask_param_domainValue').value;
          
        var attrArray = attrName.split('!');
        var val = attrVal;
        if (attrArray[1] == '12'){
          val = "'" + val + "'";
        }
        var sqlVal = document.getElementById('queryBuilderTask_param_sql').value;
        sqlVal += attrArray[0] + ' ' + oper + ' ' + val;
        document.getElementById('queryBuilderTask_param_sql').value = sqlVal;
      }
      
      function jitkQueryBuilderAppendSQL(oper){
        var sqlVal = document.getElementById('queryBuilderTask_param_sql').value;
        sqlVal += ' ' + oper + ' ';
        document.getElementById('queryBuilderTask_param_sql').value = sqlVal;
      }
      
      function jitkQueryBuilderSetAttributeSelection(val){
        document.getElementById('queryBuilderTask_param_attributeSelection').value = val;
      }      
      
      function jitkQueryBuilderClearSQL(){
        document.getElementById('queryBuilderTask_param_sql').value = '';
      }
      
      function jitkQueryBuilderSelectFilter(){
        document.getElementById('jitkQueryBuilderFilterDiv_Feature').style.display = 'none';
        document.getElementById('jitkQueryBuilderFilterDiv_Graphics').style.display = 'none';
        document.getElementById('jitkQueryBuilderFilterDiv_Operation').style.display = 'none';
        if (document.getElementById('jitkQueryBuilderFilterChoice_Graphics').checked){
          document.getElementById('jitkQueryBuilderFilterDiv_Graphics').style.display = 'block';
        }
        if (document.getElementById('jitkQueryBuilderFilterChoice_Feature').checked){
          document.getElementById('jitkQueryBuilderFilterDiv_Feature').style.display = 'block';
          document.getElementById('jitkQueryBuilderFilterDiv_Operation').style.display = 'block';
        }
        jitkQueryBuilderSetQuery();
      }
      
      function jitkQueryBuilderSetQuery(){
        document.getElementById('queryBuilderTask_param_spatialFilterSelection').value = 'graphics';       
       
      }
      
  	  function jitkQueryBuilderShowMessage(message){
     	 if (message != '') alert(message);
      }  
      
      /*
	Modified from EsriUploadUtil
*/
var JitkImportQBUtil = new function() {
  var defaultImportQBPage = "mvs/querybuilder/queryupload.jsp";
  var defaultImportQBSuccessPage = "mvs/querybuilder/queryuploadsuccess.jsp";
  var pe, win, listener;

  this.showImportQBWindow = function(title, importQBListener, importQBPage, importQBSuccessPage) {
    if (win) destroyWindow()
    listener = importQBListener;
    
    if (! importQBPage) importQBPage = defaultImportQBPage;
    if (! importQBSuccessPage) importQBSuccessPage = defaultImportQBSuccessPage;

    var time = new Date().getTime();
    var divId = "jitk-import-qb-iframe-" + time;
    pe = new EsriPageElement(divId);
    
    var divElement1 = document.createElement("div");
	divElement1.className = "jitk-floating-panel-content-wrapper";
    
    var divElement2 = document.createElement("div");
	divElement2.id = "div_"+divId;
    
    var divElement3 = document.createElement("div");
	divElement3.className = "jitk-floating-panel-content";
    
    var tableElement = document.createElement("table");
    var tbody = document.createElement("tbody");
	var tableElementRow = document.createElement("tr");
	var tableElementColumn = document.createElement("td");
    
    var frameObject = document.createElement("iframe");
    frameObject.frameBorder = 0;
    frameObject.scrolling = "no";
    frameObject.name = "iframe_"+divId;
    frameObject.id = "iframe_"+divId;
    frameObject.width = 220;
    frameObject.height = 75;
    frameObject.src = importQBPage + "?requestPage=" + importQBPage + "&successPage=" + importQBSuccessPage;
    
    tableElementColumn.appendChild(frameObject);
    tableElementRow.appendChild(tableElementColumn);
    tbody.appendChild(tableElementRow);
    tableElement.appendChild(tbody);
    
    divElement3.appendChild(tableElement);
    divElement2.appendChild(divElement3);
    
    divElement1.appendChild(divElement2);
    
    var divElement4 = document.createElement("div");
	divElement4.className = "jitk-floating-panel-footer";
	divElement4.appendChild(document.createTextNode("Browse to the locally stored query (.xml) you want to import."));
	divElement1.appendChild(divElement4);

	pe.divObject = document.body.appendChild(divElement1);
	pe.divId = pe.divObject.id = divId;
	
	win = new JitkWindow(divId, title, pe);
    win.isRendered = true;
    win.init();
    win.resize(240,150);
    win.center();
    win.addUpdateListener("jitk-import-qb-win-listener", winListener);
  }
  
  this.getFrameDiv = function(){
    return pe;
  }

  //filename, id
  this.processImportQB = function() {
    win.removeUpdateListener("jitk-import-qb-win-listener");
    destroyWindow();
    listener();
  }
  
  this.closeWindow = function() { destroyWindow(); }
  function winListener(win) { if (win.closed) listener = null; }

  function destroyWindow() {
    win.hide();
    pe = pe.divObject = pe.divId = win = win.divObject = win.divId = null;
  }
}

⌨️ 快捷键说明

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