/**
*	A LouGIS library by Lounaispaikka.
*	@copyright Lounaispaikka, www.lounaispaikka.fi <CC BY-SA 3.0>
*	@version 2011-12-19T20:48:59+02:00
*/
Ext.namespace("Ext.ux.LouGIS.Panel");
Ext.ux.LouGIS.Panel.UpdateDataset=Ext.extend(Ext.ux.LouGIS.Panel,{constructor:function(b){this.formType="UpdateDataset";Ext.ux.LouGIS.Panel.UpdateDataset.superclass.constructor.call(this,b);this.setTitle(t(""))},loadContent:function(){if(!this.contentLoaded){this.clearButton=new Ext.Button({text:t(""),handler:function(){Ext.Msg.show({title:t(""),msg:t(""),buttons:Ext.Msg.YESNOCANCEL,fn:function(c){if(c=="yes"){this.clearButton.disable();this.removeFiles();this.uploadPanel.enable()}},scope:this,animEl:"elId",
icon:Ext.MessageBox.QUESTION})},scope:this});var b=new Ext.Panel({id:this.formType,header:false,border:false,bodyStyle:"padding: 0 0 10px 0",anchor:"100%",buttons:[this.clearButton]});this.add(b);this.requestFormData(b);this.contentLoaded=true;this.addUploadPanel();this.status=new Ext.Panel({header:false,html:"",border:false,style:{marginTop:"10px"}});this.add(this.status)}},processButtons:function(b,c,e){Ext.ux.LouGIS.Panel.UpdateDataset.superclass.processButtons.call(this,b,c,e)},saveContent:function(){Ext.ux.LouGIS.Panel.UpdateDataset.superclass.saveContent.call(this);
this.window.id!="myDatasetEditWindow"&&this.window.close()},addUploadPanel:function(){this.uploadPanel=new Ext.ux.PluploadPanel({id:"datasetUploader",disabled:true,cls:"datasetUploader",url:"/run/dataset/uploadHandler/?datasetId="+this.datasetId,runtimes:"flash,html5,html4",multipart:true,max_file_size:"1000mb",flash_swf_url:"/js/extux/plupload/plupload/js/plupload.flash.swf",addButtonCls:"silk-add",uploadButtonCls:"silk-arrow-up",cancelButtonCls:"silk-stop",deleteButtonCls:"silk-cross",addButtonText:t(""),
uploadButtonText:t(""),cancelButtonText:t(""),deleteButtonText:t(""),deleteSelectedText:"<b>"+t("")+"</b>",deleteUploadedText:t(""),deleteAllText:t(""),statusQueuedText:t(""),statusUploadingText:t("","{0}%"),statusFailedText:'<span style="color: red">'+t("")+"</span>",statusDoneText:'<span style="color: green">'+t("")+"</span>",statusInvalidSizeText:t(""),statusInvalidExtensionText:t(""),emptyText:'<div class="plupload_emptytext"><span>'+t("")+"</span></div>",emptyDropText:'<div class="plupload_emptytext"><span>'+
t("")+"</span></div>",progressText:"{0}/{1} ({3} "+t("")+") ({5}/s)",filters:[{title:t(""),extensions:"txt,rtf,pdf,doc,docx,xls,xlsx,ppt,pptx,zip,jpg,jpeg,gif,png,tab,tif,shp,xml,sbx,dat,dbf,id,img,ind,map,prj,rrd,rrt,sbn,aux,shx,tfw,TXT,RTF,PDF,DOC,DOCX,XLS,XLSX,PPT,PPTX,ZIP,JPG,JPEG,GIF,PNG,TAB,TIF,SHP,XML,SBX,DAT,DBF,ID,IMG,IND,MAP,PRJ,RRD,RRT,SBN,AUX,SHX,TFW"}],listeners:{uploadstarted:function(){},uploadcomplete:function(b,c){c.length&&this.startProcessQueue()},filesadded:function(){},scope:this}});
this.add(this.uploadPanel)},removeFiles:function(){this.status.update(t(""));Ext.Ajax.request({url:"/run/dataset/clearDataset/",params:{datasetId:this.datasetId},success:function(){this.status.update(t(""))},scope:this})},startProcessQueue:function(){this.removeAll();this.formType="ProcessQueue";this.requestFormData();var b=new Ext.ProgressBar({text:t(""),id:"progressBar",animate:true,autoWidth:true,style:{marginBottom:"5px"}}),c=new Ext.data.ArrayStore({autoDestroy:true,storeId:"fileStore",idIndex:0,
fields:["filename","size","status","icon"],data:[[t(""),"","",null]]}),e=new Ext.grid.GridPanel({store:c,autoWidth:true,autoHeight:true,autoExpandColumn:1,enableHdMenu:false,viewCongig:{autoFill:true},colModel:new Ext.grid.ColumnModel({defaults:{sortable:true},columns:[{header:t(""),dataIndex:"filename",renderer:function(a,j,d){a=d.get("icon");d=d.get("filename");return a!==null?'<img src="'+a+'" class="gridIcon"/>'+d:d}},{header:t(""),dataIndex:"size"},{header:t(""),dataIndex:"status"}]}),viewConfig:{forceFit:true}}),
h=new Ext.Button({text:t(""),disabled:true});this.add(b);this.add(e);this.addButton(h);this.doLayout();Ext.Ajax.request({url:"/run/dataset/startProcessQueue/",params:{datasetId:this.datasetId},scope:this});var f=this.datasetId,i=this.datasetName,g={run:function(){Ext.Ajax.request({url:"/run/dataset/checkProcessQueueProgress/",params:{datasetId:f},scope:this,success:function(a){a=Ext.decode(a.responseText);if(Ext.get("filesComplete")!=null){Ext.get("filesComplete").update(a.filesComplete);Ext.get("filesTotal").update(a.filesTotal);
Ext.get("filesTotalSize").update(a.filesTotalSize);Ext.get("filesCompleteSize").update(a.filesCompleteSize);Ext.get("timeEstimate").update(a.timeEstimate);c.loadData(a.files);b.updateProgress(a.percent,prettyInteger(a.percent*100)+" %");if(a.complete){Ext.TaskMgr.stop(g);Ext.Msg.show({title:t(""),msg:t(""),buttons:Ext.Msg.OK,fn:function(){Ext.getCmp("datasetEditWindow").close();new Ext.ux.LouGIS.Window.DatasetEditWindow(f,i)},animEl:"elId",icon:Ext.MessageBox.QUESTION})}}}})},interval:2E3};Ext.TaskMgr.start(g)}});

