require.define("user:view", function(require, module, exports) {var app = require('main:app'); var Model = require('user:model'); var curUser = app.View.extends({ initialize : function (options) { this.model = new Model(); if (window.CURRENT_USER) this.model.set(window.CURRENT_USER); }, isAuth : function () { if(this.model.get('login') && this.model.get('login') != '') return true; return false; }, userLogin : function () { var self = this; app.async([this.model.name + '.login', { 'login' : this.model.get('login'), 'hashedPassword' : this.model.get('password') }], function (response) { self.model.save(response); app.trigger('authorize:user:success', this); }); }, userLogout : function () { window.CURRENT_USER = null; var self = this; // если все успешно удалено: прокидываем событие if (this.isAuth()) { app.async([this.model.name + '.logout', {}], function (data) { self.model.clear(); app.trigger('user:logout'); }); } } }); module.exports = new curUser(); });
require.define("post-list:post:view", function(require, module, exports) {module.template = function anonymous(it) { var out='';if(it.fade){out+='<div class="b-post__item-fade"></div>';}out+='<div class="b-post__item-img" style="background: url('+(it.img.path)+') no-repeat 0 0;background-size:'+(it.img.width)+'px '+(it.img.height)+'px"></div><div class="b-post__item__body"><div class="b-post__item__body-desc">'+(it.description)+'</div><div class="b-post__item__body-uniq"><ul class="b-post__item__result">'; for(var i in it.list) { out+='<li class="b-post__item__result-item"><span class="b-post__item__result-item-bg" style="width:'+(it.list[i].count)+'%"></span><span class="b-post__item__result-count b-inline-block">'+(it.list[i].count)+'</span><span class="b-post__item__result-text b-inline-block">'+(it.list[i].text)+'</span></li>'; } out+='</ul></div></div><div class="b-post__item-footer"><div class="b-post__item__author" data-author-id="'+(it.author.id)+'"><span class="b-post__item__author-pic b-inline-block"><img src="'+(it.author.user_pic)+'" alt="'+(it.author.name)+'"/></span><span class="b-post__item__author-name b-inline-block"><span class="b-block">'+(it.author.name)+'</span><span class="b-block">'+(it.author.last_name)+'</span></span><div class="b-post__item__pots-time">'+(it.time)+'</div></div></div>';return out; };require.addCss(function anonymous(it) { var out='.b-post__item { display: inline-block; width: 211px; height: 282px; overflow: hidden; margin: 3px 5px 3px 5px; padding: 10px; position: relative;}.b-post__item:last-child { margin-right: 0;}.b-post__item-fade { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: #333; opacity: .4; z-index: 1;}.b-post__item-img { position: absolute; top: 0; right: 0; bottom: 0; left: 0;}.b-post__item__author { font-size: 12px; font-weight: bold; color: #fff; font-family: Helvetica Neue,arial,sans-serif;}.b-post__item__author-pic { width: 42px; height: 42px; vertical-align: middle;}.b-post__item__author-name { vertical-align: middle; padding-left: 11px;}.b-post__item__body { position: relative; color: #fff; z-index: 1;}.b-post__item__body-uniq { margin-top: 13px; overflow: hidden;}.b-post__item-footer { position: absolute; bottom: 0; left: 0; right: 0; padding: 10px; z-index: 1;}.b-post__item__pots-time { position: absolute; right: 10px; bottom: 20px;}.b-post__item__result { margin: 0 0 0 -10px; padding: 0;}.b-post__item__result-item { margin-bottom: 3px; padding-left: 18px; position: relative;}.b-post__item__result-item-bg { position: absolute; left: 0; bottom: 0; top: 0; background: #e0e0e0; opacity: .6; z-index: 2;}.b-post__item__result-count,.b-post__item__result-text { vertical-align: middle; position: relative; z-index: 2;}.b-post__item__result-count { padding-right: 15px; color: #333;}.b-post__item__result-text { color: #fff;}';return out; }());var app = require('main:app'); var Model = require('post-list:post:model'); module.exports = app.View.extends({ template : module.template, events : { }, initialize : function(options) { this.model = new Model(options.model); this.super(options); } });});
require.define("page:view", function(require, module, exports) {module.template = function anonymous(it) { var out='<div class="main"><header class="b-header controller" name="Header" data-view="Header:header"></header><div class="b-filter" name="Filter" data-view=""></div><div class="b-content controller" name="Content" data-view="post-list:view"></div><footer class="b-footer"></footer></div>';return out; };require.addCss(function anonymous(it) { var out='.b-content { padding: 20px 27px 0 27px;}';return out; }());var app = require('main:app'), Model = require('page:model'); module.exports = app.View.extends({ template : module.template, events: { }, initialize : function (options) { this.model = new Model(); this.super(options); } }); });
module.template = function anonymous(it) { var out='<div class="main"><header class="b-header controller" name="Header" data-view="Header:header"></header><div class="b-filter" name="Filter" data-view=""></div><div class="b-content controller" name="Content" data-view="post-list:view"></div><footer class="b-footer"></footer></div>';return out; };require.addCss(function anonymous(it) { var out='.b-content { padding: 20px 27px 0 27px;}';return out; }());var app = require('main:app'), Model = require('page:model'); module.exports = app.View.extends({ template : module.template, events: { }, initialize : function (options) { this.model = new Model(); this.super(options); } });
var ErrorManager = app.View.extends({ componentName: 'error-manager', className: 'error-manager modal-popup', initialize: function (options) { this.model = new Model(options); app.super(this, 'initialize', options); }, events: { 'click .btn-close': function () { this.$el.detach(); }, 'click .err__btn-reload': function () { location.href = location.href; } }, setSingleError: function (err) { if (err) { this.set({ message: this.model.get('customError')[err] || err }, { silent: true }); this.render(); } }, setError: function (type, err, opt_el) { if (!_.isUndefined(type) && !_.isUndefined(this.model.get(type)[err])) { var typeErr = this.model.get(type); var err = typeErr[err]; if (opt_el) { opt_el.html(err + ""); opt_el.css({ 'opacity': 1, 'visibility': 'visible' }); setTimeout(function () { opt_el.animate({ 'opacity': 0 }, 500, function () { opt_el.removeAttr('style'); }); }, 3000); } else { this.set({ message: err}, { silent: true }); this.render(); } return err; } }, getErrors: function () { var def = $.Deferred(); $.ajax({ url: app.serverApi.errors, dataType: 'JSON', type: 'POST', success: function (data) { if (data.site_error) { this.set(data); def.resolve(); } else { def.reject(); } }.bind(this) }); return def.promise(); }, reportError: function (error) { }, render: function () { this.$el.html(app.templ(this.template, this.toJSON())); $('body').append(this.$el); return this; } }, { getInstance: function () { if (!this._instance) { this._instance = new this(); } return this._instance; } });