Edo gantt project.tree 复选框深度选择

function setTreeSelect(sels, checked, deepSelect){//deepSelect:是否深度跟随选择
     //多选
     if(!Edo.isArray(sels)) sels = [sels];
     project.tree.data.beginChange();
     for(var i=0,l=sels.length; i<l; i++){
         var r = sels[i];       
         var cs = r.children;       
         if(deepSelect){
             project.tree.data.iterateChildren(r, function(o){
                 this.data.update(o, 'checked', checked);
             },project.tree);
         }
         project.tree.data.update(r, 'checked', checked);
     }
     project.tree.data.endChange();
 }
 // 获取选中
 function getTreeSelect(tree){
     var sels = [];
     tree.data.source.each(function(node){       
         if(node.checked) sels.add(node);
     });
     return sels;
 }

 //增加功能: 1.选择行任意部分, 都对节点进行折叠操作; 2.节点列显示一个手型,参考本页面的e-tree-treecolumn样式定义
 project.tree.on('bodymousedown', function(e){
     var r = this.getSelected();
     if (r){
      var parentNode = project.tree.data.findParent(r);
       while (parentNode !== undefined) { // 循环设置父任务的checked 为true
        project.tree.data.update(parentNode, 'checked', true);
              parentNode = project.tree.data.findParent(parentNode);
          }
       // 子任务的的checked属性的设置
       var inCheckIcon = Edo.util.Dom.hasClass(e.target, 'e-tree-check-icon');
         var hasChildren = r.children && r.children.length > 0;
         if(inCheckIcon && r.checked){
             setTreeSelect(r, false, true);
         }else{
             setTreeSelect(r, true, true);
         }
     }    
    
     getTreeIdsSelect(project.tree);
 });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值