o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1361449320.0384378uÄ: @value"Ü{I" class:EFI"BundledAsset;FI"logical_path;FI"/iugu-ux/components/usecode/iugu-ui-base.js;FI" pathname;FI"Œ/Users/patricknegri/.rvm/gems/ruby-1.9.2-p290/gems/iugu-ux-0.9.2/vendor/assets/javascripts/iugu-ux/components/usecode/iugu-ui-base.js.coffee;FI"content_type;FI"application/javascript;FI" mtime;FI"2013-01-17T19:18:49-02:00;FI" length;Fi¯I" digest;F"%32a7018fd9465d17c4572ad3e1e931b3I" source;FI"¯(function() { var __hasProp = {}.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }; IuguUI.Base = (function(_super) { __extends(Base, _super); function Base() { return Base.__super__.constructor.apply(this, arguments); } Base.prototype.defaults = { baseURL: "" }; Base.prototype.initialize = function() { _.bindAll(this); this.options = _.extend({}, this.defaults, this.options); if (this.options.layout) { this.layout = this.options.layout; } if (this.options.parent) { this.parent = this.options.parent; } if (this.options.context) { this.context = this.options.context; } if (this.options.identifier) { this.identifier = (function() { return this.options.identifier + ':'; }); } this.handleEvent('initialize'); return this; }; Base.prototype.render = function() { $(this.el).html(this.getLayout()(this.context())); if (this.className) { $(this.el).addClass(this.className); } return this; }; Base.prototype.renderPartial = function(layout, target, context) { if (context == null) { context = this.context; } return $(target).html(this.getLayout(target)(context)); }; Base.prototype.getLayout = function(layout_file) { if (layout_file == null) { layout_file = this.layout; } if (JST["web-app/presenters/" + layout_file]) { return JST["web-app/presenters/" + layout_file]; } return JST["iugu-ux/components/presenters/" + layout_file]; }; Base.prototype.context = function() { return {}; }; Base.prototype.historyNavigate = function(url) { return Backbone.history.navigate(this.options.baseURL + '/' + url); }; Base.prototype.root = function() { return _.result(this.parent, 'root') || this; }; Base.prototype.identifier = function() { return _.result(this.parent, 'identifier') || ''; }; Base.prototype.delegateChild = function(selector, view) { var selectors; selectors = {}; if (_.isObject(selector)) { selectors = selector; } else { selectors[selector] = view; } if (!selectors) { return; } return _.each(selectors, function(view, selector) { return view.setElement(this.$(selector)).render(); }, this); }; Base.prototype.mapDOMEvent = function(type) { switch (type) { case 'click': return 'click'; case 'mouseover': return 'mouseover'; case 'mouseout': return 'mouseout'; default: return type; } }; Base.prototype.handleEvent = function(triggerType) { return this.root().trigger(this.identifier() + triggerType, this); }; Base.prototype.handleDOMEvent = function(e) { var triggerType; e.preventDefault(); triggerType = this.mapDOMEvent(e.type); return this.handleEvent(triggerType); }; Base.prototype.trigger = function(events) { if (enable_debug_events) { debug('Triggered Event: ' + arguments[0]); } return Base.__super__.trigger.apply(this, arguments); }; Base.prototype.unload = function() { debug('Called IuguUI.Base:unload'); this.undelegateEvents(); return this.off(); }; Base.prototype.close = function() { debug('Called IuguUI.Base:close'); if (this.className) { $(this.el).removeClass(this.className); } this.unload(); return this.remove(); }; return Base; })(Backbone.View); this.IuguUI.Base = IuguUI.Base; }).call(this); ;FI"required_assets_digest;F"%cb0057bce694f3a554c7ed20e25d2de9I" _version;F"%6776f581a4329e299531e1d52aa59832