Size: a a a

2019 July 10

S🌍

Sv 🌍 in БЭМ
по времязатрате не имея наработок
источник

VG

Vladimir Grinenko in БЭМ
Sv 🌍
Бем - без bemjson в каком виде лучше использовать?
Весь этот https://ru.bem.info/methodology/ раздел точно подойдёт
источник

SB

Sergey Belozyorcev in БЭМ
Роман
Извите, чёт туплю — в bemtree в блоке есть extend, а в модификаторе блока вызываю content(), но extend() из основного блока вызывается позже:

// block.bemtree.js

block( 'block' )( {
 extend: {
   hello: 'world'
 },
} );


// block_view_preview.bemtree.js

block( 'block' ).mod( 'view', 'preview' ).content()( ( node, { hello } ) => ( {
 elem: 'content',
 content: hello
} ) );


Как «заставить» выполниться extend() из block.bemtree.js раньше content() block_view_preview.bemtree.js ? Через applyNext() или через mustDeps?
extend расширяет node
источник

SB

Sergey Belozyorcev in БЭМ
Sergey Belozyorcev
extend расширяет node
Т.е. тебе так нужно

// block_view_preview.bemtree.js

block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
 elem: 'content',
 content: hello
} ) );
источник

Р

Роман in БЭМ
Sergey Belozyorcev
extend расширяет node
Да, я это уже, кажется, понял 🤦‍♂️
источник

Р

Роман in БЭМ
Sergey Belozyorcev
Т.е. тебе так нужно

// block_view_preview.bemtree.js

block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
 elem: 'content',
 content: hello
} ) );
Или так:

block( 'block' )( {
 extend: {
   'ctx.hello': 'world'
 },
} );
источник

Р

Роман in БЭМ
Sergey Belozyorcev
Т.е. тебе так нужно

// block_view_preview.bemtree.js

block( 'block' ).mod( 'view', 'preview' ).content()( ({ hello }) => ( {
 elem: 'content',
 content: hello
} ) );
Спасибо. 🤙
источник
2019 July 11

SB

Sergey Belozyorcev in БЭМ
Кто-то заморачивался над типизацией оформлений из whitepaper (или похожей штуку) в bem-react + ts?
Чтобы не импортировать css напрямую.

https://github.com/bem/bem-react/issues/446
источник

SB

Sergey Belozyorcev in БЭМ
Небольшая дилема...

У input есть 2 псевдокласса valid и invalid....

Вроде логично, сделать модификаторы .Input_valid и .Input_invalid  (сейчас в проекте так реализовано), но они взаимоисключающие.

Можно запихнуть 2 кейса в один модификатор valid, но так менее красиво :)
.Input_valid_yes и .Input_valid_no

Кто-то заморачивался этим вопросом?
источник

NS

Nikita Stenin in БЭМ
Sergey Belozyorcev
Небольшая дилема...

У input есть 2 псевдокласса valid и invalid....

Вроде логично, сделать модификаторы .Input_valid и .Input_invalid  (сейчас в проекте так реализовано), но они взаимоисключающие.

Можно запихнуть 2 кейса в один модификатор valid, но так менее красиво :)
.Input_valid_yes и .Input_valid_no

Кто-то заморачивался этим вопросом?
Кажется можно было бы сделать что-то вроде такого: .input_status_error .input_status_saccess .input_status_info в этом случае тогда можно не только 2 кейся обработать. Возможно кто-то что-то другое посоветует
источник
2019 July 12

NU

Nikolay Us in БЭМ
.input—state_invalid .input—state_valid
источник

V

Valentin in БЭМ
Sergey Belozyorcev
Небольшая дилема...

У input есть 2 псевдокласса valid и invalid....

Вроде логично, сделать модификаторы .Input_valid и .Input_invalid  (сейчас в проекте так реализовано), но они взаимоисключающие.

Можно запихнуть 2 кейса в один модификатор valid, но так менее красиво :)
.Input_valid_yes и .Input_valid_no

Кто-то заморачивался этим вопросом?
а почему нельзя слушать это состояние через атрибут valid (прим.) имеющие состояния `boolean | undefined' (null), те либо валидный, либо не валидный, либо никакой?
источник

Р

Роман in БЭМ
Valentin
а почему нельзя слушать это состояние через атрибут valid (прим.) имеющие состояния `boolean | undefined' (null), те либо валидный, либо не валидный, либо никакой?
Зависит от поддержки —  iOS совсем недавно «научился» валидировать формы.
источник
2019 July 13

SB

Sergey Belozyorcev in БЭМ
@awinogradov @tadatuta вопрос по bem-react. На сколько я понимаю хорошей практикой является создание заготовок блока сразу под нескольких платформ.

Т.е. если мы создаём какой-то блок, например Checkbox

Checkbox.css
Checkbox.tsx

Нужно сразу сделать это и для других платформ
Checkbox@desktop.tsx
Checkbox@touch-phone.tsx

Которые будут просто проксирующими заглушками common.

Тоже самое касается и всех модификторов

_size/Checkbox_size_l.css
_size/Checkbox_size_l.tsx
_size/Checkbox_size_l@desktop.tsx
_size/Checkbox_size_l@touch-phone.css
_size/Checkbox_size_l@touch-phone.tsx

И элементов
Box/Checkbox-Box.css
Box/Checkbox-Box.tsx
Box/Checkbox-Box@desktop.tsx
Box/Checkbox-Box@touch-phone.css
Box/Checkbox-Box@touch-phone.tsx

Т.е. если мы сейчас находимся в рамках платформы touch-phone, то подключение блоков из common является плохим тоном.

// MyBlock@touch-phone.tsx
import { Checkbox } from '../components/Checkbox/Checkbox'
import { withSizeL } from '../components/Checkbox/_size/Checkbox_size_l'

Такое подключение может вести к неожиданным последствиям.
Т.к. где-то внутри дерева (или в другом месте) будут быть подключены стили именно платформы
Либо изначально была одна общая версия Checkbox без разбивки на платформы

// MyDeepBlock@touch-phone.tsx
import { Checkbox } from '../components/Checkbox/Checkbox@touch-phone'
import { withSizeL } from '../components/Checkbox/_size/Checkbox_size_l@touch-phone'

В результате чего наш MyBlock, который использовал стили из common будет выглядеть не как задумывался.

В таком кейсе использование @bem-react/di становится практически обязательной частью (но это не точно).
источник

VN

Vitaliy Nosov in БЭМ
источник

ИВ

Игорь Воробьев in БЭМ
Добрый день! Подскажите насколько безопасно использовать бэм  формы для приемки платежей через checkout, с полным механизмом валидации.
источник

SB

Sergey Berezhnoy in БЭМ
Игорь Воробьев
Добрый день! Подскажите насколько безопасно использовать бэм  формы для приемки платежей через checkout, с полным механизмом валидации.
абсолютно безопасно (по сути это не связанные вещи)
источник

ИВ

Игорь Воробьев in БЭМ
Смушает, что в валидации this.getVal(); передает весь массив формы, атрибут "name" выпелен из inputa
источник

ИВ

Игорь Воробьев in БЭМ
или опасения напрасны?
источник

SB

Sergey Berezhnoy in БЭМ
форму же можно настроить как угодно... какой вектор атаки смущает?
источник