Skip to content

Instantly share code, notes, and snippets.

modules.define('userpick', ['i-bem__dom'], function(provide, BEMDOM) {
provide(BEMDOM.decl(this.name,
{
onSetMod: {
'js': {
'inited': function() {
this.bindTo('click', function(e) {
e.preventDefault();
console.log('click');
});
block('userControlsGrouping').elem('groupingShowHideButton')(
tag()('i'),
elemMod('direction', 'down')(
cls()('fa fa-angle-down')
),
elemMod('direction', 'up')(
cls()('fa fa-angle-up')
)
GroupElements: function() {
var elem = this.findElem('linksContainer');
this.setMod(elem, 'visibility', 'visible');
elem = this.findElem('groupingShowHideButton');
elem.domElem.toggleClass('fa fa-arrow-down', 'fa fa-arrow-up');
}
{
block: 'linksGroup',
mods: { position: 'right' },
mix: { block: 'clearfix' },
content: [
{
block: 'link',
url: '',
pseudo: true,
mods: { action: 'showHideSettings' },
modules.define('link', ['i-bem__dom'], function(provide, BEMDOM) {
provide(BEMDOM.decl(this.name, {}))
})
modules.define('link', ['i-bem__dom'], function(provide, ABlock) {
provide(ABlock.decl(
{ modName: 'showHideSettings', modVal: true },
{
onSetMod: {
'js': {
{
block: 'header-menu',
mods: {position: 'left'},
items: [
{
url: 'https://maps.yandex.ru',
text: 'Москва',
icon: 'geo'
}
]
block('header-menu')(
content()(function() {
return this.ctx.items.map(function(item) {
return {
elem: 'menu-item',
url: item.url,
pseudo: !item.url,
mix: [{ block: 'link' }],
js: true,
attrs: {
<div class="header-menu__menu-item link" data-bem="{&quot;header-menu__menu-item&quot;:{}}">
<i class="header-menu__menu-item-icon fa fa-globe"></i>
<span class="header-menu__menu-item-text">Москва</span>
</div>
block('header-menu')(
content()(function() {
return this.ctx.items.map(function(item) {
return {
elem: 'menu-item',
attrs: { href: item.url },
content: item.icon ?
[
{
elem: 'menu-item-icon',
block('header-menu')(
content()(function() {
return this.ctx.items.map(function(item) {
return {
block: 'link',
mix: [{block: 'header-menu', elem: 'menu-item'}],
url: item.url,
content: item.icon ?
[
{