2013-05-04 17:10:22 +03:00
|
|
|
/**
|
|
|
|
* Лента
|
2014-03-04 10:32:38 +02:00
|
|
|
*
|
2013-08-29 12:30:04 +03:00
|
|
|
* @module ls/userfeed
|
2014-03-04 10:32:38 +02:00
|
|
|
*
|
2013-08-29 12:30:04 +03:00
|
|
|
* @license GNU General Public License, version 2
|
|
|
|
* @copyright 2013 OOO "ЛС-СОФТ" {@link http://livestreetcms.com}
|
|
|
|
* @author Denis Shakhov <denis.shakhov@gmail.com>
|
2013-05-04 17:10:22 +03:00
|
|
|
*/
|
|
|
|
|
2011-08-09 05:43:22 +03:00
|
|
|
var ls = ls || {};
|
|
|
|
|
2013-05-04 17:10:22 +03:00
|
|
|
ls.userfeed = (function ($) {
|
2014-02-06 11:43:12 +02:00
|
|
|
"use strict";
|
|
|
|
|
2013-05-04 17:10:22 +03:00
|
|
|
/**
|
2014-02-06 11:43:12 +02:00
|
|
|
* Дефолтные опции
|
2014-03-04 10:32:38 +02:00
|
|
|
*
|
|
|
|
* @private
|
2013-05-04 17:10:22 +03:00
|
|
|
*/
|
2014-03-04 10:32:38 +02:00
|
|
|
var _defaults = {
|
2014-02-06 11:43:12 +02:00
|
|
|
};
|
2013-05-04 17:10:22 +03:00
|
|
|
|
2014-02-06 11:43:12 +02:00
|
|
|
/**
|
|
|
|
* Инициализация
|
|
|
|
*
|
|
|
|
* @param {Object} options Опции
|
|
|
|
*/
|
|
|
|
this.init = function(options) {
|
2014-03-04 10:32:38 +02:00
|
|
|
var _this = this;
|
|
|
|
|
|
|
|
this.options = $.extend({}, _defaults, options);
|
|
|
|
|
|
|
|
// Подписаться / отписаться
|
|
|
|
$('.js-userfeed-subscribe').on('click', function () {
|
|
|
|
var oCheckbox = $(this);
|
|
|
|
|
|
|
|
_this[ oCheckbox.is(':checked') ? 'subscribe' : 'unsubscribe' ]('blogs', oCheckbox.data('id'));
|
2011-10-10 03:23:37 +03:00
|
|
|
});
|
2014-03-04 10:32:38 +02:00
|
|
|
|
|
|
|
// Подгрузка контента
|
|
|
|
$('.js-more-userfeed').more({
|
|
|
|
url: aRouter['feed'] + 'get_more',
|
|
|
|
target: '#userfeed-topic-list'
|
2011-10-10 03:23:37 +03:00
|
|
|
});
|
2014-03-04 10:32:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Подписаться / отписаться
|
|
|
|
*/
|
|
|
|
this.subscribeAccessor = function(sName) {
|
|
|
|
return function (sType, iId) {
|
|
|
|
var sUrl = aRouter['feed'] + sName + '/',
|
|
|
|
oParams = { 'type': sType, 'id': iId };
|
|
|
|
|
|
|
|
ls.ajax.load(sUrl, oParams, function(oResponse) {
|
|
|
|
if ( ! oResponse.bStateError ) {
|
|
|
|
ls.msg.notice(oResponse.sMsgTitle, oResponse.sMsg);
|
|
|
|
ls.hook.run('ls_userfeed_subscribe_after', [sType, iId, oResponse]);
|
|
|
|
}
|
|
|
|
});
|
2011-10-10 03:23:37 +03:00
|
|
|
}
|
2014-03-04 10:32:38 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Подписаться
|
|
|
|
*
|
|
|
|
* @param {String} sType Тип
|
|
|
|
* @param {Number} iId ID объекта
|
|
|
|
*/
|
|
|
|
this.subscribe = function(sType, iId) {
|
|
|
|
this.subscribeAccessor('subscribe').apply(this, arguments);
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Отписаться
|
|
|
|
*
|
|
|
|
* @param {String} sType Тип
|
|
|
|
* @param {Number} iId ID объекта
|
|
|
|
*/
|
|
|
|
this.unsubscribe = function(sType, iId) {
|
|
|
|
this.subscribeAccessor('unsubscribe').apply(this, arguments);
|
|
|
|
};
|
|
|
|
|
2011-10-10 03:23:37 +03:00
|
|
|
return this;
|
2011-08-09 05:43:22 +03:00
|
|
|
}).call(ls.userfeed || {},jQuery);
|