InsertFeature.js
	
	
Summary
	
		No overview generated for 'InsertFeature.js'
	
    
    
 
        
mapbuilder.loadScript(baseDir+"/widget/ButtonBase.js");
function InsertFeature(widgetNode, model) {
  this.cursor = "default"; 
  ButtonBase.apply(this, new Array(widgetNode, model));
  this.trm=widgetNode.selectSingleNode("mb:transactionResponseModel").firstChild.nodeValue;
  this.tm=widgetNode.selectSingleNode("mb:targetModel").firstChild.nodeValue;
  this.tc=widgetNode.selectSingleNode("mb:targetContext").firstChild.nodeValue;
  this.httpPayload=new Object();
  this.httpPayload.url=widgetNode.selectSingleNode("mb:webServiceUrl").firstChild.nodeValue;
  this.httpPayload.method="post";
  
  this.insertXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Insert.xsl");
  
  this.updateXsl=new XslProcessor(baseDir+"/tool/xsl/wfs_Update.xsl");
  
  this.createControl = function(objRef) {
    var Control = OpenLayers.Class(OpenLayers.Control, {
      CLASS_NAME: 'mbInsertFeature',
      type: OpenLayers.Control.TYPE_BUTTON
    });
    return Control;
  }
  
  this.doSelect = function(objRef, selected) {
    if (selected){
      if (!objRef.transactionResponseModel){
        objRef.transactionResponseModel=window.config.objects[objRef.trm];
        objRef.transactionResponseModel.addListener("loadModel",objRef.handleResponse, objRef);
      }
      if (!objRef.targetModel){
        objRef.targetModel=window.config.objects[objRef.tm];
      }
      if (!objRef.targetContext){
        objRef.targetContext=window.config.objects[objRef.tc];
      }
      fid=objRef.targetModel.getXpathValue(objRef.targetModel,"//@fid");
      if (objRef.targetModel.doc){
        if(fid){
          s=objRef.updateXsl.transformNodeToObject(objRef.targetModel.doc);
        }else{
          s=objRef.insertXsl.transformNodeToObject(objRef.targetModel.doc);
        }
        objRef.httpPayload.postData=s;
        objRef.transactionResponseModel.transactionType="insert";
        objRef.transactionResponseModel.newRequest(objRef.transactionResponseModel,objRef.httpPayload);
      }else alert(mbGetMessage("noFeatureToInsert"));
    }
  }
  
  this.handleResponse=function(objRef){
    if (objRef.transactionResponseModel.transactionType=="insert") {
      success=objRef.transactionResponseModel.doc.selectSingleNode("//wfs:TransactionResult/wfs:Status/wfs:SUCCESS");
      if (success){
        objRef.targetModel.setModel(objRef.targetModel,null);
        objRef.targetModel.callListeners("refreshGmlRenderers");
        objRef.targetContext.callListeners("refreshWmsLayers");
      }
    }
  }
}
	
Documentation generated by 
JSDoc on Tue Aug 21 08:12:28 2007