package comps.tree
{
import com.adobe.serialization.json.JSON;
import flash.net.URLVariables;
import mx.controls.Tree;
import mx.core.IFactory;
import mx.events.FlexEvent;
import mx.events.ListEvent;
import mx.states.SetStyle;
import pipi.CustomEvent;
import pipi.Util;
import utils.HttpUtil;
//点击显示
[Event(name="nodeClick", type="pipi.CustomEvent")]
//完成显示
[Event(name="complete", type="pipi.CustomEvent")]
public class HsOrgTree extends Tree{
private var _org_level:String ="";
[Bindable]
private var _treeData:Object;
private var _defaultUrl:String = "commonAction!getAllOrg.do";
public function HsOrgTree(){
super();
this.dataProvider = _treeData;
this.labelField ="orgName";
setBgAlpha();
initListeners();
var _this = this;
this.addEventListener(FlexEvent.CREATION_COMPLETE,function(){
if(_treeData == null){
_this.initNodes();
}
})
}
public function get org_level():String
{
return _org_level;
}
public function set org_level(value:String):void
{
_org_level = value;
}
public function get defaultUrl():String
{
return _defaultUrl;
}
public function set defaultUrl(value:String):void
{
_defaultUrl = value;
}
protected function setBgAlpha():void{
setStyle("contentBackgroundAlpha",0);
setStyle("borderAlpha",0);
}
//初始化根节点
public function initNodes():void{
var param:URLVariables = new URLVariables();
if(HttpUtil.loginOrgCd!=null)
param.orgCd = HttpUtil.loginOrgCd;
if(_org_level != null){
param.org_level = _org_level;
}
var _this = this;
HttpUtil.doPost(_defaultUrl,param,function(obj:Object):void{
_this.dataProvider = obj.data;
Util.expandTree(_this,false);
dispatchEvent(new CustomEvent("complete",obj.data));
})
}
//初始化树展开事件
private function initListeners():void{
this.addEventListener(ListEvent.ITEM_CLICK,_orgTree_itemClickHandler);
}
private function _orgTree_itemClickHandler(event:ListEvent):void{
var data:Object = event.itemRenderer.data;
dispatchEvent(new CustomEvent("nodeClick",data));
}
}
}