_3dgis.TIMEOUT=15000; _3dgis.wf={}; _3dgis.wf.util={}; _3dgis.i18n={}; dojo.config.deferredOnError=function(){ }; _3dgis.wf.util.ajax=function(_1,_2,_3,_4,_5){ if(_5!==false){ dojo.publish("loadingMessage/start"); } var _6={url:_1,content:_2,load:function(_7){ if(_5!==false){ dojo.publish("loadingMessage/stop"); } _3(_7); },handleAs:"json",error:function(_8){ if(_5!==false){ dojo.publish("loadingMessage/stop"); } },timeout:_3dgis.TIMEOUT}; if(_4){ _6=dojo.mixin(_6,_4); } dojo.xhrPost(_6); }; _3dgis.wf.util.ajaxGet=function(_9,_a,_b,_c,_d){ if(_d!==false){ dojo.publish("loadingMessage/start"); } var _e={url:_9,content:_a,load:function(_f){ if(_d!==false){ dojo.publish("loadingMessage/stop"); } _b(_f); },handleAs:"json",error:function(_10){ if(_d!==false){ dojo.publish("loadingMessage/stop"); } },timeout:_3dgis.TIMEOUT}; if(_c){ _e=dojo.mixin(_e,_c); } dojo.xhrGet(_e); }; _3dgis.wf.util.ajaxAction=function(_11,url,_12,_13,opt){ var _14=opt||{}; if(_14.showLoading!==false){ dojo.publish("loadingMessage/start"); } if(_14.blockUi===true){ dojo.publish("uiBlocker/start"); } var _15={url:url,content:_12,handleAs:"json",timeout:_3dgis.TIMEOUT}; if(_13){ _15=dojo.mixin(_15,_13); } var _16=new dojo.Deferred(); var def=dojo.xhr(_11,_15); def.then(function(_17){ if(_14.showLoading!==false){ dojo.publish("loadingMessage/stop"); } if(_14.blockUi===true){ dojo.publish("uiBlocker/stop"); } if(_17.result&&_17.result=="success"){ if(_17.actionMessages.length>0){ var _18=_17.actionMessages.join("
"); dojo.publish("infoMessage",[{message:_18}]); } _16.resolve(_17); }else{ if(_17.result&&_17.result=="error"){ if(_17.actionErrors.length>0){ var _18=_17.actionErrors.join("
"); dojo.publish("infoMessage",[{message:_18,type:"error"}]); }else{ dojo.publish("infoMessage",[{message:_3dgis.settings.i18n["error.genericError"],type:"error"}]); } _16.reject(_17); }else{ if(_17.result&&_17.result=="input"){ if(_17.actionErrors.length>0){ var _18=_17.actionErrors.join("
"); dojo.publish("infoMessage",[{message:_18,type:"error"}]); } _16.reject(_17); } } } },function(_19){ if(_14.showLoading!==false){ dojo.publish("loadingMessage/stop"); } if(_14.blockUi===true){ dojo.publish("uiBlocker/stop"); } var _1a=_3dgis.settings.i18n["error.genericError"]; if(_19.status===0){ _1a=_3dgis.settings.i18n["error.serverNotReachable"]; } dojo.publish("infoMessage",[{message:_1a,type:"error"}]); _16.reject(_19); }); return _16; }; _3dgis.wf.util.ajaxGetAction=function(url,_1b,_1c,opt){ return _3dgis.wf.util.ajaxAction("GET",url,_1b,_1c,opt); }; _3dgis.wf.util.ajaxPostAction=function(url,_1d,_1e,opt){ return _3dgis.wf.util.ajaxAction("POST",url,_1d,_1e,opt); }; _3dgis.wf.util.prepareForStruts=function(obj,_1f){ var _20={}; var i=0; function _21(o,p){ for(var _22 in o){ var _23=o[_22]; var _24=""; if(_23 instanceof Date){ _24=p+"."+_22; _20[_24]=dojo.date.stamp.toISOString(_23,{selector:"date"}); }else{ if(_23 instanceof Object){ if(p!==""){ _24=p+"."+_22; }else{ _24=_22; } _21(_23,_24); }else{ _24=p+"."+_22; _20[_24]=_23; } } } }; if(_1f==null){ _1f=""; } _21(obj,_1f); return _20; }; _3dgis.wf.util.lcfirst=function(str){ return str.substring(0,1).toLowerCase()+str.substring(1); }; _3dgis.wf.util.ucfirst=function(str){ return str.substring(0,1).toUpperCase()+str.substring(1); }; _3dgis.wf.util.fromUnderscoreToLowerCamelCase=function(str){ var _25=str.split("_"); var _26=""; for(var i=0;i<_25.length;i++){ _26+=_3dgis.wf.util.ucfirst(_25[i]); } return _3dgis.wf.util.lcfirst(_26); }; _3dgis.wf.util.fromUnderscoreToUpperCamelCase=function(str){ var _27=str.split("_"); var _28=""; for(var i=0;i<_27.length;i++){ _28+=_3dgis.wf.util.ucfirst(_27[i]); } return _3dgis.wf.util.ucfirst(_28); }; _3dgis.wf.util.string={}; _3dgis.wf.util.string.format=function(str,_29){ var _2a=str; for(var i=0;i<_29.length;i++){ _2a=_2a.replace(new RegExp("\\{"+i+"\\}","g"),_29[i]); } return _2a; }; _3dgis.wf.util.string.fromCamelCaseToUnderscore=function(str){ var _2b=""; var _2c=new RegExp("[A-Z]"); for(var i=0;i=_44){ _42=true; break; }else{ if(_43=="explorer"&&_3dgis.wf.util.isIE()&&_3dgis.wf.util.isIE()>=_44){ _42=true; break; }else{ if(_43=="chrome"&&dojo.isChrome&&dojo.isChrome>=_44){ _42=true; break; } } } } return _42; },_3dgis.wf.util.isIE=function(){ var ua=window.navigator.userAgent; var _45=ua.indexOf("MSIE "); var _46=ua.indexOf("Trident/"); if(_45>0){ return parseInt(ua.substring(_45+5,ua.indexOf(".",_45)),10); } if(_46>0){ var rv=ua.indexOf("rv:"); return parseInt(ua.substring(rv+3,ua.indexOf(".",rv)),10); } return undefined; },_3dgis.wf.util.commonGridPaginationPluginConf={pageSizes:["25","50","100","All"],description:"30%",sizeSwitch:"260px",pageStepper:"30em",gotoButton:true,maxPageStep:7,position:"bottom"}; _3dgis.wf.util.formatBoolean=function(_47){ var _48=null; if(_47===true||_47==="true"||_47===1){ _48=_3dgis.settings.i18n["yes"]; }else{ if(_47===false||_47==="false"||_47===0){ _48=_3dgis.settings.i18n["no"]; } } return _48; }; _3dgis.wf.util.formatAuditDifferences=function(_49){ var _4a=""; var _4b=dojo.i18n.normalizeLocale(); var _4c=_4b.split("-")[0]; if(_49!=null){ var _4d=""; _4a=_4d; } return _4a; }; dojo.provide("_3dgis.wf.dialog.InfoDialog"); dojo.declare("_3dgis.wf.dialog.InfoDialog",null,{dialog:null,template:"
",constructor:function(){ this.dialog=new dijit.Dialog({draggable:false,closable:false,content:this.template}); this.dialog.startup(); this.dialog._onKey=function(){ }; },setMessage:function(msg){ dojo.byId("infoDialog-message").innerHTML=msg; },show:function(msg){ this.setMessage(msg); this.dialog.show(); },close:function(){ this.dialog.hide(); },isOpen:function(){ return this.dialog.open; }}); dojo.provide("_3dgis.wf.dialog.Crud"); dojo.declare("_3dgis.wf.dialog.Crud",null,{pojo:null,type:null,formWidgets:null,disabledElements:null,constructor:function(opt){ dojo.mixin(this,opt); this.additionalParamsToSave={}; this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); this.formWidgets=[]; },getPrefix:function(){ return this.type; },newElement:function(arg){ if(arg&&arg.additionalParamsToSave){ this.additionalParamsToSave=arg.additionalParamsToSave; } if(!this.loaded){ this._load(this._newElement,arg); }else{ this._newElement(arg); } },_newElement:function(arg){ this.resetForms(); this.disabledElements=[]; this.init(); this.disableForms(false); this.postNewElement(arg); },postNewElement:function(arg){ },get:function(id){ dojo.publish("loadingMessage/start"); if(!this.loaded){ this._load(this._get,id); }else{ this._get(id); } },_get:function(id){ var def=_3dgis.wf.util.ajaxGetAction("crud/json/get-"+this.type,{oid:id}); def.then(dojo.hitch(this,function(_53){ var _54={}; this.pojo=_53.data; if(this.pojo.note==null){ this.pojo.note=""; } _54[_3dgis.wf.util.lcfirst(this.type)]=_53.data; _54.oid=id; this.logger.debug("set form values"); try{ for(var i=0;i=this.inputNode.files.length){ this.onError({message:this.errMsg,filesInError:_7d}); _7c=false; } } if(!_7c){ return false; } if(_7a){ for(var nm in _7a){ _7c+=_7b+EOL; _7c+="Content-Disposition: form-data; "; _7c+="name=\""+nm+"\""+EOL+EOL; _7c+=_7a[nm]+EOL; } } _7c+=_7b+"--"+EOL; return _7c; }}); dojo.provide("_3dgis.wf.dojox.form.uploader.plugins.Flash"); dojo.require("_3dgis.wf.dojox.form.uploader.plugins.HTML5"); dojo.require("dojox.embed.flashVars"); dojo.require("dojox.embed.Flash"); dojo.declare("_3dgis.wf.dojox.form.uploader.plugins.Flash",[],{swfPath:dojo.config.uploaderPath||dojo.moduleUrl("dojox.form","resources/uploader.swf"),skipServerCheck:true,serverTimeout:2000,isDebug:false,devMode:false,deferredUploading:0,force:"",postMixInProperties:function(){ if(!this.supports("multiple")){ this.uploadType="flash"; this._files=[]; this._fileMap={}; this._createInput=this._createFlashUploader; this.getFileList=this.getFlashFileList; this.reset=this.flashReset; this.upload=this.uploadFlash; this.submit=this.submitFlash; this.fieldname="flashUploadFiles"; } this.inherited(arguments); },onReady:function(_81){ },onLoad:function(_82){ },onFileChange:function(_83){ },onFileProgress:function(_84){ },getFlashFileList:function(){ return this._files; },flashReset:function(){ this.flashMovie.reset(); this._files=[]; },uploadFlash:function(){ this.onBegin(this.getFileList()); this.flashMovie.doUpload(); },submitFlash:function(_85){ this.onBegin(this.getFileList()); this.flashMovie.doUpload(_85); },_change:function(_86){ this._files=this._files.concat(_86); dojo.forEach(_86,function(f){ f.bytesLoaded=0; f.bytesTotal=f.size; this._fileMap[f.name+"_"+f.size]=f; },this); this.onChange(this._files); this.onFileChange(_86); },_complete:function(_87){ var o=this._getCustomEvent(); o.type="load"; this.onComplete(_87); },_progress:function(f){ this._fileMap[f.name+"_"+f.bytesTotal].bytesLoaded=f.bytesLoaded; var o=this._getCustomEvent(); this.onFileProgress(f); this.onProgress(o); },_error:function(err){ this.onError(err); },_onFlashBlur:function(_88){ },_getCustomEvent:function(){ var o={bytesLoaded:0,bytesTotal:0,type:"progress",timeStamp:new Date().getTime()}; for(var nm in this._fileMap){ o.bytesTotal+=this._fileMap[nm].bytesTotal; o.bytesLoaded+=this._fileMap[nm].bytesLoaded; } o.decimal=o.bytesLoaded/o.bytesTotal; o.percent=Math.ceil((o.bytesLoaded/o.bytesTotal)*100)+"%"; return o; },_connectFlash:function(){ this._subs=[]; this._cons=[]; var _89=dojo.hitch(this,function(s,_8a){ this._subs.push(dojo.subscribe(this.id+s,this,_8a)); }); _89("/filesSelected","_change"); _89("/filesUploaded","_complete"); _89("/filesProgress","_progress"); _89("/filesError","_error"); _89("/filesCanceled","onCancel"); _89("/stageBlur","_onFlashBlur"); var cs=dojo.hitch(this,function(s,nm){ this._cons.push(dojo.subscribe(this.id+s,this,function(evt){ this.button._cssMouseEvent({type:nm}); })); }); cs("/up","mouseup"); cs("/down","mousedown"); cs("/over","mouseover"); cs("/out","mouseout"); this.connect(this.domNode,"focus",function(){ this.flashMovie.focus(); this.flashMovie.doFocus(); }); if(this.tabIndex>=0){ dojo.attr(this.domNode,"tabIndex",this.tabIndex); } },_createFlashUploader:function(){ var url=this.getUrl(); if(url){ if(url.toLowerCase().indexOf("http")<0&&url.indexOf("/")!==0){ var loc=window.location.href.split("/"); loc.pop(); loc=loc.join("/")+"/"; url=loc+url; } }else{ } this.inputNode=dojo.create("div",{className:"dojoxFlashNode"},this.domNode,"first"); dojo.style(this.inputNode,{position:"absolute",top:"-2px",width:this.btnSize.w+"px",height:this.btnSize.h+"px",opacity:0}); var w=this.btnSize.w; var h=this.btnSize.h; var _8b={expressInstall:true,path:(this.swfPath.uri||this.swfPath)+"?cb_"+(new Date().getTime()),width:w,height:h,allowScriptAccess:"always",allowNetworking:"all",vars:{uploadDataFieldName:this.flashFieldName||this.name+"Flash",uploadUrl:url,uploadOnSelect:this.uploadOnSelect,deferredUploading:this.deferredUploading||0,selectMultipleFiles:this.multiple,id:this.id,isDebug:this.isDebug,noReturnCheck:this.skipServerCheck,serverTimeout:this.serverTimeout},params:{scale:"noscale",wmode:"opaque",allowScriptAccess:"always",allowNetworking:"all"}}; this.flashObject=new dojox.embed.Flash(_8b,this.inputNode); this.flashObject.onError=dojo.hitch(function(msg){ }); this.flashObject.onReady=dojo.hitch(this,function(){ this.onReady(this); }); this.flashObject.onLoad=dojo.hitch(this,function(mov){ this.flashMovie=mov; this.flashReady=true; this.onLoad(this); }); this._connectFlash(); }}); dojo.provide("_3dgis.wf.dialog.FileUploadDialog"); dojo.require("dojox.form.Uploader"); dojo.require("dojox.form.uploader.FileList"); dojo.require("_3dgis.wf.dojox.form.uploader.plugins.Flash"); dojo.require("_3dgis.wf.dojox.form.uploader.plugins.HTML5"); dojo.declare("_3dgis.wf.dialog.FileUploadDialog",null,{dialog:null,prefix:"default",uploadUrl:null,htmlFieldName:"upload",multipleUpload:false,title:"",templateParams:null,postOnComplete:null,postOnError:null,maxFileSize:null,template:"
"+"

${headerTitle}

"+"
"+"
"+""+"
"+"
"+""+""+"
",constructor:function(opt){ this.title=_3dgis.settings.i18n["fileUploadDialog.title"]; dojo.mixin(this,opt); this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); this.logger.debug("create FileUploadDialog"); dojox.form.addUploaderPlugin(_3dgis.wf.dojox.form.uploader.plugins.HTML5); var _8c=_3dgis.settings.i18n["fileUploadDialog.header.selectOneFile"]; if(this.multipleUpload){ _8c=_3dgis.settings.i18n["fileUploadDialog.header.selectMultipleFile"]; } this.templateParams={headerTitle:_8c,dialogWidth:450,cancelButtonLabel:_3dgis.settings.i18n["cancel"],confirmButtonClass:"create",confirmButtonLabel:_3dgis.settings.i18n["fileUploadDialog.confirmButton"],headerFilesize:_3dgis.settings.i18n["size"],headerFilename:_3dgis.settings.i18n["name"],headerType:_3dgis.settings.i18n["type"],uploadUrl:this.uploadUrl,multiple:this.multipleUpload,selectButtonLabel:_3dgis.settings.i18n["fileUploadDialog.selectButtonLabel"]}; if(opt.templateParams){ dojo.mixin(this.templateParams,opt.templateParams); } this.templateParams.prefix=this.prefix; this.dialog=new dijit.Dialog({content:dojo.string.substitute(this.template,this.templateParams),title:this.title}); this.dialog.startup(); if(this.params){ for(var i=0;ithis.maxFileSize){ _8f=true; break; } } } if(_8f){ var _91=dijit.byId(this.prefix+"-fileUploadDialog-files").convertBytes(this.maxFileSize); var _92=dojo.string.substitute(_3dgis.settings.i18n["error.sizeExceedsMaximum"],[_91.value]); dojo.publish("infoMessage",[{message:_92,type:"error"}]); this.fileUploader.reset(); } }); dojo.connect(this.fileUploader,"onComplete",this,this.onComplete); dojo.connect(this.fileUploader,"onError",this,this.onError); dojo.connect(dijit.byId(this.prefix+"-fileUploadDialog-button-close"),"onClick",this,function(){ this.dialog.hide(); }); },setUrl:function(url){ dojo.byId(this.prefix+"-fileUploadDialog-form").url=url; },setParam:function(_93,_94){ var _95=dojo.query("#"+this.prefix+"-fileUploadDialog-form input[name="+_93+"]"); _95[0].value=_94; },onComplete:function(_96){ this.dialog.hide(); var _97=_96[0]; if(_97&&_97.result&&_97.result=="success"){ var _98=_3dgis.settings.i18n["fileUploaded"]; if(this.postOnComplete){ this.postOnComplete(_96); } dojo.publish("infoMessage",[{message:_98}]); }else{ var _98=_3dgis.settings.i18n["fileUploadError"]; if(_97&&_97.result&&_97.result=="error"){ _98+=": "+_97.error; } if(this.postOnError){ this.postOnError(); } dojo.publish("infoMessage",[{message:_98,type:"error"}]); } },onError:function(_99){ this.dialog.hide(); dojo.publish("infoMessage",[{message:_3dgis.settings.i18n["fileUploadError"],type:"error"}]); if(this.postOnError){ this.postOnError(); } },show:function(){ this.submitButton.set("disabled",true); this.dialog.show(); }}); dojo.provide("_3dgis.wf.dialog.GenericDialog"); dojo.declare("_3dgis.wf.dialog.GenericDialog",null,{dialogOptions:null,href:null,loaded:false,constructor:function(opt){ dojo.mixin(this,opt); this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); },load:function(arg){ dojo.publish("loadingMessage/start"); this.dialog=new dijit.Dialog(this.dialogOptions); dojo.connect(this.dialog,"hide",this,this.onClose); this.currentArg=arg; dojo.connect(this.dialog,"onLoad",this,function(){ this.loaded=true; this.postParse(); this.dialog.show(); this.init(this.currentArg); dojo.publish("loadingMessage/stop"); }); this.dialog.set("href",this.href); this.dialog.refresh(); },postParse:function(){ },init:function(arg){ },show:function(arg){ if(!this.loaded){ this.load(arg); }else{ this.dialog.show(); this.init(arg); } },close:function(){ this.dialog.hide(); },onClose:function(){ }}); dojo.provide("_3dgis.wf.dialog.AttachmentDialog"); dojo.require("_3dgis.wf.dialog.GenericDialog"); dojo.declare("_3dgis.wf.dialog.AttachmentDialog",_3dgis.wf.dialog.GenericDialog,{href:"dialog/html/attachment",init:function(_9a){ var _9b={attachment:_9a}; this.formWidget.reset(); this.formWidget.set("value",_9b); this.saveButton.set("disabled",false); },postParse:function(){ this.formWidget=dijit.byId("attachment-dialog-form"); this.saveButton=dijit.byId("attachment-dialog-button-save"); dojo.connect(dijit.byId("attachment-dialog-button-close"),"onClick",this,this.close); dojo.connect(this.saveButton,"onClick",this,this.save); },save:function(){ this.saveButton.set("disabled",true); if(this.formWidget.isValid()){ var _9c=this.formWidget.get("value").attachment; dojo.publish("attachmentDialog/save",[_9c]); this.close(); }else{ dojo.publish("infoMessage",[{message:_3dgis.settings.i18n["error.input"],type:"error"}]); this.saveButton.set("disabled",false); } },onClose:function(){ this.inherited(arguments); dojo.publish("attachmentDialog/close"); }}); dojo.provide("_3dgis.wf.controller.ImageController"); dojo.require("_3dgis.wf.dialog.FileUploadDialog"); dojo.require("_3dgis.wf.dialog.AttachmentDialog"); dojo.declare("_3dgis.wf.controller.ImageController",null,{currentImageIndex:0,images:null,fileUploadDialog:null,elementType:null,uploadUrl:"file/upload/tempImage",thumbWidth:128,thumbHeight:128,cellPadding:2,tempImageNum:0,saveOperation:1,updateOperation:2,deleteOperation:3,imagesToSave:null,gridCreated:false,constructor:function(opt){ dojo.mixin(this,opt); this.images=[]; this.imagesToSave=[]; this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); this.logger.debug("init imageController"); this.imageDialog=this.objectManager.get("imageDialog"); this.addImageWidget=dijit.byId(this.prefix+"add"); this.deleteImageWidget=dijit.byId(this.prefix+"delete"); this.viewImagesWidget=dijit.byId(this.prefix+"view"); this.editImageWidget=dijit.byId(this.prefix+"edit"); this.imageTable=dojo.byId(this.prefix+"table"); if(this.addImageWidget){ dojo.connect(this.addImageWidget,"onClick",this,this.showUploadImage); } if(this.deleteImageWidget){ dojo.connect(this.deleteImageWidget,"onClick",this,this.deleteImage); } if(this.viewImagesWidget){ dojo.connect(this.viewImagesWidget,"onClick",this,function(){ this.showImage(this.currentImageIndex); }); } if(this.editImageWidget){ dojo.connect(this.editImageWidget,"onClick",this,this.editImage); } this.fileUploadDialog=new _3dgis.wf.dialog.FileUploadDialog({prefix:this.prefix,multipleUpload:true,title:_3dgis.settings.i18n["fileUpload"],description:_3dgis.settings.i18n["imageInputDescription"],uploadUrl:this.uploadUrl,params:[{name:"maxThumbWidth",value:this.thumbWidth},{name:"maxThumbHeight",value:this.thumbHeight}],postOnComplete:dojo.hitch(this,this.onDataLoaded)}); this.attachmentDialog=this.objectManager.get("attachmentDialog"); },onDataLoaded:function(_9d){ for(var i=0;i<_9d.length;i++){ this.addTempImage(_9d[i]); } this.createGrid(); },addTempImage:function(_9e){ this.tempImageNum++; this.logger.debug("add temp image "); this.images.push({id:"temp-"+this.tempImageNum,tempFileName:_9e.tempFileName,title:"",attachmentName:_9e.fileName,registrationDate:_3dgis.wf.util.getCurrentDate(),operation:this.saveOperation,isTemp:true}); },showUploadImage:function(){ this.fileUploadDialog.show(); },deleteImage:function(){ var _9f=_3dgis.settings.i18n["confirmDelete"]; _3dgis.objectManager.get("confirmDialog").show(_9f,dojo.hitch(this,function(){ this.logger.debug("current selected image",this.currentImageIndex); if(this.currentImageIndex!=null){ var _a0=this.images[this.currentImageIndex]; this.logger.debug("delete image",_a0.id); if(!_a0.isTemp){ _a0.operation=this.deleteOperation; this.imagesToSave.push(_a0); } this.images.splice(this.currentImageIndex,1); this.currentImageIndex=0; this.createGrid(); }else{ this.logger.error("no image selected"); } })); },editImage:function(){ this.logger.debug("current selected image",this.currentImageIndex); if(this.currentImageIndex!=null){ var _a1=this.images[this.currentImageIndex]; this.logger.debug("edit image",_a1.id); this.attachmentDialogCancelHandle=dojo.subscribe("attachmentDialog/close",this,function(){ dojo.unsubscribe(this.attachmentDialogCancelHandle); dojo.unsubscribe(this.attachmentDialogSaveHandle); }); this.attachmentDialogSaveHandle=dojo.subscribe("attachmentDialog/save",this,function(_a2){ dojo.unsubscribe(this.attachmentDialogCancelHandle); dojo.unsubscribe(this.attachmentDialogSaveHandle); this.logger.debug("save edit data ",_a2); var _a3=this.images[this.currentImageIndex]; _a3=dojo.mixin(_a3,_a2); if(!_a3.isTemp){ this.images[this.currentImageIndex].operation=this.updateOperation; } this.editImageName(_a3); }); this.attachmentDialog.show(_a1); }else{ this.logger.error("no image selected"); } },createGrid:function(){ this.logger.debug("create grid"); this.imageTable.innerHTML=""; var box=dojo.contentBox(this.imageTable.parentNode.parentNode.parentNode.parentNode); this.logger.debug("box",box); var _a4=box.w; this.logger.debug("container width",_a4); this.cols=Math.floor(_a4/(this.thumbWidth+this.cellPadding*2)); this.logger.debug("columns",this.cols); var tr=dojo.create("tr",null,this.imageTable); var col=1; for(var i=0;ithis.cols){ col=1; tr=dojo.create("tr",null,this.imageTable); } var td=dojo.create("td",{style:{padding:"2px"}},tr); var img=dojo.create("img",{src:this.getImageUrl(_a5,true),id:this.prefix+"thumb-"+_a5.id},td); img.ondblclick=dojo.hitch(this,function(_a6,_a7){ this.logger.debug("node",_a7); this.setCurrentImageIndex(_a6,_a7); this.showImage(_a6); },i,img); img.onclick=dojo.hitch(this,function(_a8,_a9){ this.logger.debug("node",_a9); this.setCurrentImageIndex(_a8,_a9); },i,img); dojo.create("div",{id:this.prefix+"thumb-name-"+_a5.id,innerHTML:_a5.attachmentName},td); col++; } this.updateSlideshowData(); this.gridCreated=true; },setCurrentImageIndex:function(_aa,_ab){ this.logger.debug("selected image",_aa,_ab); this.currentImageIndex=_aa; if(this.currentImageNode!=null){ dojo.removeClass(this.currentImageNode.parentNode,"selected"); } this.currentImageNode=_ab; dojo.addClass(this.currentImageNode.parentNode,"selected"); },setImages:function(_ac){ this.gridCreated=false; this.tempImageNum=0; this.images=[]; this.imagesToSave=[]; this.logger.debug("set images",_ac); for(var i=0;i<_ac.length;i++){ var _ad=_ac[i]; _ad.isTemp=false; this.images.push(_ad); } },updateSlideshowData:function(){ var _ae=[]; this.imageDialog.reset(); for(var i=0;i0){ var _b1=this.images[_b0]; this.imageDialog.showGroup(this.getImageUrl(_b1,false),_b1.title); } } },editImageName:function(_b2){ dojo.byId(this.prefix+"thumb-name-"+_b2.id).innerHTML=_b2.attachmentName; },getImageUrl:function(_b3,_b4){ var url="file/download/"; var _b5={isThumbnail:_b4}; if(_b3.isTemp){ url+="tempImage?"; _b5.fileName=_b3.tempFileName; }else{ url+="elementImage?"; _b5.elementType=this.elementType; _b5.fileName=_b3.fileName; } return url+dojo.objectToQuery(_b5); },getImagesToSave:function(){ var _b6=[]; for(var i=0;i1){ this.tabContainer.selectChild(this.tabContainer.getChildren()[0]); } } },hide:function(){ this.hidden=true; this.close(); },postGet:function(){ this.setTitle(_3dgis.settings.i18n[this.type]+" - "+this.pojo.id); var _d0=[]; var _d1=[]; if(this.pojo.attachments){ for(var i=0;i0){ for(var i=0;i<_d5.length;i++){ var _d7=_d5[i]; var _d8=this.type+".attachmentsToSave["+i+"]."; if(!_d7.isTemp){ _d4[_d8+"id"]=_d7.id; } _d4[_d8+"attachmentName"]=_d7.attachmentName; _d4[_d8+"fileName"]=_d7.fileName; if(_d7.tempFileName){ _d4[_d8+"tempFileName"]=_d7.tempFileName; } _d4[_d8+"title"]=_d7.title; _d4[_d8+"author"]=_d7.author; var _d9=_d7.registrationDate; if(_d7.registrationDate instanceof Date){ _d9=_3dgis.wf.util.isoFromDate(_d7.registrationDate); } _d4[_d8+"registrationDate"]=_d9; _d4[_d8+"operation"]=_d7.operation; _d4[_d8+"type"]=_d7.type; _d4[_d8+"note"]=_d7.note; if(this.pojo){ _d4[_d8+"element.id"]=this.pojo.id; } } } var i=0; for(var _da in _d4){ if(_da.indexOf(".id",_da.length-3)!==-1){ if(_d4[_da]===null||_d4[_da]===""){ var _d8=this.type+".nullProperties["+i++ +"]"; _d4[_d8]=_da.split(".")[1]; } } } return _d4; },postSave:function(){ this.close(); },postSaveError:function(){ this.buttons["save"].button.set("disabled",false); },postDelete:function(){ this.close(); },registerButton:function(_db,_dc,_dd){ var _de=dijit.byId(this.getPrefix()+"button-"+_db); if(_de){ this.logger.debug("register button",_db); this.connections.push(dojo.connect(_de,"onClick",this,_dd)); this.buttons[_db]={button:_de,modes:_dc}; } },registerTab:function(_df,_e0){ var tab=dijit.byId(this.getPrefix()+"tab"+_3dgis.wf.util.ucfirst(_df)); if(tab){ this.logger.debug("register tab",_df); this.tabs[_df]={tab:tab,modes:_e0}; } return tab; },hideTab:function(tab,_e1){ if(_e1){ tab.controlButton.domNode.style.display="none"; }else{ tab.controlButton.domNode.style.display=""; } },setMode:function(_e2){ this.logger.debug("setMode",_e2); this.mode=_e2; for(var key in this.buttons){ var _e3=true; var _e4=this.buttons[key]; if(_e4){ var _e5=_e4.modes; for(var i=0;i<_e5.length;i++){ if(_e5[i]==_e2){ _e3=false; break; } } _e4.button.set("disabled",_e3); } } for(var key in this.tabs){ var _e3=true; var _e6=this.tabs[key]; if(_e6){ var _e5=_e6.modes; for(var i=0;i<_e5.length;i++){ if(_e5[i]==_e2){ _e3=false; break; } } if(_e3){ if(_e6.tab.controlButton){ _e6.tab.controlButton.domNode.style.display="none"; } }else{ if(_e6.tab.controlButton){ _e6.tab.controlButton.domNode.style.display=""; } } } } }}); dojo.provide("_3dgis.wf.dialog.InputDialog"); dojo.declare("_3dgis.wf.dialog.InputDialog",null,{prefix:"inputDialog",title:null,templateParams:null,template:"
"+"

${headerTitle}

"+"
"+"
"+""+""+"
"+"
"+""+"
"+""+""+"
",constructor:function(opt){ dojo.mixin(this,opt); this.templateParams={headerTitle:"",dialogWidth:120,cancelButtonLabel:_3dgis.settings.i18n["cancel"],confirmButtonClass:"create",confirmButtonLabel:"",inputLabel:"",inputDojoType:"dijit.form.TextBox"}; if(opt.templateParams){ dojo.mixin(this.templateParams,opt.templateParams); } this.templateParams.prefix=this.prefix; this.dialog=new dijit.Dialog({content:dojo.string.substitute(this.template,this.templateParams),title:this.title}); this.dialog.startup(); this.inputWidget=dijit.byId(this.prefix+"-dialog-form-input"); dojo.connect(this.inputWidget,"onekeypress",function(e){ dojo.stopEvent(e); if(e.charOrCode==dojo.keys.ENTER){ this.submit(); } }); dojo.connect(dijit.byId(this.prefix+"-dialog-button-confirm"),"onClick",this,this.submit); dojo.connect(dijit.byId(this.prefix+"-dialog-button-close"),"onClick",this,function(){ this.onCancel(); this.dialog.hide(); }); },submit:function(){ if(dijit.byId(this.prefix+"-dialog-form").isValid()){ var _e7=this.inputWidget.get("value"); dojo.publish(this.prefix+"/confirm",[_e7]); this.postSubmit(_e7); }else{ dojo.publish("infoMessage",[{message:_3dgis.settings.i18n["error.input"],type:"error"}]); } },onCancel:function(){ dojo.publish(this.prefix+"/cancel"); },postSubmit:function(_e8){ this.dialog.hide(); },postShow:function(){ },show:function(){ this.inputWidget.set("value",""); this.dialog.show(); this.postShow(); }}); dojo.provide("_3dgis.wf.dialog.ImageGalleryDialog"); dojo.require("_3dgis.wf.dialog.FileUploadDialog"); dojo.require("_3dgis.wf.dialog.InputDialog"); dojo.declare("_3dgis.wf.dialog.ImageGalleryDialog",null,{prefix:"imageGallery",dialog:null,currentImage:null,currentImageNode:null,currentUrl:null,systemIconsUrl:"system/",customIconsUrl:"user/",uploadActionUrl:"file/upload/imageGallery",imageGalleryUrl:"dialog/html/imageGallery",imageGalleryContentUrl:"dialog/html/imageGalleryContent",createDirectoryUrl:"imageGallery/json/createDir",deleteFileUrl:"imageGallery/json/deleteFile",deleteDirUrl:"imageGallery/json/deleteDir",listDirectoryTreeUrl:"imageGallery/json/dojoForestStore",title:null,constructor:function(){ this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); this.title=_3dgis.settings.i18n["imageGallery"]; },postConstructor:function(){ dojo.subscribe("imageGallery/selectImage",this,this.imageSelected); this.directoryInputDialog=new _3dgis.wf.dialog.InputDialog({prefix:"directoryNameInput",title:_3dgis.settings.i18n["imageGallery"],templateParams:{headerTitle:_3dgis.settings.i18n["insertNewDirectoryName"],inputLabel:_3dgis.settings.i18n["name"],confirmButtonLabel:_3dgis.settings.i18n["create"]}}); this.fileUploadDialog=new _3dgis.wf.dialog.FileUploadDialog({multipleUpload:true,description:_3dgis.settings.i18n["selectImagesToUpload"],uploadUrl:this.uploadActionUrl,params:[{name:"url",value:this.customIconsUrl},{name:"galleryName",value:""}],postOnComplete:dojo.hitch(this,function(){ this.loadImages(this.currentUrl); })}); dojo.subscribe("directoryNameInput/confirm",this,function(_e9){ var def=_3dgis.wf.util.ajaxPostAction(this.createDirectoryUrl,{galleryName:this.currentOptions.galleryName,url:this.currentUrl+_e9}); def.then(dojo.hitch(this,function(_ea){ this.reloadCustomSymbolsTree(); })); }); this.systemSymbolsTreeUrl=this.systemIconsUrl; this.customSymbolsTreeUrl=this.customIconsUrl; },createImageContextMenu:function(){ if(_3dgis.wf.util.string.startsWith(this.customIconsUrl,this.currentUrl)){ this.logger.debug("createImageContextMenu"); if(this.imageContextMenu){ this.imageContextMenu.destroy(); } var _eb=dojo.query("#"+this.prefix+"-content img"); var ids=[]; for(var i=0;i<_eb.length;i++){ ids.push(_eb[i].id); } this.imageContextMenu=new dijit.Menu({targetNodeIds:ids}); this.imageContextMenu.addChild(new dijit.MenuItem({label:_3dgis.settings.i18n["delete"],iconClass:"deleteImageIcon",onClick:dojo.hitch(this,this.deleteImage)})); dojo.connect(this.imageContextMenu,"_openMyself",this,function(e){ this.currentContextMenuImageUrl=e.target.id.replace(this.prefix+"-",""); this.imageSelected(this.currentContextMenuImageUrl,e.target); }); } },show:function(opt){ this.logger.debug("show",opt); this.currentOptions=opt; this.confirmSelection=false; this.currentImage=null; if(this.dialog==null){ this.dialog=new dijit.Dialog(); this.dialog.set("href",this.imageGalleryUrl); this.dialog.show(); dojo.connect(this.dialog,"onLoad",this,function(){ dojo.connect(dijit.byId(this.prefix+"-button-delete"),"onClick",this,this.deleteImage); dojo.connect(dijit.byId(this.prefix+"-button-removeSelected"),"onClick",this,this.deleteDir); dojo.connect(dijit.byId(this.prefix+"-button-newSymbol"),"onClick",this,this.uploadImage); dojo.connect(dijit.byId(this.prefix+"-button-newFolder"),"onClick",this,this.createDir); dojo.connect(dijit.byId(this.prefix+"-button-close"),"onClick",this,this.close); dojo.connect(dijit.byId(this.prefix+"-content"),"onLoad",this,this.initContent); this.selectButton=dijit.byId(this.prefix+"-button-select"); dojo.connect(this.selectButton,"onClick",this,this.selectImage); this.selectButton.set("disabled",true); this.createTrees(); }); dojo.connect(this.dialog,"hide",this,function(){ if(!this.confirmSelection){ dojo.publish("imageGallery/cancel"); } }); if(opt&&opt.title){ this.dialog.set("title",opt.title); }else{ this.dialog.set("title",this.title); } }else{ this.selectButton.set("disabled",true); if(opt&&opt.title){ this.dialog.set("title",opt.title); }else{ this.dialog.set("title",this.title); } this.dialog.show(); } },createTrees:function(){ this.logger.debug("createTrees"); var _ec=new dijit.tree.ForestStoreModel({store:new dojo.data.ItemFileReadStore({url:this.createTreeUrl(this.systemIconsUrl)}),query:{"type":"root"},rootId:"root",rootLabel:_3dgis.settings.i18n["images"],childrenAttrs:["children"]}); this.systemSymbolsTree=new dijit.Tree({model:_ec,showRoot:true},this.prefix+"-systemSymbolsTree"); this.systemSymbolsTree.startup(); dojo.connect(this.systemSymbolsTree,"onClick",this,function(_ed){ if(_ed.root){ this.currentUrl=this.systemIconsUrl; }else{ this.currentUrl=_ed.id+"/"; } this.systemSymbolsTreeUrl=this.currentUrl; this.loadImages(this.currentUrl); }); this.systemSymbolsTree.set("path",["root"]); dojo.connect(dijit.byId(this.prefix+"-systemSymbolsContentPane"),"onShow",this,function(){ this.loadImages(this.systemSymbolsTreeUrl); }); this.createCustomSymbolsTree(); },createTreeUrl:function(url){ return this.listDirectoryTreeUrl+"?galleryName="+this.currentOptions.galleryName+"&url="+url; },createCustomSymbolsTree:function(){ var _ee=new dijit.tree.ForestStoreModel({store:new dojo.data.ItemFileReadStore({url:this.createTreeUrl(this.customIconsUrl)}),query:{"type":"root"},rootId:"root",rootLabel:_3dgis.settings.i18n["images"],childrenAttrs:["children"]}); this.customSymbolsTree=new dijit.Tree({model:_ee,showRoot:true},this.prefix+"-customSymbolsTree"); this.customSymbolsTree.startup(); dojo.connect(this.customSymbolsTree,"onClick",this,function(_ef){ if(_ef.root){ this.currentUrl=this.customIconsUrl; }else{ this.currentUrl=_ef.id+"/"; } this.customSymbolsTreeUrl=this.currentUrl; this.loadImages(this.currentUrl); }); dojo.connect(dijit.byId(this.prefix+"-customSymbolsContentPane"),"onShow",this,function(){ this.loadImages(this.customSymbolsTreeUrl); }); this.customSymbolsTree.set("path",["root"]); },loadImages:function(url){ this.selectButton.set("disabled",true); this.currentImage=null; this.currentUrl=url; dijit.byId(this.prefix+"-content").set("href",this.createContentUrl(url)); },createContentUrl:function(url){ return this.imageGalleryContentUrl+"?galleryName="+this.currentOptions.galleryName+"&url="+url; },initContent:function(){ this.createImageContextMenu(); },imageSelected:function(url,_f0){ this.selectButton.set("disabled",false); this.currentImage=url; if(this.currentImageNode!=null){ dojo.removeClass(this.currentImageNode,"selected"); } this.currentImageNode=_f0; dojo.addClass(_f0,"selected"); },deleteDir:function(){ if(this.currentUrl&&this.currentUrl!=this.customIconsUrl){ this.objectManager.get("confirmDialog").show(_3dgis.settings.i18n["confirmDelete"],dojo.hitch(this,function(){ var def=_3dgis.wf.util.ajaxPostAction(this.deleteDirUrl,{galleryName:this.currentOptions.galleryName,url:this.currentUrl}); def.then(dojo.hitch(this,function(){ this.reloadCustomSymbolsTree(); })); })); } },reloadCustomSymbolsTree:function(){ this.currentUrl=this.customIconsUrl; this.loadImages(this.currentUrl); this.customSymbolsTree.destroy(true); this.createCustomSymbolsTree(); this.customSymbolsTree.setStore(customSymbolsTreeModel); },createDir:function(){ this.directoryInputDialog.show(); },selectImage:function(){ if(this.currentImage!=null){ this.logger.debug("selectImage",this.currentImage); this.confirmSelection=true; this.dialog.hide(); dojo.publish("imageGallery/select",[{src:this.currentImage,height:this.currentImageNode.height,width:this.currentImageNode.width}]); } },deleteImage:function(){ if(this.currentContextMenuImageUrl!=null){ this.objectManager.get("confirmDialog").show(_3dgis.settings.i18n["confirmDelete"],dojo.hitch(this,function(){ var def=_3dgis.wf.util.ajaxPostAction(this.deleteFileUrl,{galleryName:this.currentOptions.galleryName,url:this.currentContextMenuImageUrl}); def.then(dojo.hitch(this,function(){ this.loadImages(this.currentUrl); })); })); } },uploadImage:function(){ this.fileUploadDialog.setParam("url",this.currentUrl); this.fileUploadDialog.setParam("galleryName",this.currentOptions.galleryName); this.fileUploadDialog.show(); },close:function(){ this.dialog.hide(); }}); dojo.provide("_3dgis.wf.dojox.data.QueryReadStore"); dojo.require("dojox.data.QueryReadStore"); dojo.declare("_3dgis.wf.dojox.data.QueryReadStore",dojox.data.QueryReadStore,{_fetchItems:function(_f1,_f2,_f3){ var _f4=_f1.serverQuery||_f1.query||{}; if(!this.doClientPaging){ _f4.start=_f1.start||0; if(_f1.count){ _f4.count=_f1.count; } } if(!this.doClientSorting){ if(_f1.sort){ var _f5=_f1.sort[0]; if(_f5&&_f5.attribute){ var _f6=_f5.attribute; if(_f5.descending){ _f6="-"+_f6; } _f4.sort=_f6; } } } if(this.doClientPaging&&this._lastServerQuery!==null&&dojo.toJson(_f4)==dojo.toJson(this._lastServerQuery)){ this._numRows=(this._numRows===-1)?this._items.length:this._numRows; _f2(this._items,_f1,this._numRows); }else{ var _f7=this.requestMethod.toLowerCase()=="post"?dojo.xhrPost:dojo.xhrGet; var _f8={}; for(var key in _f4){ if(key=="count"&&_f4[key]=="Infinity"){ continue; } if(key!="name"){ _f8["filter."+key]=_f4[key]; } } var _f9=_f7({url:this.url,handleAs:"json-comment-optional",content:_f8}); _f9.addCallback(dojo.hitch(this,function(_fa){ this._xhrFetchHandler(_fa,_f1,_f2,_f3); })); _f9.addErrback(function(_fb){ _f3(_fb,_f1); }); this.lastRequestHash=new Date().getTime()+"-"+String(Math.random()).substring(2); this._lastServerQuery=dojo.mixin({},_f4); } }}); dojo.provide("_3dgis.wf.dao.ServerSideElementDao"); dojo.declare("_3dgis.wf.dao.ServerSideElementDao",null,{elementType:null,constructor:function(opt){ dojo.mixin(this,opt); },get:function(id){ var def=_3dgis.wf.util.ajaxGetAction("crud/json/get-"+this.elementType,{oid:id}); return def; },save:function(_fc,id){ if(id!=null){ _fc["oid"]=id; } var def=_3dgis.wf.util.ajaxPostAction("crud/json/save-"+this.elementType,_fc); def.then(dojo.hitch(this,function(_fd){ dojo.publish("crud/save",[this.elementType]); dojo.publish("crud/save/"+this.elementType); })); return def; },eliminate:function(id){ var def=_3dgis.wf.util.ajaxPostAction("crud/json/delete-"+this.elementType,{oid:id}); def.then(dojo.hitch(this,function(_fe){ dojo.publish("crud/delete",[this.elementType]); dojo.publish("crud/delete/"+this.elementType); })); return def; }}); dojo.provide("_3dgis.wf.dijit.form.NumberTextBox"); dojo.require("dijit.form.NumberTextBox"); dojo.declare("_3dgis.wf.dijit.form.NumberTextBox",dijit.form.NumberTextBox,{serialize:function(val,_ff){ var _100=dojo.i18n.normalizeLocale(); var _101=dojo.i18n.getLocalization("dojo.cldr","number",_100); var _102=_101.decimal; return (val+"").replace(_102,"."); },_getValueAttr:function(){ var v=this.inherited(arguments); if(isNaN(v)){ v=null; } return v; },_formatter:function(_103,_104){ var _105=dojo.i18n.normalizeLocale(); var _106=dojo.i18n.getLocalization("dojo.cldr","number",_105); var _107=_106.group; var _108=dojo.number.format(_103,_104); _108=_108.replace(new RegExp("\\"+_107,"g"),""); return _108; }}); dojo.provide("_3dgis.wf.dijit.Editor"); dojo.require("dijit.Editor"); dojo.declare("_3dgis.wf.dijit.Editor",dijit.Editor,{reset:function(){ this.set("value",""); },_setDisabledAttr:function(_109){ var _10a=dojo.hitch(this,function(){ if((!this.disabled&&_109)||(!this._buttonEnabledPlugins&&_109)){ dojo.forEach(this._plugins,function(p){ p.set("disabled",true); }); this.toolbar.domNode.style.display="none"; }else{ if(this.disabled&&!_109){ dojo.forEach(this._plugins,function(p){ p.set("disabled",false); }); this.toolbar.domNode.style.display=""; } } }); this.setValueDeferred.addCallback(_10a); this.inherited(arguments); }}); dojo.provide("_3dgis.wf.manager.ObjectManager"); dojo.declare("_3dgis.wf.manager.ObjectManager",null,{defs:null,objects:null,constructor:function(){ this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); this.defs={}; this.objects={}; },analyzeObjectDefinitions:function(){ this.logger.debug("analyze object definitions"); this.objectsToInstance=[]; var _10b=null; for(var key in this.defs){ this.logger.debug("analyze object "+key); if(_10b==key){ this.logger.error("duplicate object definition"); }else{ this.analyzeObjectDefinition(key); } key=_10b; } for(var i=0;i
",_messageNode:null,constructor:function(){ this._dialog=new dijit.Dialog({title:_3dgis.settings.i18n["alertDialogTitle"],draggable:false,closable:false}); this._dialog.set("content",this._template); this._dialog.startup(); this._messageNode=dojo.byId("alertDialog-message"); dojo.connect(dijit.byId("alertDialog-confirm"),"onClick",this,this.confirmAction); },show:function(text,_117,_118){ this._messageNode.innerHTML=text; this._dialog.show(); this.confirmFunc=_117; this.cancelFunc=_118; },confirmAction:function(){ this._dialog.hide(); }}); dojo.provide("_3dgis.wf.dojox.form.uploader.plugins.IFrame"); dojo.require("_3dgis.wf.dojox.form.uploader.plugins.HTML5"); dojo.require("dojo.io.iframe"); dojo.declare("_3dgis.wf.dojox.form.uploader.plugins.IFrame",[],{force:"",postMixInProperties:function(){ this.inherited(arguments); if(!this.supports("multiple")){ this.uploadType="iframe"; } },upload:function(data){ if(!this.supports("multiple")||this.force=="iframe"){ this.uploadIFrame(data); dojo.stopEvent(data); return; } },uploadIFrame:function(){ var url=this.getUrl(); var dfd=dojo.io.iframe.send({url:this.getUrl(),form:this.form,handleAs:"json",error:dojo.hitch(this,function(err){ }),load:dojo.hitch(this,function(data,_119,_11a){ this.onComplete(data); })}); }}); dojo.provide("_3dgis.wf.dojox.layout.ExpandoPane"); dojo.require("dojox.layout.ExpandoPane"); dojo.declare("_3dgis.wf.dojox.layout.ExpandoPane",dojox.layout.ExpandoPane,{toggle:function(){ this.inherited(arguments); this.onToggle(this._showing); },onToggle:function(){ }}); dojo.provide("_3dgis.wf.manager.TableManager"); dojo.declare("_3dgis.wf.manager.TableManager",null,{node:null,colNum:0,constructor:function(opt){ dojo.mixin(this,opt); },addColumn:function(_11b,_11c){ var row=null; if(this.node.rows.length>0){ row=this.node.rows[0]; }else{ row=this.node.insertRow(0); } var cell=row.insertCell(_11b); cell.innerHTML=_11c; dojo.attr(cell,"class","tableHeader"); this.colNum++; for(var i=1;i1){ obj[_135+"logicOperator"]=this.logicOperator; } if(this.sort){ obj[_135+"sort"]=this.sort; } return obj; },getConditionNumber:function(){ return this.conditions.length; },clearConditions:function(){ this.conditions=[]; }}); dojo.provide("_3dgis.wf.manager.EllipsisManager"); dojo.declare("_3dgis.wf.manager.EllipsisManager",null,{timeout:100,handle:null,query:null,containerQuery:null,ellipSpan:null,textSizeAttr:"data-gis-text-size",textValueAttr:"data-gis-text-value",event:null,containerId:null,textReplacer:"...",offset:20,nodes:null,constructor:function(_136){ dojo.mixin(this,_136); this.ellipSpan=dojo.create("span",{"style":"position: absolute; top: -9999px"},dojo.body()); this.setupEllipsis(); dojo.connect(dijit.byId(this.containerId),this.event,this,this.callback); this.resize(); },setupEllipsis:function(){ this.nodes=dojo.query(this.query); for(var i=0;i0&&_13a<_138){ _138=_13a; } }); for(var i=0;i=_138-this.offset){ dojo.attr(node,"innerHTML",dojo.attr(this.ellipSpan,"innerHTML")); break; } } }else{ if(dojo.attr(node,"innerHTML")!=t){ dojo.attr(node,"innerHTML",t); } } } }}); dojo.provide("_3dgis.wf.dijit.form.CurrencyTextBox"); dojo.require("dijit.form.CurrencyTextBox"); dojo.declare("_3dgis.wf.dijit.form.CurrencyTextBox",dijit.form.CurrencyTextBox,{_getValueAttr:function(){ var v=this.inherited(arguments); if(isNaN(v)){ v=null; } return v; }}); dojo.provide("_3dgis.wf.dijit.form.ValidationTextarea"); dojo.require("dijit.form.SimpleTextarea"); dojo.require("dijit.form.ValidationTextBox"); dojo.declare("_3dgis.wf.dijit.form.ValidationTextarea",[dijit.form.ValidationTextBox,dijit.form.SimpleTextarea],{validator:function(_13c,_13d){ var _13e=true; if(this.required){ _13e=!this._isEmpty(_13c); } return _13e; }}); dojo.provide("_3dgis.wf.controller.KeyboardEventController"); dojo.declare("_3dgis.wf.controller.KeyboardEventController",null,{keyEventHandle:null,constructor:function(){ this.keyEventHandle=dojo.connect(dojo.doc,"onkeypress",this,function(e){ if(e.charOrCode==dojo.keys.ESCAPE){ dojo.stopEvent(e); dojo.publish("keyboardEvent/esc"); } }); }}); dojo.provide("_3dgis.wf.controller.LoadingMessageController"); dojo.declare("_3dgis.wf.controller.LoadingMessageController",null,{nodeId:"init-loadingMessage",constructor:function(){ this.node=dojo.byId(); dojo.subscribe("loadingMessage/start",this,function(){ dojo.fadeIn({node:this.nodeId,duration:100}).play(); }); dojo.subscribe("loadingMessage/stop",this,function(){ dojo.fadeOut({node:this.nodeId,duration:500}).play(); }); }}); dojo.provide("_3dgis.wf.dijit.UnclosableDialog"); dojo.require("dijit.Dialog"); dojo.declare("_3dgis.wf.dijit.UnclosableDialog",dijit.Dialog,{disableCloseButton:true,postCreate:function(){ this.inherited(arguments); this._updateCloseButtonState(); },_onKey:function(evt){ if(this.disableCloseButton&&evt.charOrCode==dojo.keys.ESCAPE){ return; } this.inherited(arguments); },setCloseButtonDisabled:function(flag){ this.disableCloseButton=flag; this._updateCloseButtonState(); },_updateCloseButtonState:function(){ dojo.style(this.closeButtonNode,"display",this.disableCloseButton?"none":"block"); }}); dojo.provide("_3dgis.wf.dialog.SessionExpiredDialog"); dojo.require("_3dgis.wf.dijit.UnclosableDialog"); dojo.declare("_3dgis.wf.dialog.SessionExpiredDialog",null,{dialog:null,template:"
${0}
${1}
",timeout:10000,sessionExpiredHttpCode:403,constructor:function(){ var html=dojo.string.substitute(this.template,[_3dgis.settings.i18n["sessionExpiredMessage"],_3dgis.settings.i18n["execLogin"]]); this.dialog=new _3dgis.wf.dijit.UnclosableDialog({content:html}); this.dialog.startup(); dojo.subscribe("/dojo/io/error",dojo.hitch(this,function(dfd,_13f){ if(_13f.status==this.sessionExpiredHttpCode){ this.dialog.show(); } })); }}); dojo.provide("_3dgis.wf.controller.UiBlockerController"); dojo.declare("_3dgis.wf.controller.UiBlockerController",null,{standbyWidgetId:"init-uiBlocker",standbyWidget:null,constructor:function(){ this.node=dojo.byId(); this.standbyWidget=dijit.byId(this.standbyWidgetId); dojo.subscribe("uiBlocker/start",this,function(){ this.standbyWidget.show(); }); dojo.subscribe("uiBlocker/stop",this,function(){ this.standbyWidget.hide(); }); }}); dojo.provide("_3dgis.wf.controller.InitController"); dojo.require("_3dgis.wf.controller.KeyboardEventController"); dojo.require("_3dgis.wf.controller.LoadingMessageController"); dojo.require("_3dgis.wf.dialog.SessionExpiredDialog"); dojo.require("_3dgis.wf.controller.UiBlockerController"); dojo.declare("_3dgis.wf.controller.InitController",null,{keyboardEventController:null,loadingMessageController:null,sessionExpiredDialog:null,uiBlockerController:null,init:function(){ this.keyboardEventController=new _3dgis.wf.controller.KeyboardEventController(); this.loadingMessageController=new _3dgis.wf.controller.LoadingMessageController(); this.sessionExpiredDialog=new _3dgis.wf.dialog.SessionExpiredDialog(); this.uiBlockerController=new _3dgis.wf.controller.UiBlockerController(); }}); dojo.provide("_3dgis.wf.dialog.ConfirmDialog"); dojo.declare("_3dgis.wf.dialog.ConfirmDialog",null,{confirmFunc:null,cancelFunc:null,_dialog:null,_template:"
",_messageNode:null,constructor:function(){ this._dialog=new dijit.Dialog({title:_3dgis.settings.i18n["confirmDialogTitle"],draggable:false,closable:false}); this._dialog.set("content",this._template); this._dialog.startup(); this._messageNode=dojo.byId("confirmDialog-message"); dojo.connect(dijit.byId("confirmDialog-confirm"),"onClick",this,this.confirmAction); dojo.connect(dijit.byId("confirmDialog-cancel"),"onClick",this,this.cancelAction); },show:function(text,_140,_141){ this._messageNode.innerHTML=text; this._dialog.show(); this.confirmFunc=_140; this.cancelFunc=_141; },confirmAction:function(){ this._dialog.hide(); this.confirmFunc(); this.cancelFunc=null; },cancelAction:function(){ if(this.cancelFunc){ this.cancelFunc(); this.cancelFunc=null; } this._dialog.hide(); }}); dojo.provide("_3dgis.wf.dijit.form.DateTextBox"); dojo.require("dijit.form.DateTextBox"); dojo.declare("_3dgis.wf.dijit.form.DateTextBox",dijit.form.DateTextBox,{}); dojo.provide("_3dgis.wf.controller.GridViewController"); dojo.require("_3dgis.wf.dojox.data.QueryReadStore"); dojo.declare("_3dgis.wf.controller.GridViewController",null,{prefix:null,type:null,grid:null,dialog:null,newElementButton:null,deleteButton:null,filter:null,loadStoreOnInit:true,dataStoreUrl:null,constructor:function(_142){ dojo.mixin(this,_142); this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); },init:function(){ this.grid=dijit.byId(this.prefix+"grid"); if(!this.dialog){ this.dialog=this.objectManager.get("adminDialog",this.type); } dojo.connect(this.grid,"onRowDblClick",this,this.onRecordSelection); this.newElementButton=dijit.byId(this.prefix+"newElement"); if(this.newElementButton){ dojo.connect(this.newElementButton,"onClick",this,this.newRecord); } this.deleteButton=dijit.byId(this.prefix+"delete"); if(this.deleteButton){ dojo.connect(this.deleteButton,"onClick",this,function(){ var _143=this.grid.selection.getFirstSelected(); if(_143){ var _144=this.grid.store.getValue(_143,"id"); this.deleteRecord(_144); }else{ dojo.publish("infoMessage",[{message:_3dgis.settings.i18n["error.selectOneRow"],type:"error"}]); } }); } this.reloadButton=dijit.byId(this.prefix+"reload"); if(this.reloadButton){ dojo.connect(this.reloadButton,"onClick",this,function(){ this.loadGrid(); }); } dojo.subscribe("crud/save/"+this.type,this,this.loadGrid); dojo.subscribe("crud/delete/"+this.type,this,this.loadGrid); if(this.loadStoreOnInit){ this.loadGrid(); } },deleteRecord:function(_145){ this.objectManager.get("confirmDialog").show(_3dgis.settings.i18n["confirmDelete"],dojo.hitch(this,function(){ var def=_3dgis.wf.util.ajaxPostAction("crud/json/delete-"+this.type,{oid:_145}); def.then(dojo.hitch(this,function(_146){ this.loadGrid(); })); })); },newRecord:function(){ this.dialog.newElement(); },onRecordSelection:function(){ var id=this.grid.store.getValue(this.grid.selection.getFirstSelected(),"id"); this.dialog.get(id); },loadGrid:function(){ this.grid.setStore(new _3dgis.wf.dojox.data.QueryReadStore({url:this.createDataStoreUrl()})); },createDataStoreUrl:function(){ var url="list/json/store-"+this.type; if(this.dataStoreUrl){ url=this.dataStoreUrl; } return url; }}); dojo.provide("_3dgis.wf.controller.OperationProgressController"); dojo.require("_3dgis.wf.dijit.UnclosableDialog"); dojo.declare("_3dgis.wf.controller.OperationProgressController",null,{operationMessage:null,progressBar:null,messageNode:null,actionUrl:"app/json/operationStatus",interval:1000,handle:null,dialog:null,prefix:null,indeterminate:false,dialogTemplate:"
"+_3dgis.settings.i18n["operationInProgress"]+"
",constructor:function(_147){ dojo.mixin(this,_147); this.dialog=new _3dgis.wf.dijit.UnclosableDialog({title:this.operationMessage+": "+_3dgis.settings.i18n["operationInProgress"]}); dojo.connect(this.dialog,"onHide",this,function(){ this.stop(); }); this.dialog.set("content",dojo.string.substitute(this.dialogTemplate,{prefix:this.prefix})); this.progressBar=dijit.byId(this.prefix+"-progressDialog-progressBar"); temp=this.progressBar; if(this.indeterminate){ this.progressBar.set("value","Infinity"); } this.messageNode=dojo.byId(this.prefix+"-progressDialog-message"); },start:function(){ if(!this.indeterminate){ this.progressBar.set("value",0); } this.messageNode.innerHTML=""; this.dialog.show(); this.handle=setInterval(dojo.hitch(this,this.checkStatus),this.interval); },checkStatus:function(){ var def=_3dgis.wf.util.ajaxGetAction(this.actionUrl,{},{},{showLoading:false}); def.then(dojo.hitch(this,this.updateStatus),dojo.hitch(this,this.stop)); },updateStatus:function(_148){ if(!this.indeterminate){ this.progressBar.set("value",_148.data.progress); } var msg=_3dgis.settings.i18n["operationInProgress"]; if(_148.data.message!=null&&_148.data.message!==""){ msg=_148.data.message; } this.messageNode.innerHTML=msg; if(_148.data.progress==100){ this.stop(); this.dialog.hide(); this.onSuccess(); this.onComplete(); } },stop:function(){ clearInterval(this.handle); },onSuccess:function(){ },onComplete:function(){ }}); dojo.provide("_3dgis.wf.dijit.form.ToggleButton"); dojo.require("dijit.form.ToggleButton"); dojo.declare("_3dgis.wf.dijit.form.ToggleButton",dijit.form.ToggleButton,{checkedIconClass:null,uncheckedIconClass:null,_setCheckedAttr:function(_149){ this.inherited(arguments); if(this.checkedIconClass){ if(_149){ dojo.addClass(this.iconNode,this.checkedIconClass); }else{ dojo.removeClass(this.iconNode,this.checkedIconClass); } } if(this.uncheckedIconClass){ if(_149){ dojo.removeClass(this.iconNode,this.uncheckedIconClass); }else{ dojo.addClass(this.iconNode,this.uncheckedIconClass); } } }}); dojo.provide("_3dgis.wf.dialog.WizardDialog"); dojo.require("_3dgis.wf.dialog.RemoteContentDialog"); dojo.declare("_3dgis.wf.dialog.WizardDialog",_3dgis.wf.dialog.RemoteContentDialog,{title:"",options:null,constructor:function(opt){ dojo.mixin(this,opt); },show:function(opt){ this.logger.debug("show"); this.options={}; dojo.mixin(this.options,opt); var def=this.loadDialogContent(); def.then(dojo.hitch(this,function(){ this.reset(); this.dialog.show(); dojo.publish("uiBlocker/stop"); })); def.then(dojo.hitch(this,this.init)); return def; },init:function(){ this.logger.debug("init"); this.setTitle(_3dgis.settings.i18n[this.title]); },reset:function(){ this.logger.debug("reset"); var _14a=this.stackContainer.getChildren(); this.stackContainer.selectChild(_14a[0]); this.checkPosition(); },postParse:function(){ this.initButtonBar(); this.stackContainer=dijit.byId(this.prefix+"stackContainer"); },initButtonBar:function(){ this.logger.debug("initButtonBar"); this.buttonBar=dojo.byId(this.prefix+"buttonBar"); this.cancelButton=new dijit.form.Button({iconClass:"dialogButtonBar cancel",label:_3dgis.settings.i18n["wizardDialog.cancel"],onClick:dojo.hitch(this,this.close)}); this.cancelButton.placeAt(this.buttonBar); this.cancelButton.startup(); this.prevButton=new dijit.form.Button({iconClass:"dialogButtonBar prev",label:_3dgis.settings.i18n["wizardDialog.prev"],onClick:dojo.hitch(this,this.prev)}); this.prevButton.placeAt(this.buttonBar); this.prevButton.startup(); this.nextButton=new dijit.form.Button({iconClass:"dialogButtonBar next",label:_3dgis.settings.i18n["wizardDialog.next"],onClick:dojo.hitch(this,this.next)}); this.nextButton.placeAt(this.buttonBar); this.nextButton.startup(); this.confirmButton=new dijit.form.Button({iconClass:"dialogButtonBar confirm",label:_3dgis.settings.i18n["dialog.confirm"],onClick:dojo.hitch(this,this.confirm)}); this.confirmButton.placeAt(this.buttonBar); this.confirmButton.startup(); },checkNext:function(_14b){ this.logger.debug("checkNext"); return true; },next:function(){ if(this.checkNext(this.stackContainer.selectedChildWidget.id)){ this.logger.debug("next"); this.stackContainer.forward(); this.checkPosition(); } },checkPrev:function(_14c){ this.logger.debug("checkPrev"); return true; },prev:function(){ if(this.checkPrev(this.stackContainer.selectedChildWidget.id)){ this.logger.debug("prev"); this.stackContainer.back(); this.checkPosition(); } },checkConfirm:function(){ this.logger.debug("checkConfirm"); return true; },confirm:function(){ if(this.checkConfirm()){ this.logger.debug("confirm"); this.close(); this.onConfirm(); } },onConfirm:function(){ },checkPosition:function(){ this.logger.debug("checkPosition"); var _14d=this.stackContainer.getChildren(); var _14e=dojo.indexOf(_14d,this.stackContainer.selectedChildWidget); this.selectPane(this.stackContainer.selectedChildWidget.id); if(_14e===0){ this.afterFirstPaneSelected(); }else{ if(_14e===_14d.length-1){ this.afterLastPaneSelected(); }else{ this.afterIntermediatePanelSelected(); } } },selectPane:function(_14f){ this.logger.debug("selectPane"); },afterFirstPaneSelected:function(){ this.cancelButton.domNode.style.display=""; this.prevButton.domNode.style.display="none"; this.nextButton.domNode.style.display=""; this.confirmButton.domNode.style.display="none"; },afterLastPaneSelected:function(){ this.cancelButton.domNode.style.display="none"; this.prevButton.domNode.style.display=""; this.nextButton.domNode.style.display="none"; this.confirmButton.domNode.style.display=""; },afterIntermediatePanelSelected:function(){ this.cancelButton.domNode.style.display="none"; this.prevButton.domNode.style.display=""; this.nextButton.domNode.style.display=""; this.confirmButton.domNode.style.display="none"; }}); dojo.provide("_3dgis.wf.dijit.form.MultiSelect"); dojo.require("dijit.form.MultiSelect"); dojo.declare("_3dgis.wf.dijit.form.MultiSelect",dijit.form.MultiSelect,{addValue:function(_150,_151){ _150=dojo.trim(_150); if(_150===""){ return false; } var _152=true; dojo.query("option",this.containerNode).forEach(function(_153){ if(dojo.trim(_153.innerHTML)==_150){ _152=false; } }); if(_152){ var num=this.containerNode.length; var _154=new Option(_150,num); if(_151){ _154.selected=true; } this.containerNode.appendChild(_154); return true; }else{ return false; } },_getValueAttr:function(){ var _155=[]; var _156=0; for(var i=0;i0){ for(var i=0;i<_17c.length;i++){ var _17e=_17c[i]; var _17f=this.type+".attachmentsToSave["+i+"]."; if(!_17e.isTemp){ _17b[_17f+"id"]=_17e.id; } _17b[_17f+"attachmentName"]=_17e.attachmentName; _17b[_17f+"fileName"]=_17e.fileName; if(_17e.tempFileName){ _17b[_17f+"tempFileName"]=_17e.tempFileName; } _17b[_17f+"title"]=_17e.title; _17b[_17f+"author"]=_17e.author; var _180=_17e.registrationDate; if(_17e.registrationDate instanceof Date){ _180=_3dgis.wf.util.isoFromDate(_17e.registrationDate); } _17b[_17f+"registrationDate"]=_180; _17b[_17f+"operation"]=_17e.operation; _17b[_17f+"type"]=_17e.type; _17b[_17f+"note"]=_17e.note; if(this.pojo){ _17b[_17f+"element.id"]=this.pojo.id; } } } return _17b; },validateData:function(){ return this.formManager.validate(); },postSave:function(){ },postSaveError:function(){ this.buttons["save"].button.set("disabled",false); },newElement:function(data){ this.logger.debug("newElementParams",data); this.pojo=null; this.newElementParams=data; if(data&&data.additionalParamsToSave){ this.additionalParamsToSave=data.additionalParamsToSave; } var def=this.loadDialogContent(); def.then(dojo.hitch(this,function(){ this.setHeaderTitle(_3dgis.settings.i18n[this.type]+" - "+_3dgis.settings.i18n["new"]); this.setMode("create"); this.formManager.disableForms(false); this.formManager.resetForms(); this.init(); this.postNewElement(this.newElementParams); this.show(); })); return def; },postNewElement:function(){ if(this.imageController){ this.imageController.setImages([]); } if(this.attachmentController){ this.attachmentController.setAttachments([]); } },print:function(){ this.printProgressController.start(); dojo.attr(dojo.byId("init-iframe-download"),"src",this.printActionUrl+"?"+dojo.objectToQuery({oid:this.pojo.id})); },registerButton:function(name,_181,_182){ var _183=dijit.byId(this.prefix+"button-"+name); if(_183){ this.logger.debug("register button",name,_181,_182); dojo.connect(_183,"onClick",this,_182); this.buttons[name]={button:_183,modes:_181}; } },registerTab:function(name,_184){ var tab=dijit.byId(this.prefix+"tab"+_3dgis.wf.util.ucfirst(name)); if(tab){ this.logger.debug("register tab",name); this.tabs[name]={tab:tab,modes:_184}; } return tab; },hideTabButton:function(name,hide){ this.hideTab(name,hide); },hideTab:function(name,hide){ var tab=dijit.byId(this.prefix+"tab"+_3dgis.wf.util.ucfirst(name)); if(hide){ tab.controlButton.domNode.style.display="none"; }else{ tab.controlButton.domNode.style.display=""; } },setMode:function(name){ this.logger.debug("setMode",name); this.mode=name; for(var key in this.buttons){ var _185=true; var _186=this.buttons[key]; if(_186){ var _187=_186.modes; for(var i=0;i<_187.length;i++){ if(_187[i]==name){ _185=false; break; } } _186.button.set("disabled",_185); } } for(var key in this.tabs){ var _185=true; var _188=this.tabs[key]; if(_188){ var _187=_188.modes; for(var i=0;i<_187.length;i++){ if(_187[i]==name){ _185=false; break; } } if(_185){ if(_188.tab.controlButton){ _188.tab.controlButton.domNode.style.display="none"; } }else{ if(_188.tab.controlButton){ _188.tab.controlButton.domNode.style.display=""; } } } } },show:function(){ this.inherited(arguments); if(this.tabContainer){ if(this.tabContainer.getChildren().length>1){ this.logger.debug("select first tab"); this.tabContainer.selectChild(this.tabContainer.getChildren()[0]); } } },getPrefix:function(){ return this.prefix; },assignElementOnChange:function(_189,obj,_18a){ dojo.connect(this.getElement(_189),"onChange",obj,_18a); },getElement:function(_18b){ return this.formManager.getElement(_18b); },hideElement:function(_18c,flag){ this.formManager.hideElement(_18c,flag); },getSimpleElement:function(_18d){ return this.formManager.getSimpleElement(_18d); },hideSimpleElement:function(_18e,flag){ this.formManager.hideSimpleElement(_18e,flag); },disableElement:function(_18f,_190){ this.formManager.disableElement(_18f,_190); },replaceElement:function(_191){ this.formManager.replaceElement(_191); }}); dojo.provide("_3dgis.wf.dialog.AdminDialog"); dojo.require("_3dgis.wf.dialog.SimpleElementDialog"); dojo.declare("_3dgis.wf.dialog.AdminDialog",_3dgis.wf.dialog.SimpleElementDialog,{setTitle:function(_192){ this.dialog.set("title",_3dgis.settings.i18n[this.type]); dojo.byId(this.getPrefix()+"header-text").innerHTML=_192; },postGet:function(){ this.pojo.editable="true"; this.inherited(arguments); }}); dojo.provide("_3dgis.wf.dialog.ImageDialog"); dojo.declare("_3dgis.wf.dialog.ImageDialog",null,{widget:null,constructor:function(){ this.widget=new dojox.image.LightboxDialog({}); this.widget.onHide=function(){ dojo.publish("imageDialog-hide"); }; this.widget.startup(); },show:function(url,_193){ var t=_193||""; this.widget.show({title:t,href:url}); },setGroup:function(data){ for(var i=0;i=_3dgis.wf.Logger.levels[conf]){ return true; } } return false; }}); _3dgis.wf.Logger.config={}; _3dgis.wf.Logger.config.names={}; _3dgis.wf.Logger.levels={"DEBUG":1,"INFO":2,"WARN":3,"ERROR":4}; _3dgis.wf.Logger.loggers={}; _3dgis.wf.Logger.getLogger=function(_19a){ if(!_3dgis.wf.Logger.loggers[_19a]){ _3dgis.wf.Logger.loggers[_19a]=new _3dgis.wf.Logger(_19a); } return _3dgis.wf.Logger.loggers[_19a]; }; var vars=_3dgis.wf.util.getUrlVars(); if(vars["log.debug"]&&vars["log.debug"]=="all"){ _3dgis.wf.Logger.config.names={"_3dgis":"DEBUG"}; } dojo.provide("_3dgis.wf.dialog.ColorPickerDialog"); dojo.require("dijit.Dialog"); dojo.require("dojox.widget.ColorPicker"); dojo.declare("_3dgis.wf.dialog.ColorPickerDialog",null,{prefix:"colorPickerDialog-",dialog:null,colorPicker:null,templateParams:null,currentTargetWidgetId:null,template:"
"+"

${headerTitle}

"+"
"+"
"+""+""+"
",constructor:function(){ this.logger=_3dgis.wf.Logger.getLogger(this.declaredClass); dojo.subscribe("colorPicker/select",this,this.onColorPickerEvent); this.headerTitle=_3dgis.settings.i18n["colorSelection"]||""; this.title=_3dgis.settings.i18n["colorSelection"]||""; },postConstructor:function(opt){ if(opt){ dojo.mixin(this,opt); } this.templateParams={prefix:this.prefix,headerTitle:this.headerTitle,cancelButtonClass:"cancel",cancelButtonLabel:_3dgis.settings.i18n["cancel"],confirmButtonClass:"confirm",confirmButtonLabel:_3dgis.settings.i18n["confirm"],colorPickerId:this.prefix+"colorPicker"}; if(opt&&opt.templateParams){ dojo.mixin(this.templateParams,opt.templateParams); } this.dialog=new dijit.Dialog({content:dojo.string.substitute(this.template,this.templateParams),title:this.title}); this.dialog.startup(); this.colorPicker=new dojox.widget.ColorPicker({animatePoint:false,showHsv:true,showRgb:true,webSafe:false},this.prefix+"colorPicker"); this.colorPicker.startup(); this.cancelButton=dijit.byId(this.prefix+"button-cancel"); dojo.connect(this.cancelButton,"onClick",this,this.onCancel); this.confirmButton=dijit.byId(this.prefix+"button-confirm"); dojo.connect(this.confirmButton,"onClick",this,this.onConfirm); },onColorPickerEvent:function(opt){ this.logger.debug("colorPicker event"); this.init(opt); this.show(); },onCancel:function(){ this.close(); },onConfirm:function(){ var _19b=this.colorPicker.get("value"); var _19c=dijit.byId(this.currentTargetWidgetId); if(_19c){ _19c.set("value",_19b); } dojo.publish("colorPicker/selected",[{value:_19b}]); this.close(); },init:function(opt){ this.currentTargetWidgetId=opt.targetWidgetId; if(opt.value){ this.colorPicker.set("value",opt.value); } if(opt.title){ this.dialog.set("title",opt.title); } },show:function(){ this.dialog.show(); },close:function(){ this.dialog.hide(); }});