bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

bem-drawer-menu #361

Open uliantsev-a opened 9 years ago

uliantsev-a commented 9 years ago

Помогите пожалуйста подключить блок, ув. @Guria, (https://github.com/Guria/bem-drawer-menu. ) Вроде бы все элементы инициализировал, но браузер отвечает "SyntaxError: missing ) after argument list", ссылаясь на нало функции:

modules.define('menu', ['jquery', 'keyboard__codes'], function(provide, $, keyCodes, Menu) {
  provide(Menu.decl({ modName : 'fix', modVal : 'scroll' }
  {
    ...

Что делаю нет так.. ? Судя по ошибке какого-то аргумента не хватает. Блоки в common.blocks добавил kg-menu и kg-glyph, В bemjson блок меню создал по примеру из описания.

apsavin commented 9 years ago

Этот код - копипаст из редактора?

provide(Menu.decl({ modName : 'fix', modVal : 'scroll' }, //<- вот здесь запятой не хватает
  {
Guria commented 9 years ago

@apsavin да. Я этот файл на гитхабе правил и не заметил ошибку. Исправлю сейчас. @Bumerang47 не ожидал, что найдутся желающие использовать :) Для меня этот проект был как proof of concept.

uliantsev-a commented 9 years ago

@apsavin, я из консоли браузера вставлял :)

@Guria. Хочу кнопку с меню для девайсов, Ваш вариант понравился, "почему бы и не опробовать" - подумал я =) Спасибо.

uliantsev-a commented 9 years ago

@Guria, покажите пожалуйста пример использования блока в проекте на bemjson. Без генерация. Как сделать что бы кнопка "Меню" изначально была на странице, без кнопки генерации. ._. Ну т.е. добавил я в родительский блок, блок кнопки:

                        {
                          block : 'kg-menu',
                          mix : { block : 'page', elem : 'menu-button' },
                          mods: { autoclose : truse },
                          js : { id : 1 },
                          content:{
                            elem : 'menu-button'
                          }
                        }

Но блок появляется пустой, без svg. Просто еще ваш блок реализован технологией bh, а его синтаксис и принцип я еще совсем не изучал. Хотя наверное стоит, многие предпочитают почему-то именно его.

Guria commented 9 years ago

А сборка bh шаблонов у вас настроена?

uliantsev-a commented 9 years ago

@Guria, хороший вопрос, пойду попробую выяснить )

UPD bh установлен.

npm install bh

больше ни чего вроде не надо?

блок page__menu-button, на странице просто с белой заливкой. без svg внутри, только один элемент, что в bemjson описан.

<div class="kg-menu kg-menu_autoclose page__menu-button i-bem" data-bem="{&quot;kg-menu&quot;:{&quot;id&quot;:1}}">
    <div class="kg-menu__menu-button"></div>
</div>
Guria commented 9 years ago

То что он установлен, ещё не значит что он участвует в процессе сборки. Какой сборщик, какой конфиг?

Кажется project-stub не приспособлен к сборке сразу 2мя шаблонизаторами. Да я даже не могу представить каким образом это можно сделать. Тут либо bemhtml, либо bh.

uliantsev-a commented 9 years ago

@Guria, спасибо, теперь ястно. К сожалению таких тонкостей еще не освоил, посему изначально не догадался о конфликте. В руководстве по технологии bh, при установке о конфигурировании не видел информации, видать будет глубже. Пока уже bemhtml наворочен, в ближайшем будущем bh возьму за основу, для сравнения.

Guria commented 9 years ago

я сейчас ушёл на bemtree+bemhtml, потому что двухпроходность это добро. в bh 4.0 есть метод processBemjson и в теории с ним можно добиться того же самого, но вариантов настройки именно двухпроходности для bh я пока не встречал, да и xjst оказался не таким страшным как казался. Единственный недостаток относительно bh, только не переопределяемость в runtime.

tadatuta commented 9 years ago

@Guria над этим недостатком сейчас идет работа, есть надежда, что проблема решаемая

Guria commented 9 years ago

Было бы интересно узнать как это. Пока сложно представить.

tadatuta commented 9 years ago

@vkz обещал написать подробности, когда все сойдется