Я пишу HTA, который использует extjs3, и я хотел реализовать меню недавних файлов, где, если вы выбираете файл из этого меню, выбранный файл должен быть перемещен в верхнюю часть меню. Я получил его на работу, удалив все элементы, а затем добавив новые элементы в новом порядке
ResktopDeporter.getRecentFilesMenuItems = function() {
var a = [];
Ext.each(ResktopDeporter.recentfiles, function(item, index) {
a.push(new Ext.menu.Item({
text: item,
handler: function() {
ResktopDeporter.recentfiles.remove(this.text);
ResktopDeporter.recentfiles.unshift(this.text);
ResktopDeporter.saveRecentFiles();
var parent = this.parentMenu;
parent.hide(true);
parent.removeAll(true);
var items = ResktopDeporter.getRecentFilesMenuItems();
Ext.each(items, function(item, index) {
parent.addItem(item);
});
ResktopDeporter.openDocument(this.text);
}
}));
});
return a;
}
ResktopDeporter.recentfiles
- это просто массив путей к файлам, а saveRecentFiles()
записывает список в файл cookie.