o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1355470617.911477: @value"Ž{I" class:EFI"ProcessedAsset;FI"logical_path;FI"mercury/toolbar.js;FI" pathname;FI"y/Users/brownjohn/.rvm/gems/ruby-1.9.3-p194/gems/mercury-rails-0.8.0/app/assets/javascripts/mercury/toolbar.js.coffee;FI"content_type;FI"application/javascript;FI" mtime;FI"2012-08-08T16:13:36+08:00;FI" length;FiI" digest;F"%f55e578d322bdad5214db3f0ff926afeI" source;FI"(function() { var __hasProp = {}.hasOwnProperty; this.Mercury.Toolbar = (function() { function Toolbar(options) { this.options = options != null ? options : {}; this.visible = this.options.visible; this.build(); this.bindEvents(); } Toolbar.prototype.build = function() { var button, buttonName, buttons, container, expander, options, toolbar, toolbarName, _ref, _ref1; this.element = jQuery('
', { "class": 'mercury-toolbar-container', style: 'width:10000px' }); if (!this.visible) { this.element.css({ display: 'none' }); } this.element.appendTo((_ref = jQuery(this.options.appendTo).get(0)) != null ? _ref : 'body'); _ref1 = Mercury.config.toolbars; for (toolbarName in _ref1) { if (!__hasProp.call(_ref1, toolbarName)) continue; buttons = _ref1[toolbarName]; if (buttons._custom) { continue; } toolbar = jQuery('
', { "class": "mercury-toolbar mercury-" + toolbarName + "-toolbar" }).appendTo(this.element); if (buttons._regions) { toolbar.attr('data-regions', buttons._regions); } container = jQuery('
', { "class": 'mercury-toolbar-button-container' }).appendTo(toolbar); for (buttonName in buttons) { if (!__hasProp.call(buttons, buttonName)) continue; options = buttons[buttonName]; if (buttonName === '_regions') { continue; } button = this.buildButton(buttonName, options); if (button) { button.appendTo(container); } } if (container.css('white-space') === 'nowrap') { expander = new Mercury.Toolbar.Expander(toolbarName, { appendTo: toolbar, "for": container }); expander.appendTo(this.element); } if (Mercury.config.toolbars['primary'] && toolbarName !== 'primary') { toolbar.addClass('disabled'); } } return this.element.css({ width: '100%' }); }; Toolbar.prototype.buildButton = function(name, options) { var action, button, group, handled, opts, summary, title; if (name[0] === '_') { return false; } switch (jQuery.type(options)) { case 'array': title = options[0], summary = options[1], handled = options[2]; return new Mercury.Toolbar.Button(name, title, summary, handled, { appendDialogsTo: this.element }); case 'object': group = new Mercury.Toolbar.ButtonGroup(name, options); for (action in options) { if (!__hasProp.call(options, action)) continue; opts = options[action]; button = this.buildButton(action, opts); if (button) { button.appendTo(group); } } return group; case 'string': return jQuery('
', { "class": "mercury-" + (options === '-' ? 'line-separator' : 'separator') }); default: throw Mercury.I18n('Unknown button structure -- please provide an array, object, or string for "%s".', name); } }; Toolbar.prototype.bindEvents = function() { var _this = this; Mercury.on('region:focused', function(event, options) { var regions, toolbar, _i, _len, _ref, _results; _ref = _this.element.find(".mercury-toolbar"); _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { toolbar = _ref[_i]; toolbar = jQuery(toolbar); if (regions = toolbar.data('regions')) { if (regions.split(',').indexOf(options.region.type()) > -1) { _results.push(toolbar.removeClass('disabled')); } else { _results.push(void 0); } } else { _results.push(void 0); } } return _results; }); Mercury.on('region:blurred', function(event, options) { var regions, toolbar, _i, _len, _ref, _results; _ref = _this.element.find(".mercury-toolbar"); _results = []; for (_i = 0, _len = _ref.length; _i < _len; _i++) { toolbar = _ref[_i]; toolbar = jQuery(toolbar); if (regions = toolbar.data('regions')) { if (regions.split(',').indexOf(options.region.type()) > -1) { _results.push(toolbar.addClass('disabled')); } else { _results.push(void 0); } } else { _results.push(void 0); } } return _results; }); this.element.on('click', function() { return Mercury.trigger('hide:dialogs'); }); return this.element.on('mousedown', function(event) { return event.preventDefault(); }); }; Toolbar.prototype.height = function(force) { if (force == null) { force = false; } if (this.visible || force) { return this.element.outerHeight(); } else { return 0; } }; Toolbar.prototype.show = function() { this.visible = true; this.element.css({ top: -this.element.outerHeight(), display: 'block' }); return this.element.animate({ top: 0 }, 200, 'easeInOutSine'); }; Toolbar.prototype.hide = function() { this.visible = false; return this.element.hide(); }; return Toolbar; })(); }).call(this); ;TI"dependency_digest;F"%93b4dfb78ef8e8f0790d9191011d5ffbI"required_paths;F[I"y/Users/brownjohn/.rvm/gems/ruby-1.9.3-p194/gems/mercury-rails-0.8.0/app/assets/javascripts/mercury/toolbar.js.coffee;FI"dependency_paths;F[{I" path;FI"y/Users/brownjohn/.rvm/gems/ruby-1.9.3-p194/gems/mercury-rails-0.8.0/app/assets/javascripts/mercury/toolbar.js.coffee;FI" mtime;FI"2012-08-08T16:13:36+08:00;FI" digest;F"%6bd5870d6eb5bceffdaa63452d60ed4cI" _version;F"%9f3b95dd7ea3030dc35985c0a8020862