Ejemplo n.º 1
0
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();
});
Ejemplo n.º 2
0
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);
	}

});});
Ejemplo n.º 3
0
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);
	}

});
});
Ejemplo n.º 4
0
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);
	}

});
Ejemplo n.º 5
0
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;
	}
});