📄 jitk_query_builder.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 + -