{I" class:ETI"ProcessedAsset;FI"logical_path;TI"fshop/user.js;FI" pathname;TI"H/home/nofxx/projects/fshop/app/assets/javascripts/fshop/user.coffee;FI"content_type;TI"application/javascript;TI" mtime;Tl+þsRI" length;Ti¨I" digest;TI"%fc225dca80a9566dd6600f5c20fb4498;FI" source;TI"¨(function() { var currentUser, doc, _ref, _ref1, __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; }; doc = $(document); this.FShopUser = (function(_super) { __extends(FShopUser, _super); function FShopUser() { _ref = FShopUser.__super__.constructor.apply(this, arguments); return _ref; } FShopUser.prototype.init = function(data) { this.touch(); if (data != null) { return processData(data); } }; FShopUser.prototype.createObservables = function() { this.o('id', ''); this.o('name', ''); this.o('doc', ''); this.oa('addresses', []); return this.o('loadedState', ''); }; FShopUser.prototype.processData = function(data) { var add, address, addresses, d, ids, idx, key, value, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref1, _ref2, _ref3, _ref4; for (key in data) { value = data[key]; if (key !== 'addresses' && this.isDataKey(key)) { this[key](value); } } if (data.addresses) { ids = []; _ref1 = data.addresses; for (_i = 0, _len = _ref1.length; _i < _len; _i++) { add = _ref1[_i]; ids.push(add.id); } addresses = []; _ref2 = this.addresses(); for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) { address = _ref2[_j]; idx = ids.indexOf(address.id()); if (idx > -1) { addresses.push(address); _ref3 = data.addresses; for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) { d = _ref3[_k]; if (d.id === address.id()) { address.processData(d); } } ids.splice(idx, 1); } } _ref4 = data.addresses; for (_l = 0, _len3 = _ref4.length; _l < _len3; _l++) { d = _ref4[_l]; if (ids.indexOf(d.id) > -1) { addresses.push(new Address(d)); } } this.addresses(addresses); } if (this.id() != null) { return this.loadedState('success'); } }; FShopUser.prototype.ko_isLoaded = function() { var _ref1; return ((_ref1 = this.id()) != null ? _ref1.length : void 0) === 24; }; FShopUser.prototype.ko_isLoading = function() { return this.loadedState() === 'loading'; }; FShopUser.prototype.ko_needLoad = function() { return this.loadedState() === ''; }; FShopUser.prototype.ko_loadFailed = function() { return this.loadedState() === 'fail'; }; FShopUser.prototype.loadData = function() { var c, ll, t; t = this; ll = this.touch(); c = function(fn) { return function() { if (ll === this.lastLoad) { return fn.apply(t, arguments); } }; }; this.loadedState('loading'); return $.getJSON('TODO!!!!!!').done(c(this.loadDone)).fail(c(this.loadFail)); }; FShopUser.prototype.loadDone = function(data) { if ((data != null ? data.error : void 0) != null) { return this.loadFail(); } return this.processAddresses(data); }; FShopUser.prototype.loadFail = function() { return this.loadedState('fail'); }; FShopUser.prototype.unloadData = function() { this.touch(); return this.createObservables(); }; FShopUser.prototype.touch = function() { return this.lastLoad = (new Date()).getTime(); }; return FShopUser; })(BaseKO); currentUser = void 0; FShopUser.current = function() { if (currentUser != null) { return currentUser; } else { return currentUser = new FShopUser(); } }; this.Address = (function(_super) { __extends(Address, _super); function Address() { _ref1 = Address.__super__.constructor.apply(this, arguments); return _ref1; } Address.prototype.fields = ["name", "title", "zip", "number", "extra", "hood_name", "city_name", "region_name"]; Address.prototype.init = function(data) { if (data == null) { data = {}; } return this.processData(data); }; Address.prototype.createObservables = function() { var name, _i, _len, _ref2; _ref2 = this.fields; for (_i = 0, _len = _ref2.length; _i < _len; _i++) { name = _ref2[_i]; this.o(name, ''); } this.o('id', void 0); return this.oa('error_messages', []); }; Address.prototype.processData = function(data) { var field, _i, _len, _ref2, _results; this.id(data.id); _ref2 = this.fields; _results = []; for (_i = 0, _len = _ref2.length; _i < _len; _i++) { field = _ref2[_i]; _results.push(this[field](data[field])); } return _results; }; Address.prototype.ko_isNew = function() { return (this.id() || '').length !== 24; }; Address.prototype.ko_printable = function() { var field, key, out, out1, out2, vars, _i, _j, _len, _len1, _ref2, _ref3; vars = {}; _ref2 = ['name', 'title', 'number', 'hood_name', 'city_name', 'region_name', 'zip']; for (_i = 0, _len = _ref2.length; _i < _len; _i++) { key = _ref2[_i]; vars[key] = this[key](); } out1 = ""; _ref3 = ['name', 'title', 'number', 'hood_name']; for (_j = 0, _len1 = _ref3.length; _j < _len1; _j++) { field = _ref3[_j]; if (vars[field]) { out1 += ' ' + vars[field]; } } out2 = ""; if (vars.city_name) { out2 += vars.city_name; } if (out2 && vars.region_name) { out2 += " - "; } if (vars.region_name) { out2 += vars.region_name; } out = ""; if (out1.replace(/\s/g, '').length) { out += out1; } if (out && out2) { out += ', '; } if (out2) { out += out2; } if (vars.zip) { if (out) { out += ' - '; } out += vars.zip; } return out.replace(/^\s*/, '') || 'Endereço sem dados'; }; return Address; })(BaseKO); doc.on('created', '[data-logged]', function() { if ($(this).data('logged')) { if (!FShopUser.current().needLoad()) { return; } return FShopUser.current().loadData(); } else { if (FShopUser.current().needLoad()) { return; } return FShopUser.current().unloadData(); } }); }).call(this); ;TI"dependency_digest;TI"%052ab02d7b164a1b970aa234548ccb51;FI"required_paths;T[I"E/home/nofxx/projects/fshop/vendor/assets/javascripts/knockout.js;FI"K/home/nofxx/projects/fshop/app/assets/javascripts/fshop/base_ko.coffee;FI"H/home/nofxx/projects/fshop/app/assets/javascripts/fshop/user.coffee;FI"dependency_paths;T[{I" path;TI"H/home/nofxx/projects/fshop/app/assets/javascripts/fshop/user.coffee;FI" mtime;TI"2013-10-31T23:21:02-02:00;TI" digest;TI"%be74e7b3681429d0bba7f2d164ab57cb;F{I" path;TI"K/home/nofxx/projects/fshop/app/assets/javascripts/fshop/base_ko.coffee;FI" mtime;TI"2013-10-31T23:21:02-02:00;TI" digest;TI"%2210ee139cf3001f08d91669a674ed1a;F{I" path;TI"E/home/nofxx/projects/fshop/vendor/assets/javascripts/knockout.js;FI" mtime;TI"2013-09-12T17:07:38-03:00;TI" digest;TI"%ecc1056b6ff4b9f1cb025e638320240d;FI" _version;TI"%ac1cd7cf9811f9938e2b8937c60a24e6;F