2013-08-29 12:30:04 +03:00
|
|
|
|
/**
|
|
|
|
|
* Инициализации модулей
|
2014-04-03 10:40:55 +03: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-04-09 01:30:54 +03:00
|
|
|
|
jQuery(document).ready(function($){
|
|
|
|
|
// Хук начала инициализации javascript-составляющих шаблона
|
|
|
|
|
ls.hook.run('ls_template_init_start',[],window);
|
|
|
|
|
|
|
|
|
|
/**
|
2014-04-03 10:40:55 +03:00
|
|
|
|
* Иниц-ия модулей ядра
|
2013-04-09 01:30:54 +03:00
|
|
|
|
*/
|
2014-04-03 10:40:55 +03:00
|
|
|
|
ls.init({
|
|
|
|
|
production: false
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
ls.dev.init();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Modals
|
|
|
|
|
*/
|
|
|
|
|
$('.js-modal-default').modal();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Datepicker
|
|
|
|
|
*/
|
|
|
|
|
$('.date-picker').datepicker();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Dropdowns
|
|
|
|
|
*/
|
2014-04-03 10:40:55 +03:00
|
|
|
|
$('.js-dropdown-default').livequery(function () {
|
|
|
|
|
$(this).dropdown();
|
|
|
|
|
});
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
|
|
|
|
|
2013-10-02 17:09:30 +03:00
|
|
|
|
/**
|
|
|
|
|
* Tabs
|
|
|
|
|
*/
|
|
|
|
|
$('[data-type=tab]').tab();
|
|
|
|
|
|
2014-01-25 15:20:02 +02:00
|
|
|
|
/**
|
|
|
|
|
* Captcha
|
|
|
|
|
*/
|
|
|
|
|
$('[data-type=captcha]').captcha();
|
|
|
|
|
|
2013-10-02 17:09:30 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Alerts
|
|
|
|
|
*/
|
|
|
|
|
$('.js-alert').alert();
|
|
|
|
|
|
|
|
|
|
|
2013-04-09 01:30:54 +03:00
|
|
|
|
/**
|
|
|
|
|
* Tooltips
|
|
|
|
|
*/
|
2013-10-02 17:09:30 +03:00
|
|
|
|
$('.js-tooltip').tooltip();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
2013-10-02 17:09:30 +03:00
|
|
|
|
$('.js-popover-default').tooltip({
|
|
|
|
|
useAttrTitle: false,
|
|
|
|
|
trigger: 'click',
|
|
|
|
|
classes: 'tooltip-light'
|
2013-04-09 01:30:54 +03:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
if (ls.registry.get('block_stream_show_tip')) {
|
2013-10-02 17:09:30 +03:00
|
|
|
|
$('.js-title-comment, .js-title-topic').livequery(function () {
|
|
|
|
|
$(this).tooltip({
|
|
|
|
|
position: {
|
|
|
|
|
my: "right center",
|
|
|
|
|
at: "left left"
|
|
|
|
|
},
|
|
|
|
|
show: {
|
|
|
|
|
delay: 1500
|
|
|
|
|
}
|
|
|
|
|
});
|
2013-04-09 01:30:54 +03:00
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Autocomplete
|
|
|
|
|
*/
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-tags-sep"), aRouter['ajax']+'autocompleter/tag/', true);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-tags"), aRouter['ajax']+'autocompleter/tag/', false);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-users-sep"), aRouter['ajax']+'autocompleter/user/', true);
|
|
|
|
|
ls.autocomplete.add($(".autocomplete-users"), aRouter['ajax']+'autocompleter/user/', false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Scroll
|
|
|
|
|
*/
|
|
|
|
|
$(window)._scrollable();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Toolbar
|
|
|
|
|
*/
|
2013-08-29 13:13:18 +03:00
|
|
|
|
$('.js-toolbar').toolbar({
|
2013-10-02 17:09:30 +03:00
|
|
|
|
target: '.grid-role-wrapper',
|
|
|
|
|
offsetX: 20
|
2013-04-15 08:38:51 +03:00
|
|
|
|
});
|
|
|
|
|
|
2013-04-09 01:30:54 +03:00
|
|
|
|
ls.toolbar.topic.init(); // Тул-бар топиков
|
|
|
|
|
ls.toolbar.up.init(); // Кнопка "UP"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Code highlight
|
|
|
|
|
*/
|
|
|
|
|
prettyPrint();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Blocks
|
|
|
|
|
*/
|
2013-05-04 17:10:22 +03:00
|
|
|
|
ls.blocks.init();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2013-05-04 17:10:22 +03:00
|
|
|
|
* Activity
|
2013-04-09 01:30:54 +03:00
|
|
|
|
*/
|
2014-03-04 10:32:38 +02:00
|
|
|
|
ls.activity.init();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
2013-05-04 17:10:22 +03:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Userfeed
|
|
|
|
|
*/
|
|
|
|
|
ls.userfeed.init();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
|
|
|
|
|
2013-05-04 17:10:22 +03:00
|
|
|
|
/**
|
|
|
|
|
* Comments
|
|
|
|
|
*/
|
2014-02-17 10:26:20 +02:00
|
|
|
|
ls.comments.init();
|
2013-04-09 01:30:54 +03:00
|
|
|
|
|
|
|
|
|
|
2013-05-30 16:34:30 +03:00
|
|
|
|
/**
|
|
|
|
|
* User
|
|
|
|
|
*/
|
|
|
|
|
ls.user.init();
|
|
|
|
|
|
|
|
|
|
|
2013-07-03 07:36:17 +03:00
|
|
|
|
/**
|
|
|
|
|
* Captcha
|
|
|
|
|
*/
|
|
|
|
|
ls.captcha.init();
|
|
|
|
|
|
|
|
|
|
|
2013-05-04 17:10:22 +03:00
|
|
|
|
/**
|
|
|
|
|
* Talk
|
2013-04-09 01:30:54 +03:00
|
|
|
|
*/
|
2013-07-02 05:58:58 +03:00
|
|
|
|
ls.talk.init();
|
2013-07-08 07:42:49 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Poll
|
|
|
|
|
*/
|
|
|
|
|
ls.poll.init();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* User Note
|
|
|
|
|
*/
|
2014-04-03 10:40:55 +03:00
|
|
|
|
$('.js-user-note').livequery(function () {
|
2014-04-28 13:12:44 +03:00
|
|
|
|
$(this).usernote({
|
|
|
|
|
urls: {
|
|
|
|
|
save: aRouter['profile'] + 'ajax-note-save/',
|
|
|
|
|
remove: aRouter['profile'] + 'ajax-note-remove/'
|
|
|
|
|
}
|
|
|
|
|
});
|
2014-04-03 10:40:55 +03:00
|
|
|
|
});
|
2013-07-09 08:09:06 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Editor
|
|
|
|
|
*/
|
|
|
|
|
ls.editor.init();
|
|
|
|
|
|
|
|
|
|
|
2014-01-25 14:39:19 +02:00
|
|
|
|
/**
|
|
|
|
|
* Blog
|
|
|
|
|
*/
|
|
|
|
|
ls.blog.init();
|
|
|
|
|
|
|
|
|
|
|
2013-07-09 08:09:06 +03:00
|
|
|
|
/**
|
|
|
|
|
* Topic
|
|
|
|
|
*/
|
|
|
|
|
ls.topic.init();
|
2014-01-11 18:27:27 +02:00
|
|
|
|
ls.content.init();
|
2013-07-09 08:09:06 +03:00
|
|
|
|
|
|
|
|
|
|
2013-07-09 11:40:06 +03:00
|
|
|
|
/**
|
|
|
|
|
* Vote
|
|
|
|
|
*/
|
2014-04-08 14:42:07 +03:00
|
|
|
|
|
|
|
|
|
// Голосование за топик
|
|
|
|
|
$('.js-vote-topic').vote({
|
|
|
|
|
urls: {
|
|
|
|
|
vote: aRouter['ajax'] + 'vote/topic/',
|
|
|
|
|
info: aRouter['ajax'] + 'vote/get/info/topic'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Голосование за пользователя
|
|
|
|
|
$('.js-vote-user').vote({
|
|
|
|
|
urls: {
|
|
|
|
|
vote: aRouter['ajax'] + 'vote/user/'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Голосование за блог
|
|
|
|
|
$('.js-vote-blog').vote({
|
|
|
|
|
urls: {
|
|
|
|
|
vote: aRouter['ajax'] + 'vote/blog/'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Голосование за комментарий
|
|
|
|
|
$('.js-vote-comment').vote({
|
|
|
|
|
urls: {
|
|
|
|
|
vote: aRouter['ajax'] + 'vote/comment/'
|
|
|
|
|
}
|
|
|
|
|
});
|
2013-07-09 11:40:06 +03:00
|
|
|
|
|
|
|
|
|
|
2013-07-15 12:40:44 +03:00
|
|
|
|
/**
|
|
|
|
|
* Pagination
|
|
|
|
|
*/
|
|
|
|
|
ls.pagination.init();
|
|
|
|
|
|
|
|
|
|
|
2013-08-19 13:36:09 +03:00
|
|
|
|
/**
|
2014-04-28 13:12:44 +03:00
|
|
|
|
* Избранное
|
2013-08-19 13:36:09 +03:00
|
|
|
|
*/
|
2014-04-28 13:12:44 +03:00
|
|
|
|
|
|
|
|
|
// Топик
|
|
|
|
|
$('.js-favourite-topic').lsFavouriteTopic();
|
|
|
|
|
|
|
|
|
|
// Комментарий
|
|
|
|
|
$('.js-favourite-comment').lsFavourite({
|
|
|
|
|
urls: {
|
|
|
|
|
toggle: aRouter['ajax'] + 'favourite/comment/'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Личное сообщение
|
|
|
|
|
$('.js-favourite-talk').lsFavourite({
|
|
|
|
|
urls: {
|
|
|
|
|
toggle: aRouter['ajax'] + 'favourite/talk/'
|
|
|
|
|
}
|
|
|
|
|
});
|
2013-08-19 13:36:09 +03:00
|
|
|
|
|
|
|
|
|
|
2014-01-02 07:58:44 +02:00
|
|
|
|
/**
|
|
|
|
|
* Теги
|
|
|
|
|
*/
|
|
|
|
|
ls.tags.init();
|
|
|
|
|
|
|
|
|
|
|
2013-08-03 09:34:13 +03:00
|
|
|
|
/**
|
|
|
|
|
* Form validate
|
|
|
|
|
*/
|
|
|
|
|
$('.js-form-validate').parsley({
|
|
|
|
|
validators: {
|
|
|
|
|
rangetags: function (val, arrayRange) {
|
2013-08-05 08:24:15 +03:00
|
|
|
|
var tag_count = val.replace(/ /g, "").match(/[^\s,]+(,|)/gi);
|
2013-08-03 09:34:13 +03:00
|
|
|
|
return tag_count && tag_count.length >= arrayRange[0] && tag_count.length <= arrayRange[1];
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// TODO: Вынести в лок-ию
|
|
|
|
|
messages: {
|
|
|
|
|
rangetags: "Кол-во тегов должно быть от %s до %s"
|
|
|
|
|
}
|
2013-08-29 12:30:04 +03:00
|
|
|
|
});
|
2013-08-03 09:34:13 +03:00
|
|
|
|
|
|
|
|
|
|
2014-01-02 07:58:44 +02:00
|
|
|
|
/**
|
|
|
|
|
* Медиа файлы
|
|
|
|
|
*/
|
|
|
|
|
//ls.media.init();
|
|
|
|
|
|
|
|
|
|
|
2014-01-13 08:33:20 +02:00
|
|
|
|
/**
|
|
|
|
|
* Стена
|
|
|
|
|
*/
|
|
|
|
|
ls.wall.init();
|
2014-02-06 11:43:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2014-04-03 10:40:55 +03:00
|
|
|
|
* Блоки добавления пользователей
|
2014-02-06 11:43:12 +02:00
|
|
|
|
*/
|
2014-04-03 10:40:55 +03:00
|
|
|
|
|
|
|
|
|
// Приглашение пользователей в блог
|
|
|
|
|
$('.js-user-list-add-blog-invite').blog_invite_users();
|
|
|
|
|
|
|
|
|
|
// Добавление участников личного сообщения
|
|
|
|
|
$('.js-message-users').message_users();
|
|
|
|
|
|
|
|
|
|
// Черный список
|
|
|
|
|
$('.js-user-list-add-blacklist').user_list_add({
|
|
|
|
|
urls: {
|
|
|
|
|
add: aRouter['talk'] + 'ajaxaddtoblacklist/',
|
|
|
|
|
remove: aRouter['talk'] + 'ajaxdeletefromblacklist/'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Добавление пользователей в свою активность
|
|
|
|
|
$('.js-user-list-add-activity').user_list_add({
|
|
|
|
|
urls: {
|
|
|
|
|
add: aRouter['stream'] + 'ajaxadduser/',
|
|
|
|
|
remove: aRouter['stream'] + 'ajaxremoveuser/'
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Добавление пользователей в свою ленту
|
|
|
|
|
$('.js-user-list-add-userfeed').user_list_add({
|
|
|
|
|
urls: {
|
|
|
|
|
add: aRouter['feed'] + 'ajaxadduser/',
|
|
|
|
|
remove: aRouter['feed'] + 'unsubscribe/'
|
|
|
|
|
}
|
|
|
|
|
});
|
2014-02-10 13:12:21 +02:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Лайтбокс
|
|
|
|
|
*/
|
|
|
|
|
$('a.js-lbx').colorbox({ width:"100%", height:"100%" });
|
|
|
|
|
|
2014-01-13 08:33:20 +02:00
|
|
|
|
|
2014-03-04 10:32:38 +02:00
|
|
|
|
/**
|
|
|
|
|
* Поиск
|
|
|
|
|
*/
|
|
|
|
|
ls.search.init();
|
|
|
|
|
|
|
|
|
|
|
2014-01-02 07:58:44 +02:00
|
|
|
|
// Временный костыль для сабмита форм
|
|
|
|
|
// TODO: Перенести в плагин button
|
2014-02-10 13:09:17 +02:00
|
|
|
|
$(document).on('click', 'button[data-button-submit-form]', function () {
|
2014-01-02 07:58:44 +02:00
|
|
|
|
$( '#' + $(this).data('button-submit-form') ).submit();
|
|
|
|
|
});
|
|
|
|
|
|
2014-04-03 10:40:55 +03:00
|
|
|
|
// Временный код экшнбара (кнопка выделения объектов)
|
|
|
|
|
// TODO: Перенести в виджет
|
2014-04-28 13:12:44 +03:00
|
|
|
|
$(document).on('click', 'li[data-select-item]', function (e) {
|
2014-04-03 12:17:55 +03:00
|
|
|
|
var oElement = $(this),
|
|
|
|
|
sItemSelector = $(this).data('select-item'),
|
|
|
|
|
sItemFilter = $(this).data('select-filter') || '*',
|
|
|
|
|
aItems = $( sItemSelector ),
|
|
|
|
|
aItemsFiltered = aItems.filter( sItemFilter ),
|
|
|
|
|
aCheckboxes = aItems.find('input[type=checkbox]');
|
2014-04-03 10:40:55 +03:00
|
|
|
|
|
|
|
|
|
aItems.removeClass('selected');
|
|
|
|
|
aCheckboxes.prop('checked', false);
|
2014-04-03 12:17:55 +03:00
|
|
|
|
aItemsFiltered.addClass('selected').find('input[type=checkbox]').prop('checked', true);
|
2014-04-03 10:40:55 +03:00
|
|
|
|
e.preventDefault();
|
|
|
|
|
});
|
2014-01-02 07:58:44 +02:00
|
|
|
|
|
2014-04-03 12:17:55 +03:00
|
|
|
|
$(document).on('click', '.js-message-list-item input[type=checkbox]', function (e) {
|
|
|
|
|
$(this).closest('.js-message-list-item').toggleClass('selected');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$(document).on('click', '.js-user-list-small-item input[type=checkbox]', function (e) {
|
|
|
|
|
$(this).closest('.js-user-list-small-item').toggleClass('selected');
|
|
|
|
|
});
|
|
|
|
|
|
2013-04-09 01:30:54 +03:00
|
|
|
|
// Хук конца инициализации javascript-составляющих шаблона
|
|
|
|
|
ls.hook.run('ls_template_init_end',[],window);
|
2012-04-22 21:14:29 +03:00
|
|
|
|
});
|