ExtJs TabPanel 마우스 오른쪽 버튼 기능 플러그인 Ext.ux.TabCloseMenu
2097 단어 Extjs
Ext.ux.TabCloseMenu = function () {
var tabs,
menu,
ctxItem;
this.init = function (tp) {
tabs = tp;
tabs.on('contextmenu', onContextMenu);
}
function onContextMenu(ts, item, e) {
ctxItem = item;
if (!menu) { // create context menu on first right click
menu = new Ext.menu.Menu([{
id : tabs.id + '-close',
text : ' ',
handler : function () {
tabs.remove(ctxItem, false);
}
}, {
id : tabs.id + '-close-others',
text : ' ',
handler : function () {
tabs.items.each(function (item) {
if (item.closable && item != ctxItem) {
tabs.remove(item, false);
}
});
}
}, {
id : tabs.id + '-close-all',
text : ' ',
handler : function () {
tabs.items.each(function (item) {
if (item.closable) {
tabs.remove(item, false);
}
});
}
}, '-', {
id : tabs.id + '-closable',
text : ' ',
checked : true,
hideOnClick : ctxItem.closable,
handler : function () {
if (item.checked) {
ctxItem.closable = false;
} else {
ctxItem.closable = true;
}
}
}
]);
}
var items = menu.items;
items.get(tabs.id + '-close').setDisabled(!item.closable);
var disableOthers = true;
tabs.items.each(function () {
if (this != item && this.closable) {
disableOthers = false;
return false;
}
});
items.get(tabs.id + '-close-others').setDisabled(disableOthers);
var disableAll = true;
tabs.items.each(function () {
if (this.closable) {
disableAll = false;
return false;
}
});
items.get(tabs.id + '-close-all').setDisabled(disableAll);
menu.showAt(e.getPoint());
}
};
Ext.preg('tabclosemenu',Ext.ux.TabCloseMenu);
사용 방법:
TabPanel에 이 문장을 더하면plugins: new Ext.ux.TabCloseMenu()
주: 원본 코드를 포함하는 js 파일을 가져와야 합니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
J2EE Extjs4.0 Grid 페이지 표시ExtJS는 프런트엔드 사용자 인터페이스를 만드는 데 주로 사용되는 기본 및 백그라운드 기술 관련 프런트엔드 ajax 프레임워크 기능이 풍부해서 아무도 그 오른쪽을 벗어날 수 없다. 인터페이스의 아름다움이든 기능의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.