1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-05-19 17:28:23 +03:00

Исправлена кнопка "Вступить" на странице блога

This commit is contained in:
Denis Shakhov 2015-10-18 22:16:30 +07:00
parent 40b9de64c1
commit e1f99759c6
3 changed files with 40 additions and 17 deletions

View file

@ -9,8 +9,8 @@
{* Вступить/покинуть *}
{if $oUserCurrent && $oUserCurrent->getId() != $blog->getOwnerId() && $blog->getType() == 'open'}
{$actions[] = [
'classes' => 'js-blog-join',
'attributes' => "data-blog-id=\"{$blog->getId()}\"",
'classes' => 'js-blog-profile-join',
'attributes' => [ 'data-blog-id' => $blog->getId() ],
'text' => {($blog->getUserIsJoin()) ? {lang 'blog.actions.leave'} : {lang 'blog.actions.join'}}
]}
{/if}

View file

@ -22,11 +22,13 @@
},
// Селекторы
selectors: {
count: '.js-blog-users-count'
count: '.js-blog-users-count',
text: null
},
// Классы
classes : {
active: 'ls-button--primary'
active: 'ls-button--primary',
loading: null
},
// Ajax параметры
params : {}
@ -39,21 +41,33 @@
* @private
*/
_create: function () {
this._super();
if ( ! this.elements.text.length ) this.elements.text = this.element;
this.option( 'params.blog_id', this.element.data( 'blog-id' ) );
this._on({ click: 'toggle' });
this._on({ click: 'onClick' });
},
/**
*
*/
onClick: function( event ) {
this.toggle();
event.preventDefault();
},
/**
*
*/
toggle: function() {
this.element.addClass( ls.options.classes.states.loading );
this.element.addClass( this.option( 'classes.loading' ) );
this._load('toggle', function( response ) {
this.onToggle( response );
this.element.removeClass( ls.options.classes.states.loading );
this.element.removeClass( this.option( 'classes.loading' ) );
}.bind( this ));
},
@ -61,9 +75,8 @@
*
*/
onToggle: function( response ) {
this.element
.text( ls.lang.get( response.bState ? 'blog.join.leave' : 'blog.join.join' ) )
.toggleClass( this.option( 'classes.active' ) );
this.element.toggleClass( this.option( 'classes.active' ) );
this.elements.text.text( ls.lang.get( response.bState ? 'blog.join.leave' : 'blog.join.join' ) );
$( this.option( 'selectors.count' ) + '[data-blog-id=' + this.option( 'params.blog_id' ) + ']' ).text( response.iCountUser );
}

View file

@ -270,12 +270,6 @@ jQuery(document).ready(function($){
*/
ls.auth.init();
/**
* User
*/
ls.user.init();
// Поиск
$( '.js-search-ajax-users' ).lsSearchAjax({
urls: {
@ -448,15 +442,31 @@ jQuery(document).ready(function($){
// Приглашение пользователей в блог
$('.js-user-list-add-blog-invite').lsBlogInvites();
// Вступить/покинуть блог
// Вступить/покинуть блог (список блогов)
$( '.js-blog-join' ).livequery(function() {
$( this ).lsBlogJoin({
urls: {
toggle: aRouter.blog + 'ajaxblogjoin'
},
classes: {
loading: ls.options.classes.states.loading
}
});
});
// Вступить/покинуть блог (страница блога)
$( '.js-blog-profile-join' ).lsBlogJoin({
urls: {
toggle: aRouter.blog + 'ajaxblogjoin'
},
selectors: {
text: 'a'
},
classes: {
active: 'active'
}
});
// Поиск
$( '.js-search-ajax-blog' ).lsSearchAjax({
urls: {