RandomSec/main/webapp/modules/core/scripts/project/extension-bar.js
James Home d6015f783c first round of UI improvements:
- new front page
- new header
- improved about and preference pages
- new project tabs and header
- new buttons
- new logos



git-svn-id: http://google-refine.googlecode.com/svn/trunk@1533 7d457c2a-affb-35e4-300a-418c747d4874
2010-10-14 17:39:41 +00:00

70 lines
1.7 KiB
JavaScript

function ExtensionBar(div) {
this._div = div;
this._initializeUI();
}
ExtensionBar.MenuItems = [
];
ExtensionBar.addExtensionMenu = function(what) {
MenuSystem.appendTo(ExtensionBar.MenuItems, [], what);
}
ExtensionBar.appendTo = function(path, what) {
MenuSystem.appendTo(ExtensionBar.MenuItems, path, what);
};
ExtensionBar.insertBefore = function(path, what) {
MenuSystem.insertBefore(ExtensionBar.MenuItems, path, what);
};
ExtensionBar.insertAfter = function(path, what) {
MenuSystem.insertAfter(ExtensionBar.MenuItems, path, what);
};
ExtensionBar.prototype.resize = function() {
};
ExtensionBar.prototype._initializeUI = function() {
var elmts = DOM.bind(this._div);
for (var i = 0; i < ExtensionBar.MenuItems.length; i++) {
var menuItem = ExtensionBar.MenuItems[i];
var menuButton = this._createMenuButton(menuItem.label, menuItem.submenu);
elmts.menuContainer.append(menuButton);
}
};
ExtensionBar.prototype._createMenuButton = function(label, submenu) {
var self = this;
var menuItem = $("<a>").addClass("button").text(label);
menuItem.click(function(evt) {
MenuSystem.createAndShowStandardMenu(
submenu,
this,
{ horizontal: false }
);
evt.preventDefault();
return false;
});
return menuItem;
};
ExtensionBar.handlers = {};
ExtensionBar.handlers.openWorkspaceDir = function() {
$.ajax({
type: "POST",
url: "/command/core/open-workspace-dir",
dataType: "json",
success: function (data) {
if (data.code != "ok" && "message" in data) {
alert(data.message);
}
}
});
};