mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-04 23:44:25 +03:00
Доработка экшнбара
* Добавлена кнопка выделения объектов
This commit is contained in:
parent
d30325baae
commit
4a0a5c88e1
|
@ -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}
|
||||||
|
|
16
application/frontend/skin/developer/actionbar.item.tpl
Normal file
16
application/frontend/skin/developer/actionbar.item.tpl
Normal 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>
|
|
@ -9,13 +9,12 @@
|
||||||
{if $aActionbarItems}
|
{if $aActionbarItems}
|
||||||
<ul class="actionbar clearfix {$sActionbarClasses}" {$sActionbarAttributes}>
|
<ul class="actionbar clearfix {$sActionbarClasses}" {$sActionbarAttributes}>
|
||||||
{foreach $aActionbarItems as $aActionbarItem}
|
{foreach $aActionbarItems as $aActionbarItem}
|
||||||
{if $aActionbarItem['show']|default:true}
|
{if $aActionbarItem['html']}
|
||||||
<li class="actionbar-item">
|
{$aActionbarItem['html']}
|
||||||
<a href="{if $aActionbarItem['url']}{$aActionbarItem['url']}{else}#{/if}" class="actionbar-item-link {$aActionbarItem['classes']}" {$aActionbarItem['attributes']}>
|
{else}
|
||||||
{if $aActionbarItem['icon']}<i class="{$aActionbarItem['icon']}"></i>{/if}
|
{if $aActionbarItem['show']|default:true}
|
||||||
{$aActionbarItem['text']}
|
{include 'actionbar.item.tpl'}
|
||||||
</a>
|
{/if}
|
||||||
</li>
|
|
||||||
{/if}
|
{/if}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -11,9 +11,13 @@ jQuery(document).ready(function($){
|
||||||
ls.hook.run('ls_template_init_start',[],window);
|
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
|
* Dropdowns
|
||||||
*/
|
*/
|
||||||
$('.js-dropdown-default').dropdown();
|
$('.js-dropdown-default').livequery(function () {
|
||||||
|
$(this).dropdown();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -165,7 +171,9 @@ jQuery(document).ready(function($){
|
||||||
/**
|
/**
|
||||||
* User Note
|
* 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();
|
$( '#' + $(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-составляющих шаблона
|
// Хук конца инициализации javascript-составляющих шаблона
|
||||||
ls.hook.run('ls_template_init_end',[],window);
|
ls.hook.run('ls_template_init_end',[],window);
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
{block name='modal_content'}
|
{block name='modal_content'}
|
||||||
{* Экшнбар *}
|
{* Экшнбар *}
|
||||||
{if $aUserList && $bSelectable}
|
{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=[
|
{include 'actionbar.tpl' aActionbarItems=[
|
||||||
[ 'icon' => 'icon-ok', 'classes' => 'js-temp', 'text' => $aLang.block_friends_check ],
|
[ 'html' => $sUsersSelect ]
|
||||||
[ 'classes' => 'js-temp', 'text' => $aLang.block_friends_uncheck ]
|
|
||||||
]}
|
]}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue