ext tree 동적 마우스 오른쪽 버튼 메뉴
1407 단어 tree
uniInfoPanel.on('contextmenu', function(node, e) {
if (node.attributes.JBtype == 'station' || node.attributes.JBtype == 'person') {
return;
}
node.select();
var coords = e.getXY();
var menu = new Ext.menu.Menu({});
if (node.attributes.JBtype == 'unit') {
if (node.attributes.unitlevel == '01') {
menu.add(Info_addItem);
// menu.add(Info_deleteItem);
} else if (node.attributes.unitlevel == '02') {
menu.add(Info_addStationItem);
menu.add(Info_removeStationItem);
menu.add(Info_addFuncItem);
menu.add(Info_removeFuncItem);
}
} else if (node.attributes.JBtype == 'stations') {
menu.add(Info_addStationItem);
menu.add(Info_removeStationItem);
} else if (node.attributes.JBtype == 'func') {
menu.add(Info_addPersonItem);
menu.add(Info_removePersonItem);
}
menu.showAt([coords[0], coords[1]]);
});
infoPanel은treepanel입니다. 또 하나의 방법은 각 유형에 따라 고정된menu를 구성하는 것입니다. 서로 다른 node 유형에 따라 다른menu를 표시합니다. 그러면 매번 하나의 menu를 구성하지 않아도 됩니다. 그러나 만약에 하나의 item가 여러 menu에 동시에 추가되었을 때 오류가 발생할 수 있습니다. 마지막에 추가된menu에만 표시됩니다. 어떻게 해결될지 모르겠습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
이진 트리 가지치기이진 트리의 root가 주어지면 1을 포함하지 않는 (지정된 트리의) 모든 하위 트리가 제거된 동일한 트리를 반환합니다. 노드node의 하위 트리는 node에 node의 자손인 모든 노드를 더한 것입니다. 이 문제는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.