1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-08 17:34:26 +03:00
ifhub.club/application/frontend/skin/developer/assets/js/init.js

422 lines
8.2 KiB
JavaScript
Raw Normal View History

/**
* Инициализации модулей
*
* @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);
/**
* Иниц-ия модулей ядра
2013-04-09 01:30:54 +03:00
*/
ls.init({
production: false
});
ls.dev.init();
2013-04-09 01:30:54 +03:00
/**
* Modals
*/
$('.js-modal-default').modal();
/**
* Datepicker
*/
2014-06-12 06:30:16 +03:00
$('.js-date-picker').datepicker();
2013-04-09 01:30:54 +03:00
/**
* Dropdowns
*/
$('.js-dropdown-default').livequery(function () {
$(this).dropdown();
});
2013-04-09 01:30:54 +03:00
/**
* Tabs
*/
$('[data-type=tab]').tab();
/**
* Captcha
*/
$('[data-type=captcha]').captcha();
/**
* Alerts
*/
$('.js-alert').alert();
2013-04-09 01:30:54 +03:00
/**
* Tooltips
*/
$('.js-tooltip').tooltip();
2013-04-09 01:30:54 +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')) {
$('.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();
/**
* Code highlight
*/
prettyPrint();
/**
* Blocks
*/
2013-05-04 17:10:22 +03:00
ls.blocks.init();
2013-04-09 01:30:54 +03:00
/**
2014-07-19 19:50:52 +03:00
* Активность
2013-04-09 01:30:54 +03:00
*/
2014-07-18 18:45:16 +03:00
$('.js-activity--all').lsActivity({ urls: { more: aRouter.stream + 'get_more_all' } });
$('.js-activity--user').lsActivity({ urls: { more: aRouter.stream + 'get_more_user' } });
$('.js-activity--personal').lsActivity({
urls: {
more: aRouter.stream + 'get_more_personal'
},
create: function() {
// Настройки активности
$('.js-activity-settings').lsActivitySettings({
urls: {
toggle_type: aRouter.stream + 'switchEventType'
}
});
// Добавление пользователей в персональную активность
$('.js-activity-users').user_list_add({
urls: {
add: aRouter.stream + 'ajaxadduser',
remove: aRouter.stream + 'ajaxremoveuser'
}
});
}
});
2013-04-09 01:30:54 +03:00
2013-05-04 17:10:22 +03:00
/**
2014-07-19 19:50:52 +03:00
* Лента
2013-05-04 17:10:22 +03:00
*/
2014-07-19 19:50:52 +03:00
$('.js-feed').lsFeed({
urls: {
more: aRouter.feed + 'get_more'
},
create: function() {
// Блоги
$('.js-feed-blogs').lsFeedBlogs({
urls: {
subscribe: aRouter.feed + 'subscribe',
unsubscribe: aRouter.feed + 'unsubscribe'
}
});
// Добавление пользователей в свою ленту
$('.js-feed-users').user_list_add({
urls: {
add: aRouter.feed + 'ajaxadduser',
remove: aRouter.feed + 'unsubscribe'
}
});
}
});
2013-04-09 01:30:54 +03:00
2013-05-04 17:10:22 +03:00
/**
* Comments
*/
$('.js-comments-topic').lsComments({
urls: {
add: aRouter['blog'] + 'ajaxaddcomment/',
load: aRouter['blog'] + 'ajaxresponsecomment/'
},
});
$('.js-comments-talk').lsComments({
urls: {
add: aRouter['talk'] + 'ajaxaddcomment/',
load: aRouter['talk'] + 'ajaxresponsecomment/'
},
});
/**
* Toolbar
*/
$('.js-toolbar').toolbar({
target: '.grid-role-wrapper',
offsetX: 20
});
2014-06-17 12:54:39 +03:00
$('.js-toolbar-scrollup').lsToolbarScrollUp();
$('.js-toolbar-comments').lsToolbarComments();
2014-06-17 12:54:39 +03:00
$('.js-toolbar-topics').lsToolbarTopics();
2013-04-09 01:30:54 +03:00
/**
* User
*/
ls.user.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();
/**
* Poll
*/
2014-06-23 15:51:40 +03:00
$('.js-poll').lsPoll();
$('.js-poll-manage').lsPollManage();
/**
* User Note
*/
$('.js-user-note').livequery(function () {
$(this).usernote({
urls: {
save: aRouter['profile'] + 'ajax-note-save/',
remove: aRouter['profile'] + 'ajax-note-remove/'
}
});
});
2013-07-09 08:09:06 +03:00
/**
* Editor
*/
2014-05-19 09:35:34 +03:00
ls.editor.init('.js-editor');
2013-07-09 08:09:06 +03:00
2014-01-25 14:39:19 +02:00
/**
* Blog
*/
ls.blog.init();
2013-07-09 08:09:06 +03:00
/**
* Topic
*/
ls.topic.init();
ls.content.init();
2013-07-09 08:09:06 +03:00
2013-07-09 11:40:06 +03:00
/**
* Vote
*/
// Голосование за топик
$('.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').livequery(function () {
$(this).vote({
urls: {
vote: aRouter['ajax'] + 'vote/comment/'
}
});
});
2013-07-09 11:40:06 +03:00
/**
2014-05-04 06:52:24 +03:00
* Пагинация
*/
2014-05-04 06:52:24 +03:00
$('.js-pagination-topics').lsPagination({
hash: {
2014-06-17 12:54:39 +03:00
next: 'goTopic=first',
2014-05-04 06:52:24 +03:00
prev: 'goTopic=last'
}
});
/**
* Избранное
*/
// Топик
$('.js-favourite-topic').lsFavouriteTopic();
// Комментарий
$('.js-favourite-comment').lsFavourite({
urls: {
toggle: aRouter['ajax'] + 'favourite/comment/'
}
});
// Личное сообщение
$('.js-favourite-talk').lsFavourite({
urls: {
toggle: aRouter['ajax'] + 'favourite/talk/'
}
});
2014-01-02 07:58:44 +02:00
/**
* Теги
*/
ls.tags.init();
/**
* 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);
return tag_count && tag_count.length >= arrayRange[0] && tag_count.length <= arrayRange[1];
}
},
// TODO: Вынести в лок-ию
messages: {
rangetags: "Кол-во тегов должно быть от %s до %s"
}
});
2014-01-02 07:58:44 +02:00
/**
* Медиа файлы
*/
//ls.media.init();
2014-01-13 08:33:20 +02:00
/**
* Стена
*/
2014-07-07 13:50:14 +03:00
$('.js-wall-default').lsWall({
urls: {
add: aRouter.ajax + 'wall/add/',
remove: aRouter.ajax + 'wall/remove/',
load: aRouter.ajax + 'wall/load/',
load_comments: aRouter.ajax + 'wall/load-comments/'
2014-07-07 13:50:14 +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/'
}
});
/**
* Лайтбокс
*/
$('a.js-lbx').colorbox({ width:"100%", height:"100%" });
2014-01-13 08:33:20 +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-05-10 18:35:49 +03:00
$( $(this).data('button-submit-form') ).submit();
2014-01-02 07:58:44 +02:00
});
// Временный код экшнбара (кнопка выделения объектов)
// TODO: Перенести в виджет
$(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]');
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);
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
});