var Toolbar = Fiber.extend(function(base){ var exports = {} exports.init = function(rapper){ this.rapper = (typeof rapper == "string") ? $(rapper)[0] : rapper this.tools = {} this.els = {} } exports.add = function(role, fn){ var self = this this.tools[role] = fn this.els[role] = $("[data-role=" + role + "]", self.rapper) this.els[role].click(function(){ $(".active", self.rapper).removeClass('active') $(this).addClass('active') fn() }) } exports.pick = function(role){ this.els[role].trigger("click") } return exports })