o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1357654410.5587881Ã/: @value"{I" class:EFI"BundledAsset;FI"logical_path;FI"/iugu-ux/components/usecode/iugu-ui-base.js;FI" pathname;FI"|/Users/patricknegri/Desenvolvimento/iugu-ux/vendor/assets/javascripts/iugu-ux/components/usecode/iugu-ui-base.js.coffee;FI"content_type;FI"application/javascript;FI" mtime;FI"2013-01-08T11:05:30-02:00;FI" length;Fiù I" digest;F"%427f4465b22e9ef6276523a9f25873a7I" 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, 'render', 'root', 'identifier', 'delegateChild', 'mapDOMEvent', 'handleEvent', 'handleDOMEvent', 'unload', 'close'); 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.identifier) { this.identifier = (function() { return this.options.identifier + ':'; }); } this.handleEvent('initialize'); return this; }; Base.prototype.render = function() { $(this.el).html(this.getLayout()(this.context())); return this; }; Base.prototype.getLayout = function() { if (JST["web-app/presenters/" + this.layout]) { return JST["web-app/presenters/" + this.layout]; } return JST["iugu-ux/components/presenters/" + this.layout]; }; 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 (app.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'); this.unload(); return this.remove; }; return Base; })(Backbone.View); this.IuguUI.Base = IuguUI.Base; }).call(this); ;FI"required_assets_digest;F"%3b841a5f3d7e43b5f6487b517a7e19afI" _version;F"%9f3b95dd7ea3030dc35985c0a8020862