Új hozzászólás Aktív témák

  • Jim-Y

    veterán

    Sziasztok!

    Egy jstree-t használok, amiben engedélyeztem a "contextmenu" plugint, majd ennek inicializálásánál van egy ilyen submenum:

    "contextmenu" : {
    "items" : {
    "create" : {
    "label" : "Create",
    "action" : false,
    "submenu" : {
    "create_service_group" : {
    "label" : "Service Group",
    action : function(obj){
    $.jstree._reference("#edit-service-group-tree").set_type("service_group",this.create(obj));
    }
    },
    "create_service" : {
    "label" : "Service",
    action : function(obj){
    $.jstree._reference("#edit-service-group-tree").set_type("service",this.create(obj));
    }
    }
    }
    },

    látszik, hogy a create menun belül még van 2 submenu, egy create_service_group és egy create_group. A kérdésem a következő, a create elemre tudok bindot állítani így:

    }).bind("create.jstree",function(e,data){
    //alert(e.type);
    data.rslt.obj.attr('id','999');
    });

    itt az alert ki is írja, hogy az event type az "create", de nekem arra lenne szükségem, hogy itt le tudjam ellenőrizni, hogy a create-en belül melyiket csináltam, create_service-t, vagy create_service_group-ot. Az sem megoldás, ha külön-külön triggerelek egy eventet, mert ha ezt:

    $.jstree._reference("#edit-service-group-tree").set_type("service_group",this.create(obj));

    lecserélem erre:

    $.jstree._reference("#edit-service-group-tree").set_type("service_group",this.create(obj)).trigger('mycustomevent');

    akkor dobódik event, de amugy az alkalmazást elrontja, mert a contextmenu szemete a képernyőn marad tőle. Normális esetben lesz egy új node, ami egyből szerkeszthető lesz, így egyből át lehet írni a nevét. És csak ez után kéne, hogy event dobódjon. Ha saját magamnak dobok eventet, akkor látható szemét marad a képernyőn, mert azonnal dobja az eventet, nem várja meg, hogy átnevezzem a node-ot. Remélem érthető, bár gondolom csak annak lesz az, aki már használt jstree-t :/ üdv

Új hozzászólás Aktív témák