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에만 표시됩니다. 어떻게 해결될지 모르겠습니다.

좋은 웹페이지 즐겨찾기