1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-30 21:45:01 +03:00

Доработка экшнбара

* Добавлена кнопка выделения объектов
This commit is contained in:
Denis Shakhov 2014-04-03 14:40:55 +07:00
parent d30325baae
commit 4a0a5c88e1
5 changed files with 116 additions and 16 deletions

View file

@ -0,0 +1,36 @@
{**
* Экшнбар / Контрол выбора объектов
*}
{extends 'actionbar.item.tpl'}
{block 'actionbar_item_classes'}
js-dropdown-default
{/block}
{block 'actionbar_item_attributes'}
data-type="dropdown-toggle"
data-dropdown-target="js-dropdown-select-{$sName}"
{/block}
{block 'actionbar_item_text'}
Выбрать
{/block}
{block 'actionbar_item'}
{$smarty.block.parent}
<ul class="dropdown-menu" id="js-dropdown-select-{$sName}">
<li><a href="#" data-select-item="{$sItemSelector}">Все</a></li>
<li><a href="#" data-select-item="{$sItemSelector}" data-select-filter=":not(*)">Убрать выделение</a></li>
{if $aItems}
<li class="dropdown-menu-separator"></li>
{/if}
{foreach $aItems as $aItem}
<li><a href="#" data-select-item="{$sItemSelector}" data-select-filter="{$aItem['filter']}">{$aItem['text']}</a></li>
{/foreach}
</ul>
{/block}

View file

@ -0,0 +1,16 @@
<li class="actionbar-item">
{block 'actionbar_item'}
<{if $aActionbarItem['url']}a{else}button{/if} {if $aActionbarItem['url']}href="{$aActionbarItem['url']}"{/if}
class="button actionbar-item-link {$aActionbarItem['classes']} {block 'actionbar_item_classes'}{/block}"
{$aActionbarItem['attributes']} {block 'actionbar_item_attributes'}{/block}>
{block 'actionbar_item_icon'}
{if $aActionbarItem['icon']}
<i class="{$aActionbarItem['icon']}"></i>
{/if}
{/block}
{block 'actionbar_item_text'}{$aActionbarItem['text']}{/block}
</{if $aActionbarItem['url']}a{else}button{/if}>
{/block}
</li>

View file

@ -9,13 +9,12 @@
{if $aActionbarItems}
<ul class="actionbar clearfix {$sActionbarClasses}" {$sActionbarAttributes}>
{foreach $aActionbarItems as $aActionbarItem}
{if $aActionbarItem['show']|default:true}
<li class="actionbar-item">
<a href="{if $aActionbarItem['url']}{$aActionbarItem['url']}{else}#{/if}" class="actionbar-item-link {$aActionbarItem['classes']}" {$aActionbarItem['attributes']}>
{if $aActionbarItem['icon']}<i class="{$aActionbarItem['icon']}"></i>{/if}
{$aActionbarItem['text']}
</a>
</li>
{if $aActionbarItem['html']}
{$aActionbarItem['html']}
{else}
{if $aActionbarItem['show']|default:true}
{include 'actionbar.item.tpl'}
{/if}
{/if}
{/foreach}
</ul>

View file

@ -1,6 +1,6 @@
/**
* Инициализации модулей
*
*
* @license GNU General Public License, version 2
* @copyright 2013 OOO "ЛС-СОФТ" {@link http://livestreetcms.com}
* @author Denis Shakhov <denis.shakhov@gmail.com>
@ -11,9 +11,13 @@ jQuery(document).ready(function($){
ls.hook.run('ls_template_init_start',[],window);
/**
* Main init
* Иниц-ия модулей ядра
*/
ls.setOption('debug', true);
ls.init({
production: false
});
ls.dev.init();
/**
@ -31,7 +35,9 @@ jQuery(document).ready(function($){
/**
* Dropdowns
*/
$('.js-dropdown-default').dropdown();
$('.js-dropdown-default').livequery(function () {
$(this).dropdown();
});
/**
@ -165,7 +171,9 @@ jQuery(document).ready(function($){
/**
* User Note
*/
ls.usernote.init();
$('.js-user-note').livequery(function () {
$(this).usernote();
});
/**
@ -241,9 +249,38 @@ jQuery(document).ready(function($){
/**
* Блок добавления пользователей
* Блоки добавления пользователей
*/
ls.user_list_add.init();
// Приглашение пользователей в блог
$('.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/'
}
});
/**
* Лайтбокс
@ -263,6 +300,18 @@ jQuery(document).ready(function($){
$( '#' + $(this).data('button-submit-form') ).submit();
});
// Временный код экшнбара (кнопка выделения объектов)
// TODO: Перенести в виджет
$(document).on('click', 'a[data-select-item]', function (e) {
var aItems = $( $(this).data('select-item') );
var aCheckboxes = aItems.find('input[type=checkbox]');
aItems.removeClass('selected');
aCheckboxes.prop('checked', false);
aItems.filter( $(this).data('select-filter') || '*' ).addClass('selected').find('input[type=checkbox]').prop('checked', true);
e.preventDefault();
});
// Хук конца инициализации javascript-составляющих шаблона
ls.hook.run('ls_template_init_end',[],window);

View file

@ -13,9 +13,9 @@
{block name='modal_content'}
{* Экшнбар *}
{if $aUserList && $bSelectable}
{include 'actionbar.item.select.tpl' sName='asdfsasaasddf' sItemSelector='.js-user-list-select .js-user-list-small-item' assign=sUsersSelect}
{include 'actionbar.tpl' aActionbarItems=[
[ 'icon' => 'icon-ok', 'classes' => 'js-temp', 'text' => $aLang.block_friends_check ],
[ 'classes' => 'js-temp', 'text' => $aLang.block_friends_uncheck ]
[ 'html' => $sUsersSelect ]
]}
{/if}