Как Отключить Родителя Combotree (OSTicket) - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть справка Тема, подобная этой:

Help Topic

Я хочу, чтобы пользователь не мог выбрать родительскую тему (ИТ, система и сообщить о проблеме)или Alert Warning, если пользователь выбирает Parent Toppic, пользователь должен выбрать Test .. или Access Issue.Код как это:

$(document).ready(function(){
var val = <?php echo Topic::getHelpTopicsTree();?> ;

$('#cc').combotree({ 
    onChange: function (r) { 
        var c = $('#cc');
        var t = c.combotree('tree');  // get tree object
        var node = t.tree('getSelected');
        var nodeLevel = t.tree('getLevel',node.target);
        parentArry = new Array();
        var parentArry = new Array();
            var parents = getParentArry(t,node,nodeLevel,parentArry);
            var parentStr = "";
            if(parents.length > 0){
                var parentStr = "";
                for(var i = 0; i < parents.length; i++){
                    parentStr += parents[i].text + " / ";
                }
            }
         $('#cc').combotree('setText', parentStr + node.text);
    }
});
$('#cc').combotree({ 
    onSelect: function (r) { 

        //Loads the dynamic form on selection
        var data = $(':input[name]', '#dynamic-form').serialize();
        $.ajax(
          'ajax.php/form/help-topic/' + r.id,
          {
            data: data,
            dataType: 'json',
            success: function(json) {
              $('#dynamic-form').empty().append(json.html);
              $(document.head).append(json.media);
            }
          });
    }
});

$('#cc').combotree('loadData', val);

function getParentArry(tree,selectedNode,nodeLevel,parentArry){
        //end condition: level of selected node equals 1, means it's root
       if(nodeLevel == 1){
          return parentArry;
       }else{//if selected node isn't root
          nodeLevel -= 1;
          //the parent of the node
          var parent = $(tree).tree('getParent',selectedNode.target);
          //record the parent of selected to a array
          parentArry.unshift(parent);
          //recursive, to judge whether parent of selected node has more parent
          return getParentArry(tree,parent,nodeLevel,parentArry);
        }
    }
$('#cc').combotree('setText', '— <?php echo __('Select Help Topic'); ?> —');

});

Любая помощь приветствуется.Спасибо.

...